8f5725ae6db60e9d52948d37b05d902747fdd166
[gnulib.git] / ChangeLog
1 2011-09-11  Bruno Haible  <bruno@clisp.org>
2
3         Fix wint_t on MSVC.
4         * lib/wchar.in.h (wint_t): On MSVC, override it.
5         * lib/wctype.in.h (wint_t): Likewise.
6         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
7         MSVC.
8         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9         * doc/posix-headers/wctype.texi: Likewise.
10
11 2011-09-11  Bruno Haible  <bruno@clisp.org>
12
13         sys_types: Fix typo.
14         * lib/sys_types.in.h: Fix typo in comment.
15         Reported by Paul Eggert.
16
17         Support for MSVC compiler: Ensure size_t gets defined.
18         * modules/strings (Depends-on): Add 'sys_types'.
19         * modules/sys_uio (Depends-on): Likewise.
20         * lib/sys_uio.in.h: Update comment.
21
22         C++ tests for module 'sys_types'.
23         * modules/sys_types-c++-tests: New file.
24         * tests/test-sys_types-c++.cc: New file.
25
26         Tests for module 'sys_types'.
27         * modules/sys_types-tests: New file.
28         * tests/test-sys_types.c: New file.
29
30         New module 'sys_types'.
31         * lib/sys_types.in.h: New file.
32         * m4/sys_types_h.m4: New file.
33         * modules/sys_types: New file.
34         * doc/posix-headers/sys_types.texi: Mention the new module and the
35         size_t problem on MSVC 9.
36
37 2011-09-11  Bruno Haible  <bruno@clisp.org>
38
39         Support for MSVC compiler: Avoid division by a literal 0.
40         * lib/math.in.h (NAN): Define through a function call also on MSVC.
41         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
42         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
43         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
44         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
45         * tests/infinity.h: New file.
46         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
47         on MSVC.
48         * tests/test-ceilf1.c: Include infinity.h.
49         (main): Use Infinityf.
50         * tests/test-ceil1.c: Include infinity.h.
51         (main): Use Infinityd.
52         * tests/test-ceill.c: Include infinity.h.
53         (main): Use Infinityl.
54         * tests/test-dprintf-posix.c: Include infinity.h.
55         (test_function): Use Infinityd.
56         * tests/test-floorf1.c: Include infinity.h.
57         (main): Use Infinityf.
58         * tests/test-floor1.c: Include infinity.h.
59         (main): Use Infinityd.
60         * tests/test-floorl.c: Include infinity.h.
61         (main): Use Infinityl.
62         * tests/test-fprintf-posix.c: Include infinity.h.
63         (test_function): Use Infinityd.
64         * tests/test-frexp.c: Include infinity.h.
65         (main): Use Infinityd.
66         * tests/test-frexpl.c: Include infinity.h.
67         (main): Use Infinityl.
68         * tests/test-isfinite.c: Include infinity.h.
69         (test_isfinitef): Use Infinityf.
70         (test_isfinited): Use Infinityd.
71         (test_isfinitel): Use Infinityl.
72         * tests/test-isinf.c: Include infinity.h.
73         (test_isinff): Use Infinityf.
74         (test_isinfd): Use Infinityd.
75         (test_isinfl): Use Infinityl.
76         * tests/test-isnan.c: Include infinity.h.
77         (test_float): Use Infinityf.
78         (test_double): Use Infinityd.
79         (test_long_double): Use Infinityl.
80         * tests/test-isnanf.h: Include infinity.h.
81         (main): Use Infinityf.
82         * tests/test-isnand.h: Include infinity.h.
83         (main): Use Infinityd.
84         * tests/test-isnanl.h: Include infinity.h.
85         (main): Use Infinityl.
86         * tests/test-ldexpl.c: Include infinity.h.
87         (main): Use Infinityl.
88         * tests/test-printf-posix.h: Include infinity.h.
89         (test_function): Use Infinityd.
90         * tests/test-roundf1.c: Include infinity.h.
91         (main): Use Infinityf.
92         * tests/test-round1.c: Include infinity.h.
93         (main): Use Infinityd.
94         * tests/test-roundl.c: Include infinity.h.
95         (main): Use Infinityl.
96         * tests/test-signbit.c: Include infinity.h.
97         (test_signbitf): Use Infinityf.
98         (test_signbitd): Use Infinityd.
99         (test_signbitl): Use Infinityl.
100         * tests/test-snprintf-posix.h: Include infinity.h.
101         (test_function): Use Infinityd, Infinityl.
102         * tests/test-sprintf-posix.h: Include infinity.h.
103         (test_function): Use Infinityd, Infinityl.
104         * tests/test-truncf1.c: Include infinity.h.
105         (main): Use Infinityf.
106         * tests/test-trunc1.c: Include infinity.h.
107         (main): Use Infinityd.
108         * tests/test-truncl.c: Include infinity.h.
109         (main): Use Infinityl.
110         * tests/test-vasnprintf-posix.c: Include infinity.h.
111         (test_function): Use Infinityd, Infinityl.
112         * tests/test-vasprintf-posix.c: Include infinity.h.
113         (test_function): Use Infinityd, Infinityl.
114         * modules/ceilf-tests (Files): Add tests/infinity.h.
115         * modules/ceil-tests (Files): Likewise.
116         * modules/ceill-tests (Files): Likewise.
117         * modules/dprintf-posix-tests (Files): Likewise.
118         * modules/floorf-tests (Files): Likewise.
119         * modules/floor-tests (Files): Likewise.
120         * modules/floorl-tests (Files): Likewise.
121         * modules/fprintf-posix-tests (Files): Likewise.
122         * modules/frexp-tests (Files): Likewise.
123         * modules/frexp-nolibm-tests (Files): Likewise.
124         * modules/frexpl-tests (Files): Likewise.
125         * modules/frexpl-nolibm-tests (Files): Likewise.
126         * modules/isfinite-tests (Files): Likewise.
127         * modules/isinf-tests (Files): Likewise.
128         * modules/isnan-tests (Files): Likewise.
129         * modules/isnanf-tests (Files): Likewise.
130         * modules/isnanf-nolibm-tests (Files): Likewise.
131         * modules/isnand-tests (Files): Likewise.
132         * modules/isnand-nolibm-tests (Files): Likewise.
133         * modules/isnanl-tests (Files): Likewise.
134         * modules/isnanl-nolibm-tests (Files): Likewise.
135         * modules/ldexpl-tests (Files): Likewise.
136         * modules/printf-posix-tests (Files): Likewise.
137         * modules/roundf-tests (Files): Likewise.
138         * modules/round-tests (Files): Likewise.
139         * modules/roundl-tests (Files): Likewise.
140         * modules/signbit-tests (Files): Likewise.
141         * modules/snprintf-posix-tests (Files): Likewise.
142         * modules/sprintf-posix-tests (Files): Likewise.
143         * modules/truncf-tests (Files): Likewise.
144         * modules/trunc-tests (Files): Likewise.
145         * modules/truncl-tests (Files): Likewise.
146         * modules/vasnprintf-posix-tests (Files): Likewise.
147         * modules/vasprintf-posix-tests (Files): Likewise.
148         * modules/vdprintf-posix-tests (Files): Likewise.
149         * modules/vfprintf-posix-tests (Files): Likewise.
150         * modules/vprintf-posix-tests (Files): Likewise.
151         * modules/vsnprintf-posix-tests (Files): Likewise.
152         * modules/vsprintf-posix-tests (Files): Likewise.
153         * modules/xprintf-posix-tests (Files): Likewise.
154
155 2011-09-11  Bruno Haible  <bruno@clisp.org>
156
157         Ensure pid_t gets defined.
158         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
159         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
160         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
161         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
162         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
163         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
164         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
165         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
166         * tests/test-fcntl-h.c: Check that pid_t is defined.
167         * tests/test-sched.c: Likewise.
168         * tests/test-termios.c: Likewise.
169         * tests/test-time.c: Likewise.
170         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
171         * doc/posix-headers/signal.texi: Likewise.
172         * doc/posix-headers/sys_types.texi: Likewise.
173         * doc/posix-headers/time.texi: Likewise.
174
175 2011-09-11  Bruno Haible  <bruno@clisp.org>
176
177         acl: Fix compilation on Solaris 10 (older version).
178         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
179         of ACE_EVERYONE.
180         * lib/set-mode-acl.c (qset_acl): Likewise.
181         Reported by Christian Jullien <eligis@orange.fr>.
182
183 2011-09-10  Bruno Haible  <bruno@clisp.org>
184
185         iconv, unsetenv: Add support for MSVC compiler.
186         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
187         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
188
189 2011-09-10  Bruno Haible  <bruno@clisp.org>
190
191         *printf: Add support for MSVC compiler.
192         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
193         handles the exception caused by the %n directive. When cross-compiling,
194         guess no on native Windows.
195         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
196         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
197         emulate it through vsnprintf.
198         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
199         * doc/posix-functions/dprintf.texi: Update documentation regarding
200         MSVC 9.
201         * doc/posix-functions/fprintf.texi: Likewise.
202         * doc/posix-functions/printf.texi: Likewise.
203         * doc/posix-functions/snprintf.texi: Likewise.
204         * doc/posix-functions/sprintf.texi: Likewise.
205         * doc/posix-functions/swprintf.texi: Likewise.
206         * doc/posix-functions/vdprintf.texi: Likewise.
207         * doc/posix-functions/vfprintf.texi: Likewise.
208         * doc/posix-functions/vprintf.texi: Likewise.
209         * doc/posix-functions/vsnprintf.texi: Likewise.
210         * doc/posix-functions/vsprintf.texi: Likewise.
211         * doc/glibc-functions/asprintf.texi: Likewise.
212         * doc/glibc-functions/obstack_printf.texi: Likewise.
213         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
214         * doc/glibc-functions/vasprintf.texi: Likewise.
215
216 2011-09-10  Bruno Haible  <bruno@clisp.org>
217
218         nocrash: Add support for native Windows.
219         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
220
221 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
222             Bruno Haible  <bruno@clisp.org>
223
224         absolute-header, include-next: Add support for MSVC compiler.
225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
226         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
227         directory separator in #line directives.
228         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
229         recognize also backslash as directory separator in #line directives.
230
231 2011-09-08  Jim Meyering  <meyering@redhat.com>
232
233         maint.mk: mark the post-release commit log with "maint: " prefix
234         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
235         one-line commit-log summary.
236
237 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
238             Bruno Haible  <bruno@clisp.org>
239
240         Doc about crypt functions.
241         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
242         systems.
243         * doc/posix-functions/encrypt.texi: Likewise.
244         * doc/posix-functions/setkey.texi: Likewise.
245
246 2011-09-08  Simon Josefsson  <simon@josefsson.org>
247
248         * lib/gc.h: Fix copyright header.
249
250 2011-09-07  Bruno Haible  <bruno@clisp.org>
251
252         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
253         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
254         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
255
256 2011-09-07  Bruno Haible  <bruno@clisp.org>
257
258         openat: Work around compilation error with OSF/1 5.1 DTK cc.
259         * lib/fopen.c: Use different syntax for include of <stdio.h>.
260         * lib/freopen.c: Likewise.
261         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
262         * lib/lstat.c: Likewise.
263         * lib/stat.c: Likewise.
264         * lib/open.c: Use different syntax for include of <fcntl.h>.
265         * lib/openat.c: Include fcntl.h again, explicitly.
266
267 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
268
269         parse-datetime: document the newly accepted format
270         * doc/parse-datetime.texi (Combined date and time of day items):
271         New section.
272
273 2011-09-06  Bruno Haible  <bruno@clisp.org>
274
275         acl: Fix a test failure on newer Solaris 10 with ZFS.
276         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
277         ENOSYS as no ACL.
278         Reported by Jim Meyering.
279
280 2011-09-06  Bruno Haible  <bruno@clisp.org>
281
282         acl: Update for AIX >= 5.3 with NFS.
283         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
284         ENOSYS as no ACL.
285
286         acl: Fix a test failure on AIX >= 5.3 with NFS.
287         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
288         as no ACL.
289
290 2011-09-06  Bruno Haible  <bruno@clisp.org>
291
292         acl: Fix a test failure on IRIX 6.5 with NFS.
293         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
294         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
295         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
296         * lib/copy-acl.c (qcopy_acl): Likewise.
297
298 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
299
300         openat: port to AIX 7.1 with large files
301         AIX 7.1 does a "#define openat open64at" if large files are in use,
302         so we can't simply #undef openat.  Use the orig_openat trick (similar
303         to orig_open in lib/open.c) to work around the problem.  Problem
304         reported by Kevin Brott for GNU tar, in the thread containing
305         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
306         * lib/openat.c (__need_system_fcntl_h): Define first.
307         Include <fcntl.h> and <sys/types.h> before undefining.
308         (orig_openat) [HAVE_OPENAT]: New inline function.
309         (openat) [HAVE_OPENAT]: Do not undef.
310         (rpl_openat): Use orig_openat, not openat.
311
312 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
313             Bruno Haible  <bruno@clisp.org>
314
315         acl: Avoid errors on NonStop Kernel.
316         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
317         ENOTSUP errors.
318
319 2011-09-05  Bruno Haible  <bruno@clisp.org>
320
321         acl: Clean up Solaris code.
322         * lib/acl-internal.h: Remove no-op #if.
323         * lib/file-has-acl.c: Likewise.
324         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
325         * lib/copy-acl.c (qcopy_acl): Likewise.
326
327 2011-09-05  Bruno Haible  <bruno@clisp.org>
328
329         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
330         binaries built on the original Solaris 10.
331         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
332         trivial.
333
334 2011-09-05  Bruno Haible  <bruno@clisp.org>
335
336         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
337         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
338         10.
339         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
340         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
341         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
342         instead of acl_get, facl_get, acl_set, facl_set.
343
344 2011-09-05  Bruno Haible  <bruno@clisp.org>
345
346         copy-file: Try unit tests on more file systems.
347         * tests/test-copy-file-1.sh: New file.
348         * tests/test-copy-file-2.sh: New file.
349         * modules/copy-file-tests (Files): Add them.
350         (Makefile.am): Add them to TESTS.
351
352         acl: Try unit tests on more file systems.
353         * tests/test-file-has-acl-1.sh: New file.
354         * tests/test-file-has-acl-2.sh: New file.
355         * tests/test-set-mode-acl-1.sh: New file.
356         * tests/test-set-mode-acl-2.sh: New file.
357         * tests/test-copy-acl-1.sh: New file.
358         * tests/test-copy-acl-2.sh: New file.
359         * modules/acl-tests (Files): Add them.
360         (Makefile.am): Add them to TESTS.
361
362 2011-09-04  Bruno Haible  <bruno@clisp.org>
363
364         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
365         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
366         10.
367         (OLD_ALLOW, OLD_DENY): New macros.
368         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
369         ACE_ACCESS_ALLOWED_ACE_TYPE.
370         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
371         ACE_ACCESS_DENIED_ACE_TYPE.
372         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
373         (NEW_ACE_EXECUTE): Fix value.
374         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
375         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
376         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
377         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
378         NEW_ACE_SYNCHRONIZE): New macros.
379         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
380         instead of acl_fromtext, acl_set, facl_set.
381         Fixes a coreutils/tests/cp/perm failure.
382
383 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
384
385         openat: test for fstatat (..., 0) bug
386         Further testing with tar suggests that fstatat (..., 0)
387         does not work in general, on AIX 7.1; see
388         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
389         So, give up entirely on AIX 7.1's fstatat, and fall back on our
390         replacement fstatat (which is what older AIX releases were using
391         anyway).
392         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
393         use is now changed to orig_fstatat.  This was probably the right
394         thing to do anyway.
395         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
396         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
397         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
398         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
399         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
400         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
401         if the bug is found.
402
403         openat: test for fstatat (AT_FDCWD, ..., 0) bug
404         This tests for another fstatat bug on AIX 7.1:
405         fstatat (AT_FDCWD, ..., 0) does not work.  See
406         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
407         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
408         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
409         (rpl_fstatat): Adjust so that it works around either (or both)
410         bugs if present.
411         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
412
413 2011-09-03  Karl Berry  <karl@gnu.org>
414
415         * doc/regex.texi (Character Class Operators): Avoid literal ":"
416         in index entries.
417
418 2011-09-02  Bruno Haible  <bruno@clisp.org>
419
420         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
421         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
422         values of AR, ARFLAGS, RANLIB.
423         Reported by John W. Eaton <jwe@gnu.org> for Octave.
424
425 2011-09-02  Bruno Haible  <bruno@clisp.org>
426
427         Find 'ar' program that fits with --host argument.
428         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
429
430 2011-09-02  Bruno Haible  <bruno@clisp.org>
431
432         tests: init.sh: Support any non-GNU diff.
433         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
434         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
435         Solaris 8.
436
437 2011-09-02  Bruno Haible  <bruno@clisp.org>
438
439         tests: init.sh: work also with any non-GNU diff that supports -u
440         * tests/init.sh: Relax check for diff -u support.
441         Rather than checking for GNU diff via --version, simply check
442         for support for -u itself.  Useful at least on OpenBSD 4.9,
443         AIX 7.1, IRIX 6.5, and Solaris 10.
444
445 2011-09-01  Bruno Haible  <bruno@clisp.org>
446
447         strtoimax, strtoumax: Document problem on HP-UX 11.
448         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
449         * doc/posix-functions/strtoumax.texi: Likewise.
450
451 2011-09-01  Bruno Haible  <bruno@clisp.org>
452
453         strtoumax: Avoid link error on OSF/1 with DTK cc.
454         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
455         defined as a function.
456         * modules/strtoumax (Depends-on, configure.ac): Test only whether
457         strtoumax is defined, not whether it is declared.
458
459 2011-09-01  Bruno Haible  <bruno@clisp.org>
460
461         strtoimax: Avoid link error on OSF/1 with DTK cc.
462         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
463         defined as a function.
464         * modules/strtoimax (Depends-on, configure.ac): Test only whether
465         strtoimax is defined, not whether it is declared.
466
467 2011-09-01  Bruno Haible  <bruno@clisp.org>
468
469         imaxdiv: Avoid link error on OSF/1 with DTK cc.
470         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
471         as a function.
472         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
473         whether it is declared.
474
475 2011-09-01  Bruno Haible  <bruno@clisp.org>
476
477         imaxabs: Avoid link error on OSF/1 with DTK cc.
478         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
479         as a function.
480         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
481         whether it is declared.
482
483 2011-09-01  Bruno Haible  <bruno@clisp.org>
484
485         Tests for module 'strtoumax'.
486         * modules/strtoumax-tests: New file.
487         * tests/test-strtoumax.c: New file.
488
489         Tests for module 'strtoimax'.
490         * modules/strtoimax-tests: New file.
491         * tests/test-strtoimax.c: New file.
492
493         Tests for module 'imaxdiv'.
494         * modules/imaxdiv-tests: New file.
495         * tests/test-imaxdiv.c: New file.
496
497         Tests for module 'imaxabs'.
498         * modules/imaxabs-tests: New file.
499         * tests/test-imaxabs.c: New file.
500
501 2011-09-01  Bruno Haible  <bruno@clisp.org>
502
503         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
504         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
505         pthread_create.
506
507 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
508
509         openat: work around AIX 7.1 fstatat issue
510         This should fix the problem that was not properly fixed
511         in the previous change, dated 2011-08-30.
512         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
513         __need_system_stat_h defined.
514         (orig_fstatat) [HAVE_FSTATAT]: New function.
515         (rpl_fstatat): Go back to the old way of doing things,
516         except call orig_fstatat instead of fstatat.
517         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
518         Remove unnecessary check whether fstatat fills in st_size etc.
519
520 2011-09-01  Bruno Haible  <bruno@clisp.org>
521
522         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
523         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
524         just include the system's header.
525
526 2011-08-31  Jim Meyering  <meyering@redhat.com>
527
528         tests: avoid spurious assertion failure in test-float.c on ppc64
529         * tests/test-float.c (test_long_double): Comment out an assertion,
530         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
531         with gcc-4.4.4.
532
533         maint: indent with spaces, not TABs
534         I need to get in the habit of running gnulib's "make check".
535         Both of these would have been caught.
536         * m4/largefile.m4: Indent with spaces, not TABs.
537         * lib/parse-datetime.y (iso_8601_time): Likewise.
538         Spotted by Pádraig Brady.
539
540         test-parse-datetime.c: accommodate a relatively strict gcc warning
541         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
542         to avoid a warning from gcc's -Werror=missing-declarations.
543         Insert a few spaces-before-funcall-parenthesis.
544
545 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
546
547         parse-datetime: accept ISO 8601 date and time rep with "T" separator
548         The parser now accepts ISO 8601 date-time strings with "T" as the
549         separator.  It has long parsed dates like "2004-02-29 16:21:42"
550         with a space between the date and time strings.  Now it also parses
551         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
552         variants like "2004-02-29T16:21:42.333-07:00"
553         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
554         of day representation using the 'T' separator character.
555         * doc/parse-datetime.texi (General date syntax): replace use of
556         deprecated --iso-8601 option with --rfc-3339 in example of date
557         command output formats that can be parsed.
558         * tests/test-parse-datetime.c (tm_diff): New function, taken from
559         lib/parse-datetime.y.
560         (gmt_offset): New function.
561         (main): Add additional test cases to validate ISO8601 extended
562         date and time of day parsing.
563
564 2011-08-31  Bruno Haible  <bruno@clisp.org>
565
566         freopen: Documentation.
567         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
568         name.
569         Reported by Claudio Bley <claudio.bley@gmail.com>.
570
571 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
572
573         freopen: Don't crash if the filename argument is NULL.
574         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
575         NULL.
576
577 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
578
579         openat: work around AIX 7.1 fstatat bug
580         Problem reported by Kevin Brott for GNU tar, in the thread containing
581         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
582         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
583         FSTATAT_ST_SIZE_ETC_BROKEN.
584         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
585         rpl_fstatat.
586         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
587         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
588         AC_CHECK_FUNCS_ONCE for fstatat.
589         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
590         fchmodat, mkdirat, openat and unlinkat.
591
592 2011-08-30  Bruno Haible  <bruno@clisp.org>
593
594         Avoid endless recursions if config.h includes some header files.
595         * lib/fopen.c (__need_FILE): Define already before including config.h.
596         * lib/freopen.c (__need_FILE): Likewise.
597         * lib/open.c (__need_system_fcntl_h): Likewise.
598         * lib/stat.c (__need_system_sys_stat_h): Likewise.
599         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
600         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
601
602 2011-08-25  Karl Berry  <karl@gnu.org>
603
604         * config/srclist.txt (ylwrap): new try.
605         * build-aux/ylwrap: new file.
606
607 2011-08-23  Bruno Haible  <bruno@clisp.org>
608
609         tmpdir: Use a good default directory on native Windows.
610         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
611         (P_tmpdir): Default to _P_tmpdir on native Windows.
612         (path_search): On native Windows, try the value returned by GetTempPath
613         before trying P_tmpdir.
614         * modules/tmpdir (Depends-on): Add pathmax.
615         Suggested by John Darrington <john@darrington.wattle.id.au>.
616
617 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
618
619         doc: fix typo in README-release
620         * top/README-release: Capitalize first word of a sentence.
621
622 2011-08-19  Jim Meyering  <meyering@redhat.com>
623
624         fts: do not exhaust memory when processing million-entry directories
625         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
626         directory would require about 256*N bytes of memory.  Thus, it was
627         easy to construct a directory too large to be processed by any of
628         those tools.  With this change, fts' maximum memory utilization is
629         now limited to around 30MB.
630         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
631         (fts_read): When we've processed the final entry (i.e., when
632         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
633         using the parent entry to read any remaining entries.  Dispatch
634         depending on what fts_build returns:
635         - NULL+stop, aka failure: stop
636         - NULL otherwise: move up in the dir hierarchy
637         - non-NULL: handle this new entry
638         (fts_build): Declare and use new local, continue_readdir.
639         Prepare to be called from fts_read, when the entries
640         from a partially-read directory have just been exhausted.
641         In that case, we'll skip the opendir and instead use the parent's
642         fts_dirp and derive dir_fd from that.
643         Finally, in the readdir loop, if we read max_entries entries,
644         exit the loop ensuring *not* to call closedir.  This is required
645         so that fts_dirp can be reused on a subsequent call.
646         Prompted by Ben England's report of memory exhaustion in find
647         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
648
649         maint: fts: move decl of `dp' down into while loop; split a long line
650         * lib/fts.c (fts_build): No semantic change.
651
652         fts: add/use new struct member, fts_dirp
653         We are about to use this to manage any directory with
654         too many entries to read all of them into memory at once.
655         To do that, we'll need to save the DIR* pointer in each
656         affected FTSENT struct.
657         * lib/fts_.h: Include <dirent.h>.
658         (struct FTSENT) [fts_dirp]: New member.
659         * lib/fts.c (closedir_and_clear): Define.
660         Use it in place of closedir so that we are sure to
661         clear the new fts_dirp member when done with it.
662         (fts_alloc): Initialize the new member.
663         (fts_lfree): Free, if needed.
664
665         maint: fts: give __opendir2 a new parameter and rename
666         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
667         than surreptitiously using sole caller's "dir_fd".
668         (fts_opendir): Rename from __opendir2.
669
670         maint: fts.c: remove __opendir2's now-unused parameter, oflag
671         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
672
673         maint: fts.c: correct off-by-one indentation
674         * lib/fts.c (fts_build): Correct indentation, change style
675         of a couple of block comments, and bracing style.
676
677         maint: fts.c: move __opendir2 #define "up" out of function body
678         * lib/fts.c (__opendir2): Move "up".  No semantic change.
679
680         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
681         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
682         out for a long time and besides was useful only on BSD systems.
683
684 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
685
686         regex: port to Stratus OpenVOS
687         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
688         define to empty, rather than attempting nonportable optimizations.
689         Problem reported by Paul Green in:
690         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
691         and fix suggested by Eric Blake in:
692         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
693
694 2011-08-17  Eric Blake  <eblake@redhat.com>
695
696         getcwd: fix test failures on mingw
697         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
698         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
699         test if long directory cannot be created, and allow mingw errno.
700
701         getcwd-lgpl: fix m4 to match relaxed test for BSD
702         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
703         (gl_FUNC_GETCWD_SIGNATURE): New macro.
704         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
705         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
706         signature problem.
707
708         getcwd: fix compilation on mingw64
709         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
710         getcwd.
711         Reported by Marc-André Lureau.
712
713         pipe2: silence compiler warning
714         * lib/pipe2.c (pipe2): Hide label if it is not used.
715
716 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
717
718         relocatable-prog: fix link error
719         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
720         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
721         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
722         into modules/relocatable-lib without noticing that
723         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
724         also needs to build relocatable.c.
725
726 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
727
728         getaddrinfo: fix sh typo in gai_strerrorA decl checking
729         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
730         shell code: it contained a 'break' that was not in a loop.
731         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
732         via a shell-language loop; this may have been true in old Autoconf
733         versions, but it's not true in Autoconf 2.68.  I found this bug
734         when testing coreutils git on Solaris 8, whose shell complains
735         about the syntax error.
736
737 2011-08-12  Simon Josefsson  <simon@josefsson.org>
738
739         * lib/base64.c: Fix comment to reference RFC 4648.
740         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
741         <gvtulder@gmail.com>.
742
743 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
744
745         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
746
747         po/Makefile.in.in: fix make -q problem
748         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
749         rule, since there's no file named 'check-macro-version' and its
750         use as a file breaks make -q.
751         (all): Don't depend on check-macro-version.
752         (CHECK_MACRO_VERSION): New macro.
753         (stamp-po): Use it.
754
755         configmake: fix make -q problem
756         * modules/configmake (configmake.h): Update configmake.h's time stamp
757         even if the file does not change.  Otherwise, 'make -q' fails.
758         Problem reported by Simon Josefsson in
759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
760
761 2011-08-11  Jim Meyering  <meyering@redhat.com>
762
763         git-version-gen: correct the advice in a comment
764         * build-aux/git-version-gen: Correct comment.
765         Don't recommend to list .tarball-version in .gitignore.
766
767 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
768
769         base64: fix off-by-one buffer size bug
770         Problem and (trivial) fix reported by Gijs van Tulder in
771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
772         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
773         * tests/test-base64.c (main): Catch the bug.
774
775 2011-08-10  Eric Blake  <eblake@redhat.com>
776
777         closein: correct comments
778         * lib/closein.c (close_stdin): Improve comments.
779
780 2011-08-09  Bruno Haible  <bruno@clisp.org>
781
782         More tests for 'fseeko'.
783         * tests/test-fseeko3.c: New file, from Eric Blake.
784         * tests/test-fseeko3.sh: New file.
785         * modules/fseeko-tests (Files): Add them.
786         (TESTS): Add test-fseeko3.sh.
787         (check_PROGRAMS): Add test-fseeko3.
788
789 2011-08-09  Eric Blake  <eblake@redhat.com>
790
791         fseeko: remove unneeded hack
792         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
793
794         fseeko: fix bug on glibc
795         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
796         Reported by John W. Eaton.
797
798 2011-08-08  Bruno Haible  <bruno@clisp.org>
799
800         unictype/base: Fix interoperability with preinstalled libunistring.
801         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
802         Reported by Simon Josefsson.
803
804 2011-08-08  Bruno Haible  <bruno@clisp.org>
805
806         iswblank: Detect declaration correctly.
807         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
808         AC_CHECK_DECLS invocation.
809
810 2011-08-08  Bruno Haible  <bruno@clisp.org>
811
812         tcgetsid: Detect declaration correctly.
813         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
814         AC_CHECK_DECLS invocation.
815         Reported by Simon Josefsson.
816
817 2011-08-08  Eric Blake  <eblake@redhat.com>
818
819         largefile: fix typo that regressed large file support
820         * modules/largefile (configure.ac-early): Fix section name.
821
822 2011-08-06  Karl Berry  <karl@gnu.org>
823
824         * MODULES.html.sh (func_all_files): _Noreturn is no longer
825         a separate module.
826
827 2011-08-05  Simon Josefsson  <simon@josefsson.org>
828
829         openat: Fix warnings and commens when building unlinkat.c on Hurd.
830         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
831         get prototype for free.
832
833 2011-08-04  Bruno Haible  <bruno@clisp.org>
834
835         Tests for module 'pathmax'.
836         * modules/pathmax-tests: New file.
837         * tests/test-pathmax.c: New file.
838
839         canonicalize-lgpl: Support larger filenames on the Hurd.
840         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
841         Reported by Paul Eggert.
842
843         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
844         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
845         * lib/chdir-long.h: Include pathmax.h.
846         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
847         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
848         (PATH_MAX): Remove code that is done by pathmax.h.
849         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
850         * lib/tmpfile.c: Add a comment.
851         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
852         * modules/chdir-long (Depends-on): Add pathmax.
853         * modules/getcwd (Depends-on): Add pathmax.
854         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
855         is not defined.
856         * doc/posix-headers/limits.texi: Mention the pathmax module.
857         * NEWS: Mention the change.
858
859 2011-08-02  Bruno Haible  <bruno@clisp.org>
860
861         pthread_sigmask: Actually use results of gl_THREADLIB.
862         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
863         gl_THREADLIB, not gl_[]THREADLIB.
864         Reported by Eric Blake.
865
866 2011-08-02  Jim Meyering  <meyering@redhat.com>
867
868         maint.mk: relax the default _gl_TS_function_match regexp
869         * top/maint.mk (_gl_TS_function_match): Don't require at least one
870         space between function name and "(" in an "extern" declaration.
871         That would fail to match a decl with no space there: extern void foo();
872
873 2011-07-31  Iain Nicol  <iain@thenicols.net>
874
875         git-version-gen: document that EXTRA_DIST must include .version
876         * build-aux/git-version-gen: In the how-to-use comment, document
877         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
878         will fail when run from an unpacked distribution tarball.
879
880 2011-08-01  Bruno Haible  <bruno@clisp.org>
881
882         wctype-h: Fix last change.
883         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
884         REPLACE_TOWLOWER to 0.
885         Reported by Sam Steingold <sds@gnu.org>.
886
887 2011-07-31  Bruno Haible  <bruno@clisp.org>
888
889         frexpl: Update autoconf test.
890         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
891         according to changes of 2011-06-20.
892
893 2011-07-31  Bruno Haible  <bruno@clisp.org>
894
895         sys_utsname: Add support for Minix.
896         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
897         <sys/utsname.h>.
898         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
899         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
900
901 2011-07-31  Bruno Haible  <bruno@clisp.org>
902
903         strings: Add support for Minix.
904         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
905         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
906         * doc/posix-headers/strings.texi: Document the Minix problem.
907
908 2011-07-31  Bruno Haible  <bruno@clisp.org>
909
910         wctype-h: Add support for Minix.
911         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
912         REPLACE_TOWLOWER.
913         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
914         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
915         REPLACE_ISWCNTRL.
916
917 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
918
919         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
920         This is a performance improvement for 64-bit hosts: it causes the
921         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
922
923 2011-07-31  Bruno Haible  <bruno@clisp.org>
924
925         stdioext: Add support for Minix.
926         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
927         * lib/fpurge.c (fpurge): Likewise.
928         * lib/freadahead.c (freadahead): Likewise.
929         * lib/freadable.c (freadable): Likewise.
930         * lib/freading.c (freading): Likewise.
931         * lib/freadptr.c (freadptr): Likewise.
932         * lib/freadseek.c (freadptrinc): Likewise.
933         * lib/fseeko.c (rpl_fseeko): Likewise.
934         * lib/fseterr.c (fseterr): Likewise.
935         * lib/fwritable.c (fwritable): Likewise.
936         * lib/fwriting.c (fwriting): Likewise.
937         * lib/fflush.c (clear_ungetc_buffer): Update comment.
938         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
939
940 2011-07-31  Bruno Haible  <bruno@clisp.org>
941
942         errno: Port to Minix.
943         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
944         ECONNABORTED are defined.
945         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
946         GNULIB_defined_ECONNABORTED): New macros.
947         * lib/strerror-override.h (strerror_override): Test also
948         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
949         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
950         ECONNABORTED.
951         * doc/posix-headers/errno.texi: Mention the Minix problem.
952
953 2011-07-31  Bruno Haible  <bruno@clisp.org>
954
955         Work around declaration collisions on Minix.
956         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
957         defined, set REPLACE_MBSINIT.
958         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
959         defined, set REPLACE_MBRTOWC.
960         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
961         set REPLACE_MBRLEN.
962         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
963         defined, set REPLACE_MBSRTOWCS.
964         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
965         defined, set REPLACE_WCRTOMB.
966         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
967         defined, set REPLACE_WCSRTOMBS.
968
969 2011-07-31  Bruno Haible  <bruno@clisp.org>
970
971         Add support for Minix with ACK compiler.
972         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
973         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
974         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
975
976 2011-07-31  Bruno Haible  <bruno@clisp.org>
977
978         Documentation about Minix.
979         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
980         * doc/glibc-headers/*.texi: Likewise.
981         * doc/posix-functions/*.texi: Likewise.
982         * doc/glibc-functions/*.texi: Likewise.
983
984 2011-07-31  Bruno Haible  <bruno@clisp.org>
985
986         snippet/warn-on-use: Fix indentation.
987         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
988
989 2011-07-25  Jim Meyering  <meyering@redhat.com>
990
991         tests: test-update-copyright.sh: remove unnecessary "rm" commands
992         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
993         commands.
994
995 2011-07-27  Jim Meyering  <meyering@redhat.com>
996
997         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
998         * top/maint.mk (gl_extract_significant_defines_): Now that
999         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
1000         gnulib/lib/signal.in.h, and now that we recommend to
1001         define-if-undefined those two symbols in application code,
1002         we must filter them out of the "significant" list.
1003         This avoids a "make syntax-check" failure in coreutils.
1004
1005 2011-07-26  Eric Blake  <eblake@redhat.com>
1006
1007         warnings: add comments about previous patch
1008         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
1009         * m4/include_next.m4: Likewise.
1010         * m4/warn-on-use.m4: Likewise.
1011         * m4/warnings.m4: Likewise, and simplify use.
1012         Suggested by Stefano Lattarini.
1013
1014         include-next, warnings: support older autoconf
1015         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
1016         AS_VAR_PUSHDEF in a way that works with older autoconf.
1017         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
1018         Reported by Daniel P. Berrange.
1019
1020 2011-07-25  Bruno Haible  <bruno@clisp.org>
1021
1022         fseek, ftell: Fix doc.
1023         * doc/posix-functions/fseek.texi: Reword statement about
1024         AC_SYS_LARGEFILE.
1025         * doc/posix-functions/ftell.texi: Likewise.
1026
1027 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1028             Bruno Haible  <bruno@clisp.org>
1029
1030         Add dependencies to the 'largefile' module.
1031         * modules/fopen (Depends-on): Add 'largefile'.
1032         * modules/freopen (Depends-on): Likewise.
1033         * modules/fseeko (Depends-on): Likewise.
1034         * modules/ftello (Depends-on): Likewise.
1035         * modules/glob (Depends-on): Likewise.
1036         * modules/lseek (Depends-on): Likewise.
1037         * modules/lstat (Depends-on): Likewise.
1038         * modules/mkostemp (Depends-on): Likewise.
1039         * modules/mkostemps (Depends-on): Likewise.
1040         * modules/mkstemp (Depends-on): Likewise.
1041         * modules/mkstemps (Depends-on): Likewise.
1042         * modules/open (Depends-on): Likewise.
1043         * modules/openat (Depends-on): Likewise.
1044         * modules/pread (Depends-on): Likewise.
1045         * modules/pwrite (Depends-on): Likewise.
1046         * modules/scandir (Depends-on): Likewise.
1047         * modules/stat (Depends-on): Likewise.
1048         * modules/tmpfile (Depends-on): Likewise.
1049         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
1050         since the containing module now depends on the largefile module.
1051         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
1052         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
1053         off_t is fixed by gnulib.
1054         * doc/posix-functions/freopen.texi: Likewise.
1055         * doc/posix-functions/fseeko.texi: Likewise.
1056         * doc/posix-functions/fstatat.texi: Likewise.
1057         * doc/posix-functions/ftello.texi: Likewise.
1058         * doc/posix-functions/glob.texi: Likewise.
1059         * doc/posix-functions/lseek.texi: Likewise.
1060         * doc/posix-functions/lstat.texi: Likewise.
1061         * doc/posix-functions/mkstemp.texi: Likewise.
1062         * doc/posix-functions/open.texi: Likewise.
1063         * doc/posix-functions/openat.texi: Likewise.
1064         * doc/posix-functions/pread.texi: Likewise.
1065         * doc/posix-functions/pwrite.texi: Likewise.
1066         * doc/posix-functions/scandir.texi: Likewise.
1067         * doc/posix-functions/stat.texi: Likewise.
1068         * doc/posix-functions/tmpfile.texi: Likewise.
1069         * doc/glibc-functions/mkostemp.texi: Likewise.
1070         * doc/glibc-functions/mkostemps.texi: Likewise.
1071         * doc/glibc-functions/mkstemps.texi: Likewise.
1072
1073 2011-07-25  Bruno Haible  <bruno@clisp.org>
1074
1075         fcntl: Move AC_LIBOBJ invocation to module description.
1076         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
1077         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
1078
1079         fcntl: Remove call-in from fchdir.m4.
1080         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
1081         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
1082
1083         dup3: Remove potential call-in from fchdir.m4.
1084         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
1085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
1086
1087         dup2: Move AC_LIBOBJ invocation to module description.
1088         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
1089         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
1090         Don't invoke AC_LIBOBJ.
1091         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
1092
1093         dup2: Remove call-in from fchdir.m4.
1094         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
1095         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
1096
1097         fclose: Move AC_LIBOBJ invocation to module description.
1098         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
1099         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
1100         to 1.
1101         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
1102
1103         fclose: Remove call-in from close.m4.
1104         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
1105         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
1106
1107         close: Move AC_LIBOBJ invocation to module description.
1108         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
1109         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
1110         1.
1111         * modules/close (configure.ac): Invoke AC_LIBOBJ.
1112
1113         close: Remove call-in from fchdir.m4.
1114         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
1115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
1116
1117         open: Move AC_LIBOBJ invocation to module description.
1118         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
1119         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
1120         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
1121
1122         open: Remove call-in from fchdir.m4.
1123         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
1124         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
1125
1126         fchdir: Start to remove gl_REPLACE_* idiom.
1127         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
1128         (gl_FUNC_FCHDIR): Invoke it.
1129
1130 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1131
1132         * lib/ftell.c (ftell): Comment out cast.
1133
1134         close: use gl_REPLACE_FCLOSE only if defined
1135         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
1136         is defined.  The close module doesn't depend on the fclose module
1137         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
1138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
1139         I reproduced the problem with "./gnulib-tool --test close sys_socket".
1140
1141 2011-07-24  Jim Meyering  <meyering@redhat.com>
1142
1143         test-select.h: avoid warning when using gcc's -Wmissing-declarations
1144         * tests/test-select.h (test_function): Declare as "static".
1145
1146 2011-07-24  Bruno Haible  <bruno@clisp.org>
1147
1148         doc: Mention the effects of AC_SYS_LARGEFILE.
1149         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
1150         on this function.
1151         * doc/posix-functions/aio_error.texi: Likewise.
1152         * doc/posix-functions/aio_fsync.texi: Likewise.
1153         * doc/posix-functions/aio_read.texi: Likewise.
1154         * doc/posix-functions/aio_return.texi: Likewise.
1155         * doc/posix-functions/aio_suspend.texi: Likewise.
1156         * doc/posix-functions/aio_write.texi: Likewise.
1157         * doc/posix-functions/fgetpos.texi: Likewise.
1158         * doc/posix-functions/fopen.texi: Likewise.
1159         * doc/posix-functions/freopen.texi: Likewise.
1160         * doc/posix-functions/fsetpos.texi: Likewise.
1161         * doc/posix-functions/fstatvfs.texi: Likewise.
1162         * doc/posix-functions/ftruncate.texi: Likewise.
1163         * doc/posix-functions/ftw.texi: Likewise.
1164         * doc/posix-functions/getrlimit.texi: Likewise.
1165         * doc/posix-functions/glob.texi: Likewise.
1166         * doc/posix-functions/lio_listio.texi: Likewise.
1167         * doc/posix-functions/lockf.texi: Likewise.
1168         * doc/posix-functions/mkstemp.texi: Likewise.
1169         * doc/posix-functions/mmap.texi: Likewise.
1170         * doc/posix-functions/nftw.texi: Likewise.
1171         * doc/posix-functions/openat.texi: Likewise.
1172         * doc/posix-functions/opendir.texi: Likewise.
1173         * doc/posix-functions/posix_fadvise.texi: Likewise.
1174         * doc/posix-functions/posix_fallocate.texi: Likewise.
1175         * doc/posix-functions/pread.texi: Likewise.
1176         * doc/posix-functions/pwrite.texi: Likewise.
1177         * doc/posix-functions/readdir.texi: Likewise.
1178         * doc/posix-functions/readdir_r.texi: Likewise.
1179         * doc/posix-functions/rewinddir.texi: Likewise.
1180         * doc/posix-functions/scandir.texi: Likewise.
1181         * doc/posix-functions/seekdir.texi: Likewise.
1182         * doc/posix-functions/setrlimit.texi: Likewise.
1183         * doc/posix-functions/statvfs.texi: Likewise.
1184         * doc/posix-functions/telldir.texi: Likewise.
1185         * doc/posix-functions/tmpfile.texi: Likewise.
1186         * doc/posix-functions/truncate.texi: Likewise.
1187         * doc/glibc-functions/fallocate.texi: Likewise.
1188         * doc/glibc-functions/fstatfs.texi: Likewise.
1189         * doc/glibc-functions/fts_children.texi: Likewise.
1190         * doc/glibc-functions/fts_read.texi: Likewise.
1191         * doc/glibc-functions/getdirentries.texi: Likewise.
1192         * doc/glibc-functions/mkostemp.texi: Likewise.
1193         * doc/glibc-functions/mkostemps.texi: Likewise.
1194         * doc/glibc-functions/mkstemps.texi: Likewise.
1195         * doc/glibc-functions/preadv.texi: Likewise.
1196         * doc/glibc-functions/pwritev.texi: Likewise.
1197         * doc/glibc-functions/sendfile.texi: Likewise.
1198         * doc/glibc-functions/statfs.texi: Likewise.
1199
1200 2011-07-24  Bruno Haible  <bruno@clisp.org>
1201
1202         doc: Fix typo.
1203         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
1204
1205 2011-07-24  Bruno Haible  <bruno@clisp.org>
1206
1207         doc: Mention fsusage.
1208         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
1209
1210 2011-07-24  Bruno Haible  <bruno@clisp.org>
1211
1212         doc: Mention new glibc headers and functions.
1213         * doc/glibc-headers/gshadow.texi: New file.
1214         * doc/glibc-functions/endsgent.texi: New file.
1215         * doc/glibc-functions/fgetsgent.texi: New file.
1216         * doc/glibc-functions/fgetsgent_r.texi: New file.
1217         * doc/glibc-functions/getsgent.texi: New file.
1218         * doc/glibc-functions/getsgent_r.texi: New file.
1219         * doc/glibc-functions/getsgnam.texi: New file.
1220         * doc/glibc-functions/getsgnam_r.texi: New file.
1221         * doc/glibc-functions/putsgent.texi: New file.
1222         * doc/glibc-functions/setsgent.texi: New file.
1223         * doc/glibc-functions/sgetsgent.texi: New file.
1224         * doc/glibc-functions/sgetsgent_r.texi: New file.
1225         * doc/glibc-functions/malloc_info.texi: New file.
1226         * doc/glibc-functions/preadv.texi: New file.
1227         * doc/glibc-functions/pwritev.texi: New file.
1228         * doc/glibc-functions/register_printf_modifier.texi: New file.
1229         * doc/glibc-functions/register_printf_specifier.texi: New file.
1230         * doc/glibc-functions/register_printf_type.texi: New file.
1231         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
1232         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
1233         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
1234         * doc/glibc-functions/pthread_getname_np.texi: New file.
1235         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
1236         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
1237         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
1238         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
1239         * doc/glibc-functions/pthread_setname_np.texi: New file.
1240         * doc/glibc-functions/pthread_sigqueue.texi: New file.
1241         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
1242         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
1243         * doc/glibc-functions/qsort_r.texi: New file.
1244         * doc/glibc-functions/quick_exit.texi: New file.
1245         * doc/glibc-functions/syncfs.texi: New file.
1246         * doc/gnulib.texi: Include them.
1247         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
1248         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
1249         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
1250         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
1251         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
1252         * doc/glibc-functions/execvpe.texi: Likewise.
1253
1254 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
1255
1256         ftell: don't include <unistd.h>
1257         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
1258         guaranteed to define off_t, and the ftell module depends on the
1259         stdio module.
1260
1261         ftell: do not assume wraparound signed arithmetic
1262         * lib/ftell.c: Include <limits.h>.
1263         (ftell): Don't assume wraparound signed arithmetic.
1264
1265 2011-07-24  Bruno Haible  <bruno@clisp.org>
1266
1267         close: No longer depend on module 'fclose'.
1268         * modules/close (Depends-on): Remove fclose.
1269         * NEWS: Mention the change.
1270         Suggested by Sam Steingold <sds@gnu.org>.
1271
1272 2011-07-24  Bruno Haible  <bruno@clisp.org>
1273
1274         fsusage: Enable large volume support on AIX >= 5.2.
1275         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
1276         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
1277         instead of STAT_STATVFS.
1278         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
1279
1280         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
1281         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
1282         f_blocks field only on MacOS X.
1283
1284         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
1285         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
1286         * modules/fsusage (Depends-on): Add largefile.
1287
1288 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
1289
1290         * README: Modernize discussion of signed integers.
1291         Assuming overflow wraparound is no longer safe.
1292         Mention ones' complement and signed magnitude.
1293
1294 2011-07-22  Bruno Haible  <bruno@clisp.org>
1295
1296         select tests, pselect tests: Refactor.
1297         * tests/test-select.h: New file, extracted from tests/test-select.c.
1298         (select_fn): New type.
1299         (test, do_select, do_select_nowait, do_select_wait, test_tty,
1300         test_connect_first, test_accept_first, test_pair, test_socket_pair,
1301         test_pipe): Add my_select argument.
1302         (test_function): Renamed from main. Add my_select argument.
1303         * tests/test-select.c: Move most code to tests/test-select.h. Include
1304         test-select.h.
1305         * modules/select-tests (Files): Add tests/test-select.h.
1306         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
1307         (my_select, main): New functions.
1308         * modules/pselect-tests (Files): Add tests/test-select.h,
1309         tests/macros.h, tests/signature.h.
1310         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
1311         (configure.ac): Check for <sys/wait.h>.
1312
1313 2011-07-22  Bruno Haible  <bruno@clisp.org>
1314
1315         sys_select tests: Check the signature of FD_*.
1316         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
1317         signature tests from here...
1318         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
1319         here.
1320         * modules/sys_select-tests (Files): Add tests/signature.h.
1321
1322 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
1323
1324         largefile: new module, replacing large-inode
1325         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
1326         * MODULES.html.sh: Add largefile, remove large-inode.
1327         * modules/largefile, m4/largefile.m4: New files.
1328         * modules/large-inode, m4/large-inode.m4: Remove.
1329
1330         fsusage: port to MacOS X 10.7 with 4 TiB file systems
1331         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
1332         implementations that use only 32 bits to count blocks.
1333         On typical hosts with 1024-byte blocks, this fails with file
1334         systems as small as 4 TiB.  Problem reported by Herb Wartens
1335         <http://debbugs.gnu.org/9140> and this should also fix a similar
1336         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
1337
1338         large-inode: New module
1339         * MODULES.html.sh: Add it.
1340         * modules/large-inode, m4/large-inode.m4: New files.
1341
1342         extensions: Enable extensions on MacOS X 10.5 and later.
1343         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
1344
1345 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
1346
1347         file-has-acl: use acl_extended_file_nofollow if available
1348         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
1349         (acl_extended_file): New macro.
1350         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
1351         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
1352
1353 2011-07-21  Bruno Haible  <bruno@clisp.org>
1354
1355         Declare system functions in a way that works with C++.
1356         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
1357         declare fdopendir as extern "C".
1358         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
1359         declare frexpl as extern "C".
1360         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
1361         declare gai_strerror as extern "C".
1362         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
1363         programs, declare gai_strerror as extern "C".
1364         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
1365         declare getlogin_r as extern "C".
1366         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
1367         as extern "C".
1368         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
1369         declare ldexpl as extern "C".
1370         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
1371         as extern "C".
1372         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
1373         program, declare getmntinfo as extern "C".
1374         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
1375         stpncpy as extern "C".
1376         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
1377         program, declare __xpg_strerror_r as extern "C".
1378         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
1379         strndup as extern "C".
1380         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
1381         declare memset and bzero as extern "C".
1382         Reported by Sam Steingold <sds@gnu.org>.
1383
1384 2011-07-12  Jim Meyering  <meyering@redhat.com>
1385
1386         maint.mk: prohibit inclusion of "verify.h" without use
1387         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
1388
1389 2011-07-19  Pádraig Brady  <P@draigBrady.com>
1390
1391         timer-time: A new module to check for timer_settime()
1392         * m4/timer_time.m4: Check for the posix function.
1393         * modules/timer-time: Add the new module.
1394         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
1395         Mention it.
1396
1397 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
1398             Bruno Haible  <bruno@clisp.org>
1399
1400         pthread_sigmask: assume POSIX threads if --avoid=threadlib
1401         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
1402         not defined, assume POSIX threads and look for pthread_sigmask in
1403         $LIBS, without changing $CPPFLAGS.
1404
1405 2011-07-19  Bruno Haible  <bruno@clisp.org>
1406
1407         strstr: Update cross-compilation guess.
1408         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
1409         CPUs, guess no, in view of glibc
1410         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
1411         Suggested by Eric Blake. Reported by Reuben Thomas.
1412
1413 2011-07-19  Pádraig Brady  <P@draigBrady.com>
1414
1415         getopt-gnu: suppress core dumps from detection code
1416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
1417         to suppress core dumps that may well occur on glibc systems.
1418         * modules/getopt-gnu: Depend on nocrash.
1419
1420 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1421
1422         pthread_sigmask: ensure usleep is declared
1423         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
1424         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
1425
1426 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1427
1428         doc: Document NonStop portability issues.
1429         * doc/posix-functions/sigaction.texi (sigaction):
1430         * doc/posix-headers/signal.texi (signal.h):
1431         Document NonStop.  See Joachim Schmitz in
1432         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
1433
1434 2011-07-15  Bruno Haible  <bruno@clisp.org>
1435
1436         ffsl, ffsll: Avoid unportable behaviour.
1437         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
1438
1439 2011-07-15  Bruno Haible  <bruno@clisp.org>
1440
1441         ffs: More tests.
1442         * tests/test-ffs.c (NBITS): New macro.
1443         (main): Add more tests.
1444         * tests/test-ffsl.c (NBITS): New macro.
1445         (main): Add more tests.
1446         * tests/test-ffsll.c (NBITS): New macro.
1447         (main): Add more tests.
1448
1449 2011-07-15  Eric Blake  <eblake@redhat.com>
1450
1451         ffsl, ffsll: new modules
1452         * modules/ffsl: New file.
1453         * modules/ffsll: Likewise.
1454         * m4/ffsl.m4: Likewise.
1455         * m4/ffsll.m4: Likewise.
1456         * lib/ffsl.c: Likewise.
1457         * lib/ffsl.h: Likewise.
1458         * lib/ffsll.c: Likewise.
1459         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
1460         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
1461         * modules/string (Makefile.am): Substitute witnesses.
1462         * lib/strings.in.h (ffsl, ffsll): Declare.
1463         * modules/ffsl-tests: New test file.
1464         * modules/ffsll-tests: Likewise.
1465         * tests/test-ffsl.c: Likewise.
1466         * tests/test-ffsll.c: Likewise.
1467         * MODULES.html.sh (Integer arithmetic functions): Mention it.
1468         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
1469         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
1470
1471         ffs: fix m4 prerequisite
1472         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
1473
1474         ffs: avoid undefined behavior
1475         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
1476         * tests/test-ffs.c (naive, main): Avoid signed shifts.
1477         Reported by Bruno Haible.
1478
1479 2011-07-12  Bruno Haible  <bruno@clisp.org>
1480
1481         pthread_sigmask: Rely on module 'threadlib'.
1482         * modules/pthread_sigmask (Depends-on): Add threadlib.
1483         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
1484         is defined.
1485
1486 2011-07-12  Bruno Haible  <bruno@clisp.org>
1487
1488         regex: Depend on module 'strcase'.
1489         * modules/regex (Depends-on): Add strcase, for strcasecmp().
1490
1491 2011-07-12  Jim Meyering  <meyering@redhat.com>
1492
1493         warn-on-use: fix typo in file name
1494         * modules/snippet/warn-on-use (Files): Correct file name:
1495         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
1496
1497 2011-07-12  Bruno Haible  <bruno@clisp.org>
1498
1499         strings: Document module.
1500         * doc/posix-headers/strings.texi: Mention module 'strings'.
1501
1502 2011-07-12  Bruno Haible  <bruno@clisp.org>
1503
1504         Rename module '_Noreturn' to 'snippet/_Noreturn'.
1505         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
1506         (Files, Makefile.am): Update.
1507         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
1508         * modules/stdlib (Depends-on): Update.
1509
1510 2011-07-12  Bruno Haible  <bruno@clisp.org>
1511
1512         * NEWS: Mention the changes.
1513
1514         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
1515         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
1516         (Files, Makefile.am): Update.
1517         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
1518         * modules/arpa_inet (Depends-on): Update.
1519         * modules/ctype (Depends-on): Update.
1520         * modules/dirent (Depends-on): Update.
1521         * modules/fcntl-h (Depends-on): Update.
1522         * modules/glob (Depends-on): Update.
1523         * modules/iconv-h (Depends-on): Update.
1524         * modules/inttypes-incomplete (Depends-on): Update.
1525         * modules/langinfo (Depends-on): Update.
1526         * modules/locale (Depends-on): Update.
1527         * modules/math (Depends-on): Update.
1528         * modules/netdb (Depends-on): Update.
1529         * modules/poll-h (Depends-on): Update.
1530         * modules/pty (Depends-on): Update.
1531         * modules/search (Depends-on): Update.
1532         * modules/signal (Depends-on): Update.
1533         * modules/spawn (Depends-on): Update.
1534         * modules/stdio (Depends-on): Update.
1535         * modules/stdlib (Depends-on): Update.
1536         * modules/string (Depends-on): Update.
1537         * modules/strings (Depends-on): Update.
1538         * modules/sys_file (Depends-on): Update.
1539         * modules/sys_ioctl (Depends-on): Update.
1540         * modules/sys_select (Depends-on): Update.
1541         * modules/sys_socket (Depends-on): Update.
1542         * modules/sys_stat (Depends-on): Update.
1543         * modules/sys_time (Depends-on): Update.
1544         * modules/sys_times (Depends-on): Update.
1545         * modules/sys_utsname (Depends-on): Update.
1546         * modules/sys_wait (Depends-on): Update.
1547         * modules/termios (Depends-on): Update.
1548         * modules/time (Depends-on): Update.
1549         * modules/unistd (Depends-on): Update.
1550         * modules/wchar (Depends-on): Update.
1551         * modules/wctype-h (Depends-on): Update.
1552         * MODULES.html.sh (Support for building libraries and executables):
1553         Update.
1554
1555         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
1556         * modules/snippet/unused-parameter: Renamed from
1557         modules/unused-parameter.
1558         (Files, Makefile.am): Update.
1559         * build-aux/snippet/unused-parameter.h: Renamed from
1560         build-aux/unused-parameter.h.
1561         * modules/selinux-h (Depends-on): Update.
1562         * modules/unistr/base (Depends-on): Update.
1563         * MODULES.html.sh (Core language properties): Update.
1564
1565         Rename module 'link-warning' to 'snippet/link-warning'.
1566         * modules/snippet/link-warning: Renamed from modules/link-warning.
1567         (Files, Makefile.am): Update.
1568         * build-aux/snippet/link-warning.h: Renamed from
1569         build-aux/link-warning.h.
1570         * MODULES.html.sh (Support for building libraries and executables):
1571         Update.
1572
1573         Rename module 'c++defs' to 'snippet/c++defs'.
1574         * modules/snippet/c++defs: Renamed from modules/c++defs.
1575         (Files, Makefile.am): Update.
1576         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
1577         * modules/arpa_inet (Depends-on): Update.
1578         * modules/ctype (Depends-on): Update.
1579         * modules/dirent (Depends-on): Update.
1580         * modules/fcntl-h (Depends-on): Update.
1581         * modules/glob (Depends-on): Update.
1582         * modules/iconv-h (Depends-on): Update.
1583         * modules/langinfo (Depends-on): Update.
1584         * modules/locale (Depends-on): Update.
1585         * modules/math (Depends-on): Update.
1586         * modules/netdb (Depends-on): Update.
1587         * modules/poll-h (Depends-on): Update.
1588         * modules/pty (Depends-on): Update.
1589         * modules/search (Depends-on): Update.
1590         * modules/signal (Depends-on): Update.
1591         * modules/spawn (Depends-on): Update.
1592         * modules/stdio (Depends-on): Update.
1593         * modules/stdlib (Depends-on): Update.
1594         * modules/string (Depends-on): Update.
1595         * modules/strings (Depends-on): Update.
1596         * modules/sys_ioctl (Depends-on): Update.
1597         * modules/sys_select (Depends-on): Update.
1598         * modules/sys_socket (Depends-on): Update.
1599         * modules/sys_stat (Depends-on): Update.
1600         * modules/sys_time (Depends-on): Update.
1601         * modules/sys_wait (Depends-on): Update.
1602         * modules/termios (Depends-on): Update.
1603         * modules/time (Depends-on): Update.
1604         * modules/unistd (Depends-on): Update.
1605         * modules/wchar (Depends-on): Update.
1606         * modules/wctype-h (Depends-on): Update.
1607
1608         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
1609         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
1610         (Files, Makefile.am): Update.
1611         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
1612         * modules/argv-iter (Depends-on): Update.
1613         * modules/arpa_inet (Depends-on): Update.
1614         * modules/dirent (Depends-on): Update.
1615         * modules/fcntl-h (Depends-on): Update.
1616         * modules/fnmatch (Depends-on): Update.
1617         * modules/getopt-posix (Depends-on): Update.
1618         * modules/glob (Depends-on): Update.
1619         * modules/iconv-h (Depends-on): Update.
1620         * modules/inttypes-incomplete (Depends-on): Update.
1621         * modules/locale (Depends-on): Update.
1622         * modules/math (Depends-on): Update.
1623         * modules/netdb (Depends-on): Update.
1624         * modules/search (Depends-on): Update.
1625         * modules/signal (Depends-on): Update.
1626         * modules/spawn (Depends-on): Update.
1627         * modules/stdio (Depends-on): Update.
1628         * modules/stdlib (Depends-on): Update.
1629         * modules/string (Depends-on): Update.
1630         * modules/strings (Depends-on): Update.
1631         * modules/sys_socket (Depends-on): Update.
1632         * modules/sys_stat (Depends-on): Update.
1633         * modules/sys_time (Depends-on): Update.
1634         * modules/sys_times (Depends-on): Update.
1635         * modules/sys_utsname (Depends-on): Update.
1636         * modules/time (Depends-on): Update.
1637         * modules/unistd (Depends-on): Update.
1638         * modules/wchar (Depends-on): Update.
1639         * MODULES.html.sh (Support for building libraries and executables):
1640         Update.
1641
1642 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
1643
1644         Improvements on _Noreturn and related modules.
1645
1646         modules/_Exit-tests: test _Noreturn too
1647         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
1648         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
1649         (main): Use them.
1650
1651         stdnoreturn, stdnoreturn-tests: remove modules
1652         They're not needed here and a bit premature for use elsewhere.  See
1653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
1654         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1655         * tests/test-stdnoreturn.c: Remove files.
1656         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
1657         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
1658         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
1659         and using noreturn.
1660         * modules/openat, modules/sigpipe-die, modules/xalloc:
1661         * modules/xmemdup0, modules/xstrtol:
1662         Remove dependency on stdnoreturn.
1663
1664         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
1665         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
1666         Reparenthesize to avoid GCC warning.
1667         Support Microsoft's syntax.
1668         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
1669
1670         _Noreturn-tests: remove module
1671         * modules/_Noreturn-tests: Remove.
1672         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
1673         * tests/test-_Noreturn.c: Remove.
1674         * tests/test-stdnoreturn.c: Merge from the old
1675         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
1676
1677 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
1678
1679         _Noreturn, stdnoreturn, and related modules.
1680
1681         * top/maint.mk: Adjust to new noreturn support.
1682         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
1683         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
1684
1685         xalloc: use stdnoreturn.h
1686         * lib/xalloc.h: Include <stdnoreturn.h>.
1687         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1688         * modules/xalloc (Depends-on): Add stdnoreturn.
1689
1690         xstrtol: use stdnoreturn.h
1691         * lib/xstrtol.h: Include <stdnoreturn.h>.
1692         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1693         * modules/xstrtol (Depends-on): Add stdnoreturn.
1694
1695         xmemdup0: use stdnoreturn.h
1696         * lib/xmemdup0.h: Include <stdnoreturn.h>.
1697         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1698         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
1699
1700         sigpipe-die: use stdnoreturn.h
1701         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
1702         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1703         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
1704
1705         openat: use stdnoreturn.h
1706         * lib/openat.h: Include <stdnoreturn.h>.
1707         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1708         * modules/openat (Depends-on): Add stdnoreturn.
1709
1710         * lib/openat-die.c (openat_save_fail): Modernize comment.
1711
1712         * lib/xalloc-die.c (xalloc_die): Modernize comment.
1713
1714         * lib/glthread/thread.h: Modernize comment.
1715
1716         obstack: use _Noreturn
1717         * lib/obstack.c (__attribute__): Remove macro.
1718         (print_and_abort): Use _Noreturn.
1719
1720         c-stack: use _Noreturn
1721         * lib/c-stack.c (die, overflow_handler, segv_handler):
1722         Use _Noreturn rather than __attribute__((noreturn)).
1723
1724         argmatch-tests, exclude_tests: use _Noreturn
1725         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
1726         Remove.
1727         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
1728
1729         stdlib: use _Noreturn
1730         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
1731         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
1732         * modules/stdlib (Depends-on): Add _Noreturn.
1733         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
1734
1735         stdnoreturn-tests: new module
1736         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
1737
1738         stdnoreturn: new module
1739         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
1740         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
1741
1742         _Noreturn-tests: new module
1743         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
1744
1745         _Noreturn: new module
1746         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
1747         New section, mentioning it.
1748         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
1749
1750         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
1751
1752 2011-07-11  Eric Blake  <eblake@redhat.com>
1753
1754         ffs: new module
1755         * modules/ffs: New file.
1756         * m4/ffs.m4: Likewise.
1757         * lib/ffs.c: Likewise.
1758         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
1759         * modules/strings (Makefile.am): Substitute witness.
1760         (Depends-on): Add c++defs.
1761         * lib/strings.in.h (ffs): Declare.
1762         * modules/ffs-tests: New test file.
1763         * tests/test-ffs.c: Test new module.
1764         * MODULES.html.sh (Integer arithmetic functions): Mention it.
1765         * doc/posix-functions/ffs.texi (ffs): Likewise.
1766
1767         regex: avoid compiler warning
1768         * lib/regex.c (includes): Include <strings.h>, for use of
1769         strcasecmp in regcomp.c.
1770         Reported by Joachim Schmitz.
1771
1772 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1773
1774         stdint: respect system's intmax_t if INTMAX_MAX
1775         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
1776         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
1777         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
1778         long but int64_t is long long, and where we will clash with the
1779         system intmax_t if we override it.  See
1780         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
1781         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
1782         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
1783         similarly for UINTMAX_C.
1784
1785 2011-07-08  Bruno Haible  <bruno@clisp.org>
1786
1787         pthread_sigmask tests: Avoid a compiler warning.
1788         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
1789         non-zero.
1790
1791         sigprocmask tests: A better way to avoid a compiler warning.
1792         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
1793         (main): Complain if system() returns non-zero.
1794         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
1795
1796 2011-07-08  Bruno Haible  <bruno@clisp.org>
1797
1798         pthread_sigmask: Work around IRIX bug.
1799         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
1800         bug.
1801         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
1802         there may be unblocked pending signals.
1803         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
1804
1805 2011-07-08  Bruno Haible  <bruno@clisp.org>
1806
1807         pthread_sigmask: Work around Cygwin bug.
1808         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
1809         bug.
1810         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
1811         the system's pthread_sigmask function.
1812         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
1813
1814 2011-07-08  Bruno Haible  <bruno@clisp.org>
1815
1816         pthread_sigmask: Work around bug in single-threaded implementation.
1817         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
1818         FreeBSD, HP-UX, Solaris bug.
1819         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
1820         * lib/pthread_sigmask.c: Include <stddef.h>.
1821         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
1822         the system's pthread_sigmask function.
1823         * modules/pthread_sigmask (configure.ac): Invoke
1824         gl_PREREQ_PTHREAD_SIGMASK.
1825         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
1826         HP-UX, Solaris.
1827
1828 2011-07-08  Eric Blake  <eblake@redhat.com>
1829
1830         test-sigprocmask: avoid compiler warning
1831         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
1832         * tests/test-sigprocmask.c (main): Use it to silence warning.
1833         Reported by Jim Meyering.
1834
1835         test-snprintf: avoid compiler warning
1836         * tests/test-snprintf.c (main): Avoid shadowed declaration.
1837         * tests/test-vsnprintf.c (main): Likewise.
1838         Reported by Jim Meyering.
1839
1840 2011-07-08  Bruno Haible  <bruno@clisp.org>
1841
1842         Tests for module 'pthread_sigmask'.
1843         * modules/pthread_sigmask-tests: New file.
1844         * tests/test-pthread_sigmask1.c: New file, based on
1845         tests/test-sigprocmask.c.
1846         * tests/test-pthread_sigmask2.c: New file.
1847
1848 2011-07-08  Jim Meyering  <meyering@redhat.com>
1849
1850         test-getopt.h: avoid warning about an unused variable
1851         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
1852
1853 2011-07-07  Jim Meyering  <meyering@redhat.com>
1854
1855         maint: reduce list of files exempt from sc_prohibit_leading_TABs
1856         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
1857         now that it no longer contains leading TABs.
1858         Remove unused "url=FIXME" statement.
1859
1860 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
1861
1862         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
1863         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1864         When gl_THREADLIB is not in use, assume that the POSIX sematics
1865         are desired.  This is better for Emacs, which uses POSIX semantics
1866         on GNUish and/or POSIXish platforms, and does not use threads at
1867         all otherwise.
1868
1869         pthread_sigmask: fix typo when testing for libraries
1870         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1871         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
1872
1873 2011-07-08  Eric Blake  <eblake@redhat.com>
1874
1875         fts: introduce FTS_NOATIME
1876         * lib/fts_.h (FTS_NOATIME): New bit flag.
1877         (FTS_OPTIONMASK): Adjust.
1878         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
1879         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
1880
1881 2011-07-08  Bruno Haible  <bruno@clisp.org>
1882
1883         Tests for module 'thread'.
1884         * modules/thread-tests: New file.
1885         * tests/test-thread_self.c: New file.
1886         * tests/test-thread_create.cc: New file.
1887
1888 2011-07-08  Bruno Haible  <bruno@clisp.org>
1889
1890         thread: Avoid gcc warnings when using gl_thread_self().
1891         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
1892         'void *'.
1893         (gl_thread_self_pointer): Update.
1894
1895 2011-07-07  Bruno Haible  <bruno@clisp.org>
1896
1897         signal-c++-tests: Check declaration of pthread_sigmask.
1898         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
1899         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
1900         $(LIB_PTHREAD_SIGMASK).
1901
1902 2011-07-07  Bruno Haible  <bruno@clisp.org>
1903
1904         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
1905         * lib/signal.in.h (pthread_sigmask): Override if
1906         REPLACE_PTHREAD_SIGMASK is 1.
1907         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1908         REPLACE_PTHREAD_SIGMASK.
1909         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
1910         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
1911         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
1912         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1913         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
1914
1915 2011-07-07  Bruno Haible  <bruno@clisp.org>
1916
1917         pthread_sigmask: Ensure declaration in <signal.h>.
1918         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
1919         include <pthread.h>.
1920         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
1921         problem.
1922
1923 2011-07-07  Bruno Haible  <bruno@clisp.org>
1924
1925         pthread_sigmask: Document the module.
1926         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
1927
1928 2011-07-07  Bruno Haible  <bruno@clisp.org>
1929
1930         pthread_sigmask: Follow gnulib conventions.
1931         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
1932         gl_PTHREAD_SIGMASK.
1933         * modules/pthread_sigmask (configure.ac): Update.
1934
1935 2011-07-07  Bruno Haible  <bruno@clisp.org>
1936
1937         pthread_sigmask: Make declaration C++ safe.
1938         * lib/signal.in.h: In two special conditions, just do an #include_next.
1939         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1940         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
1941         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1942         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1943         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
1944         not REPLACE_PTHREAD_MASK.
1945         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
1946         not REPLACE_PTHREAD_MASK.
1947         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1948
1949 2011-07-07  Bruno Haible  <bruno@clisp.org>
1950
1951         pthread_sigmask: Fix return value.
1952         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
1953         * lib/pthread_sigmask.c: New file.
1954         * modules/pthread_sigmask (Files): Add it.
1955         (configure.ac): Invoke AC_LIBOBJ.
1956
1957 2011-07-07  Eric Blake  <eblake@redhat.com>
1958
1959         getopt: more portable argv creation
1960         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
1961         const, use char arrays rather than strings.
1962         Suggested by Paul Eggert.
1963
1964 2011-07-07  Bruno Haible  <bruno@clisp.org>
1965
1966         Tests for module 'sigprocmask'.
1967         * modules/sigprocmask-tests: New file.
1968         * tests/test-sigprocmask.c: New file.
1969
1970 2011-07-07  Bruno Haible  <bruno@clisp.org>
1971
1972         float tests: Tweak.
1973         * tests/test-float.c (main): Tweak skip message.
1974
1975 2011-07-07  Eric Blake  <eblake@redhat.com>
1976
1977         getopt: avoid compiler warning during configure
1978         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
1979         assigning string literals to non-const pointer.
1980
1981         getopt-gnu: avoid crash in glibc getopt
1982         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
1983         * tests/test-getopt.h (test_getopt): Enhance test.
1984         * tests/test-getopt_long.h (test_getopt_long): Likewise.
1985         * doc/posix-functions/getopt.texi (getopt): Document it.
1986         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1987         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1988         Likewise.
1989
1990 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
1991
1992         getopt: handle W; without long options in getopt [BZ #12922]
1993         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
1994         but no long options are defined, just return 'W'.
1995
1996 2011-07-07  Bruno Haible  <bruno@clisp.org>
1997
1998         Avoid literal tabs.
1999         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
2000         variable containing a tab instead of a literal tab.
2001         Reported by Jim Meyering.
2002
2003 2011-07-07  Bruno Haible  <bruno@clisp.org>
2004
2005         Comments.
2006         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
2007
2008 2011-07-06  Bruno Haible  <bruno@clisp.org>
2009
2010         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
2011         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
2012         <winsock2.h>.
2013         (rpl_fd_isset, FD_ISSET): New definitions, copied from
2014         lib/sys_socket.in.h.
2015         (close, gethostname): Hide declarations from <winsock2.h>.
2016         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2017         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
2018         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
2019         (select): Don't override if gnulib's <sys/select.h> was already
2020         included.
2021         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
2022         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
2023         setsockopt, shutdown, select): Tweak indentation.
2024
2025 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2026
2027         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
2028         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
2029         in an application that does not use the sys_select module.
2030
2031 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
2032
2033         poll: do not return 0 on timeout=-1
2034         * lib/poll.c: Loop with yield if no events occured
2035
2036 2011-07-06  Eric Blake  <eblake@redhat.com>
2037
2038         pthread_sigmask: always replace when not using pthread
2039         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
2040         replacement when using some threading other than pthread.  Fix
2041         logic bug.
2042
2043 2011-07-06  Bruno Haible  <bruno@clisp.org>
2044
2045         Comments.
2046         * m4/printf.m4: Update comments about mingw.
2047
2048 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2049
2050         sys_select: define sigset_t more portably
2051         * lib/sys_select.in.h: Always include <sys/types.h>, since
2052         we now need sigset_t and mingw defines it there.
2053         Include <signal.h> before split inclusion guard, to avoid
2054         mishaps on Solaris, whose <signal.h> eventually includes us.
2055         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
2056         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
2057         which come from ...
2058         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
2059         gl_CHECK_TYPE_SIGSET_T.
2060         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
2061         does the real work.
2062         * modules/sys_select (Depends-on): Add 'signal'.
2063
2064         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
2065         Suggested by Bruno Haible.
2066
2067         pselect: Use pthread_sigmask, not sigprocmask.
2068         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
2069         multithreaded apps better than sigprocmask does.
2070         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
2071         sigprocmask directly.
2072
2073 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2074
2075         * lib/pselect.c (pselect): Use plain name, without "rpl_".
2076         Don't #undef,  since we don't need any underlying pselect.
2077         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
2078         (Depends-on): Add select.
2079         (Link): Add $(LIBSOCKET).
2080         These changes suggested by Bruno Haible.
2081
2082         pselect: document better
2083         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2084         * doc/posix-functions/pselect.texi (pselect): Document new module.
2085
2086         pthread_sigmask: new module
2087         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2088         * doc/posix-functions/pthread_sigmask.texi: Document new module.
2089         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
2090         This is done only as a macro; I don't know how well that'll
2091         work for C++.  Move <sys/types.h> include before the include_next,
2092         to avoid mishap on Solaris.
2093         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
2094         * modules/signal (Makefile.am): Substitute the check's results.
2095         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
2096
2097         test-pselect: new module
2098         * modules/pselect-tests, tests/test-pselect.c: New files.
2099         * tests/test-select.c, tests/test-sys_select-c++.cc:
2100         If TEST_PSELECT is defined, test pselect instead of testing select.
2101
2102         * tests/test-sys_select.c (sigset_t): Test for it, too.
2103         Suggested by Bruno Haible.
2104
2105 2011-07-05  Eric Blake  <eblake@redhat.com>
2106
2107         snprintf: guarantee %1$d, for libintl
2108         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
2109         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
2110         * doc/posix-functions/snprintf.texi (snprintf): Update.
2111         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
2112         * tests/test-snprintf.c (main): Enhance test.
2113         * tests/test-vsnprintf.c (main): Likewise.
2114
2115 2011-07-05  Jim Meyering  <meyering@redhat.com>
2116
2117         maint: exempt stdio-read.c and stdio-write.c from the cppi check
2118         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
2119         per Bruno's request, to accommodate this idiom (no space after "#")
2120         even when the function is inside an #if block:
2121         char *
2122         gets (char *s)
2123         #undef gets
2124         {
2125           ...
2126         }
2127
2128 2011-07-04  Jim Meyering  <meyering@redhat.com>
2129
2130         maint: indent with spaces, not TABs, and add a rule to check this
2131         * tests/test-userspec.c: Indent with spaces, not TABs.
2132         * tests/test-argp.c: Likewise.
2133         * tests/test-c-stack2.sh: Likewise.
2134         * tests/test-parse-duration.sh: Likewise
2135         * m4/strtod.m4: Likewise.
2136         * m4/alloca.m4: Likewise.
2137         * m4/pselect.m4: Likewise.
2138         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
2139
2140 2011-07-03  Jim Meyering  <meyering@redhat.com>
2141
2142         maint.mk: correct omissions in prohibit_argmatch_without_use check
2143         This rule would mistakenly report that argmatch.h is included without
2144         use even when both the argmatch and invalid_arg macro were used.
2145         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
2146         of argmatch and invalid_arg.
2147
2148 2011-07-03  Bruno Haible  <bruno@clisp.org>
2149
2150         Comments about EINTR.
2151         * lib/safe-read.h: Explain the purpose of this module.
2152         * lib/safe-write.h: Likewise.
2153         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
2154         module.
2155         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
2156         module.
2157         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2158
2159 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2160
2161         xnanosleep: Rewrite to use new dtotimespec module.
2162         It has the conversion code that used to be in xnanosleep.
2163         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
2164         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
2165         (TIME_T_MAX): Remove.
2166         (xnanosleep): Rewrite in terms of dtotimespec.
2167         * modules/xnanosleep (Depends-on): Add dtotimespec.
2168         Remove intprops, stdbool.
2169
2170         timespec-add, timespec-sub: new modules
2171         * lib/timespec.h (timespec_add, timespec_sub): New decls.
2172         * lib/timespec-add.c, lib/timespec-sub.c:
2173         * modules/timespec-add, modules/timespec-sub: New files.
2174
2175         dtotimespec: new module
2176         * lib/timespec.h (dtotimespec): New decl.
2177         * lib/dtotimespec.c, modules/dtotimespec: New files.
2178
2179         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
2180
2181         pselect: new module
2182         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
2183         (pselect): New decls.
2184         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
2185         since the standard pselect decl uses 'restrict'.
2186         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
2187         HAVE_PSELECT, REPLACE_PSELECT.
2188         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
2189         HAVE_PSELECT, REPLACE_PSELECT.
2190         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
2191
2192         sys_select: don't depend on sys_socket
2193         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
2194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
2195         This fix works on GNU and GNU-like platforms, but has not been tested
2196         on native Windows.
2197         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
2198         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
2199         gl_HEADER_SYS_SOCKET.
2200         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
2201         gl_PREREQ_SYS_H_WINSOCK2.
2202
2203 2011-06-29  Eric Blake  <eblake@redhat.com>
2204
2205         pipe2: fix C89 compile problem
2206         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
2207         Reported by Bruno Haible.
2208
2209         pipe, pipe2: don't corrupt fd on error
2210         * lib/pipe.c (pipe): Leave fd unchanged on error.
2211         * lib/pipe2.c (pipe2): Likewise.
2212         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
2213         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2214
2215 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
2216
2217         mmap-anon: do not use regular expressions inadvertently
2218         * m4/mmap-anon.m4: Remove trailing period from strings sought
2219         in the output.
2220
2221 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2222
2223         nanosleep: fix integer overflow problem
2224         * lib/nanosleep.c (my_usleep): Don't assume signed integer
2225         arithmetic wraps around on overflow.
2226
2227         nanosleep: simplify carrying
2228         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
2229         first call to the underyling nanosleep, not for the last one.
2230         This doesn't fix any bugs, but it simplifies the computation of
2231         the remaining delay.  Found while auditing integer overflow issues.
2232
2233         dup2: remove test for existence of fcntl
2234         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
2235         "#if HAVE_FCNTL", in the configure-time test program.
2236         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
2237         and therefore speeds up "configure" a bit.  Found while
2238         adding the dup2 module to Emacs.
2239
2240 2011-06-24  Eric Blake  <eblake@redhat.com>
2241
2242         maint.mk: enhance useless header checks
2243         * top/maint.mk (_sc_header_without_use): Check both include
2244         styles.
2245         (sc_prohibit_assert_without_use)
2246         (sc_prohibit_close_stream_without_use)
2247         (sc_prohibit_getopt_without_use)
2248         (sc_prohibit_quotearg_without_use)
2249         (sc_prohibit_quote_without_use)
2250         (sc_prohibit_long_options_without_use)
2251         (sc_prohibit_inttostr_without_use)
2252         (sc_prohibit_ignore_value_without_use)
2253         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
2254         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
2255         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
2256         (sc_prohibit_hash_pjw_without_use)
2257         (sc_prohibit_safe_read_without_use)
2258         (sc_prohibit_argmatch_without_use)
2259         (sc_prohibit_canonicalize_without_use)
2260         (sc_prohibit_root_dev_ino_without_use)
2261         (sc_prohibit_openat_without_use)
2262         (sc_prohibit_c_ctype_without_use)
2263         (sc_prohibit_signal_without_use)
2264         (sc_prohibit_stdio--_without_use)
2265         (sc_prohibit_stdio-safer_without_use)
2266         (sc_prohibit_strings_without_use)
2267         (sc_prohibit_intprops_without_use)
2268         (sc_prohibit_stddef_without_use)
2269         (sc_prohibit_xfreopen_without_use): Update clients.
2270
2271 2011-06-24  Jim Meyering  <meyering@redhat.com>
2272
2273         syntax-check: keep one maint.mk rule in sync with its header
2274         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
2275         of the bug Eric has just fixed, with today's commit 25e4c2ec.
2276         I prefer to avoid temporary files here, so use <(...), but that
2277         is not supported by /bin/sh, so...
2278         (SHELL): Define to /bin/bash.
2279
2280 2011-06-24  Eric Blake  <eblake@redhat.com>
2281
2282         maint.mk: update sc_prohibit_intprops_without_use
2283         * top/maint.mk (_intprops_names): Match recent changes.
2284
2285 2011-06-24  Bruno Haible  <bruno@clisp.org>
2286
2287         strerror-override: No-op tweak.
2288         * lib/strerror-override.h (strerror_override): Reorder conditions,
2289         for consistency with lib/strerror-override.c.
2290
2291 2011-06-23  Eric Blake  <eblake@redhat.com>
2292
2293         maint.mk: test further PATH_MAX issues
2294         * top/maint.mk (sc_prohibit_path_max_array): Rename...
2295         (sc_prohibit_path_max_allocation): ...and also test alloca.
2296         Suggested by Jim Meyering.
2297
2298 2011-06-22  Eric Blake  <eblake@redhat.com>
2299
2300         maint.mk: add syntax-check to avoid char[PATH_MAX]
2301         * top/maint.mk (sc_prohibit_path_max_array): New rule.
2302
2303         stat: be robust to PATH_MAX definition
2304         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
2305         * modules/stat (Depends-on): Add verify.
2306
2307         link: work around IRIX bug
2308         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
2309         * lib/link.c (rpl_link): Work around it.
2310         * tests/test-link.h (test_link): Enhance test.
2311         * doc/posix-functions/link.texi (link): Document the bug.
2312
2313         getopt: silence clang warning
2314         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
2315         dereference.
2316         Reported by Gustavo Martin Domato.
2317
2318 2011-06-22  Jim Meyering  <meyering@redhat.com>
2319
2320         bootstrap: do not insert a blank line into each .gitignore file
2321         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
2322
2323 2011-06-21  Eric Blake  <eblake@redhat.com>
2324
2325         perror: test for output mismatch
2326         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
2327         perror on IRIX.
2328
2329         strerror_r: fix OpenBSD behavior on out-of-range
2330         * lib/strerror_r.c (strerror_r): Always use maximal string.
2331         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2332
2333         strerror_r: fix OpenBSD behavior on 0
2334         * lib/strerror-override.c (strerror_override): Also override 0
2335         when needed.
2336         * lib/strerror-override.h (strerror_override): Likewise.
2337         * lib/strerror.c (strerror): Simplify, now that 0 override is done
2338         earlier.
2339         * lib/strerror_r.c (strerror_r): Likewise.
2340         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
2341         behavior...
2342         (gl_FUNC_STRERROR_0): ...into new macro.
2343         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
2344         is overridden.
2345         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
2346         * modules/strerror-override (Files): Add strerror.m4.
2347         (configure.ac): Also provide override for 0 when needed.
2348         * doc/posix-functions/strerror.texi (strerror): Document this.
2349         * doc/posix-functions/perror.texi (perror): Likewise.
2350
2351         perror: adjust array size
2352         * modules/perror (Depends-on): Add strerror-override.
2353         * lib/perror.c (perror): Use it to avoid magic number.
2354
2355         strerror-override: reduce size
2356         * lib/strerror-override.c (strerror_override): Use fewer lines.
2357
2358 2011-06-20  Bruno Haible  <bruno@clisp.org>
2359
2360         pathmax: Ensure correct value for PATH_MAX on HP-UX.
2361         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
2362
2363 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2364
2365         alloca: port to compilers that can optimize like GCC 4.6.0
2366         * lib/alloca.c (find_stack_direction): New signature, taken from
2367         Autoconf git.  This works with GCC 4.6.0.  This code should never
2368         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
2369         be used with other compilers that optimize as well as GCC 4.6.0 does.
2370         (alloca): Adjust to new signature.
2371         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
2372         New macro, which patches Autoconf in a similar way.
2373
2374         c-stack: stop worrying about stack direction
2375         * lib/c-stack.c (find_stack_direction): Remove.
2376         (segv_handler): Don't worry about stack direction growth, as it's
2377         too much of a pain to configure this correctly, given how compilers
2378         are optimizing-away our stack-growth detection code.  Instead, assume
2379         that any access to just before or just after the stack is OK.
2380         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2381         Don't require AC_FUNC_ALLOCA; no longer needed.
2382
2383 2011-06-20  Eric Blake  <eblake@redhat.com>
2384
2385         test-stat: don't allocate PATH_MAX bytes
2386         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
2387         PATH_MAX-sized buffer.
2388         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
2389         * modules/stat-tests (Depends-on): Likewise.
2390         * tests/test-fstatat.c (includes): Drop pathmax.h.
2391         * tests/test-stat.c (includes): Likewise.
2392         Reported by Bruno Haible.
2393
2394 2011-06-20  Bruno Haible  <bruno@clisp.org>
2395
2396         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
2397         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
2398         * lib/float.c: New file.
2399         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
2400         REPLACE_FLOAT_LDBL.
2401         * modules/float (Files): Add lib/float.c.
2402         (configure.ac): Invoke AC_LIBOBJ.
2403         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
2404
2405 2011-06-20  Bruno Haible  <bruno@clisp.org>
2406
2407         Tests for module 'float'.
2408         * modules/float-tests: New file.
2409         * tests/test-float.c: New file.
2410
2411 2011-06-19  Bruno Haible  <bruno@clisp.org>
2412
2413         isinf: Coding style.
2414         * lib/isinf.c: Use GNU coding style.
2415
2416 2011-06-19  Bruno Haible  <bruno@clisp.org>
2417
2418         linkat test: Avoid test failure on AIX 7.1.
2419         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
2420         * tests/test-link.h (test_link): Likewise.
2421
2422 2011-06-19  Bruno Haible  <bruno@clisp.org>
2423
2424         pread test: Avoid test failure on OpenBSD 4.9.
2425         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
2426
2427 2011-06-19  Bruno Haible  <bruno@clisp.org>
2428
2429         sprintf-posix: Fix test failure on AIX 7.1.
2430         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
2431         * doc/posix-functions/dprintf.texi: Mention limited precision problem
2432         on AIX.
2433         * doc/posix-functions/fprintf.texi: Likewise.
2434         * doc/posix-functions/printf.texi: Likewise.
2435         * doc/posix-functions/snprintf.texi: Likewise.
2436         * doc/posix-functions/sprintf.texi: Likewise.
2437         * doc/posix-functions/vdprintf.texi: Likewise.
2438         * doc/posix-functions/vfprintf.texi: Likewise.
2439         * doc/posix-functions/vprintf.texi: Likewise.
2440         * doc/posix-functions/vsnprintf.texi: Likewise.
2441         * doc/posix-functions/vsprintf.texi: Likewise.
2442
2443 2011-06-19  Bruno Haible  <bruno@clisp.org>
2444
2445         roundl-ieee: Fix test failure on AIX 7.1.
2446         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
2447         * doc/posix-functions/roundl.texi: Mention problem with negative
2448         arguments.
2449
2450 2011-06-19  Bruno Haible  <bruno@clisp.org>
2451
2452         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
2453         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
2454         * doc/posix-functions/round.texi: Mention problem with negative
2455         arguments.
2456         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
2457
2458 2011-06-19  Bruno Haible  <bruno@clisp.org>
2459
2460         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
2461         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
2462         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
2463         * doc/posix-functions/roundf.texi: Mention problem with negative
2464         arguments.
2465         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
2466
2467 2011-06-19  Bruno Haible  <bruno@clisp.org>
2468
2469         ceilf-ieee: Work around bug on MacOS X 10.5.
2470         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
2471
2472         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
2473         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
2474         IEEE compliant, avoid compiler optimizations.
2475         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
2476         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
2477         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
2478         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
2479         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2480         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
2481         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2482         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2483         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2484         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
2485
2486 2011-06-19  Bruno Haible  <bruno@clisp.org>
2487
2488         ceilf-ieee: Work around bug on AIX 7.1.
2489         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
2490         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
2491
2492 2011-06-19  Bruno Haible  <bruno@clisp.org>
2493
2494         ceil-ieee: Work around bug on AIX 7.1.
2495         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
2496         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
2497
2498 2011-06-18  Bruno Haible  <bruno@clisp.org>
2499
2500         fsync test: Avoid test failure on MacOS X and AIX.
2501         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
2502         EINVAL.
2503
2504 2011-06-18  Bruno Haible  <bruno@clisp.org>
2505
2506         openat, fdopendir tests: Fix link errors.
2507         * modules/openat-tests (Depends-on): Add progname.
2508         * modules/fdopendir-tests (Depends-on): Likewise.
2509         * tests/test-fchownat.c: Include progname.h.
2510         (main): Call set_program_name.
2511         * tests/test-fstatat.c: Include progname.h.
2512         (main): Call set_program_name.
2513         * tests/test-mkdirat.c: Include progname.h.
2514         (main): Call set_program_name.
2515         * tests/test-openat.c: Include progname.h.
2516         (main): Call set_program_name.
2517         * tests/test-unlinkat.c: Include progname.h.
2518         (main): Call set_program_name.
2519         * tests/test-fdopendir.c: Include progname.h.
2520         (main): Call set_program_name.
2521
2522 2011-06-18  Bruno Haible  <bruno@clisp.org>
2523
2524         Doc update.
2525         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
2526         HP-UX.
2527         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
2528
2529 2011-06-18  Bruno Haible  <bruno@clisp.org>
2530
2531         getcwd tests: Avoid compilation error on HP-UX 11.31.
2532         * modules/getcwd-tests (Depends-on): Add pathmax.
2533         * tests/test-getcwd.c: Include pathmax.h.
2534
2535 2011-06-18  Bruno Haible  <bruno@clisp.org>
2536
2537         isfinite, isinf: Fix link error on AIX 6 and 7.
2538         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
2539         needed, also test the macro with a 'float' argument.
2540         * m4/isinf.m4 (gl_ISINF): Likewise.
2541
2542 2011-06-18  Bruno Haible  <bruno@clisp.org>
2543
2544         getloadavg: Don't clobber LIBS. Regression from previous commit.
2545         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
2546         AC_CHECK_LIB from here...
2547         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
2548         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
2549         gl_func_getloadavg_done.
2550         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2551
2552 2011-06-18  Bruno Haible  <bruno@clisp.org>
2553
2554         clean-temp: Improve documentation.
2555         * lib/clean-temp.h: Explain better how to use this module.
2556         Reported by John Darrington <john@darrington.wattle.id.au>.
2557
2558 2011-06-17  Bruno Haible  <bruno@clisp.org>
2559
2560         pread, pwrite: Avoid cc warning on AIX.
2561         * lib/unistd.in.h (pread): Undefine before defining as a macro.
2562         (pwrite): Likewise.
2563
2564 2011-06-17  Bruno Haible  <bruno@clisp.org>
2565
2566         spawn-pipe tests: Fix link error.
2567         * tests/test-spawn-pipe-child.c: Undefine fprintf.
2568         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2569
2570 2011-06-17  Bruno Haible  <bruno@clisp.org>
2571
2572         Tests: Remove unnecessary dependency.
2573         * modules/canonicalize-tests (Depends-on): Remove progname.
2574         * modules/chown-tests (Depends-on): Likewise.
2575         * modules/dirname-tests (Depends-on): Likewise.
2576         * modules/fdopendir-tests (Depends-on): Likewise.
2577         * modules/fdutimensat-tests (Depends-on): Likewise.
2578         * modules/hash-tests (Depends-on): Likewise.
2579         * modules/lchown-tests (Depends-on): Likewise.
2580         * modules/linkat-tests (Depends-on): Likewise.
2581         * modules/renameat-tests (Depends-on): Likewise.
2582         * modules/spawn-pipe-tests (Depends-on): Likewise.
2583         * modules/utimensat-tests (Depends-on): Likewise.
2584
2585 2011-06-17  Bruno Haible  <bruno@clisp.org>
2586
2587         spawn-pipe tests: Fix link error.
2588         * tests/test-spawn-pipe-child.c: Undefine fflush.
2589
2590 2011-06-17  Bruno Haible  <bruno@clisp.org>
2591
2592         Fix tests link errors.
2593         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
2594         * modules/chown-tests (Makefile.am): Don't link test-chown with
2595         LIBINTL.
2596         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
2597         LIBINTL.
2598         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
2599         LIBINTL.
2600         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
2601         LIBINTL.
2602
2603 2011-06-16  Bruno Haible  <bruno@clisp.org>
2604
2605         crypto/gc-sha1: Fix recent regression.
2606         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
2607         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
2608
2609         crypto/gc-md5: Fix recent regression.
2610         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
2611
2612         crypto/gc-md4: Fix recent regression.
2613         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
2614         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
2615
2616         crypto/gc-arctwo: Fix recent regression.
2617         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
2618         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
2619
2620         crypto/gc-rijndael: Fix recent regression.
2621         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
2622         (configure.ac): Invoke AC_LIBOBJ here.
2623         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
2624         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2625
2626         crypto/gc-hmac-sha1: Fix recent regression.
2627         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
2628         (configure.ac): Invoke AC_LIBOBJ here.
2629         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
2630         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2631
2632         crypto/gc-hmac-md5: Fix recent regression.
2633         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
2634         (configure.ac): Invoke AC_LIBOBJ here.
2635         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
2636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2637
2638         crypto/gc-des: Fix recent regression.
2639         * modules/crypto/gc-des (Files): Remove m4/des.m4.
2640         (configure.ac): Invoke AC_LIBOBJ here.
2641         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
2642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2643
2644         crypto/gc-arcfour: Fix recent regression.
2645         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
2646         (configure.ac): Invoke AC_LIBOBJ here.
2647         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
2648         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2649
2650 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
2651
2652         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
2653         After the 2011-05-21 change, this macro requires
2654         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
2655         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2656
2657 2011-06-16  Bruno Haible  <bruno@clisp.org>
2658
2659         fprintftime: Move AC_LIBOBJ invocations to module description.
2660         * m4/fprintftime.m4: Remove file.
2661         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
2662         (configure.ac): Remove gl_FPRINTFTIME call.
2663         (Makefile.am): Augment lib_SOURCES.
2664         Reported by Jim Meyering.
2665
2666 2011-06-16  Bruno Haible  <bruno@clisp.org>
2667
2668         tmpfile-safer: Finish 2011-05-23 commit.
2669         * m4/stdio-safer.m4: Really remove file.
2670         Reported by Jim Meyering.
2671
2672 2011-06-16  Bruno Haible  <bruno@clisp.org>
2673
2674         syntax-check: Fix typo.
2675         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
2676         printf-posix.m4.
2677         Reported by Jim Meyering.
2678
2679 2011-06-13  Jim Meyering  <meyering@redhat.com>
2680
2681         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
2682         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
2683
2684 2011-05-23  Bruno Haible  <bruno@clisp.org>
2685
2686         yesno: Move AC_LIBOBJ invocations to module description.
2687         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
2688         * modules/yesno (Makefile.am): Augment lib_SOURCES.
2689
2690 2011-05-23  Bruno Haible  <bruno@clisp.org>
2691
2692         xstrtol: Move AC_LIBOBJ invocations to module description.
2693         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
2694         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
2695
2696 2011-05-23  Bruno Haible  <bruno@clisp.org>
2697
2698         xstrtold: Move AC_LIBOBJ invocations to module description.
2699         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
2700         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
2701
2702 2011-05-23  Bruno Haible  <bruno@clisp.org>
2703
2704         xstrtod: Move AC_LIBOBJ invocations to module description.
2705         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
2706         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
2707
2708 2011-05-23  Bruno Haible  <bruno@clisp.org>
2709
2710         xnanosleep: Move AC_LIBOBJ invocations to module description.
2711         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
2712         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
2713
2714 2011-05-23  Bruno Haible  <bruno@clisp.org>
2715
2716         xgetcwd: Move AC_LIBOBJ invocations to module description.
2717         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
2718         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
2719
2720 2011-05-23  Bruno Haible  <bruno@clisp.org>
2721
2722         xalloc: Move AC_LIBOBJ invocations to module description.
2723         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
2724         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
2725
2726 2011-05-23  Bruno Haible  <bruno@clisp.org>
2727
2728         write-any-file: Move AC_LIBOBJ invocations to module description.
2729         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
2730         invocation.
2731         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
2732
2733 2011-05-23  Bruno Haible  <bruno@clisp.org>
2734
2735         utimens: Move AC_LIBOBJ invocations to module description.
2736         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
2737         * modules/utimens (Makefile.am): Augment lib_SOURCES.
2738
2739 2011-05-23  Bruno Haible  <bruno@clisp.org>
2740
2741         utimecmp: Move AC_LIBOBJ invocations to module description.
2742         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
2743         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
2744
2745 2011-05-23  Bruno Haible  <bruno@clisp.org>
2746
2747         userspec: Move AC_LIBOBJ invocations to module description.
2748         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
2749         * modules/userspec (Makefile.am): Augment lib_SOURCES.
2750
2751 2011-05-23  Bruno Haible  <bruno@clisp.org>
2752
2753         unlinkdir: Move AC_LIBOBJ invocations to module description.
2754         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
2755         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
2756
2757 2011-05-23  Bruno Haible  <bruno@clisp.org>
2758
2759         unistd-safer: Move AC_LIBOBJ invocations to module description.
2760         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
2761         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
2762
2763 2011-05-23  Bruno Haible  <bruno@clisp.org>
2764
2765         tempname: Move AC_LIBOBJ invocations to module description.
2766         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
2767         * modules/tempname (Makefile.am): Augment lib_SOURCES.
2768
2769 2011-05-23  Bruno Haible  <bruno@clisp.org>
2770
2771         strftime: Move AC_LIBOBJ invocations to module description.
2772         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
2773         * modules/strftime (Makefile.am): Augment lib_SOURCES.
2774
2775 2011-05-23  Bruno Haible  <bruno@clisp.org>
2776
2777         stdlib-safer: Move AC_LIBOBJ invocations to module description.
2778         * m4/stdlib-safer.m4: Remove file.
2779         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
2780         (configure.ac): Remove gl_STDLIB_SAFER call.
2781         (Makefile.am): Augment lib_SOURCES.
2782
2783 2011-05-23  Bruno Haible  <bruno@clisp.org>
2784
2785         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
2786         * m4/stdio-safer.m4: Remove file.
2787         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
2788         (configure.ac): Remove gl_TMPFILE_SAFER call.
2789         (Makefile.am): Augment lib_SOURCES.
2790
2791 2011-05-23  Bruno Haible  <bruno@clisp.org>
2792
2793         popen-safer: Move AC_LIBOBJ invocations to module description.
2794         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
2795         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
2796         (configure.ac): Remove gl_POPEN_SAFER call.
2797         (Makefile.am): Augment lib_SOURCES.
2798
2799 2011-05-23  Bruno Haible  <bruno@clisp.org>
2800
2801         freopen-safer: Move AC_LIBOBJ invocations to module description.
2802         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
2803         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
2804         (configure.ac): Remove gl_FREOPEN_SAFER call.
2805         (Makefile.am): Augment lib_SOURCES.
2806
2807 2011-05-23  Bruno Haible  <bruno@clisp.org>
2808
2809         fopen-safer: Move AC_LIBOBJ invocations to module description.
2810         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
2811         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
2812         (configure.ac): Remove gl_FOPEN_SAFER call.
2813         (Makefile.am): Augment lib_SOURCES.
2814
2815 2011-05-23  Bruno Haible  <bruno@clisp.org>
2816
2817         crypto/sha512: Move AC_LIBOBJ invocations to module description.
2818         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
2819         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
2820
2821 2011-05-23  Bruno Haible  <bruno@clisp.org>
2822
2823         crypto/sha256: Move AC_LIBOBJ invocations to module description.
2824         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
2825         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
2826
2827 2011-05-23  Bruno Haible  <bruno@clisp.org>
2828
2829         crypto/sha1: Move AC_LIBOBJ invocations to module description.
2830         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
2831         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
2832
2833 2011-05-23  Bruno Haible  <bruno@clisp.org>
2834
2835         settime: Move AC_LIBOBJ invocations to module description.
2836         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
2837         * modules/settime (Makefile.am): Augment lib_SOURCES.
2838
2839 2011-05-23  Bruno Haible  <bruno@clisp.org>
2840
2841         savedir: Move AC_LIBOBJ invocations to module description.
2842         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
2843         * modules/savedir (Makefile.am): Augment lib_SOURCES.
2844
2845 2011-05-23  Bruno Haible  <bruno@clisp.org>
2846
2847         save-cwd: Move AC_LIBOBJ invocations to module description.
2848         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
2849         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
2850
2851 2011-05-23  Bruno Haible  <bruno@clisp.org>
2852
2853         same: Move AC_LIBOBJ invocations to module description.
2854         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
2855         * modules/same (Makefile.am): Augment lib_SOURCES.
2856
2857 2011-05-23  Bruno Haible  <bruno@clisp.org>
2858
2859         safe-write: Move AC_LIBOBJ invocations to module description.
2860         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
2861         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
2862         instead of gl_SAFE_WRITE.
2863         (Makefile.am): Augment lib_SOURCES.
2864
2865 2011-05-23  Bruno Haible  <bruno@clisp.org>
2866
2867         safe-read: Move AC_LIBOBJ invocations to module description.
2868         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
2869         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
2870         of gl_SAFE_READ.
2871         (Makefile.am): Augment lib_SOURCES.
2872
2873 2011-05-23  Bruno Haible  <bruno@clisp.org>
2874
2875         safe-alloc: Move AC_LIBOBJ invocations to module description.
2876         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
2877         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
2878
2879 2011-05-23  Bruno Haible  <bruno@clisp.org>
2880
2881         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
2882         * m4/rijndael.m4: Remove file.
2883         * modules/crypto/rijndael (Files): Remove it.
2884         (configure.ac): Remove gl_RIJNDAEL call.
2885         (Makefile.am): Augment lib_SOURCES.
2886
2887 2011-05-23  Bruno Haible  <bruno@clisp.org>
2888
2889         readtokens: Move AC_LIBOBJ invocations to module description.
2890         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
2891         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
2892
2893 2011-05-23  Bruno Haible  <bruno@clisp.org>
2894
2895         read-file: Move AC_LIBOBJ invocations to module description.
2896         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
2897         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
2898         of gl_FUNC_READ_FILE.
2899         (Makefile.am): Augment lib_SOURCES.
2900
2901 2011-05-23  Bruno Haible  <bruno@clisp.org>
2902
2903         quotearg: Move AC_LIBOBJ invocations to module description.
2904         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
2905         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
2906
2907 2011-05-23  Bruno Haible  <bruno@clisp.org>
2908
2909         quote: Move AC_LIBOBJ invocations to module description.
2910         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
2911         * modules/quote (Makefile.am): Augment lib_SOURCES.
2912
2913 2011-05-23  Bruno Haible  <bruno@clisp.org>
2914
2915         posixver: Move AC_LIBOBJ invocations to module description.
2916         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
2917         * modules/posixver (Makefile.am): Augment lib_SOURCES.
2918
2919 2011-05-23  Bruno Haible  <bruno@clisp.org>
2920
2921         posixtm: Move AC_LIBOBJ invocations to module description.
2922         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
2923         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
2924
2925 2011-05-23  Bruno Haible  <bruno@clisp.org>
2926
2927         physmem: Move AC_LIBOBJ invocations to module description.
2928         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
2929         * modules/physmem (Makefile.am): Augment lib_SOURCES.
2930
2931 2011-05-23  Bruno Haible  <bruno@clisp.org>
2932
2933         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
2934         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
2935         invocation.
2936         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
2937
2938 2011-05-23  Bruno Haible  <bruno@clisp.org>
2939
2940         mpsort: Move AC_LIBOBJ invocations to module description.
2941         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
2942         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
2943
2944 2011-05-23  Bruno Haible  <bruno@clisp.org>
2945
2946         modechange: Move AC_LIBOBJ invocations to module description.
2947         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
2948         * modules/modechange (Makefile.am): Augment lib_SOURCES.
2949
2950 2011-05-23  Bruno Haible  <bruno@clisp.org>
2951
2952         mkdir-p: Move AC_LIBOBJ invocations to module description.
2953         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
2954         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
2955
2956 2011-05-23  Bruno Haible  <bruno@clisp.org>
2957
2958         mkancesdirs: Move AC_LIBOBJ invocations to module description.
2959         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
2960         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
2961
2962 2011-05-23  Bruno Haible  <bruno@clisp.org>
2963
2964         mgetgroups: Move AC_LIBOBJ invocations to module description.
2965         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
2966         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
2967
2968 2011-05-23  Bruno Haible  <bruno@clisp.org>
2969
2970         memxor: Move AC_LIBOBJ invocations to module description.
2971         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
2972         * modules/memxor (Makefile.am): Augment lib_SOURCES.
2973
2974 2011-05-23  Bruno Haible  <bruno@clisp.org>
2975
2976         memcoll: Move AC_LIBOBJ invocations to module description.
2977         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
2978         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
2979
2980 2011-05-23  Bruno Haible  <bruno@clisp.org>
2981
2982         memcasecmp: Move AC_LIBOBJ invocations to module description.
2983         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
2984         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
2985
2986 2011-05-23  Bruno Haible  <bruno@clisp.org>
2987
2988         crypto/md5: Move AC_LIBOBJ invocations to module description.
2989         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
2990         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
2991
2992 2011-05-23  Bruno Haible  <bruno@clisp.org>
2993
2994         crypto/md4: Move AC_LIBOBJ invocations to module description.
2995         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
2996         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
2997
2998 2011-05-23  Bruno Haible  <bruno@clisp.org>
2999
3000         crypto/md2: Move AC_LIBOBJ invocations to module description.
3001         * m4/md2.m4: Remove file.
3002         * modules/crypto/md2 (Files): Remove it.
3003         (configure.ac): Remove gl_MD2 call.
3004         (Makefile.am): Augment lib_SOURCES.
3005
3006 2011-05-23  Bruno Haible  <bruno@clisp.org>
3007
3008         long-options: Move AC_LIBOBJ invocations to module description.
3009         * m4/long-options.m4: Remove file.
3010         * modules/long-options (Files): Remove it.
3011         (configure.ac): Remove gl_LONG_OPTIONS call.
3012         (Makefile.am): Augment lib_SOURCES.
3013
3014 2011-05-23  Bruno Haible  <bruno@clisp.org>
3015
3016         i-ring: Move AC_LIBOBJ invocations to module description.
3017         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
3018         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
3019
3020 2011-05-23  Bruno Haible  <bruno@clisp.org>
3021
3022         idcache: Move AC_LIBOBJ invocations to module description.
3023         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
3024         * modules/idcache (Makefile.am): Augment lib_SOURCES.
3025
3026 2011-05-23  Bruno Haible  <bruno@clisp.org>
3027
3028         human: Move AC_LIBOBJ invocations to module description.
3029         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
3030         * modules/human (Makefile.am): Augment lib_SOURCES.
3031
3032 2011-05-23  Bruno Haible  <bruno@clisp.org>
3033
3034         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
3035         * m4/hmac-sha1.m4: Remove file.
3036         * modules/crypto/hmac-sha1 (Files): Remove it.
3037         (configure.ac): Remove gl_HMAC_SHA1 call.
3038         (Makefile.am): Augment lib_SOURCES.
3039
3040 2011-05-23  Bruno Haible  <bruno@clisp.org>
3041
3042         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
3043         * m4/hmac-md5.m4: Remove file.
3044         * modules/crypto/hmac-md5 (Files): Remove it.
3045         (configure.ac): Remove gl_HMAC_MD5 call.
3046         (Makefile.am): Augment lib_SOURCES.
3047
3048 2011-05-23  Bruno Haible  <bruno@clisp.org>
3049
3050         hash: Move AC_LIBOBJ invocations to module description.
3051         * m4/hash.m4: Remove file.
3052         * modules/hash (Files): Remove it.
3053         (configure.ac): Remove gl_HASH call.
3054         (Makefile.am): Augment lib_SOURCES.
3055
3056 2011-05-23  Bruno Haible  <bruno@clisp.org>
3057
3058         hard-locale: Move AC_LIBOBJ invocations to module description.
3059         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
3060         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
3061
3062 2011-05-23  Bruno Haible  <bruno@clisp.org>
3063
3064         getugroups: Move AC_LIBOBJ invocations to module description.
3065         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
3066         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
3067
3068 2011-05-23  Bruno Haible  <bruno@clisp.org>
3069
3070         gettime: Move AC_LIBOBJ invocations to module description.
3071         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
3072         * modules/gettime (Makefile.am): Augment lib_SOURCES.
3073
3074 2011-05-23  Bruno Haible  <bruno@clisp.org>
3075
3076         getndelim2: Move AC_LIBOBJ invocations to module description.
3077         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
3078         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
3079
3080 2011-05-23  Bruno Haible  <bruno@clisp.org>
3081
3082         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
3083         * m4/gc-pbkdf2-sha1.m4: Remove file.
3084         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
3085         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
3086         (Makefile.am): Augment lib_SOURCES.
3087
3088 2011-05-23  Bruno Haible  <bruno@clisp.org>
3089
3090         fts: Move AC_LIBOBJ invocations to module description.
3091         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
3092         * modules/fts (configure.ac): ... to here.
3093
3094 2011-05-23  Bruno Haible  <bruno@clisp.org>
3095
3096         file-type: Move AC_LIBOBJ invocations to module description.
3097         * m4/file-type.m4: Remove file.
3098         * modules/file-type (Files): Remove it.
3099         (configure.ac): Remove gl_FILE_TYPE call.
3100         (Makefile.am): Augment lib_SOURCES.
3101
3102 2011-05-23  Bruno Haible  <bruno@clisp.org>
3103
3104         filenamecat*: Respect rules for use of AC_LIBOBJ.
3105         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
3106         Remove AC_LIBOBJ invocation.
3107         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
3108         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
3109
3110 2011-05-23  Bruno Haible  <bruno@clisp.org>
3111
3112         filemode: Move AC_LIBOBJ invocations to module description.
3113         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
3114         * modules/filemode (Makefile.am): Augment lib_SOURCES.
3115
3116 2011-05-23  Bruno Haible  <bruno@clisp.org>
3117
3118         openat-safer: Move AC_LIBOBJ invocations to module description.
3119         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
3120         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
3121
3122 2011-05-23  Bruno Haible  <bruno@clisp.org>
3123
3124         fcntl-safer: Move AC_LIBOBJ invocations to module description.
3125         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
3126         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
3127
3128 2011-05-23  Bruno Haible  <bruno@clisp.org>
3129
3130         exclude: Move AC_LIBOBJ invocations to module description.
3131         * m4/exclude.m4: Remove file.
3132         * modules/exclude (Files): Remove it.
3133         (configure.ac): Remove gl_EXCLUDE call.
3134         (Makefile.am): Augment lib_SOURCES.
3135
3136 2011-05-23  Bruno Haible  <bruno@clisp.org>
3137
3138         dirname*: Respect rules for use of AC_LIBOBJ.
3139         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
3140         invocations.
3141         * modules/dirname (Makefile.am): Augment lib_SOURCES.
3142         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
3143
3144 2011-05-23  Bruno Haible  <bruno@clisp.org>
3145
3146         dirent-safer: Move AC_LIBOBJ invocations to module description.
3147         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
3148         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
3149
3150 2011-05-23  Bruno Haible  <bruno@clisp.org>
3151
3152         crypto/des: Move AC_LIBOBJ invocations to module description.
3153         * m4/des.m4: Remove file.
3154         * modules/crypto/des (Files): Remove it.
3155         (configure.ac): Remove gl_DES call.
3156         (Makefile.am): Augment lib_SOURCES.
3157
3158 2011-05-23  Bruno Haible  <bruno@clisp.org>
3159
3160         cycle-check: Move AC_LIBOBJ invocations to module description.
3161         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
3162         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
3163
3164 2011-05-23  Bruno Haible  <bruno@clisp.org>
3165
3166         c-strtold: Move AC_LIBOBJ invocations to module description.
3167         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
3168         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
3169
3170 2011-05-23  Bruno Haible  <bruno@clisp.org>
3171
3172         c-strtod: Move AC_LIBOBJ invocations to module description.
3173         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
3174         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
3175
3176 2011-05-23  Bruno Haible  <bruno@clisp.org>
3177
3178         crc: Move AC_LIBOBJ invocations to module description.
3179         * m4/crc.m4: Remove file.
3180         * modules/crc (Files): Remove it.
3181         (configure.ac): Remove gl_CRC call.
3182         (Makefile.am): Augment lib_SOURCES.
3183
3184 2011-05-23  Bruno Haible  <bruno@clisp.org>
3185
3186         close-stream: Move AC_LIBOBJ invocations to module description.
3187         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
3188         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
3189
3190 2011-05-23  Bruno Haible  <bruno@clisp.org>
3191
3192         closeout: Move AC_LIBOBJ invocations to module description.
3193         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
3194         * modules/closeout (Makefile.am): Augment lib_SOURCES.
3195
3196 2011-05-23  Bruno Haible  <bruno@clisp.org>
3197
3198         closein: Move AC_LIBOBJ invocations to module description.
3199         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
3200         * modules/closein (Makefile.am): Augment lib_SOURCES.
3201
3202 2011-05-23  Bruno Haible  <bruno@clisp.org>
3203
3204         cloexec: Move AC_LIBOBJ invocations to module description.
3205         * m4/cloexec.m4: Remove file.
3206         * modules/cloexec (Files): Remove it.
3207         (configure.ac): Remove gl_CLOEXEC call.
3208         (Makefile.am): Augment lib_SOURCES.
3209
3210 2011-05-23  Bruno Haible  <bruno@clisp.org>
3211
3212         check-version: Move AC_LIBOBJ invocations to module description.
3213         * m4/check-version.m4: Remove file.
3214         * modules/check-version (Files): Remove it.
3215         (configure.ac): Remove gl_CHECK_VERSION call.
3216         (Makefile.am): Augment lib_SOURCES.
3217
3218 2011-05-23  Bruno Haible  <bruno@clisp.org>
3219
3220         chdir-safer: Move AC_LIBOBJ invocations to module description.
3221         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
3222         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
3223
3224 2011-05-23  Bruno Haible  <bruno@clisp.org>
3225
3226         canonicalize: Move AC_LIBOBJ invocations to module description.
3227         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
3228         AC_LIBOBJ invocation.
3229         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
3230
3231 2011-05-23  Bruno Haible  <bruno@clisp.org>
3232
3233         canon-host: Move AC_LIBOBJ invocations to module description.
3234         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
3235         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
3236         instead of gl_CANON_HOST.
3237         (Makefile.am): Augment lib_SOURCES.
3238
3239 2011-05-23  Bruno Haible  <bruno@clisp.org>
3240
3241         backupfile: Move AC_LIBOBJ invocations to module description.
3242         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
3243         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
3244
3245 2011-05-23  Bruno Haible  <bruno@clisp.org>
3246
3247         argmatch: Move AC_LIBOBJ invocations to module description.
3248         * m4/argmatch.m4: Remove file.
3249         * modules/argmatch (Files): Remove it.
3250         (configure.ac): Remove gl_ARGMATCH call.
3251         (Makefile.am): Augment lib_SOURCES.
3252
3253 2011-05-23  Bruno Haible  <bruno@clisp.org>
3254
3255         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
3256         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
3257         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
3258
3259 2011-05-23  Bruno Haible  <bruno@clisp.org>
3260
3261         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
3262         * m4/arcfour.m4: Remove file.
3263         * modules/crypto/arcfour (Files): Remove it.
3264         (configure.ac): Remove gl_ARCFOUR call.
3265         (Makefile.am): Augment lib_SOURCES.
3266
3267 2011-05-22  Bruno Haible  <bruno@clisp.org>
3268
3269         write: Move AC_LIBOBJ invocations to module description.
3270         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
3271         * modules/write (configure.ac): ... to here.
3272
3273 2011-05-22  Bruno Haible  <bruno@clisp.org>
3274
3275         wmemset: Move AC_LIBOBJ invocations to module description.
3276         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
3277         here...
3278         * modules/wmemset (configure.ac): ... to here.
3279
3280 2011-05-22  Bruno Haible  <bruno@clisp.org>
3281
3282         wmemmove: Move AC_LIBOBJ invocations to module description.
3283         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
3284         here...
3285         * modules/wmemmove (configure.ac): ... to here.
3286
3287 2011-05-22  Bruno Haible  <bruno@clisp.org>
3288
3289         wmemcpy: Move AC_LIBOBJ invocations to module description.
3290         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
3291         here...
3292         * modules/wmemcpy (configure.ac): ... to here.
3293
3294 2011-05-22  Bruno Haible  <bruno@clisp.org>
3295
3296         wmemcmp: Move AC_LIBOBJ invocations to module description.
3297         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
3298         here...
3299         * modules/wmemcmp (configure.ac): ... to here.
3300
3301 2011-05-22  Bruno Haible  <bruno@clisp.org>
3302
3303         wmemchr: Move AC_LIBOBJ invocations to module description.
3304         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
3305         here...
3306         * modules/wmemchr (configure.ac): ... to here.
3307
3308 2011-05-22  Bruno Haible  <bruno@clisp.org>
3309
3310         wcswidth: Move AC_LIBOBJ invocations to module description.
3311         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
3312         here...
3313         * modules/wcswidth (configure.ac): ... to here.
3314
3315 2011-05-22  Bruno Haible  <bruno@clisp.org>
3316
3317         wcwidth: Respect rules for use of AC_LIBOBJ.
3318         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
3319         invocation from here...
3320         * modules/wcwidth (configure.ac): ... to here.
3321         (Depends-on): Update conditions.
3322
3323 2011-05-22  Bruno Haible  <bruno@clisp.org>
3324
3325         wctype: Move AC_LIBOBJ invocations to module description.
3326         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
3327         invocation from here...
3328         * modules/wctype (configure.ac): ... to here.
3329         (Depends-on): Update conditions.
3330
3331 2011-05-22  Bruno Haible  <bruno@clisp.org>
3332
3333         wctrans: Move AC_LIBOBJ invocations to module description.
3334         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
3335         invocation from here...
3336         * modules/wctrans (configure.ac): ... to here.
3337
3338 2011-05-22  Bruno Haible  <bruno@clisp.org>
3339
3340         wctomb: Move AC_LIBOBJ invocations to module description.
3341         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
3342         invocations from here...
3343         * modules/wctomb (configure.ac): ... to here.
3344
3345 2011-05-22  Bruno Haible  <bruno@clisp.org>
3346
3347         wctob: Move AC_LIBOBJ invocations to module description.
3348         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
3349         gl_PREREQ_WCTOB invocations from here...
3350         * modules/wctob (configure.ac): ... to here.
3351         (Depends-on): Update conditions.
3352
3353 2011-05-22  Bruno Haible  <bruno@clisp.org>
3354
3355         wcsxfrm: Move AC_LIBOBJ invocations to module description.
3356         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
3357         here...
3358         * modules/wcsxfrm (configure.ac): ... to here.
3359
3360 2011-05-22  Bruno Haible  <bruno@clisp.org>
3361
3362         wcstok: Move AC_LIBOBJ invocations to module description.
3363         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
3364         * modules/wcstok (configure.ac): ... to here.
3365
3366 2011-05-22  Bruno Haible  <bruno@clisp.org>
3367
3368         wcsstr: Move AC_LIBOBJ invocations to module description.
3369         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
3370         * modules/wcsstr (configure.ac): ... to here.
3371
3372 2011-05-22  Bruno Haible  <bruno@clisp.org>
3373
3374         wcsspn: Move AC_LIBOBJ invocations to module description.
3375         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
3376         * modules/wcsspn (configure.ac): ... to here.
3377
3378 2011-05-22  Bruno Haible  <bruno@clisp.org>
3379
3380         wcsrtombs: Move AC_LIBOBJ invocations to module description.
3381         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
3382         gl_PREREQ_WCSRTOMBS invocations from here...
3383         * modules/wcsrtombs (configure.ac): ... to here.
3384
3385 2011-05-22  Bruno Haible  <bruno@clisp.org>
3386
3387         wcsrchr: Move AC_LIBOBJ invocations to module description.
3388         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
3389         here...
3390         * modules/wcsrchr (configure.ac): ... to here.
3391
3392 2011-05-22  Bruno Haible  <bruno@clisp.org>
3393
3394         wcspbrk: Move AC_LIBOBJ invocations to module description.
3395         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
3396         here...
3397         * modules/wcspbrk (configure.ac): ... to here.
3398
3399 2011-05-22  Bruno Haible  <bruno@clisp.org>
3400
3401         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
3402         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
3403         gl_PREREQ_WCSNRTOMBS invocations from here...
3404         * modules/wcsnrtombs (configure.ac): ... to here.
3405
3406 2011-05-22  Bruno Haible  <bruno@clisp.org>
3407
3408         wcsnlen: Move AC_LIBOBJ invocations to module description.
3409         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
3410         here...
3411         * modules/wcsnlen (configure.ac): ... to here.
3412
3413 2011-05-22  Bruno Haible  <bruno@clisp.org>
3414
3415         wcsncpy: Move AC_LIBOBJ invocations to module description.
3416         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
3417         here...
3418         * modules/wcsncpy (configure.ac): ... to here.
3419
3420 2011-05-22  Bruno Haible  <bruno@clisp.org>
3421
3422         wcsncmp: Move AC_LIBOBJ invocations to module description.
3423         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
3424         here...
3425         * modules/wcsncmp (configure.ac): ... to here.
3426
3427 2011-05-22  Bruno Haible  <bruno@clisp.org>
3428
3429         wcsncat: Move AC_LIBOBJ invocations to module description.
3430         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
3431         here...
3432         * modules/wcsncat (configure.ac): ... to here.
3433
3434 2011-05-22  Bruno Haible  <bruno@clisp.org>
3435
3436         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
3437         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
3438         from here...
3439         * modules/wcsncasecmp (configure.ac): ... to here.
3440
3441 2011-05-22  Bruno Haible  <bruno@clisp.org>
3442
3443         wcslen: Move AC_LIBOBJ invocations to module description.
3444         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
3445         * modules/wcslen (configure.ac): ... to here.
3446
3447 2011-05-22  Bruno Haible  <bruno@clisp.org>
3448
3449         wcsdup: Move AC_LIBOBJ invocations to module description.
3450         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
3451         * modules/wcsdup (configure.ac): ... to here.
3452
3453 2011-05-22  Bruno Haible  <bruno@clisp.org>
3454
3455         wcscspn: Move AC_LIBOBJ invocations to module description.
3456         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
3457         here...
3458         * modules/wcscspn (configure.ac): ... to here.
3459
3460 2011-05-22  Bruno Haible  <bruno@clisp.org>
3461
3462         wcscpy: Move AC_LIBOBJ invocations to module description.
3463         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
3464         * modules/wcscpy (configure.ac): ... to here.
3465
3466 2011-05-22  Bruno Haible  <bruno@clisp.org>
3467
3468         wcscoll: Move AC_LIBOBJ invocations to module description.
3469         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
3470         here...
3471         * modules/wcscoll (configure.ac): ... to here.
3472
3473 2011-05-22  Bruno Haible  <bruno@clisp.org>
3474
3475         wcscmp: Move AC_LIBOBJ invocations to module description.
3476         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
3477         * modules/wcscmp (configure.ac): ... to here.
3478
3479 2011-05-22  Bruno Haible  <bruno@clisp.org>
3480
3481         wcschr: Move AC_LIBOBJ invocations to module description.
3482         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
3483         * modules/wcschr (configure.ac): ... to here.
3484
3485 2011-05-22  Bruno Haible  <bruno@clisp.org>
3486
3487         wcscat: Move AC_LIBOBJ invocations to module description.
3488         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
3489         * modules/wcscat (configure.ac): ... to here.
3490
3491 2011-05-22  Bruno Haible  <bruno@clisp.org>
3492
3493         wcscasecmp: Move AC_LIBOBJ invocations to module description.
3494         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
3495         here...
3496         * modules/wcscasecmp (configure.ac): ... to here.
3497
3498 2011-05-22  Bruno Haible  <bruno@clisp.org>
3499
3500         wcrtomb: Move AC_LIBOBJ invocations to module description.
3501         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
3502         invocations from here...
3503         * modules/wcrtomb (configure.ac): ... to here.
3504
3505 2011-05-22  Bruno Haible  <bruno@clisp.org>
3506
3507         wcpncpy: Move AC_LIBOBJ invocations to module description.
3508         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
3509         here...
3510         * modules/wcpncpy (configure.ac): ... to here.
3511
3512 2011-05-22  Bruno Haible  <bruno@clisp.org>
3513
3514         wcpcpy: Move AC_LIBOBJ invocations to module description.
3515         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
3516         * modules/wcpcpy (configure.ac): ... to here.
3517
3518 2011-05-22  Bruno Haible  <bruno@clisp.org>
3519
3520         waitpid: Move AC_LIBOBJ invocations to module description.
3521         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
3522         invocation from here...
3523         * modules/waitpid (configure.ac): ... to here.
3524
3525 2011-05-22  Bruno Haible  <bruno@clisp.org>
3526
3527         utimensat: Move AC_LIBOBJ invocations to module description.
3528         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
3529         here...
3530         * modules/utimensat (configure.ac): ... to here.
3531
3532 2011-05-22  Bruno Haible  <bruno@clisp.org>
3533
3534         usleep: Move AC_LIBOBJ invocations to module description.
3535         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
3536         here...
3537         * modules/usleep (configure.ac): ... to here.
3538
3539 2011-05-22  Bruno Haible  <bruno@clisp.org>
3540
3541         unlockpt: Move AC_LIBOBJ invocations to module description.
3542         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
3543         gl_PREREQ_UNLOCKPT invocations from here...
3544         * modules/unlockpt (configure.ac): ... to here.
3545
3546 2011-05-22  Bruno Haible  <bruno@clisp.org>
3547
3548         unlink: Respect rules for use of AC_LIBOBJ.
3549         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
3550         * modules/unlink (configure.ac): ... to here.
3551
3552 2011-05-22  Bruno Haible  <bruno@clisp.org>
3553
3554         uname: Move AC_LIBOBJ invocations to module description.
3555         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
3556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
3557         here...
3558         * modules/uname (configure.ac): ... to here.
3559
3560 2011-05-22  Bruno Haible  <bruno@clisp.org>
3561
3562         ttyname_r: Move AC_LIBOBJ invocations to module description.
3563         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
3564         gl_PREREQ_TTYNAME_R invocations from here...
3565         * modules/ttyname_r (configure.ac): ... to here.
3566
3567 2011-05-22  Bruno Haible  <bruno@clisp.org>
3568
3569         tsearch: Move AC_LIBOBJ invocations to module description.
3570         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
3571         invocations from here...
3572         * modules/tsearch (configure.ac): ... to here.
3573
3574 2011-05-22  Bruno Haible  <bruno@clisp.org>
3575
3576         towctrans: Move AC_LIBOBJ invocations to module description.
3577         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
3578         AC_LIBOBJ invocation from here...
3579         * modules/towctrans (configure.ac): ... to here.
3580
3581 2011-05-22  Bruno Haible  <bruno@clisp.org>
3582
3583         tmpfile: Move AC_LIBOBJ invocations to module description.
3584         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
3585         invocations from here...
3586         * modules/tmpfile (configure.ac): ... to here.
3587
3588 2011-05-22  Bruno Haible  <bruno@clisp.org>
3589
3590         times: Move AC_LIBOBJ invocations to module description.
3591         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
3592         * modules/times (configure.ac): ... to here.
3593
3594 2011-05-22  Bruno Haible  <bruno@clisp.org>
3595
3596         time_r: Move AC_LIBOBJ invocations to module description.
3597         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
3598         invocations from here...
3599         * modules/time_r (configure.ac): ... to here.
3600
3601 2011-05-22  Bruno Haible  <bruno@clisp.org>
3602
3603         timegm: Move AC_LIBOBJ invocations to module description.
3604         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
3605         invocations from here...
3606         * modules/timegm (configure.ac): ... to here.
3607
3608 2011-05-22  Bruno Haible  <bruno@clisp.org>
3609
3610         tcgetsid: Move AC_LIBOBJ invocations to module description.
3611         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
3612         and gl_PREREQ_TCGETSID invocations from here...
3613         * modules/tcgetsid (configure.ac): ... to here.
3614         (Depends-on): Update conditions.
3615
3616 2011-05-22  Bruno Haible  <bruno@clisp.org>
3617
3618         symlinkat: Move AC_LIBOBJ invocations to module description.
3619         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
3620         here...
3621         * modules/symlinkat (configure.ac): ... to here.
3622
3623 2011-05-22  Bruno Haible  <bruno@clisp.org>
3624
3625         symlink: Move AC_LIBOBJ invocations to module description.
3626         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
3627         here...
3628         * modules/symlink (configure.ac): ... to here.
3629
3630 2011-05-22  Bruno Haible  <bruno@clisp.org>
3631
3632         strverscmp: Move AC_LIBOBJ invocations to module description.
3633         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
3634         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
3635         from here...
3636         * modules/strverscmp (configure.ac): ... to here.
3637
3638 2011-05-22  Bruno Haible  <bruno@clisp.org>
3639
3640         strtok_r: Move AC_LIBOBJ invocations to module description.
3641         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
3642         and gl_PREREQ_STRTOK_R invocations from here...
3643         * modules/strtok_r (configure.ac): ... to here.
3644         (Depends-on): Update conditions.
3645
3646 2011-05-22  Bruno Haible  <bruno@clisp.org>
3647
3648         strtoumax: Move AC_LIBOBJ invocations to module description.
3649         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
3650         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
3651         from here...
3652         * modules/strtoumax (configure.ac): ... to here.
3653
3654 2011-05-22  Bruno Haible  <bruno@clisp.org>
3655
3656         strtoimax: Move AC_LIBOBJ invocations to module description.
3657         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
3658         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
3659         from here...
3660         * modules/strtoimax (configure.ac): ... to here.
3661
3662 2011-05-22  Bruno Haible  <bruno@clisp.org>
3663
3664         strtoull: Move AC_LIBOBJ invocations to module description.
3665         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
3666         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
3667         from here...
3668         * modules/strtoull (configure.ac): ... to here.
3669
3670 2011-05-22  Bruno Haible  <bruno@clisp.org>
3671
3672         strtoll: Move AC_LIBOBJ invocations to module description.
3673         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
3674         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
3675         here...
3676         * modules/strtoll (configure.ac): ... to here.
3677
3678 2011-05-22  Bruno Haible  <bruno@clisp.org>
3679
3680         strtoul: Move AC_LIBOBJ invocations to module description.
3681         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
3682         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3683         * modules/strtoul (configure.ac): ... to here.
3684
3685 2011-05-22  Bruno Haible  <bruno@clisp.org>
3686
3687         strtol: Move AC_LIBOBJ invocations to module description.
3688         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
3689         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3690         * modules/strtol (configure.ac): ... to here.
3691
3692 2011-05-22  Bruno Haible  <bruno@clisp.org>
3693
3694         strtod: Move AC_LIBOBJ invocations to module description.
3695         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
3696         invocations from here...
3697         * modules/strtod (configure.ac): ... to here.
3698
3699 2011-05-22  Bruno Haible  <bruno@clisp.org>
3700
3701         strstr*: Move AC_LIBOBJ invocations to module description.
3702         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
3703         invocations from here...
3704         * modules/strstr-simple (configure.ac): ... to here.
3705         * modules/strstr (configure.ac): ... and here.
3706
3707 2011-05-22  Bruno Haible  <bruno@clisp.org>
3708
3709         strsignal: Move AC_LIBOBJ invocations to module description.
3710         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
3711         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
3712         * modules/strsignal (configure.ac): ... to here.
3713         (Depends-on): Update conditions.
3714
3715 2011-05-22  Bruno Haible  <bruno@clisp.org>
3716
3717         strsep: Move AC_LIBOBJ invocations to module description.
3718         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
3719         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
3720         here...
3721         * modules/strsep (configure.ac): ... to here.
3722
3723 2011-05-22  Bruno Haible  <bruno@clisp.org>
3724
3725         strptime: Move AC_LIBOBJ invocations to module description.
3726         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
3727         gl_PREREQ_STRPTIME invocations from here...
3728         * modules/strptime (configure.ac): ... to here.
3729
3730 2011-05-22  Bruno Haible  <bruno@clisp.org>
3731
3732         strpbrk: Move AC_LIBOBJ invocations to module description.
3733         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
3734         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
3735         here...
3736         * modules/strpbrk (configure.ac): ... to here.
3737
3738 2011-05-22  Bruno Haible  <bruno@clisp.org>
3739
3740         strnlen: Move AC_LIBOBJ invocations to module description.
3741         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
3742         invocations from here...
3743         * modules/strnlen (configure.ac): ... to here.
3744
3745 2011-05-22  Bruno Haible  <bruno@clisp.org>
3746
3747         strndup: Move AC_LIBOBJ invocations to module description.
3748         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
3749         invocations from here...
3750         * modules/strndup (configure.ac): ... to here.
3751         (Depends-on): Update conditions.
3752
3753 2011-05-22  Bruno Haible  <bruno@clisp.org>
3754
3755         strncat: Move AC_LIBOBJ invocations to module description.
3756         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
3757         invocations from here...
3758         * modules/strncat (configure.ac): ... to here.
3759
3760 2011-05-22  Bruno Haible  <bruno@clisp.org>
3761
3762         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
3763         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
3764         invocations from here...
3765         * modules/strdup (configure.ac): ... to here.
3766         * modules/strdup-posix (configure.ac): ... and here.
3767
3768 2011-05-22  Bruno Haible  <bruno@clisp.org>
3769
3770         strcspn: Move AC_LIBOBJ invocations to module description.
3771         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
3772         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
3773         here...
3774         * modules/strcspn (configure.ac): ... to here.
3775
3776 2011-05-22  Bruno Haible  <bruno@clisp.org>
3777
3778         strchrnul: Move AC_LIBOBJ invocations to module description.
3779         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
3780         gl_PREREQ_STRCHRNUL invocations from here...
3781         * modules/strchrnul (configure.ac): ... to here.
3782
3783 2011-05-22  Bruno Haible  <bruno@clisp.org>
3784
3785         strcasestr*: Move AC_LIBOBJ invocations to module description.
3786         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
3787         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
3788         * modules/strcasestr-simple (configure.ac): ... to here.
3789         * modules/strcasestr (configure.ac): ... and here.
3790
3791 2011-05-22  Bruno Haible  <bruno@clisp.org>
3792
3793         strcase: Move AC_LIBOBJ invocations to module description.
3794         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
3795         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
3796         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
3797         gl_PREREQ_STRNCASECMP invocations from here...
3798         * modules/strcase (configure.ac): ... to here.
3799
3800 2011-05-22  Bruno Haible  <bruno@clisp.org>
3801
3802         stpncpy: Move AC_LIBOBJ invocations to module description.
3803         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
3804         here...
3805         * modules/stpncpy (configure.ac): ... to here.
3806
3807 2011-05-22  Bruno Haible  <bruno@clisp.org>
3808
3809         stpcpy: Move AC_LIBOBJ invocations to module description.
3810         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
3811         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
3812         here...
3813         * modules/stpcpy (configure.ac): ... to here.
3814
3815 2011-05-21  Bruno Haible  <bruno@clisp.org>
3816
3817         stat: Move AC_LIBOBJ invocations to module description.
3818         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
3819         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
3820         here...
3821         * modules/stat (configure.ac): ... to here.
3822
3823 2011-05-21  Bruno Haible  <bruno@clisp.org>
3824
3825         sleep: Move AC_LIBOBJ invocations to module description.
3826         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
3827         * modules/sleep (configure.ac): ... to here.
3828
3829 2011-05-21  Bruno Haible  <bruno@clisp.org>
3830
3831         signbit: Move AC_LIBOBJ invocations to module description.
3832         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
3833         * modules/signbit (configure.ac): ... to here.
3834
3835 2011-05-21  Bruno Haible  <bruno@clisp.org>
3836
3837         sigprocmask: Move AC_LIBOBJ invocations to module description.
3838         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
3839         gl_PREREQ_SIGPROMASK invocations from here...
3840         * modules/sigprocmask (configure.ac): ... to here.
3841
3842 2011-05-21  Bruno Haible  <bruno@clisp.org>
3843
3844         sigaction: Move AC_LIBOBJ invocations to module description.
3845         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
3846         gl_PREREQ_SIGACTION invocations from here...
3847         * modules/sigaction (configure.ac): ... to here.
3848
3849 2011-05-21  Bruno Haible  <bruno@clisp.org>
3850
3851         sig2str: Move AC_LIBOBJ invocations to module description.
3852         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
3853         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
3854         here...
3855         * modules/sig2str (configure.ac): ... to here.
3856
3857 2011-05-21  Bruno Haible  <bruno@clisp.org>
3858
3859         setlocale: Move AC_LIBOBJ invocations to module description.
3860         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
3861         gl_PREREQ_SETLOCALE invocations from here...
3862         * modules/setlocale (configure.ac): ... to here.
3863
3864 2011-05-21  Bruno Haible  <bruno@clisp.org>
3865
3866         unsetenv: Move AC_LIBOBJ invocations to module description.
3867         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
3868         and gl_PREREQ_UNSETENV invocations from here...
3869         * modules/unsetenv (configure.ac): ... to here.
3870         (Depends-on): Update.
3871
3872 2011-05-21  Bruno Haible  <bruno@clisp.org>
3873
3874         setenv: Move AC_LIBOBJ invocations to module description.
3875         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
3876         here...
3877         * modules/setenv (configure.ac): ... to here.
3878
3879 2011-05-21  Bruno Haible  <bruno@clisp.org>
3880
3881         selinux-h: Move AC_LIBOBJ invocations to module description.
3882         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
3883         AC_LIBOBJ invocation from here...
3884         * modules/selinux-h (configure.ac): ... to here.
3885
3886 2011-05-21  Bruno Haible  <bruno@clisp.org>
3887
3888         select: Respect rules for use of AC_LIBOBJ.
3889         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
3890         here...
3891         * modules/select (configure.ac): ... to here.
3892
3893 2011-05-21  Bruno Haible  <bruno@clisp.org>
3894
3895         scandir: Move AC_LIBOBJ invocations to module description.
3896         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
3897         invocations from here...
3898         * modules/scandir (configure.ac): ... to here.
3899
3900 2011-05-21  Bruno Haible  <bruno@clisp.org>
3901
3902         rpmatch: Move AC_LIBOBJ invocations to module description.
3903         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
3904         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
3905         here...
3906         * modules/rpmatch (configure.ac): ... to here.
3907
3908 2011-05-21  Bruno Haible  <bruno@clisp.org>
3909
3910         rmdir: Respect rules for use of AC_LIBOBJ.
3911         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
3912         * modules/rmdir (configure.ac): ... to here.
3913
3914 2011-05-21  Bruno Haible  <bruno@clisp.org>
3915
3916         renameat: Move AC_LIBOBJ invocations to module description.
3917         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
3918         here...
3919         * modules/renameat (configure.ac): ... to here.
3920
3921 2011-05-21  Bruno Haible  <bruno@clisp.org>
3922
3923         rename: Respect rules for use of AC_LIBOBJ.
3924         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
3925         here...
3926         * modules/rename (configure.ac): ... to here.
3927
3928 2011-05-21  Bruno Haible  <bruno@clisp.org>
3929
3930         remove: Move AC_LIBOBJ invocations to module description.
3931         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
3932         here...
3933         * modules/remove (configure.ac): ... to here.
3934
3935 2011-05-21  Bruno Haible  <bruno@clisp.org>
3936
3937         relocatable-lib: Move AC_LIBOBJ invocations to module description.
3938         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
3939         macro.
3940         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
3941         * modules/relocatable-lib (configure.ac): ... to here.
3942         * modules/relocatable-prog-wrapper (configure.ac): Invoke
3943         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
3944
3945 2011-05-21  Bruno Haible  <bruno@clisp.org>
3946
3947         relocatable-prog: Move AC_LIBOBJ invocations to module description.
3948         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
3949         here...
3950         * modules/relocatable-prog (configure.ac): ... to here.
3951
3952 2011-05-21  Bruno Haible  <bruno@clisp.org>
3953
3954         regex: Move AC_LIBOBJ invocations to module description.
3955         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
3956         invocations from here...
3957         * modules/regex (configure.ac): ... to here.
3958
3959 2011-05-21  Bruno Haible  <bruno@clisp.org>
3960
3961         realloc-*: Move AC_LIBOBJ invocations to module description.
3962         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
3963         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
3964         AC_LIBOBJ invocations from here...
3965         * modules/realloc-gnu (configure.ac): ... to here.
3966         * modules/realloc-posix (configure.ac): ... and here.
3967
3968 2011-05-21  Bruno Haible  <bruno@clisp.org>
3969
3970         readutmp: Move AC_LIBOBJ invocations to module description.
3971         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
3972         * modules/readutmp (configure.ac): ... to here.
3973
3974 2011-05-21  Bruno Haible  <bruno@clisp.org>
3975
3976         readlinkat: Move AC_LIBOBJ invocations to module description.
3977         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
3978         here...
3979         * modules/readlinkat (configure.ac): ... to here.
3980
3981 2011-05-21  Bruno Haible  <bruno@clisp.org>
3982
3983         readlink: Move AC_LIBOBJ invocations to module description.
3984         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
3985         gl_PREREQ_READLINK invocations from here...
3986         * modules/readlink (configure.ac): ... to here.
3987
3988 2011-05-21  Bruno Haible  <bruno@clisp.org>
3989
3990         readline: Move AC_LIBOBJ invocations to module description.
3991         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
3992         gl_PREREQ_READLINE invocations from here...
3993         * modules/readline (configure.ac): ... to here.
3994
3995 2011-05-21  Bruno Haible  <bruno@clisp.org>
3996
3997         read: Move AC_LIBOBJ invocations to module description.
3998         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
3999         * modules/read (configure.ac): ... to here.
4000
4001 2011-05-21  Bruno Haible  <bruno@clisp.org>
4002
4003         rawmemchr: Move AC_LIBOBJ invocations to module description.
4004         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
4005         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
4006         from here...
4007         * modules/rawmemchr (configure.ac): ... to here.
4008
4009 2011-05-21  Bruno Haible  <bruno@clisp.org>
4010
4011         random_r: Move AC_LIBOBJ invocations to module description.
4012         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
4013         gl_PREREQ_RANDOM_R invocations from here...
4014         * modules/random_r (configure.ac): ... to here.
4015
4016 2011-05-21  Bruno Haible  <bruno@clisp.org>
4017
4018         pwrite: Move AC_LIBOBJ invocations to module description.
4019         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
4020         * modules/pwrite (configure.ac): ... to here.
4021
4022 2011-05-21  Bruno Haible  <bruno@clisp.org>
4023
4024         putenv: Move AC_LIBOBJ invocations to module description.
4025         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
4026         * modules/putenv (configure.ac): ... to here.
4027
4028 2011-05-21  Bruno Haible  <bruno@clisp.org>
4029
4030         login_tty: Move AC_LIBOBJ invocations to module description.
4031         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
4032         * modules/login_tty (configure.ac): ... to here.
4033
4034 2011-05-21  Bruno Haible  <bruno@clisp.org>
4035
4036         openpty: Move AC_LIBOBJ invocations to module description.
4037         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
4038         * modules/openpty (configure.ac): ... to here.
4039
4040 2011-05-21  Bruno Haible  <bruno@clisp.org>
4041
4042         forkpty: Move AC_LIBOBJ invocations to module description.
4043         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
4044         * modules/forkpty (configure.ac): ... to here.
4045
4046 2011-05-21  Bruno Haible  <bruno@clisp.org>
4047
4048         ptsname: Move AC_LIBOBJ invocations to module description.
4049         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
4050         invocations from here...
4051         * modules/ptsname (configure.ac): ... to here.
4052
4053 2011-05-21  Bruno Haible  <bruno@clisp.org>
4054
4055         pread: Move AC_LIBOBJ invocations to module description.
4056         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
4057         * modules/pread (configure.ac): ... to here.
4058
4059 2011-05-21  Bruno Haible  <bruno@clisp.org>
4060
4061         posix_spawn*: Move AC_LIBOBJ invocations to module description.
4062         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
4063         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
4064         * modules/posix_spawn (configure.ac): ... to here.
4065         * modules/posix_spawnp (configure.ac): ... and here.
4066
4067 2011-05-21  Bruno Haible  <bruno@clisp.org>
4068
4069         popen: Move AC_LIBOBJ invocations to module description.
4070         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
4071         invocations from here...
4072         * modules/popen (configure.ac): ... to here.
4073
4074 2011-05-21  Bruno Haible  <bruno@clisp.org>
4075
4076         poll: Move AC_LIBOBJ invocations to module description.
4077         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
4078         invocations from here...
4079         * modules/poll (configure.ac): ... to here.
4080
4081 2011-05-21  Bruno Haible  <bruno@clisp.org>
4082
4083         pipe-posix: Move AC_LIBOBJ invocations to module description.
4084         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
4085         * modules/pipe-posix (configure.ac): ... to here.
4086
4087 2011-05-21  Bruno Haible  <bruno@clisp.org>
4088
4089         openat: Respect rules for use of AC_LIBOBJ.
4090         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
4091         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
4092         * modules/openat (configure.ac): ... to here.
4093
4094 2011-05-21  Bruno Haible  <bruno@clisp.org>
4095
4096         obstack-printf*: Move AC_LIBOBJ invocations to module description.
4097         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
4098         invocation from here...
4099         * modules/obstack-printf (configure.ac): ... to here.
4100         * modules/obstack-printf-posix (configure.ac): ... and here.
4101
4102 2011-05-21  Bruno Haible  <bruno@clisp.org>
4103
4104         nl_langinfo: Move AC_LIBOBJ invocations to module description.
4105         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
4106         from here...
4107         * modules/nl_langinfo (configure.ac): ... to here.
4108
4109 2011-05-21  Bruno Haible  <bruno@clisp.org>
4110
4111         nanosleep: Move AC_LIBOBJ invocations to module description.
4112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
4113         gl_PREREQ_NANOSLEEP invocations from here...
4114         * modules/nanosleep (configure.ac): ... to here.
4115
4116 2011-05-21  Bruno Haible  <bruno@clisp.org>
4117
4118         mountlist: Move AC_LIBOBJ invocations to module description.
4119         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
4120         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
4121         * modules/mountlist (configure.ac): ... to here.
4122
4123 2011-05-21  Bruno Haible  <bruno@clisp.org>
4124
4125         mktime: Respect rules for use of AC_LIBOBJ.
4126         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
4127         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
4128         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
4129         (gl_FUNC_MKTIME_INTERNAL): ... and here...
4130         * modules/mktime (configure.ac): ... to here.
4131         * modules/mktime-internal (configure.ac): ... and here.
4132         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
4133
4134 2011-05-21  Bruno Haible  <bruno@clisp.org>
4135
4136         mkstemps: Move AC_LIBOBJ invocations to module description.
4137         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
4138         here...
4139         * modules/mkstemps (configure.ac): ... to here.
4140
4141 2011-05-21  Bruno Haible  <bruno@clisp.org>
4142
4143         mkstemp: Move AC_LIBOBJ invocations to module description.
4144         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
4145         gl_PREREQ_MKSTEMP invocations from here...
4146         * modules/mkstemp (configure.ac): ... to here.
4147
4148 2011-05-21  Bruno Haible  <bruno@clisp.org>
4149
4150         mkostemps: Move AC_LIBOBJ invocations to module description.
4151         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
4152         here...
4153         * modules/mkostemps (configure.ac): ... to here.
4154
4155 2011-05-21  Bruno Haible  <bruno@clisp.org>
4156
4157         mkostemp: Move AC_LIBOBJ invocations to module description.
4158         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
4159         gl_PREREQ_MKOSTEMP invocations from here...
4160         * modules/mkostemp (configure.ac): ... to here.
4161
4162 2011-05-21  Bruno Haible  <bruno@clisp.org>
4163
4164         mknod: Move AC_LIBOBJ invocations to module description.
4165         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
4166         * modules/mknod (configure.ac): ... to here.
4167
4168 2011-05-21  Bruno Haible  <bruno@clisp.org>
4169
4170         mkfifoat: Move AC_LIBOBJ invocations to module description.
4171         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
4172         here...
4173         * modules/mkfifoat (configure.ac): ... to here.
4174
4175 2011-05-21  Bruno Haible  <bruno@clisp.org>
4176
4177         mkfifo: Respect rules for use of AC_LIBOBJ.
4178         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
4179         here...
4180         * modules/mkfifo (configure.ac): ... to here.
4181
4182 2011-05-21  Bruno Haible  <bruno@clisp.org>
4183
4184         mkdtemp: Move AC_LIBOBJ invocations to module description.
4185         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
4186         invocations from here...
4187         * modules/mkdtemp (configure.ac): ... to here.
4188
4189 2011-05-21  Bruno Haible  <bruno@clisp.org>
4190
4191         mkdir: Move AC_LIBOBJ invocations to module description.
4192         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
4193         * modules/mkdir (configure.ac): ... to here.
4194
4195 2011-05-21  Bruno Haible  <bruno@clisp.org>
4196
4197         memset: Move AC_LIBOBJ invocations to module description.
4198         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
4199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
4200         here...
4201         * modules/memset (configure.ac): ... to here.
4202
4203 2011-05-21  Bruno Haible  <bruno@clisp.org>
4204
4205         memrchr: Move AC_LIBOBJ invocations to module description.
4206         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
4207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
4208         here...
4209         * modules/memrchr (configure.ac): ... to here.
4210
4211 2011-05-21  Bruno Haible  <bruno@clisp.org>
4212
4213         mempcpy: Move AC_LIBOBJ invocations to module description.
4214         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
4215         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
4216         here...
4217         * modules/mempcpy (configure.ac): ... to here.
4218
4219 2011-05-21  Bruno Haible  <bruno@clisp.org>
4220
4221         memmove: Move AC_LIBOBJ invocations to module description.
4222         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
4223         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
4224         here...
4225         * modules/memmove (configure.ac): ... to here.
4226
4227 2011-05-21  Bruno Haible  <bruno@clisp.org>
4228
4229         memmem*: Move AC_LIBOBJ invocations to module description.
4230         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
4231         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
4232         here...
4233         (gl_FUNC_MEMMEM): ... and here...
4234         * modules/memmem-simple (configure.ac): ... to here.
4235         * modules/memmem (configure.ac): ... and here.
4236
4237 2011-05-21  Bruno Haible  <bruno@clisp.org>
4238
4239         memcpy: Move AC_LIBOBJ invocations to module description.
4240         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
4241         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
4242         here...
4243         * modules/memcpy (configure.ac): ... to here.
4244
4245 2011-05-21  Bruno Haible  <bruno@clisp.org>
4246
4247         memcmp: Simplify autoconf macro.
4248         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
4249         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
4250         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
4251
4252 2011-05-21  Bruno Haible  <bruno@clisp.org>
4253
4254         memcmp: Move AC_LIBOBJ invocations to module description.
4255         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
4256         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
4257         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
4258         * modules/memcmp (configure.ac): ... to here.
4259         (Depends-on): Update conditions.
4260
4261 2011-05-21  Bruno Haible  <bruno@clisp.org>
4262
4263         memchr: Respect rules for use of AC_LIBOBJ.
4264         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
4265         invocations from here...
4266         * modules/memchr (configure.ac): ... to here.
4267
4268 2011-05-21  Bruno Haible  <bruno@clisp.org>
4269
4270         mbtowc: Move AC_LIBOBJ invocations to module description.
4271         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
4272         invocations from here...
4273         * modules/mbtowc (configure.ac): ... to here.
4274
4275 2011-05-21  Bruno Haible  <bruno@clisp.org>
4276
4277         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
4278         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
4279         gl_PREREQ_MBSRTOWCS invocations from here...
4280         * modules/mbsrtowcs (configure.ac): ... to here.
4281
4282 2011-05-21  Bruno Haible  <bruno@clisp.org>
4283
4284         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
4285         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
4286         gl_PREREQ_MBSNRTOWCS invocations from here...
4287         * modules/mbsnrtowcs (configure.ac): ... to here.
4288
4289 2011-05-21  Bruno Haible  <bruno@clisp.org>
4290
4291         mbsinit: Move AC_LIBOBJ invocations to module description.
4292         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
4293         invocations from here...
4294         * modules/mbsinit (configure.ac): ... to here.
4295
4296 2011-05-21  Bruno Haible  <bruno@clisp.org>
4297
4298         mbrlen: Move AC_LIBOBJ invocations to module description.
4299         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
4300         invocations from here...
4301         * modules/mbrlen (configure.ac): ... to here.
4302
4303 2011-05-21  Bruno Haible  <bruno@clisp.org>
4304
4305         mbrtowc: Respect rules for use of AC_LIBOBJ.
4306         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
4307         invocations from here...
4308         * modules/mbrtowc (configure.ac): ... to here.
4309
4310 2011-05-21  Bruno Haible  <bruno@clisp.org>
4311
4312         malloc-*: Move AC_LIBOBJ invocations to module description.
4313         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
4314         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
4315         AC_LIBOBJ invocations from here...
4316         * modules/malloc-gnu (configure.ac): ... to here.
4317         * modules/malloc-posix (configure.ac): ... and here.
4318
4319 2011-05-21  Bruno Haible  <bruno@clisp.org>
4320
4321         lstat, openat: Respect rules for use of AC_LIBOBJ.
4322         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
4323         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
4324         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
4325         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
4326         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
4327         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
4328         here.
4329         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4330
4331 2011-05-21  Bruno Haible  <bruno@clisp.org>
4332
4333         lseek: Move AC_LIBOBJ invocations to module description.
4334         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
4335         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4336         * modules/lseek (configure.ac): ... to here.
4337
4338 2011-05-21  Bruno Haible  <bruno@clisp.org>
4339
4340         linkat: Move AC_LIBOBJ invocations to module description.
4341         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
4342         here...
4343         * modules/linkat (configure.ac): ... to here.
4344
4345 2011-05-21  Bruno Haible  <bruno@clisp.org>
4346
4347         link: Respect rules for use of AC_LIBOBJ.
4348         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
4349         * modules/link (configure.ac): ... to here.
4350
4351 2011-05-21  Bruno Haible  <bruno@clisp.org>
4352
4353         lchown: Move AC_LIBOBJ invocations to module description.
4354         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4355         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
4356         * modules/lchown (configure.ac): ... to here.
4357
4358 2011-05-21  Bruno Haible  <bruno@clisp.org>
4359
4360         iswctype: Move AC_LIBOBJ invocations to module description.
4361         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
4362         here...
4363         * modules/iswctype (configure.ac): ... to here.
4364
4365 2011-05-21  Bruno Haible  <bruno@clisp.org>
4366
4367         iswblank: Move AC_LIBOBJ invocations to module description.
4368         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
4369         here...
4370         * modules/iswblank (configure.ac): ... to here.
4371
4372 2011-05-21  Bruno Haible  <bruno@clisp.org>
4373
4374         atanl: Move AC_LIBOBJ invocations to module description.
4375         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
4376         * modules/atanl (configure.ac): ... to here.
4377
4378 2011-05-21  Bruno Haible  <bruno@clisp.org>
4379
4380         acosl: Move AC_LIBOBJ invocations to module description.
4381         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
4382         * modules/acosl (configure.ac): ... to here.
4383
4384 2011-05-21  Bruno Haible  <bruno@clisp.org>
4385
4386         asinl: Respect rules for use of AC_LIBOBJ.
4387         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
4388         * modules/asinl (configure.ac): ... to here.
4389
4390 2011-05-21  Bruno Haible  <bruno@clisp.org>
4391
4392         tanl: Move AC_LIBOBJ invocations to module description.
4393         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
4394         * modules/tanl (configure.ac): ... to here.
4395
4396 2011-05-21  Bruno Haible  <bruno@clisp.org>
4397
4398         cosl: Move AC_LIBOBJ invocations to module description.
4399         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
4400         * modules/cosl (configure.ac): ... to here.
4401
4402 2011-05-21  Bruno Haible  <bruno@clisp.org>
4403
4404         sinl: Move AC_LIBOBJ invocations to module description.
4405         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
4406         * modules/sinl (configure.ac): ... to here.
4407
4408 2011-05-21  Bruno Haible  <bruno@clisp.org>
4409
4410         logl: Move AC_LIBOBJ invocations to module description.
4411         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
4412         * modules/logl (configure.ac): ... to here.
4413
4414 2011-05-21  Bruno Haible  <bruno@clisp.org>
4415
4416         expl: Move AC_LIBOBJ invocations to module description.
4417         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
4418         * modules/expl (configure.ac): ... to here.
4419
4420 2011-05-21  Bruno Haible  <bruno@clisp.org>
4421
4422         roundl: Move AC_LIBOBJ invocations to module description.
4423         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
4424         * modules/roundl (configure.ac): ... to here.
4425
4426 2011-05-21  Bruno Haible  <bruno@clisp.org>
4427
4428         round: Move AC_LIBOBJ invocations to module description.
4429         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
4430         * modules/round (configure.ac): ... to here.
4431
4432 2011-05-21  Bruno Haible  <bruno@clisp.org>
4433
4434         roundf: Move AC_LIBOBJ invocations to module description.
4435         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
4436         * modules/roundf (configure.ac): ... to here.
4437
4438 2011-05-21  Bruno Haible  <bruno@clisp.org>
4439
4440         truncl: Move AC_LIBOBJ invocations to module description.
4441         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
4442         * modules/truncl (configure.ac): ... to here.
4443
4444 2011-05-21  Bruno Haible  <bruno@clisp.org>
4445
4446         trunc: Move AC_LIBOBJ invocations to module description.
4447         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
4448         * modules/trunc (configure.ac): ... to here.
4449
4450 2011-05-21  Bruno Haible  <bruno@clisp.org>
4451
4452         truncf: Move AC_LIBOBJ invocations to module description.
4453         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
4454         * modules/truncf (configure.ac): ... to here.
4455
4456 2011-05-21  Bruno Haible  <bruno@clisp.org>
4457
4458         ceill: Move AC_LIBOBJ invocations to module description.
4459         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
4460         * modules/ceill (configure.ac): ... to here.
4461
4462 2011-05-21  Bruno Haible  <bruno@clisp.org>
4463
4464         ceil: Move AC_LIBOBJ invocations to module description.
4465         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
4466         * modules/ceil (configure.ac): ... to here.
4467
4468 2011-05-21  Bruno Haible  <bruno@clisp.org>
4469
4470         ceilf: Move AC_LIBOBJ invocations to module description.
4471         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
4472         * modules/ceilf (configure.ac): ... to here.
4473
4474 2011-05-21  Bruno Haible  <bruno@clisp.org>
4475
4476         floorl: Respect rules for use of AC_LIBOBJ.
4477         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
4478         * modules/floorl (configure.ac): ... to here.
4479
4480 2011-05-21  Bruno Haible  <bruno@clisp.org>
4481
4482         floor: Respect rules for use of AC_LIBOBJ.
4483         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
4484         * modules/floor (configure.ac): ... to here.
4485
4486 2011-05-21  Bruno Haible  <bruno@clisp.org>
4487
4488         floorf: Move AC_LIBOBJ invocations to module description.
4489         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
4490         * modules/floorf (configure.ac): ... to here.
4491
4492 2011-05-20  Bruno Haible  <bruno@clisp.org>
4493
4494         sqrtl: Respect rules for use of AC_LIBOBJ.
4495         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
4496         * modules/sqrtl (configure.ac): ... to here.
4497
4498 2011-05-20  Bruno Haible  <bruno@clisp.org>
4499
4500         ldexpl: Respect rules for use of AC_LIBOBJ.
4501         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
4502         * modules/ldexpl (configure.ac): ... to here.
4503
4504 2011-05-20  Bruno Haible  <bruno@clisp.org>
4505
4506         frexpl*: Respect rules for use of AC_LIBOBJ.
4507         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
4508         invocation from here...
4509         * modules/frexpl (configure.ac): ... to here.
4510         * modules/frexpl-nolibm (configure.ac): ... and here.
4511
4512 2011-05-20  Bruno Haible  <bruno@clisp.org>
4513
4514         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
4515         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
4516         invocation from here...
4517         * modules/frexp (configure.ac): ... to here.
4518         * modules/frexp-nolibm (configure.ac): ... and here.
4519
4520 2011-05-20  Bruno Haible  <bruno@clisp.org>
4521
4522         isnan: Respect rules for use of AC_LIBOBJ.
4523         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
4524         invocations here.
4525         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
4526         REPLACE_ISNAN.
4527         * modules/isnand (configure.ac): Likewise.
4528         * modules/isnanl (configure.ac): Likewise.
4529
4530 2011-05-20  Bruno Haible  <bruno@clisp.org>
4531
4532         isnanl*: Respect rules for use of AC_LIBOBJ.
4533         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
4534         invocation from here...
4535         * modules/isnanl (configure.ac): ... to here.
4536         * modules/isnanl-nolibm (configure.ac): ... and here.
4537
4538 2011-05-20  Bruno Haible  <bruno@clisp.org>
4539
4540         isnand*: Move AC_LIBOBJ invocations to module description.
4541         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
4542         invocation from here...
4543         * modules/isnand (configure.ac): ... to here.
4544         * modules/isnand-nolibm (configure.ac): ... and here.
4545
4546 2011-05-20  Bruno Haible  <bruno@clisp.org>
4547
4548         isnanf*: Move AC_LIBOBJ invocations to module description.
4549         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
4550         invocation from here...
4551         * modules/isnanf (configure.ac): ... to here.
4552         * modules/isnanf-nolibm (configure.ac): ... and here.
4553
4554 2011-05-20  Bruno Haible  <bruno@clisp.org>
4555
4556         isnan*: Separate the AC_LIBOBJ invocations.
4557         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
4558         AC_LIBOBJ invocation.
4559         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
4560         here.
4561         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
4562         AC_LIBOBJ invocation.
4563         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
4564         here.
4565         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
4566         AC_LIBOBJ invocation.
4567         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
4568         here.
4569         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
4570
4571 2011-05-08  Bruno Haible  <bruno@clisp.org>
4572
4573         isinf: Move AC_LIBOBJ invocations to module description.
4574         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
4575         * modules/isinf (configure.ac): ... to here.
4576
4577 2011-05-08  Bruno Haible  <bruno@clisp.org>
4578
4579         isfinite: Move AC_LIBOBJ invocations to module description.
4580         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
4581         * modules/isfinite (configure.ac): ... to here.
4582
4583 2011-05-08  Bruno Haible  <bruno@clisp.org>
4584
4585         isblank: Move AC_LIBOBJ invocations to module description.
4586         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
4587         here...
4588         * modules/isblank (configure.ac): ... to here.
4589
4590 2011-05-08  Bruno Haible  <bruno@clisp.org>
4591
4592         isapipe: Move AC_LIBOBJ invocations to module description.
4593         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
4594         gl_PREREQ_ISAPIPE invocations from here...
4595         * modules/isapipe (configure.ac): ... to here.
4596         (Depends-on): Update condition.
4597
4598 2011-05-08  Bruno Haible  <bruno@clisp.org>
4599
4600         ioctl: Move AC_LIBOBJ invocations to module description.
4601         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
4602         invocations from here...
4603         * modules/ioctl (configure.ac): ... to here.
4604         (Depends-on): Update condition.
4605
4606 2011-05-08  Bruno Haible  <bruno@clisp.org>
4607
4608         imaxdiv: Move AC_LIBOBJ invocations to module description.
4609         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
4610         invocations from here...
4611         * modules/imaxdiv (configure.ac): ... to here.
4612
4613 2011-05-08  Bruno Haible  <bruno@clisp.org>
4614
4615         imaxabs: Move AC_LIBOBJ invocations to module description.
4616         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
4617         invocations from here...
4618         * modules/imaxabs (configure.ac): ... to here.
4619
4620 2011-05-08  Bruno Haible  <bruno@clisp.org>
4621
4622         getaddrinfo: Move AC_LIBOBJ invocations to module description.
4623         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
4624         AC_LIBOBJ invocations from here...
4625         * modules/getaddrinfo (configure.ac): ... to here.
4626         (Depends-on): Add conditions.
4627
4628 2011-05-08  Bruno Haible  <bruno@clisp.org>
4629
4630         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
4631         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
4632         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
4633         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
4634         (gl_PREREQ_INET_PTON): ... from here.
4635         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
4636         gl_PREREQ_INET_PTON here.
4637         (Depends-on): Update condition.
4638
4639 2011-05-08  Bruno Haible  <bruno@clisp.org>
4640
4641         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
4642         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
4643         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
4644         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
4645         (gl_PREREQ_INET_NTOP): ... from here.
4646         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
4647         gl_PREREQ_INET_NTOP here.
4648         (Depends-on): Update condition.
4649
4650 2011-05-08  Bruno Haible  <bruno@clisp.org>
4651
4652         iconv_open: Move AC_LIBOBJ invocations to module description.
4653         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
4654         AC_LIBOBJ invocations from here...
4655         * modules/iconv_open (configure.ac): ... to here.
4656
4657 2011-05-08  Bruno Haible  <bruno@clisp.org>
4658
4659         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
4660         If module 'iconv_open' is among the main modules and module
4661         'iconv_open-utf' is among the tests dependencies, then
4662         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
4663         return the special iconv_t values. Therefore iconv() and iconv_close()
4664         must support these special iconv_t values, already in lib, not only in
4665         tests.
4666         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
4667         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
4668         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
4669         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
4670         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
4671         (Depends-on): Add the dependencies of iconv_open-utf.
4672         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
4673         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
4674         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
4675
4676 2011-05-08  Bruno Haible  <bruno@clisp.org>
4677
4678         group-member: Move AC_LIBOBJ invocations to module description.
4679         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
4680         gl_PREREQ_GROUP_MEMBER invocations from here...
4681         * modules/group-member (configure.ac): ... to here.
4682
4683 2011-05-08  Bruno Haible  <bruno@clisp.org>
4684
4685         grantpt: Move AC_LIBOBJ invocations to module description.
4686         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
4687         invocations from here...
4688         * modules/grantpt (configure.ac): ... to here.
4689
4690 2011-05-08  Bruno Haible  <bruno@clisp.org>
4691
4692         glob: Move AC_LIBOBJ invocations to module description.
4693         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
4694         from here...
4695         * modules/glob (configure.ac): ... to here.
4696
4697 2011-05-08  Bruno Haible  <bruno@clisp.org>
4698
4699         getusershell: Move AC_LIBOBJ invocations to module description.
4700         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
4701         Move AC_LIBOBJ invocation from here...
4702         * modules/getusershell (configure.ac): ... to here.
4703         (Depends-on): Update condition.
4704
4705 2011-05-08  Bruno Haible  <bruno@clisp.org>
4706
4707         gettimeofday: Move AC_LIBOBJ invocations to module description.
4708         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
4709         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
4710         gl_PREREQ_GETTIMEOFDAY invocations from here...
4711         * modules/gettimeofday (configure.ac): ... to here.
4712
4713 2011-05-08  Bruno Haible  <bruno@clisp.org>
4714
4715         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
4716         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
4717         just gl_FUNC_TZSET.
4718         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
4719         (gl_FUNC_TZSET_CLOBBER): Remove actions.
4720         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
4721         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
4722
4723 2011-05-08  Bruno Haible  <bruno@clisp.org>
4724
4725         getsubopt: Move AC_LIBOBJ invocations to module description.
4726         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
4727         gl_PREREQ_GETSUBOPT invocations from here...
4728         * modules/getsubopt (configure.ac): ... to here.
4729
4730 2011-05-08  Bruno Haible  <bruno@clisp.org>
4731
4732         getpass-gnu: Move AC_LIBOBJ invocations to module description.
4733         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
4734         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
4735         * modules/getpass-gnu (configure.ac): ... to here.
4736
4737 2011-05-08  Bruno Haible  <bruno@clisp.org>
4738
4739         getpass: Move AC_LIBOBJ invocations to module description.
4740         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
4741         gl_PREREQ_GETPASS invocations from here...
4742         * modules/getpass (configure.ac): ... to here.
4743
4744 2011-05-08  Bruno Haible  <bruno@clisp.org>
4745
4746         getpagesize: Move AC_LIBOBJ invocations to module description.
4747         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
4748         from here...
4749         * modules/getpagesize (configure.ac): ... to here.
4750
4751 2011-05-08  Bruno Haible  <bruno@clisp.org>
4752
4753         getopt: Move AC_LIBOBJ invocations to module description.
4754         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
4755         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
4756         invocations from here...
4757         * modules/getopt-gnu (configure.ac): ... to here.
4758         * modules/getopt-posix (configure.ac): ... and here.
4759         (Depends-on): Update condition.
4760
4761 2011-05-08  Bruno Haible  <bruno@clisp.org>
4762
4763         getopt, argp: Respect rules for use of AC_LIBOBJ.
4764         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
4765         (gl_REPLACE_GETOPT_ALWAYS): New macro.
4766         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
4767         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
4768
4769 2011-05-08  Bruno Haible  <bruno@clisp.org>
4770
4771         getlogin_r: Move AC_LIBOBJ invocations to module description.
4772         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
4773         gl_PREREQ_GETLOGIN_R invocations from here...
4774         * modules/getlogin_r (configure.ac): ... to here.
4775
4776 2011-05-08  Bruno Haible  <bruno@clisp.org>
4777
4778         getlogin: Move AC_LIBOBJ invocations to module description.
4779         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
4780         here...
4781         * modules/getlogin (configure.ac): ... to here.
4782
4783 2011-05-08  Bruno Haible  <bruno@clisp.org>
4784
4785         getloadavg: Move AC_LIBOBJ invocations to module description.
4786         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
4787         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
4788         * modules/getloadavg (configure.ac): ... to here.
4789
4790 2011-05-08  Bruno Haible  <bruno@clisp.org>
4791
4792         gethrxtime: Move AC_LIBOBJ invocations to module description.
4793         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
4794         LIB_GETHRXTIME from here...
4795         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
4796         invocations from here...
4797         * modules/gethrxtime (configure.ac): ... to here.
4798
4799 2011-05-08  Bruno Haible  <bruno@clisp.org>
4800
4801         gethostname: Move AC_LIBOBJ invocations to module description.
4802         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
4803         gl_PREREQ_GETHOSTNAME invocations from here...
4804         * modules/gethostname (configure.ac): ... to here.
4805
4806 2011-05-08  Bruno Haible  <bruno@clisp.org>
4807
4808         getgroups: Move AC_LIBOBJ invocations to module description.
4809         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
4810         here...
4811         * modules/getgroups (configure.ac): ... to here.
4812
4813 2011-05-08  Bruno Haible  <bruno@clisp.org>
4814
4815         getdtablesize: Move AC_LIBOBJ invocations to module description.
4816         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
4817         invocation from here...
4818         * modules/getdtablesize (configure.ac): ... to here.
4819
4820 2011-05-08  Bruno Haible  <bruno@clisp.org>
4821
4822         getdomainname: Move AC_LIBOBJ invocations to module description.
4823         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
4824         gl_PREREQ_GETDOMAINNAME invocations from here...
4825         * modules/getdomainname (configure.ac): ... to here.
4826
4827 2011-05-08  Bruno Haible  <bruno@clisp.org>
4828
4829         getline: Move AC_LIBOBJ invocations to module description.
4830         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
4831         invocations from here...
4832         * modules/getline (configure.ac): ... to here.
4833
4834 2011-05-08  Bruno Haible  <bruno@clisp.org>
4835
4836         getline: Simplify.
4837         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
4838         It's already handled through the module dependency.
4839
4840 2011-05-08  Bruno Haible  <bruno@clisp.org>
4841
4842         getdelim: Move AC_LIBOBJ invocations to module description.
4843         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
4844         and gl_PREREQ_GETDELIM invocations from here...
4845         * modules/getdelim (configure.ac): ... to here.
4846         (Depends-on): Fix condition.
4847
4848 2011-05-08  Bruno Haible  <bruno@clisp.org>
4849
4850         getcwd: Move AC_LIBOBJ invocations to module description.
4851         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
4852         invocations from here...
4853         * modules/getcwd (configure.ac): ... to here.
4854
4855 2011-05-08  Bruno Haible  <bruno@clisp.org>
4856
4857         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
4858         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
4859         here...
4860         * modules/getcwd-lgpl (configure.ac): ... to here.
4861
4862 2011-05-07  Bruno Haible  <bruno@clisp.org>
4863
4864         crypto/gc: Move AC_LIBOBJ invocations to module description.
4865         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
4866         * modules/crypto/gc (configure.ac): ... to here.
4867
4868 2011-05-07  Bruno Haible  <bruno@clisp.org>
4869
4870         fwriting: Move AC_LIBOBJ invocations to module description.
4871         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
4872         here...
4873         * modules/fwriting (configure.ac): ... to here.
4874
4875 2011-05-07  Bruno Haible  <bruno@clisp.org>
4876
4877         fwritable: Move AC_LIBOBJ invocations to module description.
4878         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
4879         here...
4880         * modules/fwritable (configure.ac): ... to here.
4881
4882 2011-05-07  Bruno Haible  <bruno@clisp.org>
4883
4884         futimens: Move AC_LIBOBJ invocations to module description.
4885         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
4886         here...
4887         * modules/futimens (configure.ac): ... to here.
4888
4889 2011-05-07  Bruno Haible  <bruno@clisp.org>
4890
4891         ftruncate: Move AC_LIBOBJ invocations to module description.
4892         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
4893         gl_PREREQ_FTRUNCATE invocations from here...
4894         * modules/ftruncate (configure.ac): ... to here.
4895
4896 2011-05-07  Bruno Haible  <bruno@clisp.org>
4897
4898         fsync: Move AC_LIBOBJ invocations to module description.
4899         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
4900         invocations from here...
4901         * modules/fsync (configure.ac): ... to here.
4902
4903 2011-05-07  Bruno Haible  <bruno@clisp.org>
4904
4905         fsusage: Move AC_LIBOBJ invocations to module description.
4906         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
4907         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
4908         * modules/fsusage (configure.ac): ... to here.
4909
4910 2011-05-07  Bruno Haible  <bruno@clisp.org>
4911
4912         freopen: Move AC_LIBOBJ invocations to module description.
4913         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
4914         invocations from here...
4915         * modules/freopen (configure.ac): ... to here.
4916
4917 2011-05-07  Bruno Haible  <bruno@clisp.org>
4918
4919         free: Move AC_LIBOBJ invocations to module description.
4920         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
4921         invocations from here...
4922         * modules/free (configure.ac): ... to here.
4923
4924 2011-05-07  Bruno Haible  <bruno@clisp.org>
4925
4926         freadable: Move AC_LIBOBJ invocations to module description.
4927         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
4928         here...
4929         * modules/freadable (configure.ac): ... to here.
4930
4931 2011-05-07  Bruno Haible  <bruno@clisp.org>
4932
4933         fpurge: Move AC_LIBOBJ invocations to module description.
4934         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
4935         invocations from here...
4936         * modules/fpurge (configure.ac): ... to here.
4937
4938 2011-05-07  Bruno Haible  <bruno@clisp.org>
4939
4940         fpending: Move AC_LIBOBJ invocations to module description.
4941         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
4942         gl_FUNC_FPENDING.
4943         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
4944         invocations from here...
4945         * modules/fpending (configure.ac): ... to here.
4946
4947 2011-05-07  Bruno Haible  <bruno@clisp.org>
4948
4949         fopen: Move AC_LIBOBJ invocations to module description.
4950         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
4951         invocations from here...
4952         * modules/fopen (configure.ac): ... to here.
4953
4954 2011-05-07  Bruno Haible  <bruno@clisp.org>
4955
4956         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
4957         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
4958         gl_FUNC_FNMATCH_POSIX.
4959         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
4960         invocations from here...
4961         * modules/fnmatch (configure.ac): ... to here.
4962         * modules/fnmatch-gnu (configure.ac): ... and here.
4963
4964 2011-05-07  Bruno Haible  <bruno@clisp.org>
4965
4966         flock: Move AC_LIBOBJ invocations to module description.
4967         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
4968         invocations from here...
4969         * modules/flock (configure.ac): ... to here.
4970
4971 2011-05-07  Bruno Haible  <bruno@clisp.org>
4972
4973         fileblocks: Move AC_LIBOBJ invocations to module description.
4974         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
4975         gl_PREREQ_FILEBLOCKS invocations from here...
4976         * modules/fileblocks (configure.ac): ... to here.
4977
4978 2011-05-06  Bruno Haible  <bruno@clisp.org>
4979
4980         fflush: Move AC_LIBOBJ invocations to module description.
4981         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
4982         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
4983         invocations from here...
4984         * modules/fflush (configure.ac): ... to here.
4985
4986 2011-05-06  Bruno Haible  <bruno@clisp.org>
4987
4988         fdopendir: Move AC_LIBOBJ invocations to module description.
4989         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
4990         here...
4991         * modules/fdopendir (configure.ac): ... to here.
4992         (Depends-on): Improve conditions.
4993
4994 2011-05-06  Bruno Haible  <bruno@clisp.org>
4995
4996         _Exit: Move AC_LIBOBJ invocations to module description.
4997         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
4998         invocations from here...
4999         * modules/_Exit (configure.ac): ... to here.
5000
5001 2011-05-21  Bruno Haible  <bruno@clisp.org>
5002
5003         euidaccess: Respect rules for use of AC_LIBOBJ.
5004         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
5005         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
5006         from here...
5007         * modules/euidaccess (configure.ac): ... to here.
5008
5009 2011-05-06  Bruno Haible  <bruno@clisp.org>
5010
5011         error: Move AC_LIBOBJ invocations to module description.
5012         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
5013         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
5014         invocations from here...
5015         * modules/error (configure.ac): ... to here.
5016
5017 2011-05-06  Bruno Haible  <bruno@clisp.org>
5018
5019         duplocale: Move AC_LIBOBJ invocations to module description.
5020         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
5021         gl_PREREQ_DUPLOCALE invocations from here...
5022         * modules/duplocale (configure.ac): ... to here.
5023
5024 2011-05-05  Bruno Haible  <bruno@clisp.org>
5025
5026         dirfd: Move AC_LIBOBJ invocations to module description.
5027         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
5028         gl_FUNC_DIRFD.
5029         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
5030         here...
5031         * modules/dirfd (configure.ac): ... to here.
5032         (Depends-on): Fix condition.
5033
5034 2011-05-05  Bruno Haible  <bruno@clisp.org>
5035
5036         chown: Respect rules for use of AC_LIBOBJ.
5037         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
5038         * modules/chown (configure.ac): ... to here.
5039
5040 2011-05-05  Bruno Haible  <bruno@clisp.org>
5041
5042         chdir-long: Move AC_LIBOBJ invocations to module description.
5043         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
5044         gl_PREREQ_CHDIR_LONG invocations from here...
5045         * modules/chdir-long (configure.ac): ... to here.
5046
5047 2011-05-05  Bruno Haible  <bruno@clisp.org>
5048
5049         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
5050         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
5051         from here...
5052         * modules/canonicalize-lgpl (configure.ac): ... to here.
5053
5054 2011-05-05  Bruno Haible  <bruno@clisp.org>
5055
5056         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
5057         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
5058         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
5059         REPLACE_CALLOC.
5060         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
5061         * modules/calloc-gnu (configure.ac): Likewise.
5062
5063 2011-05-05  Bruno Haible  <bruno@clisp.org>
5064
5065         btowc: Move AC_LIBOBJ invocations to module description.
5066         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
5067         invocations from here...
5068         * modules/btowc (configure.ac): ... to here.
5069
5070 2011-05-21  Bruno Haible  <bruno@clisp.org>
5071
5072         atexit: Move AC_LIBOBJ invocations to module description.
5073         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
5074         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
5075         here...
5076         * modules/atexit (configure.ac): ... to here.
5077
5078 2011-05-05  Bruno Haible  <bruno@clisp.org>
5079
5080         atoll: Move AC_LIBOBJ invocations to module description.
5081         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
5082         invocations from here...
5083         * modules/atoll (configure.ac): ... to here.
5084
5085 2011-05-05  Bruno Haible  <bruno@clisp.org>
5086
5087         argz: Move AC_LIBOBJ invocations to module description.
5088         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
5089         * modules/argz (configure.ac): ... to here.
5090
5091 2011-05-05  Bruno Haible  <bruno@clisp.org>
5092
5093         alphasort: Move AC_LIBOBJ invocations to module description.
5094         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
5095         gl_PREREQ_ALPHASORT invocations from here...
5096         * modules/alphasort (configure.ac): ... to here.
5097
5098 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5099
5100         verify: new macro verify_expr; verify_true deprecated
5101         * NEWS: Mention this.
5102         * doc/verify.texi (Compile-time Assertions): Document this.
5103         * lib/verify.h (verify_true): Deprecate.
5104         (verify_expr): New macro.
5105         * tests/test-verify.c (function): Test verify_expr.
5106
5107 2011-06-14  Jim Meyering  <meyering@redhat.com>
5108
5109         init.sh: give more portable redirection-related advice in a comment
5110         * tests/init.sh (stderr_fileno_): Update the advice in comments.
5111         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
5112         for lots of discussion.  Stefano Lattarini suggested the solution
5113         of putting "9>&2" after the command.  Reported by Bruno Haible.
5114
5115 2011-06-13  Bruno Haible  <bruno@clisp.org>
5116
5117         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
5118         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
5119         'none'.
5120
5121 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
5122
5123         ftoastr: use strtof only if HAVE_STRTOF
5124         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
5125         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
5126         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
5127         * modules/ftoastr (configure.ac): Check for strtof.
5128
5129 2011-06-13  Bruno Haible  <bruno@clisp.org>
5130
5131         gnulib-tool: Addendum to 2011-06-08 commit.
5132         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
5133         and --witness-c-macro have been given, augment AM_CPPFLAGS.
5134
5135 2011-06-13  Bruno Haible  <bruno@clisp.org>
5136
5137         fseeko: Provide a non-inline replacement of fseek().
5138         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
5139         * modules/fseeko (Depends-on): Add fseek.
5140         * modules/fseek (License): Change to LGPLv2+.
5141
5142 2011-06-13  Bruno Haible  <bruno@clisp.org>
5143
5144         ftello: Provide a non-inline replacement of ftell().
5145         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
5146         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
5147         not have ftello() (such as on mingw).
5148         * modules/ftello (Depends-on): Add ftell.
5149         * modules/ftell (License): Change to LGPLv2+.
5150
5151 2011-05-07  Bruno Haible  <bruno@clisp.org>
5152
5153         ftell: Move AC_LIBOBJ invocations to module description.
5154         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
5155         * modules/ftell (configure.ac): ... to here.
5156
5157 2011-05-07  Bruno Haible  <bruno@clisp.org>
5158
5159         ftello: Respect rules for use of AC_LIBOBJ.
5160         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
5161         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
5162         here...
5163         * modules/ftello (configure.ac): ... to here.
5164
5165 2011-05-07  Bruno Haible  <bruno@clisp.org>
5166
5167         fseeko: Simplify.
5168         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
5169         (gl_FUNC_FSEEKO): Inline it here.
5170
5171 2011-05-07  Bruno Haible  <bruno@clisp.org>
5172
5173         fseek: Move AC_LIBOBJ invocations to module description.
5174         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
5175         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
5176         * modules/fseek (configure.ac): ... to here.
5177
5178 2011-05-07  Bruno Haible  <bruno@clisp.org>
5179
5180         fseek: Respect rules for use of AC_LIBOBJ.
5181         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
5182         here...
5183         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
5184
5185 2011-05-07  Bruno Haible  <bruno@clisp.org>
5186
5187         fseeko: Respect rules for use of AC_LIBOBJ.
5188         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
5189         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
5190         here...
5191         * modules/fseeko (configure.ac): ... to here.
5192
5193 2011-06-13  Bruno Haible  <bruno@clisp.org>
5194
5195         gnulib-tool: Allow comments in the 'Depends-on' section.
5196         * doc/gnulib.texi (Module description): Mention comment syntax in the
5197         Depends-on section.
5198         * gnulib-tool (func_get_dependencies): Filter out comment lines.
5199
5200 2011-06-13  Bruno Haible  <bruno@clisp.org>
5201
5202         file-set.h: guard __attibute__ use, now that it's not always defined
5203         * lib/file-set.h (record_file): Use __attribute__ only with compiler
5204         versions that support it.  This fixes a coreutils build failure with
5205         the vendor cc on HP-UX 11.31.
5206
5207 2011-06-12  Bruno Haible  <bruno@clisp.org>
5208
5209         acl: Add support for HP-UX >= 11.11 JFS ACLs.
5210         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
5211         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
5212         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
5213         (acl, aclsort): New declarations.
5214         (aclv_nontrivial): New declaration.
5215         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
5216         (file_has_acl): Read also the second kind of HP-UX ACLs.
5217         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
5218         kind of HP-UX ACLs if the first kind fails.
5219         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
5220         second kind of HP-UX ACLs.
5221         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
5222         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
5223         agree.
5224         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
5225         hpuxjfs.
5226         Handle hpuxjfs.
5227         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
5228         hpuxjfs.
5229         Handle hpuxjfs.
5230         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
5231         (func_test_same_acls): Use both lsacl and getacl.
5232         Handle hpuxjfs.
5233         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
5234         (func_test_same_acls): Use both lsacl and getacl.
5235         Handle hpuxjfs.
5236
5237 2011-06-12  Bruno Haible  <bruno@clisp.org>
5238
5239         acl: Complete the 2010-08-10 fix.
5240         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
5241         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
5242         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
5243         explicitly.
5244         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
5245         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
5246
5247 2011-06-12  Bruno Haible  <bruno@clisp.org>
5248
5249         spawn-pipe tests: Comments.
5250         * tests/test-spawn-pipe-child.c (main): Update comment.
5251         Reported by James Youngman <jay@gnu.org>.
5252
5253 2011-06-11  James Youngman  <jay@gnu.org>
5254
5255         New module 'stat-size'.
5256         * modules/stat-size: New module.  Provides macros for accessing
5257         file size information in instances of struct stat.  Depends on the
5258         fileblocks module because it calls st_blocks.
5259         * lib/stat-size.h: New file, adapted from coreutils' system.h.
5260         * doc/gnulib.texi: Include stat-size.texi.
5261         * doc/stat-size.texi: Documentation for this module.
5262         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
5263         * m4/fileblocks.m4: Mention that stat-size depends on the call to
5264         AC_STRUCT_ST_BLOCKS.
5265
5266 2011-06-09  Bruno Haible  <bruno@clisp.org>
5267
5268         thread: Support pthreads-win32.
5269         * lib/glthread/thread.h (gl_thread_self): Define differently on
5270         pthreads-win32.
5271         (gl_null_thread): New declaration.
5272         (gl_thread_self_pointer): New macro.
5273         * lib/glthread/thread.c (gl_null_thread): New constant.
5274         * tests/test-lock.c: Use gl_thread_self_pointer instead of
5275         gl_thread_self.
5276         * tests/test-tls.c: Likewise.
5277         Suggested by Paul Eggert. Reported by Eric Blake.
5278
5279 2011-06-09  Bruno Haible  <bruno@clisp.org>
5280
5281         thread: Fix confusion between NULL and 0.
5282         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
5283         Reported by Paul Eggert.
5284
5285 2011-06-09  Bruno Haible  <bruno@clisp.org>
5286
5287         spawn-pipe tests: Avoid test failure on HP-UX 11.
5288         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
5289         is closed.
5290
5291 2011-06-09  Bruno Haible  <bruno@clisp.org>
5292
5293         acl tests: Fix compilation error on HP-UX 11.
5294         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
5295
5296 2011-06-09  Bruno Haible  <bruno@clisp.org>
5297
5298         rmdir: Avoid test failure on HP-UX 10.20.
5299         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
5300         EEXIST.
5301
5302 2011-06-08  Eric Blake  <eblake@redhat.com>
5303
5304         perror: fix test on mingw
5305         * modules/perror-tests (Depends-on): Add dup2.
5306
5307         strerror_r-posix: fix on MacOS
5308         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
5309         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
5310         logic bug.
5311         * lib/strerror_r.c (strerror_r): Fix the bug.
5312         * lib/strerror.c (strerror): Likewise.
5313         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5314         problem.
5315         * doc/posix-functions/strerror.texi (strerror): Likewise.
5316         * doc/posix-functions/perror.texi (perror): Likewise.
5317         * tests/test-strerror.c (main): Enhance test.
5318         * tests/test-strerror_r.c (main): Likewise.
5319
5320 2011-06-08  Bruno Haible  <bruno@clisp.org>
5321
5322         gnulib-tool: Better isolation between different gnulib-tool invocations.
5323         * gnulib-tool: New option --witness-c-macro.
5324         (witness_c_macro): New variable.
5325         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
5326         AM_CPPFLAGS define it as a C macro.
5327         (func_emit_tests_Makefile_am): Likewise.
5328         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
5329         read it from there.
5330         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
5331         m4_define, not AC_DEFUN.
5332         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
5333         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
5334         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
5335         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
5336         s|...|...|, to substitute the values of the GNULIB_* module indicator
5337         variables.
5338         * modules/dirent (Makefile.am): Likewise.
5339         * modules/fcntl-h (Makefile.am): Likewise.
5340         * modules/iconv-h (Makefile.am): Likewise.
5341         * modules/langinfo (Makefile.am): Likewise.
5342         * modules/locale (Makefile.am): Likewise.
5343         * modules/math (Makefile.am): Likewise.
5344         * modules/netdb (Makefile.am): Likewise.
5345         * modules/poll-h (Makefile.am): Likewise.
5346         * modules/pty (Makefile.am): Likewise.
5347         * modules/search (Makefile.am): Likewise.
5348         * modules/signal (Makefile.am): Likewise.
5349         * modules/spawn (Makefile.am): Likewise.
5350         * modules/stdio (Makefile.am): Likewise.
5351         * modules/stdlib (Makefile.am): Likewise.
5352         * modules/string (Makefile.am): Likewise.
5353         * modules/sys_ioctl (Makefile.am): Likewise.
5354         * modules/sys_select (Makefile.am): Likewise.
5355         * modules/sys_socket (Makefile.am): Likewise.
5356         * modules/sys_stat (Makefile.am): Likewise.
5357         * modules/sys_times (Makefile.am): Likewise.
5358         * modules/sys_utsname (Makefile.am): Likewise.
5359         * modules/sys_wait (Makefile.am): Likewise.
5360         * modules/termios (Makefile.am): Likewise.
5361         * modules/time (Makefile.am): Likewise.
5362         * modules/unistd (Makefile.am): Likewise.
5363         * modules/wchar (Makefile.am): Likewise.
5364
5365 2011-06-08  Eric Blake  <eblake@redhat.com>
5366
5367         strerror: simplify replacement
5368         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
5369         * modules/strerror (configure.ac): No prereqs needed here...
5370         * modules/strerror-override (configure.ac): ...but this needs it.
5371         (Files): Add file for needed prereq macro.
5372
5373 2011-06-08  Bruno Haible  <bruno@clisp.org>
5374
5375         strerror_r-posix: Tweaks.
5376         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
5377         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
5378         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
5379         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
5380         (gl_FUNC_STRERROR_R): ... to here.
5381         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
5382
5383 2011-06-07  Eric Blake  <eblake@redhat.com>
5384
5385         perror: document fixed bugs
5386         * doc/posix-functions/perror.texi (perror): Document recent
5387         patches.
5388
5389 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
5390
5391         stat-time: get_stat_birthtime failure is better-defined
5392         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
5393         return a timestamp whose tv_sec and tv_nsec values are both -1.
5394         Previously, the spec said only that the tv_nsec value was negative.
5395         This upward-compatible change simplifies GNU tar a bit.
5396
5397 2011-06-07  Eric Blake  <eblake@redhat.com>
5398
5399         strerror_r-posix: work around cygwin 1.7.9
5400         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
5401         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
5402         bug without replacing strerror_r.
5403         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
5404         strerror_r is buggy, but without requiring strerror_r compilation.
5405         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
5406
5407         test-perror: relax test to ignore cygwin bug
5408         * tests/test-perror2.c (main): Relax test on requiring detection
5409         of stream errors, and use unbuffered stream.
5410         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
5411         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
5412         * doc/posix-functions/fputc.texi (fputc): Likewise.
5413         * doc/posix-functions/fputs.texi (fputs): Likewise.
5414         * doc/posix-functions/fputws.texi (fputws): Likewise.
5415         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
5416         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
5417         * doc/posix-functions/getopt.texi (getopt): Likewise.
5418         * doc/posix-functions/perror.texi (perror): Likewise.
5419         * doc/posix-functions/printf.texi (printf): Likewise.
5420         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
5421         * doc/posix-functions/psignal.texi (psignal): Likewise.
5422         * doc/posix-functions/putc.texi (putc): Likewise.
5423         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
5424         Likewise.
5425         * doc/posix-functions/putchar.texi (putchar): Likewise.
5426         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
5427         Likewise.
5428         * doc/posix-functions/puts.texi (puts): Likewise.
5429         * doc/posix-functions/putwc.texi (putwc): Likewise.
5430         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
5431         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
5432         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5433         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
5434         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5435         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
5436         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
5437         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
5438
5439 2011-05-22  Bruno Haible  <bruno@clisp.org>
5440
5441         strerror: Move AC_LIBOBJ invocations to module description.
5442         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
5443         gl_PREREQ_STRERROR invocations from here...
5444         * modules/strerror (configure.ac): ... to here.
5445
5446 2011-05-21  Bruno Haible  <bruno@clisp.org>
5447
5448         perror: Use common idiom.
5449         * modules/perror (configure.ac): Reorder statements.
5450
5451 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5452
5453         tests: fix usage message in 'mktempd_'
5454         * tests/init.sh (mktempd_): In the usage message, use literal
5455         'mktempd_', not '$ME' (which is even undefined), as the name of
5456         the subroutine.
5457
5458 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5459
5460         tests init: new function 'fatal_', for hard errors
5461         Before this patch, the only way offered by tests/init.sh to
5462         properly signal a hard error was the `framework_failure_'
5463         function.  But the error message issued by that function,
5464         as its name would suggest, refers to a set-up failure in the
5465         testsuite, while hard errors can obviously also be due to
5466         other reasons.  The best way to fix this inconsistency is to
5467         introduce a new function with a more general error message.
5468         * tests/init.sh (fatal_): New function.
5469
5470 2011-06-06  Eric Blake  <eblake@redhat.com>
5471
5472         canonicalize-lgpl: use common idiom
5473         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
5474         over newer POSIX -Rf.
5475         Reported by Bruno Haible.
5476
5477         canonicalize-lgpl: work around AIX realpath bug
5478         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
5479         * doc/posix-functions/realpath.texi (realpath): Document it.
5480         Reported by Bruno Haible.
5481
5482         strerror: work around FreeBSD bug
5483         * lib/strerror.c (strerror): Special case 0.
5484         Reported by Bruno Haible.
5485
5486         strerror-override: avoid bloating errno module
5487         * modules/errno (Files, configure.ac): Move replacement strings...
5488         * modules/strerror-override: ...to new module.
5489         * modules/strerror (Depends-on): Add strerror-override.
5490         * modules/strerror_r-posix (Depends-on): Likewise.
5491         * MODULES.html.sh: Document new module.
5492         Reported by Bruno Haible.
5493
5494 2011-06-06  Bruno Haible  <bruno@clisp.org>
5495
5496         spawn-pipe tests: Rename program.
5497         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
5498         * tests/test-spawn-pipe-child.c: Update comment.
5499         * tests/test-spawn-pipe.sh: Update.
5500         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
5501
5502         spawn-pipe tests: Link the child program only against libc.
5503         * tests/test-spawn-pipe-child.c: New file, extracted from
5504         tests/test-spawn-pipe.c.
5505         (main): Expect only one argument.
5506         (is_open): New function, copied from tests/test-pipe.c.
5507         * tests/test-spawn-pipe.c: Don't include <errno.h>.
5508         (child_main): Remove function.
5509         (test_pipe): Pass only one argument to the child program.
5510         (main): Remove child process code. Expect the child program's name as
5511         first argument.
5512         * tests/test-spawn-pipe.sh: Pass the child program's name as first
5513         argument.
5514         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
5515         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
5516         test-spawn-pipe-child against no libraries.
5517
5518 2011-06-06  Bruno Haible  <bruno@clisp.org>
5519
5520         careadlinkat: Avoid mismatch between ssize_t and int.
5521         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
5522         * lib/careadlinkat.c (careadlinkatcwd): Define always.
5523
5524 2011-06-06  Jim Meyering  <meyering@redhat.com>
5525
5526         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
5527         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
5528         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
5529
5530 2011-06-05  Bruno Haible  <bruno@clisp.org>
5531
5532         ansi-c++-opt: Interoperability with libtool.
5533         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
5534         set the variable to "no", not to ":".
5535         * NEWS: Mention the change.
5536
5537 2011-06-05  Bruno Haible  <bruno@clisp.org>
5538
5539         acl: Fix test failure on AIX 7.
5540         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
5541         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
5542
5543 2011-06-05  Bruno Haible  <bruno@clisp.org>
5544
5545         pipe-filter-ii: Fix test failure on AIX and IRIX.
5546         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
5547         with EAGAIN, retry with a smaller buffer size.
5548
5549 2011-06-05  Bruno Haible  <bruno@clisp.org>
5550
5551         localename: Fix link dependencies.
5552         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
5553         * modules/localename-tests (Makefile.am): Link test-localename with
5554         $(LIBTHREAD).
5555
5556 2011-06-05  Bruno Haible  <bruno@clisp.org>
5557
5558         error: Avoid gcc warning.
5559         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
5560
5561 2011-06-05  Bruno Haible  <bruno@clisp.org>
5562
5563         unsetenv: Avoid gcc warning.
5564         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
5565
5566 2011-06-05  Bruno Haible  <bruno@clisp.org>
5567
5568         setenv: Avoid gcc warning.
5569         * lib/setenv.c (setenv): Provide declaration if system lacks it.
5570
5571 2011-06-05  Bruno Haible  <bruno@clisp.org>
5572
5573         sys_select: Ensure memset is declared also on AIX 7.
5574         * lib/sys_select.in.h: Include <string.h> also on AIX.
5575         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
5576         self-contained also on AIX 7.1.
5577
5578 2011-06-04  Jim Meyering  <meyering@redhat.com>
5579
5580         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
5581         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
5582         function name, "error".
5583         (_gl_translatable_diag_func_re): New configurable variable.
5584
5585 2011-06-04  Bruno Haible  <bruno@clisp.org>
5586
5587         getopt: Avoid gcc warning.
5588         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
5589
5590 2011-06-04  Bruno Haible  <bruno@clisp.org>
5591
5592         strerror_r: Fix comments.
5593         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
5594         commit.
5595
5596 2011-06-04  Bruno Haible  <bruno@clisp.org>
5597
5598         perror: Fix compilation error.
5599         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
5600         Undefine fprintf, not sprintf.
5601         * modules/perror (Depends-on): Remove intprops, verify.
5602
5603 2011-06-04  Bruno Haible  <bruno@clisp.org>
5604
5605         setlocale: Enable replacement on Cygwin 1.5.
5606         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
5607         Cygwin 1.5.x.
5608         * doc/posix-functions/setlocale.texi: Mention that the problem with the
5609         LC_CTYPE category also exists on Cygwin 1.5.x.
5610
5611 2011-06-04  Bruno Haible  <bruno@clisp.org>
5612
5613         strerror-override: Don't disable symbol renamings.
5614         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
5615         * lib/strerror-override.c: Include config.h.
5616         (strerror_override): Don't undefine.
5617
5618 2011-06-03  Bruno Haible  <bruno@clisp.org>
5619
5620         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
5621         * lib/localename.h: Update copyright header.
5622         * lib/localename.c: Likewise.
5623         * lib/relocatable.h: Likewise.
5624         * lib/relocatable.c: Likewise.
5625
5626 2011-06-02  Bruno Haible  <bruno@clisp.org>
5627
5628         doc: Fix a module name.
5629         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
5630
5631 2011-06-02  Bruno Haible  <bruno@clisp.org>
5632
5633         pipe2: Remove dependency on 'nonblocking' module.
5634         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
5635         O_NONBLOCK is defined by gnulib.
5636         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
5637         is zero.
5638         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
5639         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
5640         defined by gnulib.
5641         (get_nonblocking_flag): New function.
5642         (main): Test O_NONBLOCK flag only if it is nonzero.
5643         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
5644
5645 2011-06-03  Jim Meyering  <meyering@redhat.com>
5646
5647         maint: three new prohibit-header-without-use rules
5648         Prohibit use of cloexec.h, posixver.h, same.h without use.
5649         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
5650         (sc_prohibit_posixver_without_use): Likewise.
5651         (sc_prohibit_same_without_use): Likewise.
5652
5653 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
5654
5655         allocator: 'die' routine is now given requested size
5656         * lib/allocator.h (struct allocator.die): New size arg.
5657         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
5658         If the actual problem is an ssize_t limitation, not a size_t or
5659         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
5660
5661 2011-06-01  Eric Blake  <eblake@redhat.com>
5662
5663         strerror: drop strerror_r dependency
5664         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
5665         * lib/strerror-override.c (strerror_override): ...to new file.
5666         * lib/strerror-override.h: Add prototype.
5667         * lib/strerror-impl.h: Delete.
5668         * lib/strerror.c (strerror): New implementation.
5669         * modules/errno (Files): Add new files.
5670         (configure.ac): Compile new file as appropriate.
5671         * modules/strerror (Files): Drop unused file.
5672         (Depends-on): Drop strerror_r-posix.
5673         * MODULES.html.sh: Document strerror_r-posix.
5674         Requested by Sam Steingold.
5675
5676         perror: call strerror_r directly
5677         * modules/perror (Files): Drop strerror-impl.h.
5678         * lib/perror.c (perror): Use our own stack buffer, rather than
5679         calling a wrapper that uses static storage.
5680         * doc/posix-functions/perror.texi (perror): Document a limitation
5681         of our replacement.
5682
5683         strerror_r: fix includes for FreeBSD
5684         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
5685         since we use abort on some platforms.
5686         Reported by Matthias Bolte.
5687
5688 2011-05-31  Bruno Haible  <bruno@clisp.org>
5689
5690         Fix link errors in tests: openat-die uses gettext-h.
5691         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
5692         against $(LIBINTL).
5693         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
5694         against $(LIBINTL).
5695         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
5696         $(LIBINTL).
5697         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
5698         against $(LIBINTL).
5699         * modules/linkat-tests (Makefile.am): Link test-linkat against
5700         $(LIBINTL).
5701         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
5702         $(LIBINTL).
5703         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
5704         against $(LIBINTL).
5705         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
5706         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
5707         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
5708         $(LIBINTL).
5709         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
5710         $(LIBINTL).
5711         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
5712         $(LIBINTL).
5713         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5714
5715 2011-05-31  Bruno Haible  <bruno@clisp.org>
5716
5717         Fix link errors in tests: wait-process uses gettext-h.
5718         * modules/nonblocking-pipe-tests (Makefile.am): Set
5719         test_nonblocking_pipe_main_LDADD.
5720         * modules/nonblocking-socket-tests (Makefile.am): Link
5721         test-nonblocking-socket-main against $(LIBINTL).
5722         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5723
5724 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
5725
5726         assert-h: work around 'verify' incompatibility
5727         * lib/verify.h: Use @...@ directives, not ifdef.
5728         * modules/assert-h (assert.h): Implement the directives.
5729         (assert.h): Substitute the symbol-prefix more consistently.
5730
5731 2011-05-29  Jim Meyering  <meyering@redhat.com>
5732
5733         trim: remove three superfluous assignments
5734         * lib/trim.c (trim2): Remove three superfluous assignments
5735         and correct brace positioning.
5736
5737 2011-05-29  Bruno Haible  <bruno@clisp.org>
5738
5739         wctype-h: Avoid namespace pollution on Solaris 2.6.
5740         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
5741         identifiers.
5742         * doc/posix-headers/wctype.texi: Mention the problem.
5743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5744
5745 2011-05-28  Jim Meyering  <meyering@redhat.com>
5746
5747         parse-datetime.y: accommodate -Wstrict-overflow
5748         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
5749         placate -Wstrict-overflow.
5750
5751         trim: avoid a warning from -O2 -Wstrict-overflow
5752         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
5753
5754 2011-05-29  Bruno Haible  <bruno@clisp.org>
5755
5756         gnulib-tool: Fix bug in yesterday's commit.
5757         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
5758         twice.
5759
5760 2011-05-29  Bruno Haible  <bruno@clisp.org>
5761
5762         Allow multiple gnulib generated include files to be combined.
5763         * gnulib-tool (func_compute_include_guard_prefix): New function.
5764         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
5765         ${gl_include_guard_prefix} references.
5766         (func_import, func_create_testdir): Invoke
5767         func_compute_include_guard_prefix.
5768         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
5769         * lib/ctype.in.h: Likewise.
5770         * lib/dirent.in.h: Likewise.
5771         * lib/errno.in.h: Likewise.
5772         * lib/fcntl.in.h: Likewise.
5773         * lib/float.in.h: Likewise.
5774         * lib/getopt.in.h: Likewise.
5775         * lib/iconv.in.h: Likewise.
5776         * lib/langinfo.in.h: Likewise.
5777         * lib/locale.in.h: Likewise.
5778         * lib/math.in.h: Likewise.
5779         * lib/netdb.in.h: Likewise.
5780         * lib/netinet_in.in.h: Likewise.
5781         * lib/poll.in.h: Likewise.
5782         * lib/pthread.in.h: Likewise.
5783         * lib/pty.in.h: Likewise.
5784         * lib/sched.in.h: Likewise.
5785         * lib/se-selinux.in.h: Likewise.
5786         * lib/search.in.h: Likewise.
5787         * lib/signal.in.h: Likewise.
5788         * lib/spawn.in.h: Likewise.
5789         * lib/stdarg.in.h: Likewise.
5790         * lib/stddef.in.h: Likewise.
5791         * lib/stdint.in.h: Likewise.
5792         * lib/stdio.in.h: Likewise.
5793         * lib/stdlib.in.h: Likewise.
5794         * lib/string.in.h: Likewise.
5795         * lib/strings.in.h: Likewise.
5796         * lib/sys_file.in.h: Likewise.
5797         * lib/sys_ioctl.in.h: Likewise.
5798         * lib/sys_select.in.h: Likewise.
5799         * lib/sys_socket.in.h: Likewise.
5800         * lib/sys_stat.in.h: Likewise.
5801         * lib/sys_time.in.h: Likewise.
5802         * lib/sys_times.in.h: Likewise.
5803         * lib/sys_uio.in.h: Likewise.
5804         * lib/sys_utsname.in.h: Likewise.
5805         * lib/sys_wait.in.h: Likewise.
5806         * lib/sysexits.in.h: Likewise.
5807         * lib/termios.in.h: Likewise.
5808         * lib/time.in.h: Likewise.
5809         * lib/unistd.in.h: Likewise.
5810         * lib/wchar.in.h: Likewise.
5811         * lib/wctype.in.h: Likewise.
5812         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
5813         * modules/ctype (Makefile.am): Likewise.
5814         * modules/dirent (Makefile.am): Likewise.
5815         * modules/errno (Makefile.am): Likewise.
5816         * modules/fcntl-h (Makefile.am): Likewise.
5817         * modules/float (Makefile.am): Likewise.
5818         * modules/getopt-posix (Makefile.am): Likewise.
5819         * modules/iconv-h (Makefile.am): Likewise.
5820         * modules/langinfo (Makefile.am): Likewise.
5821         * modules/locale (Makefile.am): Likewise.
5822         * modules/math (Makefile.am): Likewise.
5823         * modules/netdb (Makefile.am): Likewise.
5824         * modules/netinet_in (Makefile.am): Likewise.
5825         * modules/poll-h (Makefile.am): Likewise.
5826         * modules/pthread (Makefile.am): Likewise.
5827         * modules/pty (Makefile.am): Likewise.
5828         * modules/sched (Makefile.am): Likewise.
5829         * modules/search (Makefile.am): Likewise.
5830         * modules/selinux-h (Makefile.am): Likewise.
5831         * modules/signal (Makefile.am): Likewise.
5832         * modules/spawn (Makefile.am): Likewise.
5833         * modules/stdarg (Makefile.am): Likewise.
5834         * modules/stddef (Makefile.am): Likewise.
5835         * modules/stdint (Makefile.am): Likewise.
5836         * modules/stdio (Makefile.am): Likewise.
5837         * modules/stdlib (Makefile.am): Likewise.
5838         * modules/string (Makefile.am): Likewise.
5839         * modules/strings (Makefile.am): Likewise.
5840         * modules/sys_file (Makefile.am): Likewise.
5841         * modules/sys_ioctl (Makefile.am): Likewise.
5842         * modules/sys_select (Makefile.am): Likewise.
5843         * modules/sys_socket (Makefile.am): Likewise.
5844         * modules/sys_stat (Makefile.am): Likewise.
5845         * modules/sys_time (Makefile.am): Likewise.
5846         * modules/sys_times (Makefile.am): Likewise.
5847         * modules/sys_uio (Makefile.am): Likewise.
5848         * modules/sys_utsname (Makefile.am): Likewise.
5849         * modules/sys_wait (Makefile.am): Likewise.
5850         * modules/sysexits (Makefile.am): Likewise.
5851         * modules/termios (Makefile.am): Likewise.
5852         * modules/time (Makefile.am): Likewise.
5853         * modules/unistd (Makefile.am): Likewise.
5854         * modules/wchar (Makefile.am): Likewise.
5855         * modules/wctype-h (Makefile.am): Likewise.
5856         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
5857
5858 2011-05-29  Bruno Haible  <bruno@clisp.org>
5859
5860         assert-h: Allow multiple gnulib generated replacements to coexist.
5861         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
5862
5863 2011-05-29  Bruno Haible  <bruno@clisp.org>
5864
5865         argp: Allow coexistence with strerror_r-posix module.
5866         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
5867         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
5868         by gnulib's <string.h> replacement), assume it has the POSIX signature,
5869         not the glibc signature.
5870
5871 2011-05-28  Bruno Haible  <bruno@clisp.org>
5872
5873         gnulib-tool: Alternative structure of testdirs, similar to --import.
5874         * gnulib-tool: New option --single-configure.
5875         (func_usage): Document it.
5876         (single_configure): New variable.
5877         (func_modules_transitive_closure_separately,
5878         func_modules_transitive_closure_separately,
5879         func_determine_use_libtests, func_modules_add_dummy_separately,
5880         func_modules_to_filelist_separately): New functions, extracted from
5881         func_import.
5882         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
5883         (func_import): Use the new functions.
5884         (func_create_testdir): Set final_modules. Handle $single_configure =
5885         true case.
5886
5887 2011-05-28  Bruno Haible  <bruno@clisp.org>
5888
5889         getloadavg: Remove an unreliable safety check.
5890         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
5891         getloadavg.c is in place.
5892         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
5893         Reported by Sam Steingold <sds@gnu.org>.
5894
5895 2011-05-28  Bruno Haible  <bruno@clisp.org>
5896
5897         doc: Cleanup yet another file produced by texinfo.tex.
5898         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
5899
5900 2011-05-28  Bruno Haible  <bruno@clisp.org>
5901
5902         Finish the conditional dependencies mechanism.
5903         * gnulib-tool: New option --no-conditional-dependencies.
5904         (func_usage): Document it. Don't mark --conditional-dependencies as
5905         experimental.
5906         (cond_dependencies): The possible values can now be true, false, empty.
5907         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
5908         (func_import): Store setting in gnulib-cache.m4 and read it from there.
5909         * doc/gnulib-tool.texi (Conditional dependencies): New section.
5910
5911 2011-05-28  Bruno Haible  <bruno@clisp.org>
5912
5913         doc: Use a recent texinfo.tex.
5914         * doc/Makefile (tex_opts): New variable.
5915         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
5916
5917 2011-05-28  Jim Meyering  <meyering@redhat.com>
5918
5919         intprops.h: adjust comment to match code change
5920         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
5921         only once, it *may* have side effects.  Also fix an unrelated typo.
5922         (_GL_INT_SIGNED): Likewise.
5923
5924 2011-05-26  Simon Josefsson  <simon@josefsson.org>
5925
5926         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
5927
5928 2011-05-26  Bruno Haible  <bruno@clisp.org>
5929
5930         mbsrchr: Avoid collision with system function on Interix.
5931         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
5932         Reported by Markus Duft <mduft@gentoo.org>.
5933
5934 2011-05-15  James Youngman  <jay@gnu.org>
5935
5936         getopt: for ambiguous options, enumerate the possibilities.
5937         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
5938         the ambiguous options when an ambiguous prefix is given. This was
5939         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
5940         glibc change was
5941         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
5942
5943 2011-05-25  Eric Blake  <eblake@redhat.com>
5944
5945         getcwd: work around mingw bug
5946         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
5947         * doc/posix-functions/getcwd.texi (getcwd): Document it.
5948         Reported by Matthias Bolte.
5949
5950 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5951
5952         test-intprops: disable -Wtype-limits diagnostics
5953         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
5954         diagnostics.  Otherwise, the integer overflow macros generate many
5955         diagnostics.  Reported by Jim Meyering in
5956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5957
5958         intprops: shorten, to pacify gcc -Woverlength-strings
5959         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
5960         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
5961         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
5962         likely to run afoul of C compiler limits for string constant lengths.
5963         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5964
5965 2011-05-24  Eric Blake  <eblake@redhat.com>
5966
5967         docs: document recently fixed glibc printf bug
5968         * doc/posix-functions/fprintf.texi (fprintf): Document it.
5969         * doc/posix-functions/printf.texi (printf): Likewise.
5970         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5971         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5972
5973         closein-tests: convert to init.sh
5974         * modules/closein-tests (Files): Add init.sh
5975         * tests/test-closein.sh Use it.
5976
5977         yesno-tests: convert to init.sh
5978         * modules/yesno-tests (Files): Add init.sh.
5979         * tests/test-yesno.sh: Use it.
5980
5981         atexit-tests: ensure reliable exit status
5982         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
5983         Reported by Bruno Haible.
5984
5985 2011-05-24  Bruno Haible  <bruno@clisp.org>
5986
5987         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
5988         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
5989         gl_PREREQ_STRERROR_R invocations from here...
5990         * modules/strerror_r-posix (configure.ac): ... to here.
5991
5992 2011-05-24  Eric Blake  <eblake@redhat.com>
5993
5994         strerror_r: fix missing header
5995         * lib/strerror_r.c: Avoid compiler warning about snprintf.
5996
5997         strerror_r: fix AIX test failures
5998         * lib/strerror_r.c (strerror_r): Convert silent truncation to
5999         ERANGE failure.
6000
6001         strerror_r: fix Solaris test failures
6002         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
6003         failures.
6004         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6005
6006         strerror_r: enforce POSIX recommendations
6007         * lib/strerror_r.c (safe_copy): New helper method.
6008         (strerror_r): Guarantee a non-empty string.
6009         * tests/test-strerror_r.c (main): Enhance tests to incorporate
6010         recent POSIX rulings and to match our strerror guarantees.
6011         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6012
6013 2011-05-24  Jim Meyering  <meyering@redhat.com>
6014
6015         test-perror2.c: avoid warning about unused variable
6016         * tests/test-perror2.c (main): Remove declaration of unused "fp".
6017
6018 2011-05-24  Eric Blake  <eblake@redhat.com>
6019
6020         perror: avoid spurious test failure on HP-UX
6021         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
6022
6023         tests: fix logic bug in init.sh
6024         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
6025         shell.
6026
6027 2011-05-24  Jim Meyering  <meyering@redhat.com>
6028
6029         utimensat: do not reference an out-of-scope buffer
6030         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
6031         declared in an inner scope, yet "times" would be dereferenced outside
6032         the scope in which "ts" was valid.
6033         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
6034         of ts[2] "out/up", so that the use of aliased "times" (via
6035         "times = ts;") does not end up referencing an out-of-scope "ts"
6036
6037         opendir-safer.c: don't clobber errno; don't close negative FD
6038         * lib/opendir-safer.c (opendir_safer):
6039         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
6040         file descriptor, and more importantly, don't clobber the
6041         offending errno value with EINVAL.  Before, upon failure
6042         of dup_safer, we would pass the negative file descriptor to
6043         fdopendir, which would clobber errno.
6044
6045 2011-05-23  Bruno Haible  <bruno@clisp.org>
6046
6047         idcache: Fix module description.
6048         * modules/idcache (Include): Set to "idcache.h".
6049
6050 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6051
6052         gnulib-tool: fix portability problem with MacOS sed
6053         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
6054         before the "}".  Problem reported by Leo in
6055         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
6056         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
6057         sed_extract_condition1, sed_extract_condition2.
6058
6059 2011-05-23  Bruno Haible  <bruno@clisp.org>
6060
6061         hash: Simplify autoconf macro.
6062         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
6063
6064 2011-05-23  Bruno Haible  <bruno@clisp.org>
6065
6066         getugroups: Fix module description.
6067         * modules/getugroups (Include): Set to "getugroups.h".
6068
6069 2011-05-23  Bruno Haible  <bruno@clisp.org>
6070
6071         linkat: Simplify autoconf macro.
6072         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
6073
6074 2011-05-23  Bruno Haible  <bruno@clisp.org>
6075             Eric Blake  <eblake@redhat.com>
6076
6077         linkat, renameat: Update dependencies.
6078         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
6079         * modules/linkat (Depends-on): Likewise. Remove also readlink,
6080         symlinkat.
6081
6082 2011-05-23  Jim Meyering  <meyering@redhat.com>
6083
6084         maint.mk: more tight_scope improvements
6085         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
6086         (_gl_TS_headers): Define only in if-0'd block.
6087         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
6088         sometimes we must *not* use it.  Adjust uses accordingly.
6089         (sc_tight_scope): Use much simpler grep-based test to determine
6090         whether we skip this rule.
6091
6092         maint.mk: generalize/improve the tight-scope rule
6093         * top/maint.mk: Emit a warning when the test is skipped.
6094         (_gl_TS_dir): Add $(srcdir)/ prefix.
6095         (_gl_TS_function_match): Simplify, rather than trying
6096         to enumerate common types.  Otherwise, it would fail to match an
6097         "extern unsigned char const *" declaration in idutils.
6098         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
6099         a way to support use of that type of macro.
6100         (_gl_TS_var_match): Simplify regexp.
6101         (_gl_TS_obj_files): New configurable variable.
6102         (_gl_TS_headers): Likewise.
6103
6104 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6105
6106         verify: fix bug when gnulib <assert.h> is also included
6107         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
6108         is defined, not if _GL_STATIC_ASSERT_H is not defined.
6109         Perhaps there's a better way, but this fixes the immediate problem.
6110         Problem reported by Bruno Haible in
6111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
6112
6113 2011-05-22  Bruno Haible  <bruno@clisp.org>
6114
6115         xgetcwd: Simplify autoconf macro.
6116         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
6117
6118 2011-05-22  Bruno Haible  <bruno@clisp.org>
6119
6120         New module 'mktime-internal'.
6121         * modules/mktime-internal: New file.
6122         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
6123         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
6124         mktime_internal as a C macro if libc has __mktime_internal.
6125         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
6126         conditions.
6127         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
6128
6129 2011-05-22  Bruno Haible  <bruno@clisp.org>
6130
6131         timegm: Correct mktime replacement statements.
6132         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
6133         defining mktime as a C macro. This completes a 2009-07-28 commit.
6134
6135 2011-05-22  Bruno Haible  <bruno@clisp.org>
6136
6137         timegm: Simplify autoconf macro.
6138         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
6139
6140 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6141
6142         clock-time: change to LGPLv2+.
6143         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
6144         BSD-like but we have no mark for that; this is good enough for now.
6145
6146 2011-05-21  Bruno Haible  <bruno@clisp.org>
6147
6148         strerror_r: Fix comments.
6149         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
6150
6151 2011-05-21  Bruno Haible  <bruno@clisp.org>
6152
6153         relocatable-prog-wrapper: Fix possible link error.
6154         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
6155         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
6156         (gl_FUNC_SETENV): ... to here.
6157         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
6158         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
6159
6160 2011-05-21  Bruno Haible  <bruno@clisp.org>
6161
6162         relocatable-prog-wrapper: Assume strerror() exists.
6163         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
6164         m4/strerror.m4.
6165         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
6166         * lib/relocwrapper.c: Remove mention of strerror module.
6167         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
6168         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
6169         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
6170         C macro.
6171
6172 2011-05-21  Bruno Haible  <bruno@clisp.org>
6173
6174         select: Simplify replacement idiom.
6175         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
6176         Win32 platforms.
6177         * lib/sys_select.in.h (select): Simplify accordingly.
6178         * modules/select (Depends-on): Likewise.
6179
6180 2011-05-21  Bruno Haible  <bruno@clisp.org>
6181
6182         mkdir-p: Simplify autoconf macro.
6183         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
6184         gl_FUNC_LCHOWN.
6185
6186 2011-05-21  Eric Blake  <eblake@redhat.com>
6187
6188         strerror_r: avoid clobbering strerror on cygwin
6189         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
6190         fall back instead to sys_errlist.
6191         * modules/strerror (configure.ac): Add witness.
6192         * tests/test-strerror_r.c (main): Enhance test.
6193         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6194         * tests/test-perror2.c (main): Free memory before exit.
6195
6196 2011-05-21  Bruno Haible  <bruno@clisp.org>
6197
6198         mkdtemp: Use gnulib naming conventions.
6199         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
6200         * modules/mkdtemp (configure.ac): Update.
6201
6202 2011-05-20  Eric Blake  <eblake@redhat.com>
6203
6204         strerror_r: avoid corrupting errno on Solaris
6205         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
6206         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6207
6208         strerror_r: avoid compiler warning
6209         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
6210
6211         strerror_r: simplify AIX code
6212         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
6213
6214         test-perror: avoid spurious failure on FreeBSD
6215         * modules/perror-tests (Depends-on): Add strerror, now that
6216         strerror_r no longer pulls it in.
6217
6218 2011-05-20  Bruno Haible  <bruno@clisp.org>
6219
6220         strerror_r-posix: Remove unused dependencies.
6221         * modules/strerror_r-posix (Depends-on): Remove strerror.
6222         Reported by Eric Blake.
6223
6224 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
6225
6226         intprops: remove assumption about A|B representation
6227         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
6228         is a valid integer if both A and B are.  Although this is true for
6229         all known practical hosts, the C standard doesn't guarantee it,
6230         and the code need not assume it.  Also, this change may work around
6231         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
6232         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
6233
6234 2011-05-20  Eric Blake  <eblake@redhat.com>
6235
6236         perror: work around FreeBSD bug
6237         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
6238         is broken.  Move AC_LIBOBJ...
6239         * modules/perror (configure.ac): Here.
6240         * doc/posix-functions/perror.texi (perror): Document this.
6241         * tests/test-perror2.c (main): Enhance test.
6242
6243         test-perror: check for strerror interactions
6244         * tests/macros.h (STREQ): Add macro.
6245         * modules/perror-tests (Files): Add second test.
6246         * tests/test-perror2.c (main): New file.
6247         * doc/posix-functions/perror.texi (perror): Document glibc bug.
6248
6249         test-perror: rewrite to use init script
6250         * modules/perror-tests (Files): Add init.sh.
6251         * tests/test-perror.sh: Use temporary directory.
6252
6253 2011-05-20  Jim Meyering  <meyering@redhat.com>
6254
6255         maint: replace misused "a" with "an"
6256         * doc/intprops.texi: "a integer"
6257         * doc/regex.texi: "a explanation"
6258         * lib/alignof.h: "a object"
6259         * lib/argmatch.h: "a explanation"
6260         * lib/argp-help.c: "a option" and "a OPTION_DOC"
6261         * lib/stdint.in.h: "a integer"
6262         * lib/userspec.c: "a owner"
6263         * doc/gnulib.texi: Fix "a idea", and reword.
6264
6265 2011-05-19  Jim Meyering  <meyering@redhat.com>
6266
6267         maint: correct misuse of "a" and "an"
6268         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
6269         * lib/argp-help.c: "an docum...": s/an/a/
6270         * lib/argp-parse.c: "An vector": s/An/A/
6271         * lib/execute.c: "an native": s/an/a/
6272         * lib/spawn-pipe.c: Likewise.
6273         * lib/gc.h: "an Gc_rc": s/an/a/
6274         * lib/unigbrk.in.h: "an grapheme": s/an/a/
6275         * lib/fts.c: "an stat.st_dev": s/an/a/
6276
6277 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6278
6279         intprops-tests: work around HP-UX 11.23 cc bug with constants
6280         * tests/test-intprops.c (VERIFY): New macro.
6281         (main): Use it, instead of verify, to work around the compiler bug; see
6282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6283
6284         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
6285         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
6286         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
6287         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
6288         (_GL_REMAINDER_OVERFLOW): Use it.
6289
6290         intprops-tests: revert unsigned part of previous change
6291         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
6292         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
6293         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
6294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
6295
6296 2011-05-19  Bruno Haible  <bruno@clisp.org>
6297
6298         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
6299         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
6300         strerror_r() returned without filling the buffer.
6301         Reported by Eric Blake.
6302
6303 2011-05-19  Eric Blake  <eblake@redhat.com>
6304
6305         strerror_r: guarantee unchanged errno
6306         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
6307         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
6308         failure.
6309         * tests/test-strerror_r.c (main): Enhance test.
6310
6311 2011-05-19  Bruno Haible  <bruno@clisp.org>
6312
6313         strerror_r: Reorder #if blocks.
6314         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
6315         for consistency with the previous commit.
6316
6317 2011-05-19  Bruno Haible  <bruno@clisp.org>
6318
6319         perror: Avoid clobbering the strerror buffer when possible.
6320         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
6321         * lib/strerror.c: Include it.
6322         * modules/strerror (Files): Add lib/strerror-impl.h.
6323         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
6324         (my_strerror): New function, defined through lib/strerror-impl.h.
6325         (perror): Use it instead of strerror.
6326         * modules/perror (Files): Add lib/strerror-impl.h.
6327         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
6328
6329 2011-05-19  Eric Blake  <eblake@redhat.com>
6330
6331         strerror_r: fix on newer cygwin
6332         * lib/strerror_r.c (strerror_r): Cygwin now has
6333         __xpg_strerror_r, use it.
6334
6335 2011-05-19  Bruno Haible  <bruno@clisp.org>
6336
6337         strerror_r: Avoid clobbering the strerror buffer when possible.
6338         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
6339         (sys_nerr, sys_errlist): New declarations.
6340         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
6341         HP-UX, native Win32, IRIX, and 32-bit Solaris.
6342         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
6343
6344 2011-05-19  Bruno Haible  <bruno@clisp.org>
6345
6346         strerror_r: Fix test failure on mingw.
6347         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
6348         EXTEND_STRERROR_R.
6349         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
6350         macros from errno.in.h instead.
6351
6352 2011-05-19  Eric Blake  <eblake@redhat.com>
6353
6354         strerror: relax test for Solaris
6355         * tests/test-strerror.c (main): Permit Solaris behavior.
6356         * tests/test-strerror_r.c (main): Likewise.
6357
6358         strerror: enforce POSIX ruling on strerror(0)
6359         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
6360         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6361         * lib/strerror_r.c (rpl_strerror_r): Work around it.
6362         * doc/posix-functions/strerror.texi (strerror): Document it.
6363         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
6364         * tests/test-strerror.c (main): Strengthen test.
6365         * tests/test-strerror_r.c (main): Likewise.
6366
6367 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6368
6369         intprop-tests: port to older and more-pedantic compilers
6370         * modules/intprops-tests (Files): Add tests/macros.h.
6371         * tests/test-intprops.c: Include macros.h.
6372         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
6373         it's no longer documented to expand to an integer constant expression.
6374         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
6375         argument is floating point, as it's no longer documented to expand
6376         to an integer constant expression in that case.
6377         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
6378         compiler bugs reported by Bruno Haible.  See
6379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6380         (U0, U1): New constants, to work around the same bugs.  Also,
6381         in tests, use e.g., "(unsigned int) 39" rather than "39u".
6382
6383         intprops: work around C compiler bugs
6384         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
6385         bug in Sun C 5.11 2010/08/13 and other compilers; see
6386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6387
6388         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
6389         * doc/intprops.texi (Integer Type Determination): Fix
6390         documentation for TYPE_IS_INTEGER: it returns an constant
6391         expression, not an integer constant expression.  Fix doc for
6392         TYPE_SIGNED: it returns an integer constant expression only if its
6393         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
6394         hardly worth documented that way....)
6395
6396 2011-05-18  Bruno Haible  <bruno@clisp.org>
6397
6398         strerror_r: Avoid clobbering the strerror buffer when possible.
6399         * lib/strerror_r.c (strerror_r): Merge the three implementations.
6400         Handle gnulib defined errno values here. When strerror() returns NULL
6401         or an empty string, return EINVAL.
6402         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
6403         gnulib defined errno values here.
6404         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
6405
6406 2011-05-18  Eric Blake  <eblake@redhat.com>
6407
6408         fnmatch: avoid compiler warning
6409         * lib/fnmatch_loop.c (FCT): Use correct type.
6410         Reported by Matthias Bolte.
6411
6412 2011-05-13  Jim Meyering  <meyering@redhat.com>
6413
6414         maint.mk: three new prohibit_<HDR>_without_use rules
6415         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
6416         (sc_prohibit_stdio-safer_without_use): Likewise.
6417         (sc_prohibit_xfreopen_without_use): Likewise.
6418
6419 2011-05-17  Jim Meyering  <meyering@redhat.com>
6420
6421         announce-gen: fail if the NEWS delta is empty
6422         If there's nothing noteworthy in NEWS, then either you forgot
6423         or you shouldn't be releasing.
6424         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
6425
6426 2011-05-17  Pádraig Brady <P@draigBrady.com>
6427
6428         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
6429         reserved symbols starting with double underscore from the check.
6430
6431 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6432
6433         intprops: add doc
6434         * doc/intprops.texi: New file, documenting intprops.
6435         * doc/gnulib.texi (Particular Modules): Include it.
6436
6437         verify: add doc to gnulib manual and fix example
6438         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
6439         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
6440         (Compile-time Assertions): Fix example so it can't overflow.
6441
6442 2011-05-17  Jim Meyering  <meyering@redhat.com>
6443
6444         warnings.m4: don't usurp save_CPPFLAGS variable name
6445         * m4/warnings.m4: Prefix local temporary variable name with gl_.
6446
6447         doc: fix typo
6448         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
6449
6450 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6451             Bruno Haible  <bruno@clisp.org>
6452
6453         doc: Tweak recent change.
6454         * README (Portability guidelines): Tweak new text.
6455         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
6456         Interix 6.1.
6457
6458 2011-05-16  Eric Blake  <eblake@redhat.com>
6459
6460         inttypes: avoid autoconf warning
6461         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
6462         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6463
6464 2011-05-16  Sam Steingold <sds@gnu.org>
6465         and Eric Blake  <eblake@redhat.com>
6466
6467         vc-list-files: accept multiple directory operands
6468         * build-aux/vc-list-files: Iterate over all remaining operands.
6469
6470 2011-05-16  Bruno Haible  <bruno@clisp.org>
6471
6472         Fix confusion regarding deprecated modules.
6473         * modules/calloc (Status, Notice): Mark module as deprecated, not
6474         obsolete.
6475         * modules/fnmatch-posix (Status, Notice): Likewise.
6476         * modules/getdate (Status, Notice): Likewise.
6477         * modules/getopt (Status, Notice): Likewise.
6478         * modules/malloc (Status, Notice): Likewise.
6479         * modules/pipe (Status, Notice): Likewise.
6480         * modules/realloc (Status, Notice): Likewise.
6481         * modules/rename-dest-slash (Status, Notice): Likewise.
6482         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
6483         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
6484         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
6485         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
6486         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
6487
6488 2011-05-16  Bruno Haible  <bruno@clisp.org>
6489
6490         doc: List the target platforms.
6491         * doc/gnulib-intro.texi (Target Platforms): New section.
6492         * doc/gnulib.texi (Introduction): Update menu.
6493         * README (Portability guidelines): Refer to the new section. Update
6494         statement about oldest supported environment. Remove rationale why
6495         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
6496         unportable C89 function.
6497         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
6498         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
6499
6500 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6501
6502         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
6503
6504 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6505
6506         intprops-tests: new module
6507         * modules/intprops-tests, tests/test-intprops.c: New files.
6508
6509         intprops: add safe, portable integer overflow checking
6510         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
6511         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
6512         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
6513         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
6514         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
6515         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
6516         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
6517         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
6518         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
6519         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
6520         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
6521
6522 2011-05-12  James Youngman  <jay@gnu.org>
6523
6524         Add a test for glibc's Bugzilla bug #12378.
6525         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
6526         doesn't allow the literal matching of a lone "[" (which is
6527         required by POSIX).
6528         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
6529
6530 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
6531
6532         Sync glibc change fixing Bugzilla bug #12378.
6533         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
6534         beginning and fall back to matching as normal character if the
6535         string ends before the matching ']' is found.  This is what POSIX
6536         requires.
6537
6538 2011-05-13  Eric Blake  <eblake@redhat.com>
6539
6540         getcwd-lgpl: relax test for FreeBSD
6541         * doc/posix-functions/getcwd.texi (getcwd): Document portability
6542         issue.
6543         * tests/test-getcwd-lgpl.c (main): Relax test.
6544         Reported by Matthias Bolte.
6545
6546 2011-05-11  Eric Blake  <eblake@redhat.com>
6547
6548         test-fflush: silence compiler warning
6549         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
6550
6551 2011-05-11  Bruno Haible  <bruno@clisp.org>
6552
6553         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
6554         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
6555         * modules/canonicalize (Depends-on): Add 'nocrash'.
6556         * modules/canonicalize-lgpl (Depends-on): Likewise.
6557         * doc/posix-functions/realpath.texi: Update platforms list.
6558         Reported by Ryan Schmidt <ryandesign@macports.org>.
6559
6560 2011-05-11  Bruno Haible  <bruno@clisp.org>
6561
6562         group-member: Declare function in <unistd.h>.
6563         * lib/unistd.in.h (group_member): New declaration.
6564         * lib/group-member.h: Remove file.
6565         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
6566         * tests/test-unistd-c++.cc: Check signature of group_member.
6567         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
6568         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
6569         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
6570         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
6571         HAVE_GROUP_MEMBER.
6572         * modules/group-member (Files): Remove lib/group-member.h.
6573         (Depends-on): Add unistd. Specify conditions.
6574         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6575         (Include): Change to <unistd.h>.
6576         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
6577         HAVE_GROUP_MEMBER.
6578         * NEWS: Mention the change.
6579         * lib/euidaccess.c: Don't include group-member.h.
6580
6581 2011-05-11  Bruno Haible  <bruno@clisp.org>
6582
6583         group-member: Document module.
6584         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
6585         module.
6586
6587 2011-05-11  Bruno Haible  <bruno@clisp.org>
6588
6589         fclose: Fix mistake earlier today.
6590         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
6591
6592 2011-05-11  Eric Blake  <eblake@redhat.com>
6593
6594         fclose: preserve fflush errors
6595         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
6596         Reported by Jim Meyering.
6597
6598         bootstrap: support a prereq of 'rpcgen -' on RHEL5
6599         * build-aux/bootstrap (check_versions): When no specific version
6600         is required, merely check that the app produces an exit status
6601         that indicates its existence.
6602
6603         maint.mk: drop redundant check
6604         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
6605         the same but better.
6606
6607 2011-05-11  Bruno Haible  <bruno@clisp.org>
6608
6609         fclose: Fix possible link error.
6610         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
6611         unregister_shadow_fd. Improve comments.
6612         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
6613         Eric Blake.
6614
6615 2011-05-11  Jim Meyering  <meyering@redhat.com>
6616
6617         maint.mk: improve "can not" detection and generalize rule name
6618         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
6619         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
6620         Use the same technique as in sc_prohibit_doubled_word, so that
6621         we recognize "can not" also when the words are separated by a newline.
6622         Suggested by Eric Blake.
6623         (perl_filename_lineno_text_): Define.  Factored out of...
6624         (prohibit_doubled_word_): ...here.  Use the new definition.
6625         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
6626         (prohibit_undesirable_word_seq_RE_): New overridable variable.
6627         (ignore_undesirable_word_sequence_RE_): New overridable variable.
6628
6629 2011-05-10  Eric Blake  <eblake@redhat.com>
6630
6631         fclose: avoid double close race when possible
6632         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
6633         all but WINDOWS_SOCKETS.
6634
6635 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
6636
6637         openat: correct new comment
6638         * lib/openat-proc.c (openat_proc_name): Correct the comment.
6639
6640 2011-05-10  Jim Meyering  <meyering@redhat.com>
6641
6642         openat: add comments
6643         * lib/openat-proc.c (openat_proc_name): Add comments,
6644         mostly from Eric Blake.
6645
6646 2011-05-09  Eric Blake  <eblake@redhat.com>
6647
6648         openat: reduce syscalls in first probe of /proc
6649         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
6650         be a directory.  Simplify the probe for .. bugs.
6651         * modules/openat (Depends-on): Drop same-inode.
6652         Reported by Bastien ROUCARIES.
6653
6654 2011-05-09  Jim Meyering  <meyering@redhat.com>
6655
6656         maint.mk: change semantics/name of tight_scope variables
6657         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
6658         Rename variables to align with semantics that make them more useful.
6659
6660         maint.mk: tweak new rule's name not to impinge
6661         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
6662         (sc_tight_scope): Use new rule name rather than $@-0.
6663
6664         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
6665         * top/maint.mk (sc_tight_scope): New rule.
6666         (sc_tight_scope-0): New rule, ifdef'd out.
6667         (_gl_TS_dir): Default.
6668         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
6669         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
6670
6671 2011-05-09  Simon Josefsson  <simon@josefsson.org>
6672
6673         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
6674         Haible <bruno@clisp.org>.
6675
6676 2011-05-08  Bruno Haible  <bruno@clisp.org>
6677
6678         Comments.
6679         * m4/isnanf.m4: Add comment.
6680         * m4/isnanl.m4: Likewise.
6681
6682 2011-05-08  Bruno Haible  <bruno@clisp.org>
6683
6684         glob: Remove obsolete macro.
6685         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
6686
6687 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6688
6689         intprops: Sun C 5.11 supports __typeof__
6690         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
6691         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
6692         which is new.
6693         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
6694
6695         intprops: switch to usual gnulib indenting and naming
6696         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
6697         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
6698
6699         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
6700
6701 2011-05-08  Jim Meyering  <meyering@redhat.com>
6702
6703         maint.mk: suppress "Entering/Leaving directory" diag in announcement
6704         * top/maint.mk (release-prep): Use make's --no-print-directory
6705         option when generating the announcement.  This eliminates the
6706         pesky "make[2]: Entering/Leaving directory" diagnostics in the
6707         generated announcement template.
6708
6709 2011-05-08  Bruno Haible  <bruno@clisp.org>
6710
6711         tzset: Fix gettimeofday wrapper on Solaris 2.6.
6712         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
6713         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
6714
6715 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
6716
6717         ignore-value, verify: Omit include files from lib_SOURCES.
6718         * modules/ignore-value, modules/verify (Makefile.am):
6719         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
6720         that leads Automake to duplicate use of am__objects_... variables
6721         in Makefile.in.  See
6722         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
6723
6724 2011-05-07  Bruno Haible  <bruno@clisp.org>
6725
6726         fclose: Simplify autoconf macro.
6727         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
6728         defined.
6729
6730 2011-05-07  Bruno Haible  <bruno@clisp.org>
6731
6732         canonicalize-lgpl: Fix autoconf macro ordering bug.
6733         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
6734         gl_STDLIB_H_DEFAULTS.
6735
6736 2011-05-06  Eric Blake  <eblake@redhat.com>
6737
6738         maintainer-makefile: make sc_po_check easier to tune
6739         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
6740         to probe for strings, such as an alternate location for gnulib.
6741
6742         fclose: guarantee behavior on seekable stdin
6743         * modules/fclose (Depends-on): Add fflush.
6744         * doc/posix-functions/fclose.texi (fclose): Document this.
6745         * tests/test-fclose.c (main): Make test for this unconditional.
6746
6747 2011-05-06  Bruno Haible  <bruno@clisp.org>
6748
6749         fflush, fpurge: Relicense under LGPLv2+.
6750         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
6751         * modules/fpurge (License): Likewise.
6752         With permission from Eric Blake and Jim Meyering.
6753         Suggested by Eric Blake.
6754
6755 2011-05-06  Karl Berry  <karl@gnu.org>
6756
6757         * MODULES.html.sh (func_all_modules): remove exit.
6758
6759 2011-05-06  Jim Meyering  <meyering@redhat.com>
6760
6761         maint.mk: use info-gnu@ as the default only for a stable release
6762         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
6763         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
6764         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
6765         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
6766
6767 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6768
6769         assert-h: new module, which supports C1X-style static_assert
6770         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
6771         * lib/verify.h: Revamp so that this can be copied into assert.h,
6772         while retaining the ability to use it standalone as before.
6773         Rename private identifiers so as not to encroach on the
6774         standard C namespace, since this is now used by assert.h.
6775         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
6776         the old verify_true.
6777         (_GL_VERIFY_TRUE): New macro, with much of the contents of
6778         the old verify_true.  Use _GL_VERIFY_TYPE.
6779         (_GL_VERIFY): New macro, with much of the contents of the old verify.
6780         (static_assert): New macro, if _GL_STATIC_ASSERT_H
6781         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
6782         defined when this file is copied into the replacement assert.h.
6783         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
6784         and _Static_assert is not built in.
6785         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
6786         defined, and use the new macros mentioned above.
6787         * doc/posix-headers/assert.texi: Document this.
6788
6789 2011-05-05  Bruno Haible  <bruno@clisp.org>
6790
6791         fclose, fflush: Respect rules for use of AC_LIBOBJ.
6792         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
6793         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
6794         gl_REPLACE_FCLOSE here.
6795         * modules/fflush (Depends-on): Remove fclose.
6796         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
6797         combination with module 'fclose'.
6798
6799 2011-05-05  Bruno Haible  <bruno@clisp.org>
6800
6801         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
6802         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
6803         gl_FUNC_FFLUSH.
6804         (gl_FUNC_FFLUSH): Use it.
6805         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
6806         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
6807         gl_REPLACE_FSEEKO here.
6808
6809 2011-05-05  Bruno Haible  <bruno@clisp.org>
6810
6811         tzset: Relicense under LGPL.
6812         * modules/tzset (License): Change to LGPL.
6813         No agreement needed; it's a no-op.
6814
6815         strtoimax, strtoumax: Relicense under LGPL.
6816         * modules/strtoimax (License): Change to LGPL.
6817         * modules/strtoumax (License): Likewise.
6818         With permission from Jim Meyering, Paul Eggert:
6819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
6820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
6821
6822         getgroups: Relicense under LGPL.
6823         * modules/getgroups (License): Change to LGPL.
6824         With permission from Jim Meyering, Paul Eggert, Eric Blake:
6825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6827         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6828
6829         nanosleep: Relicense under LGPL.
6830         * modules/nanosleep (License): Change to LGPL.
6831         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
6832         Haible:
6833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6836         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6837
6838         futimens: Relicense under LGPL.
6839         * modules/futimens (License): Change to LGPL.
6840         With permission from Eric Blake:
6841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6842
6843         fflush: Relicense under LGPL.
6844         * modules/fflush (License): Change to LGPL.
6845         With permission from Eric Blake, Bruno Haible, Jim Meyering:
6846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6847         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
6849
6850         tmpfile: Relicense under LGPL.
6851         * modules/tmpfile (License): Change to LGPL.
6852         With permission from Ben Pfaff:
6853         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6854
6855         isfinite: Relicense under LGPL.
6856         * modules/isfinite (License): Change to LGPL.
6857         With permission from Ben Pfaff, Bruno Haible:
6858         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
6860
6861         acosl..tanl: Relicense under LGPL.
6862         * modules/acosl (License): Change to LGPL.
6863         * modules/asinl (License): Likewise.
6864         * modules/atanl (License): Likewise.
6865         * modules/cosl (License): Likewise.
6866         * modules/expl (License): Likewise.
6867         * modules/logl (License): Likewise.
6868         * modules/sinl (License): Likewise.
6869         * modules/sqrtl (License): Likewise.
6870         * modules/tanl (License): Likewise.
6871         Source code originally from glibc and Paolo Bonzini. Agreements:
6872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
6873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
6874
6875 2011-05-05  Bruno Haible  <bruno@clisp.org>
6876
6877         signal: Define sighandler_t.
6878         * lib/signal.in.h (sighandler_t): New type.
6879         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
6880         whether sighandler_t is defined.
6881         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
6882         * modules/signal (Depends-on): Add extensions.
6883         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
6884         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
6885         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
6886
6887 2011-05-05  Eric Blake  <eblake@redhat.com>
6888
6889         maint: remove useless REPLACE_*_H macros
6890         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
6891         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
6892         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
6893         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
6894         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
6895         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
6896         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
6897         * m4/btowc.m4: Update callers.
6898         * m4/dirfd.m4: Likewise.
6899         * m4/duplocale.m4: Likewise.
6900         * m4/fchdir.m4: Likewise.
6901         * m4/fdopendir.m4: Likewise.
6902         * m4/inet_ntop.m4: Likewise.
6903         * m4/inet_pton.m4: Likewise.
6904         * m4/ioctl.m4: Likewise.
6905         * m4/mbrlen.m4: Likewise.
6906         * m4/mbrtowc.m4: Likewise.
6907         * m4/mbsinit.m4: Likewise.
6908         * m4/mbsnrtowcs.m4: Likewise.
6909         * m4/mbsrtowcs.m4: Likewise.
6910         * m4/poll.m4: Likewise.
6911         * m4/setlocale.m4: Likewise.
6912         * m4/wcrtomb.m4: Likewise.
6913         * m4/wcsnrtombs.m4: Likewise.
6914         * m4/wcsrtombs.m4: Likewise.
6915         * m4/wctob.m4: Likewise.
6916         * m4/wcwidth.m4: Likewise.
6917         * modules/posix_spawn: Likewise.
6918         * modules/posix_spawn_file_actions_addclose: Likewise.
6919         * modules/posix_spawn_file_actions_adddup2: Likewise.
6920         * modules/posix_spawn_file_actions_addopen: Likewise.
6921         * modules/posix_spawn_file_actions_destroy: Likewise.
6922         * modules/posix_spawn_file_actions_init: Likewise.
6923         * modules/posix_spawnattr_destroy: Likewise.
6924         * modules/posix_spawnattr_getflags: Likewise.
6925         * modules/posix_spawnattr_getpgroup: Likewise.
6926         * modules/posix_spawnattr_getschedparam: Likewise.
6927         * modules/posix_spawnattr_getschedpolicy: Likewise.
6928         * modules/posix_spawnattr_getsigdefault: Likewise.
6929         * modules/posix_spawnattr_getsigmask: Likewise.
6930         * modules/posix_spawnattr_init: Likewise.
6931         * modules/posix_spawnattr_setflags: Likewise.
6932         * modules/posix_spawnattr_setpgroup: Likewise.
6933         * modules/posix_spawnattr_setschedparam: Likewise.
6934         * modules/posix_spawnattr_setschedpolicy: Likewise.
6935         * modules/posix_spawnattr_setsigdefault: Likewise.
6936         * modules/posix_spawnattr_setsigmask: Likewise.
6937         * modules/posix_spawnp: Likewise.
6938
6939 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
6940
6941         Add option to do-release-commit-and-tag to specify branch.
6942         * build-aux/do-release-commit-and-tag: Add --branch.
6943
6944 2011-05-03  Bruno Haible  <bruno@clisp.org>
6945
6946         Avoid unnecessary compilation units, through conditional dependencies.
6947         * modules/accept (Depends-on): Add conditions to the dependencies.
6948         * modules/acosl (Depends-on): Likewise.
6949         * modules/argz (Depends-on): Likewise.
6950         * modules/asinl (Depends-on): Likewise.
6951         * modules/atanl (Depends-on): Likewise.
6952         * modules/atoll (Depends-on): Likewise.
6953         * modules/bind (Depends-on): Likewise.
6954         * modules/btowc (Depends-on): Likewise.
6955         * modules/canonicalize-lgpl (Depends-on): Likewise.
6956         * modules/ceil (Depends-on): Likewise.
6957         * modules/ceilf (Depends-on): Likewise.
6958         * modules/ceill (Depends-on): Likewise.
6959         * modules/chdir-long (Depends-on): Likewise.
6960         * modules/chown (Depends-on): Likewise.
6961         * modules/close (Depends-on): Likewise.
6962         * modules/connect (Depends-on): Likewise.
6963         * modules/cosl (Depends-on): Likewise.
6964         * modules/dirfd (Depends-on): Likewise.
6965         * modules/dprintf (Depends-on): Likewise.
6966         * modules/dprintf-posix (Depends-on): Likewise.
6967         * modules/error (Depends-on): Likewise.
6968         * modules/euidaccess (Depends-on): Likewise.
6969         * modules/expl (Depends-on): Likewise.
6970         * modules/faccessat (Depends-on): Likewise.
6971         * modules/fchdir (Depends-on): Likewise.
6972         * modules/fclose (Depends-on): Likewise.
6973         * modules/fcntl (Depends-on): Likewise.
6974         * modules/fdopendir (Depends-on): Likewise.
6975         * modules/fflush (Depends-on): Likewise.
6976         * modules/floor (Depends-on): Likewise.
6977         * modules/floorf (Depends-on): Likewise.
6978         * modules/floorl (Depends-on): Likewise.
6979         * modules/fnmatch (Depends-on): Likewise.
6980         * modules/fopen (Depends-on): Likewise.
6981         * modules/fprintf-posix (Depends-on): Likewise.
6982         * modules/frexp (Depends-on): Likewise.
6983         * modules/frexp-nolibm (Depends-on): Likewise.
6984         * modules/frexpl (Depends-on): Likewise.
6985         * modules/frexpl-nolibm (Depends-on): Likewise.
6986         * modules/fseek (Depends-on): Likewise.
6987         * modules/fsusage (Depends-on): Likewise.
6988         * modules/ftell (Depends-on): Likewise.
6989         * modules/ftello (Depends-on): Likewise.
6990         * modules/futimens (Depends-on): Likewise.
6991         * modules/getcwd (Depends-on): Likewise.
6992         * modules/getcwd-lgpl (Depends-on): Likewise.
6993         * modules/getdelim (Depends-on): Likewise.
6994         * modules/getdomainname (Depends-on): Likewise.
6995         * modules/getgroups (Depends-on): Likewise.
6996         * modules/gethostname (Depends-on): Likewise.
6997         * modules/getline (Depends-on): Likewise.
6998         * modules/getlogin_r (Depends-on): Likewise.
6999         * modules/getopt-posix (Depends-on): Likewise.
7000         * modules/getpeername (Depends-on): Likewise.
7001         * modules/getsockname (Depends-on): Likewise.
7002         * modules/getsockopt (Depends-on): Likewise.
7003         * modules/getsubopt (Depends-on): Likewise.
7004         * modules/getusershell (Depends-on): Likewise.
7005         * modules/glob (Depends-on): Likewise.
7006         * modules/grantpt (Depends-on): Likewise.
7007         * modules/iconv_open (Depends-on): Likewise.
7008         * modules/iconv_open-utf (Depends-on): Likewise.
7009         * modules/inet_ntop (Depends-on): Likewise.
7010         * modules/inet_pton (Depends-on): Likewise.
7011         * modules/ioctl (Depends-on): Likewise.
7012         * modules/isapipe (Depends-on): Likewise.
7013         * modules/isfinite (Depends-on): Likewise.
7014         * modules/isinf (Depends-on): Likewise.
7015         * modules/lchown (Depends-on): Likewise.
7016         * modules/ldexpl (Depends-on): Likewise.
7017         * modules/link (Depends-on): Likewise.
7018         * modules/linkat (Depends-on): Likewise.
7019         * modules/listen (Depends-on): Likewise.
7020         * modules/logl (Depends-on): Likewise.
7021         * modules/lstat (Depends-on): Likewise.
7022         * modules/mbrlen (Depends-on): Likewise.
7023         * modules/mbrtowc (Depends-on): Likewise.
7024         * modules/mbsinit (Depends-on): Likewise.
7025         * modules/mbsnrtowcs (Depends-on): Likewise.
7026         * modules/mbsrtowcs (Depends-on): Likewise.
7027         * modules/mbtowc (Depends-on): Likewise.
7028         * modules/memcmp (Depends-on): Likewise.
7029         * modules/mkdir (Depends-on): Likewise.
7030         * modules/mkdtemp (Depends-on): Likewise.
7031         * modules/mkfifo (Depends-on): Likewise.
7032         * modules/mkfifoat (Depends-on): Likewise.
7033         * modules/mknod (Depends-on): Likewise.
7034         * modules/mkostemp (Depends-on): Likewise.
7035         * modules/mkostemps (Depends-on): Likewise.
7036         * modules/mkstemp (Depends-on): Likewise.
7037         * modules/mkstemps (Depends-on): Likewise.
7038         * modules/mktime (Depends-on): Likewise.
7039         * modules/nanosleep (Depends-on): Likewise.
7040         * modules/open (Depends-on): Likewise.
7041         * modules/openat (Depends-on): Likewise.
7042         * modules/perror (Depends-on): Likewise.
7043         * modules/poll (Depends-on): Likewise.
7044         * modules/popen (Depends-on): Likewise.
7045         * modules/posix_spawn (Depends-on): Likewise.
7046         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
7047         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
7048         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
7049         * modules/posix_spawnp (Depends-on): Likewise.
7050         * modules/pread (Depends-on): Likewise.
7051         * modules/printf-posix (Depends-on): Likewise.
7052         * modules/ptsname (Depends-on): Likewise.
7053         * modules/putenv (Depends-on): Likewise.
7054         * modules/pwrite (Depends-on): Likewise.
7055         * modules/readline (Depends-on): Likewise.
7056         * modules/readlink (Depends-on): Likewise.
7057         * modules/readlinkat (Depends-on): Likewise.
7058         * modules/recv (Depends-on): Likewise.
7059         * modules/recvfrom (Depends-on): Likewise.
7060         * modules/regex (Depends-on): Likewise.
7061         * modules/remove (Depends-on): Likewise.
7062         * modules/rename (Depends-on): Likewise.
7063         * modules/renameat (Depends-on): Likewise.
7064         * modules/rmdir (Depends-on): Likewise.
7065         * modules/round (Depends-on): Likewise.
7066         * modules/roundf (Depends-on): Likewise.
7067         * modules/roundl (Depends-on): Likewise.
7068         * modules/rpmatch (Depends-on): Likewise.
7069         * modules/select (Depends-on): Likewise.
7070         * modules/send (Depends-on): Likewise.
7071         * modules/sendto (Depends-on): Likewise.
7072         * modules/setenv (Depends-on): Likewise.
7073         * modules/setlocale (Depends-on): Likewise.
7074         * modules/setsockopt (Depends-on): Likewise.
7075         * modules/shutdown (Depends-on): Likewise.
7076         * modules/sigaction (Depends-on): Likewise.
7077         * modules/signbit (Depends-on): Likewise.
7078         * modules/sigprocmask (Depends-on): Likewise.
7079         * modules/sinl (Depends-on): Likewise.
7080         * modules/sleep (Depends-on): Likewise.
7081         * modules/snprintf (Depends-on): Likewise.
7082         * modules/snprintf-posix (Depends-on): Likewise.
7083         * modules/socket (Depends-on): Likewise.
7084         * modules/sprintf-posix (Depends-on): Likewise.
7085         * modules/sqrtl (Depends-on): Likewise.
7086         * modules/stat (Depends-on): Likewise.
7087         * modules/strchrnul (Depends-on): Likewise.
7088         * modules/strdup-posix (Depends-on): Likewise.
7089         * modules/strerror (Depends-on): Likewise.
7090         * modules/strerror_r-posix (Depends-on): Likewise.
7091         * modules/strndup (Depends-on): Likewise.
7092         * modules/strnlen (Depends-on): Likewise.
7093         * modules/strptime (Depends-on): Likewise.
7094         * modules/strsep (Depends-on): Likewise.
7095         * modules/strsignal (Depends-on): Likewise.
7096         * modules/strstr-simple (Depends-on): Likewise.
7097         * modules/strtod (Depends-on): Likewise.
7098         * modules/strtoimax (Depends-on): Likewise.
7099         * modules/strtok_r (Depends-on): Likewise.
7100         * modules/strtoumax (Depends-on): Likewise.
7101         * modules/symlink (Depends-on): Likewise.
7102         * modules/symlinkat (Depends-on): Likewise.
7103         * modules/tanl (Depends-on): Likewise.
7104         * modules/tcgetsid (Depends-on): Likewise.
7105         * modules/tmpfile (Depends-on): Likewise.
7106         * modules/trunc (Depends-on): Likewise.
7107         * modules/truncf (Depends-on): Likewise.
7108         * modules/truncl (Depends-on): Likewise.
7109         * modules/uname (Depends-on): Likewise.
7110         * modules/unlink (Depends-on): Likewise.
7111         * modules/unlockpt (Depends-on): Likewise.
7112         * modules/unsetenv (Depends-on): Likewise.
7113         * modules/usleep (Depends-on): Likewise.
7114         * modules/utimensat (Depends-on): Likewise.
7115         * modules/vasprintf (Depends-on): Likewise.
7116         * modules/vdprintf (Depends-on): Likewise.
7117         * modules/vdprintf-posix (Depends-on): Likewise.
7118         * modules/vfprintf-posix (Depends-on): Likewise.
7119         * modules/vprintf-posix (Depends-on): Likewise.
7120         * modules/vsnprintf (Depends-on): Likewise.
7121         * modules/vsnprintf-posix (Depends-on): Likewise.
7122         * modules/vsprintf-posix (Depends-on): Likewise.
7123         * modules/wcrtomb (Depends-on): Likewise.
7124         * modules/wcscasecmp (Depends-on): Likewise.
7125         * modules/wcscspn (Depends-on): Likewise.
7126         * modules/wcsdup (Depends-on): Likewise.
7127         * modules/wcsncasecmp (Depends-on): Likewise.
7128         * modules/wcsnrtombs (Depends-on): Likewise.
7129         * modules/wcspbrk (Depends-on): Likewise.
7130         * modules/wcsrtombs (Depends-on): Likewise.
7131         * modules/wcsspn (Depends-on): Likewise.
7132         * modules/wcsstr (Depends-on): Likewise.
7133         * modules/wcstok (Depends-on): Likewise.
7134         * modules/wcswidth (Depends-on): Likewise.
7135         * modules/wctob (Depends-on): Likewise.
7136         * modules/wctomb (Depends-on): Likewise.
7137         * modules/wctype (Depends-on): Likewise.
7138         * modules/wcwidth (Depends-on): Likewise.
7139         * modules/write (Depends-on): Likewise.
7140
7141 2011-05-03  Bruno Haible  <bruno@clisp.org>
7142
7143         Support for conditional dependencies.
7144         * doc/gnulib.texi (Module description): Document the syntax of
7145         conditional dependencies.
7146         * gnulib-tool: New option --conditional-dependencies.
7147         (func_usage): Document it.
7148         (cond_dependencies): New variable.
7149         (func_get_automake_snippet_conditional,
7150         func_get_automake_snippet_unconditional): New functions, extracted from
7151         func_get_automake_snippet.
7152         (func_get_automake_snippet): Use them.
7153         (sed_first_32_chars): New variable.
7154         (func_module_shellfunc_name): New function.
7155         (func_module_shellvar_name): New function.
7156         (func_module_conditional_name): New function.
7157         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
7158         func_cond_module_condition): New functions.
7159         (func_modules_transitive_closure): Add support for conditional
7160         dependencies.
7161         (func_emit_lib_Makefile_am): For a conditional module, enclose the
7162         conditional automake snippet in an automake conditional.
7163         (func_emit_autoconf_snippets): Emit shell functions that contain the
7164         code for conditional modules.
7165         (func_import, func_create_testdir): Update specification.
7166
7167 2011-05-03  Eric Blake  <eblake@redhat.com>
7168
7169         test-getaddrinfo: report error information
7170         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
7171
7172 2011-05-03  Jim Meyering  <meyering@redhat.com>
7173
7174         bootstrap: avoid build failure when $GZIP is set
7175         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
7176         program name.  If defined at all, it is supposed to list gzip options.
7177         Reported by Alan Curry in http://debbugs.gnu.org/8609
7178
7179 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
7180
7181         readme-release: new module with release instructions
7182         * modules/readme-release: New module.
7183         * top/README-release: New file, from coreutils, grep, diffutils.
7184         * MODULES.html.sh (Support for maintaining and releasing): Add it.
7185
7186 2011-05-02  Eric Blake  <eblake@redhat.com>
7187
7188         fflush: also replace fclose when fixing fflush
7189         * modules/fflush (Depends-on): Add fclose.
7190         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
7191         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
7192         memstreams with no backing fd.
7193         * doc/posix-functions/fclose.texi (fclose): Document the use of
7194         fflush module to fix the bug.
7195         * tests/test-fclose.c (main): Relax test when fclose is used in
7196         isolation.
7197
7198         fclose: add some tests
7199         * modules/fclose-tests: New test module.
7200         * tests/test-fclose.c: New file.
7201         * doc/posix-functions/fclose.texi (fclose): Document the bug.
7202
7203         fclose: reduced dependencies
7204         * modules/fclose (Depends-on): Switch from fflush/fseeko to
7205         simpler lseek.
7206         * lib/fclose.c (rpl_fclose): Likewise.
7207         Reported by Simon Josefsson.
7208
7209         exit: drop remaining clients
7210         * modules/argmatch (Depends-on): Replace exit with stdlib.
7211         * modules/copy-file (Depends-on): Likewise.
7212         * modules/execute (Depends-on): Likewise.
7213         * modules/exitfail (Depends-on): Likewise.
7214         * modules/obstack (Depends-on): Likewise.
7215         * modules/pagealign_alloc (Depends-on): Likewise.
7216         * modules/pipe-filter-gi (Depends-on): Likewise.
7217         * modules/pipe-filter-ii (Depends-on): Likewise.
7218         * modules/savewd (Depends-on): Likewise.
7219         * modules/spawn-pipe (Depends-on): Likewise.
7220         * modules/wait-process (Depends-on): Likewise.
7221         * modules/xsetenv (Depends-on): Likewise.
7222         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
7223         * modules/git-merge-changelog (Depends-on): Likewise.
7224         * modules/long-options (Depends-on): Likewise.
7225         * modules/pt_chown (Depends-on): Likewise.
7226         * modules/sysexits (Depends-on): Likewise.
7227
7228         freading: relax license from LGPLv3+ to LGPLv2+
7229         * modules/freading (License): Relax LGPL version.
7230
7231 2011-05-02  Bruno Haible  <bruno@clisp.org>
7232
7233         fchdir: Remove unused dependencies.
7234         * modules/fchdir (Depends-on): Remove include_next.
7235
7236 2011-05-02  Bruno Haible  <bruno@clisp.org>
7237
7238         gnulib-tool: Refactor.
7239         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
7240         from func_emit_autoconf_snippets.
7241         (func_emit_autoconf_snippets): Use it.
7242
7243 2011-05-02  Simon Josefsson  <simon@josefsson.org>
7244
7245         * NEWS: Document removal of 'exit'.
7246         * modules/exit: Remove file.
7247
7248 2011-05-01  Bruno Haible  <bruno@clisp.org>
7249
7250         Update DEPENDENCIES.
7251         * DEPENDENCIES (gettext): Recommend the newest release.
7252         Reported by Simon Josefsson.
7253
7254 2011-05-01  Bruno Haible  <bruno@clisp.org>
7255
7256         gnulib-tool: Reduce code duplication.
7257         * gnulib-tool (func_emit_autoconf_snippets): New function.
7258         (func_import, func_create_testdir): Use it.
7259
7260 2011-04-30  Eric Blake  <eblake@redhat.com>
7261
7262         fclose: don't fail on non-seekable input stream
7263         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
7264         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
7265         since fflush is allowed to fail in that case.
7266
7267 2011-04-30  Bruno Haible  <bruno@clisp.org>
7268
7269         dup3: cleanup
7270         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
7271
7272 2011-04-30  Bruno Haible  <bruno@clisp.org>
7273
7274         netdb: Make it work in C++ mode.
7275         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
7276         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
7277         module.
7278         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
7279         gl_MODULE_INDICATOR_FOR_TESTS.
7280         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
7281         * modules/netdb-c++-tests: New file.
7282         * tests/test-netdb-c++.cc: New file.
7283
7284 2011-04-30  Bruno Haible  <bruno@clisp.org>
7285
7286         New modules 'vfscanf', 'vscanf'.
7287         * modules/vfscanf: New file.
7288         * modules/vscanf: New file.
7289         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
7290         here.
7291         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
7292         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
7293
7294 2011-04-30  Bruno Haible  <bruno@clisp.org>
7295
7296         passfd: Add comments.
7297         * lib/passfd.c: Add comments about platforms.
7298
7299 2011-04-30  Bruno Haible  <bruno@clisp.org>
7300
7301         sys_uio: Make <sys/uio.h> self-contained.
7302         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
7303         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
7304
7305 2011-04-30  Bruno Haible  <bruno@clisp.org>
7306
7307         sys_socket: Ensure 'struct iovec' definition.
7308         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
7309         <sys/socket.h>.
7310         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
7311
7312 2011-04-30  Bruno Haible  <bruno@clisp.org>
7313
7314         sys_uio: Protect definition of 'struct iovec'.
7315         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
7316         it as a C struct.
7317
7318 2011-04-30  Bruno Haible  <bruno@clisp.org>
7319
7320         manywarnings: fix indentation
7321         * m4/manywarnings.m4: Indent by 2 spaces consistently.
7322
7323 2011-04-30  Pádraig Brady <P@draigBrady.com>
7324
7325         manywarnings: add -Wno-missing-field-initializers if needed.
7326         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
7327         option if it's needed to allow initialization with { 0, }
7328
7329 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
7330
7331         announce-gen: cosmetic improvement
7332         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
7333
7334 2011-04-29  Jim Meyering  <meyering@redhat.com>
7335
7336         vc-list-files: indent with spaces, not TABs
7337         * build-aux/vc-list-files: Convert leading TABs to spaces,
7338         to match the style of most other files in gnulib.
7339
7340         announce-gen: indent with spaces, not TABs
7341         * build-aux/announce-gen: Convert all TABs to spaces, to match
7342         the style of most other files in gnulib.
7343
7344 2011-04-29  Eric Blake  <eblake@redhat.com>
7345
7346         quotearg: avoid uninitialized variable use
7347         * lib/quotearg.c (quoting_options_from_style): Initialize
7348         remaining fields, and ensure that custom styles are only used via
7349         quoting_options rather than quoting_style.
7350
7351 2011-04-29  Jim Meyering  <meyering@redhat.com>
7352
7353         maint.mk: remove unused VC-tag variable
7354         * top/maint.mk (VC-tag): Remove unused variable.
7355
7356 2011-04-29  Bruno Haible  <bruno@clisp.org>
7357
7358         netdb: fix gai_strerror replacements
7359         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
7360         * modules/netdb: Substitute it.
7361
7362 2011-04-29  Jim Meyering  <meyering@redhat.com>
7363
7364         test-getcwd.c: avoid new set-but-not-used warning
7365         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
7366         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
7367         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
7368         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
7369
7370         test-hash.c: avoid a new shadowing warning
7371         * tests/test-hash.c (main): Don't shadow "dup".
7372
7373 2011-04-28  Eric Blake  <eblake@redhat.com>
7374
7375         getaddrinfo: fix gai_strerror signature
7376         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
7377         and work around mingw with UNICODE defined.
7378         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
7379         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
7380         * modules/netdb (Makefile.am): Substitute it.
7381         * lib/netdb.in.h (gai_strerror): Declare replacement.
7382         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
7383         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
7384         the fix.
7385
7386         getsockopt: avoid compiler warning
7387         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
7388         Reported by Matthias Bolte.
7389
7390         tests: drop unused link dependency
7391         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
7392         * modules/dirent-safer-tests (Makefile.am): Likewise.
7393         * modules/fdopendir-tests (Makefile.am): Likewise.
7394         * modules/mkfifoat-tests (Makefile.am): Likewise.
7395         * modules/openat-safer-tests (Makefile.am): Likewise.
7396         * modules/openat-tests (Makefile.am): Likewise.
7397         * modules/readlinkat-tests (Makefile.am): Likewise.
7398         * modules/symlinkat-tests (Makefile.am): Likewise.
7399         * modules/linkat-tests (Makefile.am): Likewise.
7400         (Depends-on): Switch to filenamecat-lgpl.
7401         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
7402         LIBINTL.
7403         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
7404         * tests/test-linkat.c (main): Don't require xalloc.
7405
7406         hash, mgetgroups: drop xalloc dependency
7407         * lib/hash.c (includes): Adjust includes.
7408         * lib/mgetgroups.c (includes): Likewise.
7409         (xgetgroups): Move...
7410         * lib/xgetgroups.c: ...to new file.
7411         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
7412         * modules/xgetgroups: New file, split from...
7413         * modules/mgetgroups: ...here.
7414         (Depends-on): Add xalloc-oversized.
7415         * modules/hash (Depends-on): Likewise.
7416         * modules/hash-tests (Depends-on): Drop xalloc.
7417         (test_hash_LDADD): Drop unused library.
7418         * tests/test-hash.c (main): Break xalloc dependency.
7419         (includes): Drop unused include.
7420
7421         xalloc-oversized: new module
7422         * modules/xalloc-oversized: New module.
7423         * modules/xalloc (Depends-on): Add it.
7424         * lib/xalloc.h (xalloc_oversized): Move...
7425         * lib/xalloc-oversized.h: ...into new file.
7426
7427         utimecmp: drop dependency on xmalloc
7428         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
7429         due to memory pressure.
7430         * modules/utimecmp (Depends-on): Drop xalloc.
7431
7432 2011-04-27  Eric Blake  <eblake@redhat.com>
7433
7434         getcwd: fix mingw bugs
7435         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
7436         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
7437         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
7438
7439 2011-04-27  Bruno Haible  <bruno@clisp.org>
7440
7441         mkstemps: Ensure declaration on MacOS X 10.5.
7442         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
7443         * doc/glibc-functions/mkstemps.texi: Document header file problem on
7444         MacOS X.
7445
7446 2011-04-27  Bruno Haible  <bruno@clisp.org>
7447
7448         mkstemp: More documentation.
7449         * doc/posix-functions/mkstemp.texi: Document header file problem on
7450         MacOS X.
7451
7452 2011-04-27  Bruno Haible  <bruno@clisp.org>
7453
7454         mkstemp: Tweak configure message when cross-compiling.
7455         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
7456         result as a guess.
7457
7458 2011-04-27  Bruno Haible  <bruno@clisp.org>
7459
7460         clean-temp: Clarify what it does.
7461         * lib/clean-temp.h: Add more comments.
7462         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
7463         module.
7464         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
7465         * doc/glibc-functions/mkstemps.texi: Likewise.
7466         * doc/glibc-functions/mkostemps.texi: Likewise.
7467
7468 2011-04-27  Eric Blake  <eblake@redhat.com>
7469
7470         fchdir: avoid extra chdir and fix test
7471         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
7472         getcwd-lgpl.
7473         * lib/fchdir.c (get_name): Any absolute name will do; it does not
7474         have to be canonical.
7475         (canonicalize_file_name): Drop unused macro.
7476         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
7477
7478         filenamecat-lgpl: fix licence
7479         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
7480         when it was first created.
7481
7482         linkat, renameat: add missing dependency
7483         * modules/linkat (Depends-on): Require getcwd-lgpl.
7484         * modules/renameat (Depends-on): Likewise.
7485
7486         tests: reduce dependencies
7487         * tests/test-linkat.c (main): Use lighter-weight getcwd.
7488         * tests/test-renameat.c (main): Likewise.
7489         * modules/linkat-tests (Depends-on): Relax dependency.
7490         * modules/renameat-tests (Depends-on): Likewise.
7491         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
7492         dependency explicit.
7493
7494         save-cwd: reduce default dependency
7495         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
7496         * lib/save-cwd.c: Update comments.
7497         * NEWS: Document the semantic change.
7498
7499         getcwd: enhance tests
7500         * tests/test-getcwd-lgpl.c: New file, taken from...
7501         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
7502         repeat long path stress tests from m4 probe.
7503         * modules/getcwd-lgpl-tests: New module.
7504         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
7505         * m4/getcwd-abort-bug.m4: Update comment.
7506         * m4/getcwd-path-max.m4: Likewise.
7507
7508         getcwd-lgpl: new module
7509         * modules/getcwd-lgpl: New module.
7510         * lib/getcwd-lgpl.c: New file.
7511         * doc/posix-functions/getcwd.texi (getcwd): Document it.
7512         * MODULES.html.sh (lacking POSIX:2008): Likewise.
7513         * modules/getcwd (configure.ac): Set C witness.
7514         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
7515
7516         getcwd: tweak comments
7517         * m4/getcwd-abort-bug.m4: Fix comments.
7518         * m4/getcwd-path-max.m4: Likewise.
7519         * m4/getcwd.m4: Likewise.
7520
7521 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7522         and Eric Blake  <eblake@redhat.com>
7523
7524         mkstemp: replace if system version uses wrong permissions
7525         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
7526         read/write mode bits set in file created by mkstemp.
7527         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
7528
7529 2011-04-27  Eric Blake  <eblake@redhat.com>
7530
7531         passfd: avoid compiler warning
7532         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
7533         Reported by Laine Stump.
7534
7535 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
7536
7537         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
7538         required by the NetBSD (and perhaps other 4.4BSD derived) join.
7539
7540 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7541         and Eric Blake  <eblake@redhat.com>
7542
7543         mkstemp: mention clean-temp module
7544         * lib/mkstemp.c: Add comment.
7545         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
7546
7547 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7548
7549         inttypes: also provide default values for 32-bit tests
7550         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
7551         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
7552
7553 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7554
7555         strtoumax: remove dependency on strtoimax
7556         This is like the strtoull change of yesterday.
7557         * modules/strtoumax (Files): Add lib/strtoimax.c.
7558         (Depends-on): Remove strtoimax and add verify.
7559
7560         inttypes-incomplete: new module
7561         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
7562         all but the PRI* and SCN* parts of gl_INTTYPES_H.
7563         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
7564         of gl_INTTYPES_H.
7565         (gl_INTTYPES_H): Rewrite in terms of these new macros.
7566         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
7567         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
7568         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
7569         * modules/strtoumax, modules/xstrtol (Depends-on):
7570         Depend on inttypes-incomplete, not inttypes.
7571         * modules/inttypes-incomplete: New module, containing the contents
7572         of the old modules/inttypes module, except that the Files: section
7573         omits m4/inttypes-pri.m4, and the configure.ac section invokes
7574         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
7575         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
7576         (Depends-on): Depend only on inttypes-incomplete.
7577         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
7578
7579         inttypes: omit now-redundant strtoimax and strtoumax work
7580         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
7581         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
7582
7583         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
7584         This supports apps that need pointers to strtoimax and strtoumax,
7585         and ports to HP-UX 11.00 64.bit, which has macros that expand to
7586         nonexistent functions.  See
7587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
7588         et seq.
7589         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
7590         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
7591         a macro.
7592         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7593
7594 2011-04-25  Simon Josefsson  <simon@josefsson.org>
7595
7596         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
7597
7598 2011-04-25  Bruno Haible  <bruno@clisp.org>
7599
7600         strtol, strtoul: Mark modules as obsolete.
7601         * modules/strtol (Status, Notice): New sections.
7602         * modules/strtoul (Status, Notice): New sections.
7603
7604 2011-04-25  Bruno Haible  <bruno@clisp.org>
7605
7606         strtod: Remove check for strtod, unless supporting old platforms.
7607         * modules/strtod-obsolete: New file.
7608         * m4/strtod-obsolete.m4: New file.
7609         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
7610         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
7611         * modules/strtod (Depends-on): Add strtod-obsolete.
7612         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
7613
7614 2011-04-25  Bruno Haible  <bruno@clisp.org>
7615
7616         strcase: Make module obsolete.
7617         * modules/strcase (Status, Notice): New sections.
7618
7619 2011-04-25  Bruno Haible  <bruno@clisp.org>
7620
7621         dup2: Remove check for dup2, unless supporting old obsolete platforms.
7622         * modules/dup2-obsolete: New file.
7623         * m4/dup2-obsolete.m4: New file.
7624         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
7625         gl_FUNC_DUP2_OBSOLETE is not also defined.
7626         * modules/dup2 (Depends-on): Add dup2-obsolete.
7627         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
7628
7629 2011-04-25  Bruno Haible  <bruno@clisp.org>
7630
7631         strnlen: Avoid memchr related link error on old obsolete platforms.
7632         * modules/memchr-obsolete: New file.
7633         * m4/memchr-obsolete.m4: New file.
7634         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
7635         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
7636         * modules/memchr (Depends-on): Add memchr-obsolete.
7637         * modules/strnlen (Depends-on): Likewise.
7638         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
7639
7640 2011-04-25  Jim Meyering  <meyering@redhat.com>
7641
7642         maint.mk: makefile_at_at_check extend and clean up
7643         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
7644         in addition to */Makefile.am.
7645         Exempt legitimate uses of @VAR@ notation, e.g.,
7646         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
7647         Remove obsolete coreutils-specific comment.
7648         Prompted by discussion here:
7649         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
7650
7651 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7652
7653         strtoul: remove dependency on strtol
7654         This is so that 'configure' need not check for strtol merely because
7655         the application needs strtoul.
7656         * modules/strtoul (Files): Add lib/strtol.c.
7657         (Depends-on): Remove strtol.
7658
7659         strtoull: remove dependency on strtoul
7660         This is like the strtoll change.
7661         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
7662         (Depends-on): Remove strtoul.
7663
7664         strtoll: remove dependency on strtol
7665         This is so that 'configure' need not check for strtol merely because
7666         the application needs strtoll.
7667         * modules/strtoll (Files): Add lib/strtol.c.
7668         (Depends-on): Remove strtol.
7669
7670 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7671
7672         inttypes: Move some configure check to module 'imaxdiv'.
7673         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
7674         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
7675         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
7676
7677 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7678
7679         inttypes: Move some configure check to module 'imaxabs'.
7680         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
7681         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
7682         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
7683
7684 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7685
7686         inttypes: Remove configure tests that are not needed since 2009-12-31.
7687         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
7688         gl_cv_header_working_inttypes_h.
7689
7690 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7691
7692         * modules/strnlen (Depends-on): Remove memchr.
7693         The strnlen implementation doesn't need the memchr module's fixes; see
7694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
7695
7696         strtol: remove dependency on wchar
7697         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
7698         * modules/strtol (Depends-on): Remove wchar.
7699
7700 2011-04-21  Eric Blake  <eblake@redhat.com>
7701
7702         passfd: fix test regression on Linux
7703         * modules/passfd-tests (configure.ac): Correct socketpair check.
7704
7705         passfd: speed up configure and drop unused code
7706         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
7707         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
7708         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
7709         Instead of probing at configure for unix_scm_rights_bsd44_way,
7710         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
7711         check to a struct member probe.
7712         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
7713         (sendfd, recvfd): Update preprocessor checks.
7714         * modules/passfd (Files): Reflect rename, and drop unused file.
7715         (Depends-on): Drop unused dependency.
7716
7717         passfd: allow compilation on mingw
7718         * modules/sys_socket (Depends-on): Add sys_uio.
7719         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
7720         iovec and a minimal struct msghdr.
7721         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
7722         * tests/test-sys_socket.c (main): Enhance test.
7723         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
7724         guaranteed to provide what we need.
7725         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
7726         * modules/passfd-tests (Depends-on): Add sys_wait.
7727         * tests/test-passfd.c (main): Skip test on mingw, for now.
7728         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
7729         partial 'struct msghdr' implementation.
7730
7731         sys_uio: new module
7732         * modules/sys_uio: New module.
7733         * modules/sys_uio-tests: Likewise.
7734         * lib/sys_uio.in.h: New file.
7735         * m4/sys_uio_h.m4: Likewise.
7736         * tests/test-sys_uio.c: Likewise.
7737         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
7738         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
7739
7740 2011-04-20  Jim Meyering  <meyering@redhat.com>
7741
7742         useless-if-before-free: avoid false-positive
7743         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
7744         disjunct so that it too requires a terminating ";".  Without that,
7745         this script would identify as useless one statement from gcc that
7746         was not:
7747           if (aligned_ptr)
7748             free (((void **) aligned_ptr) [-1]);
7749
7750 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
7751
7752         doc: update users.txt.
7753         * users.txt: Add barcode.
7754
7755 2011-04-19  Bruno Haible  <bruno@clisp.org>
7756
7757         ioctl: Remove link dependency on native Windows.
7758         * lib/fd-hook.h: Renamed from lib/close-hook.h.
7759         (gl_close_fn, gl_ioctl_fn): New types.
7760         (struct fd_hook): Renamed from struct close_hook. Change type of
7761         private_close_fn field. Add private_ioctl_fn field.
7762         (close_hook_fn): Add parameter for primary close method.
7763         (execute_close_hooks, execute_all_close_hooks): Likewise.
7764         (ioctl_hook_fn): New type.
7765         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
7766         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7767         argument.
7768         (unregister_fd_hook): Renamed from unregister_close_hook.
7769         * lib/fd-hook.c: Renamed from lib/close-hook.c.
7770         Don't include <unistd.h>.
7771         (close): Remove undef.
7772         (anchor): Update.
7773         (execute_close_hooks): Add argument for primary close method.
7774         (execute_all_close_hooks): Likewise.
7775         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
7776         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7777         argument. Allow each argument to be NULL.
7778         (unregister_fd_hook): Renamed from unregister_close_hook.
7779         * lib/close.c (rpl_close): Pass 'close' function pointer to
7780         execute_all_close_hooks.
7781         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
7782         (primary_ioctl): New function.
7783         (ioctl): Don't call ioctlsocket here. Instead, call
7784         execute_all_ioctl_hooks.
7785         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
7786         close method.
7787         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
7788         (fd_sockets_hook): Renamed from close_sockets_hook.
7789         (gl_sockets_startup, gl_sockets_cleanup): Update.
7790         * modules/fd-hook: Renamed from modules/close-hook. Update.
7791         * modules/close (Depends-on): Add fd-hook, remove close-hook.
7792         * modules/sockets (Depends-on): Likewise.
7793         * modules/ioctl (Depends-on): Add fd-hook.
7794         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
7795         GNULIB_SOCKET.
7796
7797 2011-04-19  Bruno Haible  <bruno@clisp.org>
7798
7799         Move the support of O_NONBLOCK in open() to the 'open' module.
7800         * modules/nonblocking (Depends-on): Remove 'open'.
7801         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
7802         gl_cv_have_open_O_NONBLOCK.
7803         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
7804         O_NONBLOCK support.
7805         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
7806
7807 2011-04-17  Bruno Haible  <bruno@clisp.org>
7808
7809         pipe2: Simplify code.
7810         * lib/pipe2.c (pipe2): Reduce code duplication.
7811
7812 2011-04-17  Bruno Haible  <bruno@clisp.org>
7813
7814         nonblocking: Add comment.
7815         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
7816
7817 2011-04-17  Bruno Haible  <bruno@clisp.org>
7818
7819         nonblocking: Add tests for sockets.
7820         * tests/test-nonblocking-socket.sh: New file.
7821         * tests/test-nonblocking-socket-main.c: New file.
7822         * tests/test-nonblocking-socket-child.c: New file.
7823         * tests/test-nonblocking-socket.h: New file.
7824         * tests/socket-server.h: New file.
7825         * tests/socket-client.h: New file.
7826         * modules/nonblocking-socket-tests: New file.
7827         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
7828
7829 2011-04-17  Bruno Haible  <bruno@clisp.org>
7830
7831         nonblocking: Add tests for pipes.
7832         * tests/test-nonblocking-pipe.sh: New file.
7833         * tests/test-nonblocking-pipe-main.c: New file.
7834         * tests/test-nonblocking-pipe-child.c: New file.
7835         * tests/test-nonblocking-pipe.h: New file.
7836         * tests/test-nonblocking-writer.h: New file.
7837         * tests/test-nonblocking-reader.h: New file.
7838         * tests/test-nonblocking-misc.h: New file.
7839         * modules/nonblocking-pipe-tests: New file.
7840         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
7841
7842 2011-04-16  Bruno Haible  <bruno@clisp.org>
7843
7844         gettext: Clarify the needed programmer actions.
7845         * modules/gettext (Notice): New field.
7846         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
7847
7848 2011-04-16  Bruno Haible  <bruno@clisp.org>
7849
7850         strchrnul: Tweak last commit.
7851         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
7852         bug.
7853         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
7854         as in _GL_FUNCDECL_SYS.
7855         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
7856         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
7857
7858 2011-04-15  Eric Blake  <eblake@redhat.com>
7859
7860         strchrnul: work around cygwin bug
7861         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
7862         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
7863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
7864         * modules/string (Makefile.am): Substitute it.
7865         * lib/string.in.h (strchrnul): Use it.
7866
7867 2011-04-15  Bruno Haible  <bruno@clisp.org>
7868
7869         Don't require lib/stdio-write.c when only module 'stdio' is used.
7870         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
7871         invocation.
7872         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
7873
7874 2011-04-14  Bruno Haible  <bruno@clisp.org>
7875
7876         Support non-blocking pipe I/O in read() on native Windows.
7877         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
7878         (read): New declaration.
7879         * lib/read.c: New file.
7880         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
7881         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
7882         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
7883         vscanf): New declarations.
7884         * lib/stdio-read.c: New file.
7885         * m4/read.m4: New file.
7886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
7887         REPLACE_READ.
7888         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
7889         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7890         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
7891         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
7892         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
7893         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7894         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7895         * modules/read: New file.
7896         * modules/nonblocking (Files): Add lib/stdio-read.c.
7897         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
7898         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
7899         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7900         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7901         * modules/pread (Depends-on): Add read.
7902         * modules/safe-read (Depends-on): Likewise.
7903         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
7904         gets, scanf, vfscanf, vscanf): Verify signatures.
7905         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
7906         problem with non-blocking pipes.
7907         * doc/posix-functions/fgetc.texi: Likewise.
7908         * doc/posix-functions/fgets.texi: Likewise.
7909         * doc/posix-functions/fread.texi: Likewise.
7910         * doc/posix-functions/fscanf.texi: Likewise.
7911         * doc/posix-functions/getc.texi: Likewise.
7912         * doc/posix-functions/getchar.texi: Likewise.
7913         * doc/posix-functions/gets.texi: Likewise.
7914         * doc/posix-functions/scanf.texi: Likewise.
7915         * doc/posix-functions/vfscanf.texi: Likewise.
7916         * doc/posix-functions/vscanf.texi: Likewise.
7917
7918 2011-04-14  Bruno Haible  <bruno@clisp.org>
7919
7920         Support non-blocking pipe I/O in write() on native Windows.
7921         * lib/write.c (rpl_write): Split a write request that failed merely
7922         because the byte count was larger than the pipe buffer's size.
7923         * doc/posix-functions/write.texi: Mention the problem with large byte
7924         counts.
7925
7926 2011-04-14  Bruno Haible  <bruno@clisp.org>
7927
7928         wchar: Ensure that wchar_t gets defined on uClibc.
7929         * lib/wchar.in.h: On uClibc, include <stddef.h>.
7930         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
7931
7932 2011-04-13  Bruno Haible  <bruno@clisp.org>
7933
7934         safe-write, full-read: Avoid unnecessary compilation units.
7935         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
7936         (Depends-on): Remove safe-read. Add ssize_t.
7937         * modules/full-read (Files): Add lib/full-write.c.
7938         (Depends-on): Add full-write.
7939
7940 2011-04-13  Bruno Haible  <bruno@clisp.org>
7941
7942         Support non-blocking pipe I/O and SIGPIPE in pwrite().
7943         * modules/pwrite (Depends-on): Add 'write'.
7944
7945 2011-04-13  Bruno Haible  <bruno@clisp.org>
7946
7947         Support non-blocking pipe I/O in write() on native Windows.
7948         * lib/unistd.in.h (write): Enable replacement also if
7949         GNULIB_UNISTD_H_NONBLOCKING is 1.
7950         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
7951         (rpl_write): When failing to write on a non-blocking pipe, change
7952         errno from ENOSPC to EAGAIN.
7953         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
7954         putchar, puts, vfprintf, vprintf): Enable replacement also if
7955         GNULIB_STDIO_H_NONBLOCKING is 1.
7956         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
7957         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
7958         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
7959         CALL_WITH_SIGPIPE_EMULATION.
7960         (CALL_WITH_SIGPIPE_EMULATION): Use them.
7961         * m4/nonblocking.m4: New file.
7962         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
7963         for non-blocking I/O support.
7964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7965         GNULIB_UNISTD_H_NONBLOCKING.
7966         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
7967         required for non-blocking I/O support.
7968         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
7969         * modules/nonblocking (Files): Add m4/nonblocking.m4,
7970         lib/stdio-write.c, m4/asm-underscore.m4.
7971         (Depends-on): Add stdio, unistd.
7972         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
7973         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
7974         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
7975         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
7976         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
7977         problem with non-blocking pipes.
7978         * doc/posix-functions/fputc.texi: Likewise.
7979         * doc/posix-functions/fputs.texi: Likewise.
7980         * doc/posix-functions/fwrite.texi: Likewise.
7981         * doc/posix-functions/printf.texi: Likewise.
7982         * doc/posix-functions/putc.texi: Likewise.
7983         * doc/posix-functions/putchar.texi: Likewise.
7984         * doc/posix-functions/puts.texi: Likewise.
7985         * doc/posix-functions/vfprintf.texi: Likewise.
7986         * doc/posix-functions/vprintf.texi: Likewise.
7987         * doc/posix-functions/write.texi: Likewise.
7988
7989 2011-04-10  Jim Meyering  <meyering@redhat.com>
7990
7991         maint.mk: prohibit doubled words
7992         Detect them also when they're separated by a newline.
7993         There are 3 ways to customize it:
7994           - disable the test on a per file basis, as usual with rules using
7995             $(VC_LIST_EXCEPT)
7996           - replace the default doubled-word-selecting regexp (affects all files)
7997           - ignore a particular file-vs-doubled-word match
7998         I nearly used that last one to ignore the "is is" match in
7999         coreutils' NEWS file, since the text was "ls -is is ..."
8000         To do that, I would have added this line to cfg.mk:
8001           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
8002         but it would have ignored any "is is" match in NEWS.
8003         Low probability, but still...
8004         Instead, I changed the text, slightly:
8005           -  ls -is is now consistent with ls -lis in ignoring values returned
8006           +  "ls -is" is now consistent with ls -lis in ignoring values returned
8007         * top/maint.mk (prohibit_double_word_RE_): Provide default.
8008         (prohibit_doubled_word_): Define.
8009         (sc_prohibit_doubled_word): New rule.
8010         (sc_prohibit_the_the): Remove.  Subsumed by the above.
8011
8012 2011-04-10  Jim Meyering  <meyering@redhat.com>
8013
8014         maint: fix doubled-word typo in comment
8015         * m4/gethostname.m4: s/is is/it is/
8016         * m4/getdomainname.m4: Likewise.
8017
8018 2011-04-10  Jim Meyering  <meyering@redhat.com>
8019
8020         maint: remove doubled word: s/it it/it/
8021         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
8022
8023 2011-04-10  Jim Meyering  <meyering@redhat.com>
8024
8025         maint.mk: remove useless semicolon and backslash
8026         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
8027         semicolon and backslash.
8028
8029 2011-04-10  Bruno Haible  <bruno@clisp.org>
8030
8031         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
8032         * modules/stdint-tests (Depends-on): Add wchar.
8033
8034 2011-04-10  Jim Meyering  <meyering@redhat.com>
8035
8036         maint: remove doubled words in comments, e.g., s/a a/a/
8037         * lib/strptime.c (day_of_the_week): s/the the/the/
8038         * tests/test-chown.h (test_chown): s/a a/a/
8039
8040         test-chown.h: correct a cast
8041         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
8042         when the destination is a stat.st_gid.
8043
8044 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
8045
8046         getaddrinfo: Fix test for sa_len member.
8047         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
8048         include <sys/types.h> before <sys/socket.h>.
8049
8050 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8051
8052         maint: change "can not" to "cannot"
8053         * doc/posix-functions/iconv.texi (iconv): This one crossed line
8054         boundaries.
8055
8056 2011-04-09  Jim Meyering  <meyering@redhat.com>
8057
8058         maint: change "a a" to "a"
8059         * tests/test-lchown.h (test_lchown): s/a a/a/
8060
8061         maint.mk: prohibit \<the the\>
8062         * top/maint.mk (sc_prohibit_the_the): New rule.
8063
8064         maint: fix "the the" in comment
8065         * lib/count-one-bits.h: s/the the/the/
8066
8067         maint: change "can not" to "cannot"
8068         But do not change the occurrences in maintain.texi or in
8069         build-aux/po/Makefile.in.in, which I presume comes from gettext.
8070         * doc/gnulib-tool.texi: s/can not/cannot/
8071         * doc/posix-functions/accept.texi (accept): Likewise.
8072         * doc/posix-functions/socket.texi (socket): Likewise.
8073         * lib/mbrtowc.c: Likewise.
8074
8075         maint.mk: prohibit use of "can not"
8076         * top/maint.mk (sc_prohibit_can_not): New rule.
8077         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
8078
8079 2011-04-09  Bruno Haible  <bruno@clisp.org>
8080
8081         careadlinkat: Guard against misuse of careadlinkatcwd.
8082         * lib/careadlinkat.c: Include <stdlib.h>.
8083         (careadlinkatcwd): Check that the fd argument is as expected.
8084
8085 2011-04-09  Bruno Haible  <bruno@clisp.org>
8086
8087         careadlinkat: Use common coding style.
8088         * lib/careadlinkat.c: Move gnulib includes after system includes.
8089
8090 2011-04-09  Bruno Haible  <bruno@clisp.org>
8091
8092         careadlinkat: Clarify specification.
8093         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
8094         (careadlinkatcwd): Add comment.
8095         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
8096
8097 2011-04-09  Bruno Haible  <bruno@clisp.org>
8098
8099         areadlinkat: Avoid link error on many platforms.
8100         * modules/areadlinkat (Depends-on): Add areadlink.
8101
8102 2011-04-09  Bruno Haible  <bruno@clisp.org>
8103
8104         allocator, careadlinkat: Fix double-inclusion guard.
8105         * lib/allocator.h: Fix double-inclusion guard.
8106         * lib/careadlinkat.h: Likewise.
8107
8108 2011-04-09  Bruno Haible  <bruno@clisp.org>
8109
8110         relocatable-prog-wrapper: Update after module 'areadlink' changed.
8111         * lib/relocwrapper.c: Update dependencies hierarchy.
8112         * build-aux/install-reloc: Update list of files to be compiled.
8113         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
8114         lib/allocator.[hc].
8115
8116 2011-04-08  Eric Blake  <eblake@redhat.com>
8117
8118         strftime: silence gnulib-tool warning
8119         * modules/strftime-tests (Depends-on): Drop automatic dependency.
8120
8121 2011-04-08  Bruno Haible  <bruno@clisp.org>
8122
8123         verify: Fix syntax error with GCC 4.6 in C++ mode.
8124         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
8125         (HAVE_STATIC_ASSERT): New macro.
8126         (verify_true, verify): Use 'static_assert' if it is supported and
8127         '_Static_assert' is not supported.
8128
8129 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8130
8131         allocator: New module.
8132         * modules/allocator, lib/allocator.c: New files.
8133         * lib/allocator.h (stdlib_allocator): New decl.
8134         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
8135         Remove.  Do not include <stdlib.h>.
8136         (careadlinkat): Use stdlib_allocator instead of rolling our own.
8137         * modules/careadlinkat (Files): Remove lib/allocator.h.
8138         (Depends-on): Add allocator.
8139
8140         stdlib: let modules use system malloc, realloc
8141         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
8142         if !_GL_USE_STDLIB_ALLOC.
8143         (malloc, realloc): Limit this change to a smaller scope.
8144
8145         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
8146         (malloc, realloc): Don't #undef; no longer needed.
8147         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8148         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8149         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8150         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8151         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8152         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8153         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8154         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8155
8156         careadlinkat: rename members to avoid problem
8157         * lib/allocator.h (struct allocator): Rename members from
8158         malloc/realloc to allocate/reallocate, to avoid problems if malloc
8159         and realloc are #define'd.  Reported by Eric Blake in
8160         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
8161         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
8162
8163 2011-04-08  Eric Blake  <eblake@redhat.com>
8164
8165         nonblocking: reduce dependency
8166         * tests/test-nonblocking.c: Only test sockets when in use.
8167         * modules/nonblocking-tests (Depends-on): Drop socket.
8168         (Makefile.am): Link even if sockets are not present.
8169         * modules/pipe2-tests (Makefile.am): Likewise.
8170         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
8171
8172         pipe2: fix O_NONBLOCK support on mingw
8173         * modules/pipe2 (Depends-on): Add nonblocking.
8174         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
8175         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
8176         * tests/test-nonblocking.c (main): Likewise.
8177         * modules/pipe2-tests (Makefile.am): Avoid link failure.
8178
8179         fcntl-h: fix O_ACCMODE on cygwin
8180         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
8181         * lib/fcntl.in.h (O_ACCMODE): Fix it.
8182
8183         pipe-filter: drop O_NONBLOCK workarounds
8184         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
8185         * modules/pipe-filter-ii (Depends-on): Likewise.
8186         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
8187
8188         nonblocking: provide O_NONBLOCK for mingw
8189         * modules/nonblocking (Depends-on): Add open.
8190         (configure.ac): Set new witness macro.
8191         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
8192         * modules/fcntl-h (Makefile.am): Substitute it.
8193         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
8194         nonblocking module is in use.
8195         * lib/nonblocking.c: Adjust portability test.
8196         * lib/open.c (open): Don't let native open see gnulib flag.
8197         * tests/test-fcntl-h.c (main): Enhance test.
8198         * tests/test-open.h (test_open): Likewise.
8199         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
8200
8201         careadlinkat: fix compilation error on mingw
8202         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
8203         within struct allocator.
8204
8205 2011-04-06  Eric Blake  <eblake@redhat.com>
8206
8207         binary-io: relicense under LGPLv2+
8208         * modules/binary-io (License): Relax to LGPLv2+.
8209         Requested for libvirt, and required by pipe2.
8210
8211 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
8212
8213         verify: use _Static_assert if available
8214         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
8215         (verify_true, verify): Use it if available.  This generates better
8216         diagnostics with GCC 4.6.0 and later.
8217
8218 2011-04-05  Bruno Haible  <bruno@clisp.org>
8219
8220         Remove leftover generated .h files after config.status changed.
8221
8222         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
8223         GL_GENERATE_ALLOCA_H.
8224         * modules/alloca-opt (Makefile.am): Remove alloca.h if
8225         GL_GENERATE_ALLOCA_H evaluates to false.
8226
8227         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
8228         GL_GENERATE_ARGZ_H.
8229         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
8230         evaluates to false.
8231
8232         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
8233         GL_GENERATE_BYTESWAP_H.
8234         * modules/byteswap (Makefile.am): Remove byteswap.h if
8235         GL_GENERATE_BYTESWAP_H evaluates to false.
8236
8237         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
8238         GL_GENERATE_ERRNO_H.
8239         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
8240         evaluates to false.
8241
8242         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
8243         GL_GENERATE_FLOAT_H.
8244         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
8245         evaluates to false.
8246
8247         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
8248         GL_GENERATE_FNMATCH_H.
8249         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
8250         GL_GENERATE_FNMATCH_H evaluates to false.
8251
8252         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
8253         GL_GENERATE_GLOB_H.
8254         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
8255         evaluates to false.
8256
8257         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
8258         automake conditional GL_GENERATE_ICONV_H.
8259         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
8260         evaluates to false.
8261
8262         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
8263         GL_GENERATE_NETINET_IN_H.
8264         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
8265         GL_GENERATE_NETINET_IN_H evaluates to false.
8266
8267         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
8268         conditional GL_GENERATE_PTHREAD_H.
8269         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
8270         * modules/pthread (Makefile.am): Remove pthread.h if
8271         GL_GENERATE_PTHREAD_H evaluates to false.
8272
8273         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
8274         GL_GENERATE_SCHED_H.
8275         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
8276         evaluates to false.
8277
8278         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
8279         conditional GL_GENERATE_SELINUX_CONTEXT_H.
8280         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
8281         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
8282
8283         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
8284         GL_GENERATE_STDARG_H.
8285         * modules/stdarg (Makefile.am): Remove stdarg.h if
8286         GL_GENERATE_STDARG_H evaluates to false.
8287
8288         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
8289         GL_GENERATE_STDBOOL_H.
8290         * modules/stdbool (Makefile.am): Remove stdbool.h if
8291         GL_GENERATE_STDBOOL_H evaluates to false.
8292
8293         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
8294         conditional GL_GENERATE_STDDEF_H.
8295         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
8296         * modules/stddef (Makefile.am): Remove stddef.h if
8297         GL_GENERATE_STDDEF_H evaluates to false.
8298
8299         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
8300         GL_GENERATE_STDINT_H.
8301         * modules/stdint (Makefile.am): Remove stdint.h if
8302         GL_GENERATE_STDINT_H evaluates to false.
8303
8304         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
8305         GL_GENERATE_SYSEXITS_H.
8306         * modules/sysexits (Makefile.am): Remove sysexits.h if
8307         GL_GENERATE_SYSEXITS_H evaluates to false.
8308
8309         Reported by Karl Berry and Ralf Wildenhues.
8310
8311 2011-04-05  Bruno Haible  <bruno@clisp.org>
8312
8313         Ensure to rebuild generated .h files when config.status has changed.
8314         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
8315         config.status.
8316         * modules/ctype (Makefile.am): Likewise.
8317         * modules/dirent (Makefile.am): Likewise.
8318         * modules/errno (Makefile.am): Likewise.
8319         * modules/fcntl-h (Makefile.am): Likewise.
8320         * modules/float (Makefile.am): Likewise.
8321         * modules/getopt-posix (Makefile.am): Likewise.
8322         * modules/glob (Makefile.am): Likewise.
8323         * modules/iconv-h (Makefile.am): Likewise.
8324         * modules/inttypes (Makefile.am): Likewise.
8325         * modules/langinfo (Makefile.am): Likewise.
8326         * modules/locale (Makefile.am): Likewise.
8327         * modules/math (Makefile.am): Likewise.
8328         * modules/netdb (Makefile.am): Likewise.
8329         * modules/netinet_in (Makefile.am): Likewise.
8330         * modules/poll-h (Makefile.am): Likewise.
8331         * modules/pthread (Makefile.am): Likewise.
8332         * modules/pty (Makefile.am): Likewise.
8333         * modules/sched (Makefile.am): Likewise.
8334         * modules/search (Makefile.am): Likewise.
8335         * modules/selinux-h (Makefile.am): Likewise.
8336         * modules/signal (Makefile.am): Likewise.
8337         * modules/spawn (Makefile.am): Likewise.
8338         * modules/stdarg (Makefile.am): Likewise.
8339         * modules/stdbool (Makefile.am): Likewise.
8340         * modules/stddef (Makefile.am): Likewise.
8341         * modules/stdint (Makefile.am): Likewise.
8342         * modules/stdio (Makefile.am): Likewise.
8343         * modules/stdlib (Makefile.am): Likewise.
8344         * modules/string (Makefile.am): Likewise.
8345         * modules/strings (Makefile.am): Likewise.
8346         * modules/sys_file (Makefile.am): Likewise.
8347         * modules/sys_ioctl (Makefile.am): Likewise.
8348         * modules/sys_select (Makefile.am): Likewise.
8349         * modules/sys_socket (Makefile.am): Likewise.
8350         * modules/sys_stat (Makefile.am): Likewise.
8351         * modules/sys_time (Makefile.am): Likewise.
8352         * modules/sys_times (Makefile.am): Likewise.
8353         * modules/sys_utsname (Makefile.am): Likewise.
8354         * modules/sys_wait (Makefile.am): Likewise.
8355         * modules/sysexits (Makefile.am): Likewise.
8356         * modules/termios (Makefile.am): Likewise.
8357         * modules/time (Makefile.am): Likewise.
8358         * modules/unistd (Makefile.am): Likewise.
8359         * modules/wchar (Makefile.am): Likewise.
8360         * modules/wctype-h (Makefile.am): Likewise.
8361         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
8362
8363 2011-04-05  Bruno Haible  <bruno@clisp.org>
8364
8365         pipe2: Relicense under LGPLv2+.
8366         * modules/pipe2 (License): Change to LGPLv2+.
8367         Requested by Eric Blake, for libvirt.
8368
8369 2011-04-05  Bruce Korb  <bkorb@gnu.org>
8370
8371         bootstrap: compute gnulib_extra_files after updating build_aux
8372         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
8373         change build_aux or also supply gnulib_extra_files.  Handle correctly.
8374
8375 2011-04-05  Eric Blake  <eblake@redhat.com>
8376
8377         bootstrap: preserve git whitelist item sorting
8378         * build-aux/bootstrap (sort_patterns): New function.
8379         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
8380
8381 2011-04-05  Simon Josefsson  <simon@josefsson.org>
8382
8383         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
8384         sc_space_tab check.
8385
8386 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
8387
8388         areadlink, areadlinkat: rewrite in terms of careadlinkat
8389         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
8390         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
8391         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
8392         (malloc, realloc): Remove #undefs.
8393         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
8394         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
8395         readlink, ssize_t, stdint, unistd.
8396         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
8397         areadlink, stdint.
8398
8399         careadlinkat: new module
8400         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
8401         * modules/careadlinkat: New files, written by me with
8402         a review and feedback from Ben Pfaff in
8403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
8404
8405 2011-04-01  Bruno Haible  <bruno@clisp.org>
8406
8407         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
8408         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
8409         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
8410         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
8411         Reported by Bruce Korb <bruce.korb@gmail.com>.
8412
8413 2011-04-01  Bruno Haible  <bruno@clisp.org>
8414
8415         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
8416         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
8417         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
8418         * modules/wcpcpy (Depends-on): Add extensions.
8419         * modules/wcpncpy (Depends-on): Likewise.
8420         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
8421         systems.
8422         * doc/posix-functions/wcpncpy.texi: Likewise.
8423         * doc/posix-functions/wcwidth.texi: Likewise.
8424
8425 2011-03-31  Eric Blake  <eblake@redhat.com>
8426
8427         nonblocking: fix mingw test failures
8428         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
8429         non-blocking flag on regular file.
8430         (get_nonblocking_flag): Set errno on invalid fd.
8431         * tests/test-nonblocking.c (main): Avoid test failure on
8432         directories if fchdir is not active.
8433         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
8434
8435 2011-03-31  Bruno Haible  <bruno@clisp.org>
8436
8437         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
8438         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
8439         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
8440         Reported by Simon Josefsson <simon@josefsson.org>.
8441
8442 2011-03-31  Bruno Haible  <bruno@clisp.org>
8443         and Eric Blake  <eblake@redhat.com>
8444
8445         nonblocking: new module
8446         * modules/nonblocking: New module.
8447         * modules/nonblocking-tests: Likewise.
8448         * lib/nonblocking.h: New file.
8449         * lib/nonblocking.c: Likewise.
8450         * tests/test-nonblocking.c: New test.
8451         * lib/ioctl.c (ioctl) [mingw]: Update comment.
8452
8453 2011-03-30  Bruno Haible  <bruno@clisp.org>
8454
8455         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
8456         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
8457         instead of 'printf' format for GCC >= 4.4.
8458         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
8459         (fprintf, printf, vfprintf, vprintf): Declare with
8460         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
8461         the system's vfprintf() function.
8462         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
8463
8464 2011-03-30  Eric Blake  <eblake@redhat.com>
8465
8466         passfd: fix scoping bug
8467         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
8468         before sendmsg/recvmsg.
8469
8470         passfd: standardize coding conventions
8471         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
8472         can be learned at compile time.
8473         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
8474         ifdefs.
8475         (sendfd, recvfd): Follow gnulib code conventions.
8476
8477         passfd: fix incorrect sendmsg arguments
8478         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
8479         incorrect msg_controllen value.
8480         * modules/passfd-tests (Depends-on): Check for alarm.
8481         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
8482         Reported by Bastien ROUCARIES.
8483
8484 2011-03-30  Bruno Haible  <bruno@clisp.org>
8485
8486         c-strcasestr: Relicense under LGPLv2+.
8487         * modules/c-strcasestr (License): Change to LGPLv2+.
8488         Requested by Eric Blake, for libvirt.
8489
8490 2011-03-30  Simon Josefsson  <simon@josefsson.org>
8491
8492         * users.txt: Add libidn2.  Fix libtasn1 link.
8493
8494 2011-03-30  Jim Meyering  <meyering@redhat.com>
8495
8496         tests: readlink* ("",... fails with EINVAL on newer kernels
8497         readlink and readlinkat have typically failed with ENOENT for
8498         the invalid, empty file name,  "".  However, with the advent
8499         of linux-2.6.39, they fail with EINVAL.
8500         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
8501         when operating on the empty file name.
8502         * tests/test-readlink.h (test_readlink): Likewise.
8503
8504 2011-03-29  Bruno Haible  <bruno@clisp.org>
8505
8506         Relicense some modules under LGPLv2+, for libidn2.
8507         * modules/array-mergesort (License): Change to LGPLv2+.
8508         * modules/c-strcaseeq (License): Likewise.
8509         * modules/striconveh (License): Likewise.
8510         * modules/striconveha (License): Likewise.
8511         * modules/uniconv/base (License): Likewise.
8512         * modules/uniconv/u8-conv-from-enc (License): Likewise.
8513         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
8514         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
8515         * modules/unictype/base (License): Likewise.
8516         * modules/unictype/bidiclass-of (License): Likewise.
8517         * modules/unictype/category-M (License): Likewise.
8518         * modules/unictype/category-none (License): Likewise.
8519         * modules/unictype/category-of (License): Likewise.
8520         * modules/unictype/category-test (License): Likewise.
8521         * modules/unictype/category-test-withtable (License): Likewise.
8522         * modules/unictype/combining-class (License): Likewise.
8523         * modules/unictype/joiningtype-of (License): Likewise.
8524         * modules/unictype/scripts (License): Likewise.
8525         * modules/uninorm/base (License): Likewise.
8526         * modules/uninorm/canonical-decomposition (License): Likewise.
8527         * modules/uninorm/composition (License): Likewise.
8528         * modules/uninorm/decompose-internal (License): Likewise.
8529         * modules/uninorm/decomposition-table (License): Likewise.
8530         * modules/uninorm/nfc (License): Likewise.
8531         * modules/uninorm/nfd (License): Likewise.
8532         * modules/uninorm/u32-normalize (License): Likewise.
8533         * modules/unistr/base (License): Likewise.
8534         * modules/unistr/u32-cpy (License): Likewise.
8535         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
8536         * modules/unistr/u32-to-u8 (License): Likewise.
8537         * modules/unistr/u32-uctomb (License): Likewise.
8538         * modules/unistr/u8-check (License): Likewise.
8539         * modules/unistr/u8-mblen (License): Likewise.
8540         * modules/unistr/u8-mbtouc (License): Likewise.
8541         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
8542         * modules/unistr/u8-mbtoucr (License): Likewise.
8543         * modules/unistr/u8-prev (License): Likewise.
8544         * modules/unistr/u8-strlen (License): Likewise.
8545         * modules/unistr/u8-to-u32 (License): Likewise.
8546         * modules/unistr/u8-uctomb (License): Likewise.
8547         * modules/unitypes (License): Likewise.
8548         Requested by Simon Josefsson.
8549
8550 2011-03-29  Simon Josefsson  <simon@josefsson.org>
8551
8552         lib-symbol-visibility: Add a notice.
8553         * modules/lib-symbol-visibility (Notice): New field.
8554
8555 2011-03-29  Bruno Haible  <bruno@clisp.org>
8556
8557         getaddrinfo: Doc fix.
8558         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
8559         section "fixed in Gnulib".
8560
8561 2011-03-28  Simon Josefsson  <simon@josefsson.org>
8562
8563         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
8564         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
8565
8566 2011-03-26  Bruno Haible  <bruno@clisp.org>
8567
8568         unictype/property-byname: Reduce the number of load-time relocations.
8569         * lib/unictype/pr_byname.c: Include <stdlib.h>.
8570         (UC_PROPERTY_INDEX_*): New enumeration values.
8571         (uc_property_byname): Convert an index from the lookup table to an
8572         uc_property_t.
8573         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
8574         values.
8575
8576 2011-03-26  Bruno Haible  <bruno@clisp.org>
8577
8578         unictype/property-byname: Allow omitted word separators and aliases.
8579         * lib/unictype/pr_byname.gperf: Add property names without word
8580         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
8581         for 'space'.
8582
8583 2011-03-26  Bruno Haible  <bruno@clisp.org>
8584
8585         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
8586         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
8587         also hyphens to space.
8588         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
8589         without spaces.
8590         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
8591
8592 2011-03-26  Bruno Haible  <bruno@clisp.org>
8593
8594         unictype/joiningtype-byname: Recognize long names as well.
8595         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
8596         a long name.
8597         * lib/unictype/joiningtype_byname.c: Include <string.h>,
8598         unictype/joiningtype_byname.h.
8599         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
8600         * lib/unictype/joiningtype_byname.gperf: New file.
8601         * modules/unictype/joiningtype-byname (Files): Add
8602         lib/unictype/joiningtype_byname.gperf.
8603         (Depends-on): Add gperf.
8604         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
8605         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
8606         long names.
8607
8608         Tests for module 'unictype/joiningtype-longname'.
8609         * modules/unictype/joiningtype-longname-tests: New file.
8610         * tests/unictype/test-joiningtype_longname.c: New file.
8611
8612         New module 'unictype/joiningtype-longname'.
8613         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
8614         * lib/unictype/joiningtype_longname.c: New file.
8615         * modules/unictype/joiningtype-longname: New file.
8616         * modules/unictype/joiningtype-all (Depends-on): Add
8617         unictype/joiningtype-longname.
8618
8619 2011-03-26  Bruno Haible  <bruno@clisp.org>
8620
8621         unictype/bidiclass-byname: Recognize long names as well.
8622         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
8623         name.
8624         * lib/unictype/bidi_byname.c: Include <string.h>,
8625         unictype/bidi_byname.h.
8626         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
8627         * lib/unictype/bidi_byname.gperf: New file.
8628         * modules/unictype/bidiclass-byname (Files): Add
8629         lib/unictype/bidi_byname.gperf.
8630         (Depends-on): Add gperf.
8631         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
8632         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
8633         long names.
8634
8635         Tests for module 'unictype/bidiclass-longname'.
8636         * modules/unictype/bidiclass-longname-tests: New file.
8637         * tests/unictype/test-bidi_longname.c: New file.
8638
8639         New module 'unictype/bidiclass-longname'.
8640         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
8641         * lib/unictype/bidi_longname.c: New file.
8642         * modules/unictype/bidiclass-longname: New file.
8643         * modules/unictype/bidiclass-all (Depends-on): Add
8644         unictype/bidiclass-longname.
8645
8646 2011-03-26  Bruno Haible  <bruno@clisp.org>
8647
8648         unictype/bidi*: Rename modules.
8649         * modules/unictype/bidiclass-all: Renamed from
8650         modules/unictype/bidicategory-all.
8651         * modules/unictype/bidiclass-name: Renamed from
8652         modules/unictype/bidiclass-name.
8653         (Description): Update.
8654         * modules/unictype/bidiclass-name-tests: Renamed from
8655         modules/unictype/bidicategory-name-tests.
8656         * modules/unictype/bidiclass-byname: Renamed from
8657         modules/unictype/bidicategory-byname.
8658         (Description): Update.
8659         * modules/unictype/bidiclass-byname-tests: Renamed from
8660         modules/unictype/bidicategory-byname-tests.
8661         * modules/unictype/bidiclass-of: Renamed from
8662         modules/unictype/bidicategory-of.
8663         (Description): Update.
8664         * modules/unictype/bidiclass-of-tests: Renamed from
8665         modules/unictype/bidicategory-of-tests.
8666         * modules/unictype/bidiclass-test: Renamed from
8667         modules/unictype/bidicategory-test.
8668         (Description): Update.
8669         * modules/unictype/bidiclass-test-tests: Renamed from
8670         modules/unictype/bidicategory-test-tests.
8671         * modules/unictype/bidicategory-all: New file, a simple redirection.
8672         * modules/unictype/bidicategory-name: Likewise.
8673         * modules/unictype/bidicategory-byname: Likewise.
8674         * modules/unictype/bidicategory-of: Likewise.
8675         * modules/unictype/bidicategory-test: Likewise.
8676         * modules/unictype/property-bidi-* (Dependencies): Update.
8677         * lib/unictype/bidi_*.c: Update comment.
8678
8679 2011-03-26  Bruno Haible  <bruno@clisp.org>
8680
8681         unictype/bidi*: Rename functions, part 2.
8682         * modules/unictype/bidicategory-name (configure.ac): Update required
8683         libunistring version.
8684         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
8685
8686 2011-03-25  Bruno Haible  <bruno@clisp.org>
8687
8688         New module 'unictype/combining-class-all'.
8689         * modules/unictype/combining-class-all: New file.
8690
8691         Tests for module 'unictype/combining-class-byname'.
8692         * modules/unictype/combining-class-byname-tests: New file.
8693         * tests/unictype/test-combiningclass_byname.c: New file.
8694
8695         New module 'unictype/combining-class-byname'.
8696         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
8697         * lib/unictype/combiningclass_byname.c: New file.
8698         * lib/unictype/combiningclass_byname.gperf: New file.
8699         * modules/unictype/combining-class-byname: New file.
8700
8701         Tests for module 'unictype/combining-class-longname'.
8702         * modules/unictype/combining-class-longname-tests: New file.
8703         * tests/unictype/test-combiningclass_longname.c: New file.
8704
8705         New module 'unictype/combining-class-longname'.
8706         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
8707         * lib/unictype/combiningclass_longname.c: New file.
8708         * modules/unictype/combining-class-longname: New file.
8709
8710         Tests for module 'unictype/combining-class-name'.
8711         * modules/unictype/combining-class-name-tests: New file.
8712         * tests/unictype/test-combiningclass_name.c: New file.
8713
8714         New module 'unictype/combining-class-name'.
8715         * lib/unictype.in.h (uc_combining_class_name): New declaration.
8716         * lib/unictype/combiningclass_name.c: New file.
8717         * modules/unictype/combining-class-name: New file.
8718
8719 2011-03-25  Bruno Haible  <bruno@clisp.org>
8720
8721         unictype/combining-class: Rename source files.
8722         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
8723         of unictype/combining.h.
8724         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
8725         Update.
8726         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
8727         * modules/unictype/combining-class (Description): Fix.
8728         (Files, Makefile.am): Update.
8729         * tests/unictype/test-combiningclass.c: Renamed from
8730         tests/unictype/test-combining.c.
8731         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
8732
8733 2011-03-25  Bruno Haible  <bruno@clisp.org>
8734
8735         unictype: Update list of canonical combining classes.
8736         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
8737
8738 2011-03-25  Bruno Haible  <bruno@clisp.org>
8739
8740         unictype/category-byname: Recognize long names as well.
8741         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
8742         a long name.
8743         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
8744         unictype/categ_byname.h.
8745         (UC_CATEGORY_INDEX_*): New enumeration values.
8746         (uc_general_category_byname): Use uc_general_category_lookup and
8747         convert from index to value.
8748         * lib/unictype/categ_byname.gperf: New file.
8749         * modules/unictype/category-byname (Files): Add
8750         lib/unictype/categ_byname.gperf.
8751         (Depends-on): Add gperf.
8752         (Makefile.am): Add rule for generating unictype/categ_byname.h.
8753         * tests/unictype/test-categ_byname.c (main): Test the recognition of
8754         long names.
8755
8756         Tests for module 'unictype/category-longname'.
8757         * modules/unictype/category-longname-tests: New file.
8758         * tests/unictype/test-categ_longname.c: New file.
8759
8760         New module 'unictype/category-longname'.
8761         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
8762         * lib/unictype/categ_longname.c: New file.
8763         * modules/unictype/category-longname: New file.
8764         * modules/unictype/category-all (Depends-on): Add it.
8765
8766 2011-03-25  Bruno Haible  <bruno@clisp.org>
8767
8768         Tests for module 'unictype/category-LC'.
8769         * modules/unictype/category-LC-tests: New file.
8770         * tests/unictype/test-categ_LC.c: New file, automatically generated.
8771
8772         New module 'unictype/category-LC'.
8773         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
8774         (UC_CATEGORY_LC): New declaration.
8775         (UC_CASED_LETTER): New macro.
8776         * lib/gen-uni-tables.c (is_category_LC): New function.
8777         (output_categories): Also handle category LC.
8778         (UC_CATEGORY_MASK_LC): New enumeration value.
8779         (general_category_byname): Also handle category LC.
8780         * lib/unictype/categ_LC.c: New file.
8781         * lib/unictype/categ_LC.h: New file, automatically generated.
8782         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
8783         category LC.
8784         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
8785         * modules/unictype/category-LC: New file.
8786         * modules/unictype/category-byname (Depends-on): Add
8787         unictype/category-LC.
8788         * modules/unictype/category-all (Depends-on): Likewise.
8789
8790 2011-03-25  Eric Blake  <eblake@redhat.com>
8791
8792         xmalloc: revert yesterday's regression
8793         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
8794         realloc's underlying behavior (allowing allocation of zero-size
8795         objects, especially if malloc-gnu is also in use).
8796
8797 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
8798
8799         maint.mk: add missing version to VC-tag
8800         * top/maint.mk: git tag was missing actual tag name; add it.
8801
8802         valgrind: do leak checking, and exit with code 1 on error (not 0)
8803         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
8804         to VALGRIND.
8805
8806 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
8807
8808         posix-modules: say what it does.
8809         * posix-modules: Add a line to the --help output saying what it does.
8810
8811 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
8812
8813         xmalloc: Do not leak if underlying realloc is C99 compatible.
8814         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
8815         This avoids a leak on C99-based systems.  See
8816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
8817
8818 2011-03-24  Eric Blake  <eblake@redhat.com>
8819
8820         realloc: document portability problem
8821         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
8822         passing 0 size to realloc.
8823
8824 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
8825
8826         doc: update users.txt
8827         * users.txt: Add cvsps, tmpwatch
8828
8829 2011-03-23  Matt Rice  <ratmice@gmail.com>
8830
8831         doc: update users.txt
8832         * users.txt: Add gdb.
8833
8834 2011-03-23  Jim Meyering  <meyering@redhat.com>
8835
8836         doc: update users.txt
8837         Looking through matches up to the following URL (there are still
8838         several more pages), I found several projects that use gnulib:
8839         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
8840         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
8841         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
8842
8843 2011-03-22  Bruno Haible  <bruno@clisp.org>
8844
8845         unictype/bidi*: Rename functions.
8846         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
8847         uc_bidi_class, uc_is_bidi_class): New declarations.
8848         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
8849         uc_bidi_category_byname.
8850         (uc_bidi_category_byname): New function.
8851         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
8852         u_bidi_category_name.
8853         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
8854         (uc_bidi_category_name): New function.
8855         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
8856         uc_bidi_category.
8857         (uc_bidi_category): New function.
8858         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
8859         uc_is_bidi_category. Invoke uc_bidi_class.
8860         (uc_is_bidi_category): New function.
8861         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
8862         instead of uc_bidi_category_byname.
8863         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
8864         instead of uc_bidi_category_name.
8865         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
8866         uc_bidi_category.
8867         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
8868         instead of uc_is_bidi_category.
8869
8870 2011-03-21  Bruno Haible  <bruno@clisp.org>
8871
8872         New module 'unictype/joininggroup-all'.
8873         * modules/unictype/joininggroup-all: New file.
8874
8875         Tests for module 'unictype/joininggroup-of'.
8876         * modules/unictype/joininggroup-of-tests: New file.
8877         * tests/unictype/test-joininggroup_of.c: New file.
8878         * tests/unictype/test-joininggroup_of.h: New file, automatically
8879         generated by gen-uni-tables.
8880
8881         New module 'unictype/joininggroup-of'.
8882         * modules/unictype/joininggroup-of: New file.
8883         * lib/unictype/joininggroup_of.c: New file.
8884         * lib/unictype/joininggroup_of.h: New file, automatically generated by
8885         gen-uni-tables.
8886
8887         Tests for module 'unictype/joininggroup-byname'.
8888         * modules/unictype/joininggroup-byname-tests: New file.
8889         * tests/unictype/test-joininggroup_byname.c: New file.
8890
8891         New module 'unictype/joininggroup-byname'.
8892         * modules/unictype/joininggroup-byname: New file.
8893         * lib/unictype/joininggroup_byname.c: New file.
8894         * lib/unictype/joininggroup_byname.gperf: New file.
8895
8896         Tests for module 'unictype/joininggroup-name'.
8897         * modules/unictype/joininggroup-name-tests: New file.
8898         * tests/unictype/test-joininggroup_name.c: New file.
8899
8900         New module 'unictype/joininggroup-name'.
8901         * modules/unictype/joininggroup-name: New file.
8902         * lib/unictype/joininggroup_name.c: New file.
8903         * lib/unictype/joininggroup_name.h: New file.
8904
8905         New module 'unictype/joiningtype-all'.
8906         * modules/unictype/joiningtype-all: New file.
8907
8908         Tests for module 'unictype/joiningtype-of'.
8909         * modules/unictype/joiningtype-of-tests: New file.
8910         * tests/unictype/test-joiningtype_of.c: New file.
8911         * tests/unictype/test-joiningtype_of.h: New file, automatically
8912         generated by gen-uni-tables.
8913
8914         New module 'unictype/joiningtype-of'.
8915         * modules/unictype/joiningtype-of: New file.
8916         * lib/unictype/joiningtype_of.c: New file.
8917         * lib/unictype/joiningtype_of.h: New file, automatically generated by
8918         gen-uni-tables.
8919
8920         Tests for module 'unictype/joiningtype-byname'.
8921         * modules/unictype/joiningtype-byname-tests: New file.
8922         * tests/unictype/test-joiningtype_byname.c: New file.
8923
8924         New module 'unictype/joiningtype-byname'.
8925         * modules/unictype/joiningtype-byname: New file.
8926         * lib/unictype/joiningtype_byname.c: New file.
8927
8928         Tests for module 'unictype/joiningtype-name'.
8929         * modules/unictype/joiningtype-name-tests: New file.
8930         * tests/unictype/test-joiningtype_name.c: New file.
8931
8932         New module 'unictype/joiningtype-name'.
8933         * modules/unictype/joiningtype-name: New file.
8934         * lib/unictype/joiningtype_name.c: New file.
8935
8936         unictype: Add support for Arabic shaping properties.
8937         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
8938         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
8939         declarations.
8940         (UC_JOINING_GROUP_*): New enumeration values.
8941         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
8942         declarations.
8943         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
8944         (unicode_joining_type): New variable.
8945         (UC_JOINING_GROUP_*): New enumeration values.
8946         (unicode_joining_group): New variable.
8947         (fill_arabicshaping, joining_type_as_c_identifier,
8948         output_joining_type_test, output_joining_type,
8949         joining_group_as_c_identifier, output_joining_group_test,
8950         output_joining_group): New functions.
8951         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
8952         fill_arabicshaping and output_joining_type_test, output_joining_type,
8953         output_joining_group_test, output_joining_group.
8954         Reported by Simon Josefsson.
8955
8956 2011-03-21  Jim Meyering  <meyering@redhat.com>
8957
8958         strftime: fix a bug in yesterday's change
8959         * lib/strftime.c (add): Accommodate width's initial value of -1.
8960         Otherwise, nstrftime would copy uninitialized data into
8961         the result buffer.
8962
8963 2011-03-21  Jim Meyering  <meyering@redhat.com>
8964
8965         tests: add strftime-tests module
8966         * tests/test-strftime.c: New file.
8967         * modules/strftime-tests: New module.
8968
8969 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8970
8971         strftime: don't assume a byte count fits in 'int'
8972         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
8973         found this problem by static analysis, using gcc -Wstrict-overflow
8974         (GCC 4.5.2, x86-64).  This reported an optimization that depended
8975         on an integer overflow having undefined behavior, but it turns out
8976         that the argument is a size, which might not fit in 'int' anyway,
8977
8978 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8979
8980         stdio: don't require ignore_value around fwrite
8981
8982         This patch works around libc bug 11959
8983         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
8984         Without this patch, applications must often write
8985         ignore_value (fwrite (...)) even though the ignore_value is
8986         not helpful here.  It's common to write many objects, using
8987         fwrite/printf/etc., and then use ferror to detect output error.
8988
8989         I considered making this patch optional, but decided against it,
8990         because libc is obviously being inconsistent here: there is no
8991         reason libc should insist that user code must inspect fwrite
8992         return's value without also insisting that it inspect printf's,
8993         putchar's, etc.  If user code wants to have a strict style where
8994         all these functions' values are checked (so that ferror need not
8995         be checked), we could add support for that style in a new gnulib
8996         module, but in the meantime it's better to be consistent and to
8997         support common usage.
8998
8999         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
9000         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
9001         that we are compiling in checking mode, and if not C++, and
9002         if not already wrapping fwrite for some other reason.
9003         (fwrite): #define to rpl_fwrite if the latter is defined.
9004
9005 2011-03-20  Bruno Haible  <bruno@clisp.org>
9006
9007         verror: Fix compilation error introduced on 2011-02-13.
9008         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
9009         instead of __attribute__.
9010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9011
9012 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9013             Bruno Haible  <bruno@clisp.org>
9014
9015         socklen: do not depend on sys_socket
9016         While trying to modify Emacs to use gnulib's socklen module,
9017         I discovered a circular dependency: socklen depends on sys_socket
9018         and vice versa.  Emacs can use socklen, but it does not need
9019         sys_socket because it has its own substitute for sys/socket.h.
9020         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
9021         gl_TYPE_SOCKLEN_T.
9022         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
9023         gl_PREREQ_SYS_H_SOCKET.
9024         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
9025         gl_PREREQ_SYS_H_SOCKET.
9026         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
9027         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
9028         * modules/socklen (Depends-on): Do not depend on sys_socket.
9029         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
9030
9031 2011-03-20  Jim Meyering  <meyering@redhat.com>
9032
9033         maint.mk: sort file names *after* new transformation
9034         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
9035         prefix would have led to an unwarranted failure in GNU parted.
9036         Sort after that transformation.
9037
9038 2011-03-19  Jim Meyering  <meyering@redhat.com>
9039
9040         maint.mk: fix po-file syntax-check rule
9041         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
9042         Patch by Bruno Haible.
9043
9044 2011-03-19  Bruno Haible  <bruno@clisp.org>
9045
9046         socklen: Update comment.
9047         * m4/socklen.m4: Update comment about platforms.
9048
9049 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9050             Bruno Haible  <bruno@clisp.org>
9051
9052         inet_ntop, inet_pton: Simplify.
9053         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
9054         documented to provide socklen_t and we already depend on sys_socket.
9055         * modules/inet_pton (Depends-on): Likewise.
9056         * lib/arpa_inet.in.h: Adjust comment.
9057
9058 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9059             Bruno Haible  <bruno@clisp.org>
9060
9061         netdb: Simplify.
9062         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
9063         documented to provide socklen_t and we already depend on sys_socket.
9064         * lib/netdb.in.h: Adjust comment.
9065
9066 2011-03-19  Bruno Haible  <bruno@clisp.org>
9067
9068         sys_socket, netdb: Document problem with socklen_t.
9069         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
9070         platforms.
9071         * doc/posix-headers/netdb.texi: Likewise.
9072
9073 2011-03-18  Eric Blake  <eblake@redhat.com>
9074
9075         maint.mk: let po check work in VPATH build
9076         * top/maint.mk (po_file): Allow cfg.mk override.
9077         (sc_po_check): Allow VPATH use.
9078         Reported by Jiri Denemark.
9079
9080 2011-03-16  Jim Meyering  <meyering@redhat.com>
9081
9082         maint.mk: allow fine-grained syntax-check exclusion via Make variables
9083         Before, you would have had to create one .x-sc_ file per rule in order
9084         to exempt offending files.  Now, you may instead use a Make variable --
9085         usually defined in cfg.mk -- whose name identifies the affected rule.
9086         * top/maint.mk (_sc_excl): Define.
9087         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
9088         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
9089
9090 2011-03-13  Bruno Haible  <bruno@clisp.org>
9091
9092         ignore-value tests: Avoid warnings.
9093         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
9094         empty for gcc < 3.4.
9095
9096 2011-03-13  Bruno Haible  <bruno@clisp.org>
9097
9098         passfd: Fix link error on Solaris.
9099         * modules/passfd (Description): Correct.
9100         (Depends-on): Add socketlib.
9101         (Link): New section.
9102         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
9103
9104 2011-03-13  Bruno Haible  <bruno@clisp.org>
9105
9106         passfd: Fix link error on AIX 5.2.
9107         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
9108
9109 2011-03-13  Bruno Haible  <bruno@clisp.org>
9110
9111         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
9112         * lib/sys_socket.in.h: Include <stddef.h>.
9113         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
9114         CMSG_FIRSTHDR. Remove unused variable.
9115
9116 2011-03-13  Bruno Haible  <bruno@clisp.org>
9117
9118         passfd: Fix compilation error on OpenBSD.
9119         * lib/passfd.c: Include <sys/uio.h>.
9120
9121 2011-03-13  Bruno Haible  <bruno@clisp.org>
9122
9123         passfd test: Fix warnings.
9124         * tests/test-passfd.c: Include <sys/wait.h>.
9125         (main): Fix typo.
9126
9127 2011-03-13  Bruno Haible  <bruno@clisp.org>
9128
9129         passfd module, part 4, tweaks.
9130         * tests/test-passfd.c: Reorder includes.
9131         (main): Fix perror and printf calls.
9132
9133 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9134
9135         passfd module, part 4.
9136         * modules/passfd-tests: New file.
9137         * tests/test-passfd.c: New file.
9138
9139 2011-03-13  Jim Meyering  <meyering@redhat.com>
9140
9141         Makefile: rely on GNU make; derive syntax-check rule names
9142         Rather than requiring that each sc_ rule be listed as a dependent
9143         of "check", use features of GNU make to derive the list.
9144         * Makefile (syntax-check-rules): Define.
9145         (check): Depend on the new variable, not the hard-coded list.
9146
9147 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
9148             Bruno Haible  <bruno@clisp.org>
9149
9150         passfd module, part 3.
9151         * lib/passfd.h (recvfd): Add a flags argument.
9152         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
9153         (recvfd): Add a flags argument.
9154         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
9155         exists.
9156         * modules/passfd (Depends-on): Add cloexec.
9157         Suggested by Eric Blake.
9158
9159 2011-03-13  Bruno Haible  <bruno@clisp.org>
9160
9161         passfd module, part 2, tweaks.
9162         * modules/passfd (Files): Reorder.
9163         (Depends-on): Remove errno.
9164         (Include): Remove <sys/socket.h>, <sys/un.h>.
9165         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
9166         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
9167         specification header. Include <sys/socket.h> always. Don't include
9168         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
9169         (sendfd): Clarify that it sets errno when it fails.
9170         (recvfd): Fix specification.
9171
9172 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9173
9174         passfd module, part 2.
9175         * modules/passfd: New file.
9176         * lib/passfd.h: New file.
9177         * lib/passfd.c: New file.
9178
9179 2011-03-12  Bruno Haible  <bruno@clisp.org>
9180
9181         wcswidth, mbswidth: Avoid integer overflow.
9182         * lib/wcswidth.c: Include <limits.h>.
9183         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
9184         * lib/mbswidth.c: Include <limits.h>.
9185         (mbsnwidth): Avoid 'int' overflow.
9186         Reported by Jim Meyering.
9187
9188 2011-03-12  Bruno Haible  <bruno@clisp.org>
9189
9190         futimens, utimensat: Avoid endless recursion on Solaris 10.
9191         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
9192         Solaris.
9193         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
9194         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
9195
9196 2011-03-11  Jim Meyering  <meyering@redhat.com>
9197
9198         maint.mk: relax a regexp to accommodate other formatting styles
9199         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
9200         between "ngettext" and the following "(".
9201
9202 2011-03-11  Pádraig Brady <P@draigBrady.com>
9203
9204         maint.mk: suppress a false positive warning
9205         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
9206         diagnostics are marked with ngettext.
9207
9208 2011-03-10  Eric Blake  <eblake@redhat.com>
9209
9210         wchar: add explicit dependencies, for Tru64
9211         * modules/mbmemcasecoll (Depends-on): Add wchar.
9212         * modules/mbtowc (Depends-on): Likewise.
9213         * modules/vasnprintf (Depends-on): Likewise.
9214         * modules/unistdio/u-printf-args (Depends-on): Likewise.
9215         * modules/wctomb (Depends-on): Likewise.
9216         Reported by Peter O'Gorman.
9217
9218 2011-03-08  Bruno Haible  <bruno@clisp.org>
9219
9220         passfd module, part 1, tweaks.
9221         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
9222         Improve indentation. Improve AC_MSG_CHECKING messages.
9223         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
9224         gl_SOCKET_FAMILIES.
9225
9226 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9227
9228         passfd module, part 1.
9229         * m4/afunix.m4: New file.
9230         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
9231         sockets.
9232
9233 2011-03-08  Bruno Haible  <bruno@clisp.org>
9234
9235         regex-quote: New API.
9236         * lib/regex-quote.h: Include <stdbool.h>.
9237         (struct regex_quote_spec): New type.
9238         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
9239         New declarations.
9240         (regex_quote_length, regex_quote_copy, regex_quote): Take a
9241         'const struct regex_quote_spec *' argument.
9242         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
9243         (pcre_special): New constant.
9244         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
9245         New functions.
9246         (regex_quote_length, regex_quote_copy, regex_quote): Take a
9247         'const struct regex_quote_spec *' argument.
9248         * modules/regex-quote (Depends-on): Add stdbool.
9249         * tests/test-regex-quote.c (check): Update for new API. Add test for
9250         anchored results.
9251         * NEWS: Mention the API change.
9252         Reported by Reuben Thomas and Eric Blake.
9253
9254 2011-03-06  Bruno Haible  <bruno@clisp.org>
9255
9256         regex-quote: Fix creation of POSIX extended regular expressions.
9257         * lib/regex-quote.c (ere_special): Add grouping and alternation
9258         operators.
9259
9260 2011-03-05  Bruno Haible  <bruno@clisp.org>
9261
9262         doc: Improve doc regarding autopoint vs. gnulib.
9263         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
9264         disable autopoint while running autoreconf.
9265         Suggested by Ralf Wildenhues.
9266
9267 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9268
9269         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
9270         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
9271
9272 2011-03-03  Bruce Korb  <bkorb@gnu.org>
9273
9274         parse-duration: remove xalloc.h dependency
9275         * lib/parse-duration.c (parse_period): handle NULL return from
9276         strdup instead of calling xstrdup().
9277         * modules/parse-duration: remove "xalloc" dependency
9278
9279 2011-03-03  Matthew Booth  <mbooth@redhat.com>
9280
9281         bootstrap: honor m4_base when running aclocal
9282         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
9283
9284 2011-03-02  Jim Meyering  <meyering@redhat.com>
9285
9286         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
9287         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
9288         on request from Matt Booth.
9289
9290 2011-03-01  Eric Blake  <eblake@redhat.com>
9291
9292         test-link: work on Hurd
9293         * tests/test-link.h (test_link): Hurd rejects linking directories
9294         with EISDIR instead of the POSIX-mandated EPERM.
9295
9296 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
9297
9298         stdio: simplify by moving files to printf-posix, sigpipe
9299         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
9300         since this symbol is needed only if printf is replaced.
9301         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
9302         Require gl_ASM_SYMBOL_PREFIX.
9303         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
9304         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
9305         (Depends-on): Add 'raise'.
9306         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
9307         * modules/stdio (Files): Remove lib/stdio-write.c,
9308         m4/asm-underscore.m4.
9309         (Depends-on): Remove 'raise'.
9310
9311         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
9312         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
9313         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
9314         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
9315
9316 2011-02-28  Bruno Haible  <bruno@clisp.org>
9317
9318         localcharset: Assume ANSI C behaviour of free().
9319         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
9320         calling free().
9321         Suggested by Simon Josefsson <simon@josefsson.org>.
9322
9323 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
9324             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
9325             Bruno Haible  <bruno@clisp.org>  (tiny change)
9326
9327         On Cygwin, use /proc file system instead of win32 API.
9328         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
9329         Win32 file names.
9330         (DllMain): Simplify by removing Cygwin specific code.
9331         (find_shared_library_fullname): Use Linux specific implementation also
9332         for Cygwin.
9333         (get_shared_library_fullname): Update accordingly.
9334         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
9335         Win32 file names.
9336         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
9337         Cygwin specific code.
9338
9339 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
9340             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
9341
9342         Fix OpenMP flag detection for various Fortran compilers.
9343         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
9344         OpenMP-conditional compilation construct, to force compile
9345         failure with missing OpenMP flag.
9346         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
9347
9348 2011-02-25  Eric Blake  <eblake@redhat.com>
9349
9350         strstr: expand test coverage
9351         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
9352         compilation.
9353         * tests/test-memmem.c (main): Duplicate tests.
9354         * tests/test-strcasestr.c (main): Likewise.
9355         * tests/test-c-strcasestr.c (main): Likewise.
9356
9357 2011-02-25  Jim Meyering  <meyering@redhat.com>
9358
9359         maint.mk: detect missing-NL-at-EOF, too
9360         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
9361         it also detects when a file lacks a newline at EOF.
9362         (require_exactly_one_NL_at_EOF_): Renamed from
9363         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
9364         since people may well have .x-sc_... file names tied to the
9365         existing name.  Suggested by Eric Blake.
9366
9367 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
9368
9369         dirname: move m4/dos.m4 functionality into lib/dosname.h
9370
9371         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
9372         extracts symbols from it, puts them into config.h; but it's much
9373         easier to use the symbols directly.  filename.h already does this,
9374         but it disagrees with dos.m4 in some respects.  This patch
9375         introduces a different include file dosname.h that packages up
9376         dos.m4, and then later we can work on merging filename.h and
9377         dosname.h.  Applications that need only the easy-to-configure
9378         symbols should consider including dosname.h rather than dirname.h.
9379         * NEWS: Mention incompatible changes.
9380         * m4/dos.m4: Remove.
9381         * lib/dosname.h, modules/dosname: New files.
9382         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
9383         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
9384         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
9385         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
9386         Include dosname.h, not dirname.h.
9387         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
9388         Include dosname.h, for definitions of symbols like ISSLASH
9389         that used to be in config.h.
9390         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
9391         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9392         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9393         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9394         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
9395         * modules/rmdir (Files): Likewise.
9396         * modules/stat (Files): Likewise.
9397         * modules/unlink (Files): Likewise.
9398         * modules/dirname-lgpl (Depends-on): Add dosname.
9399         * modules/lstat (Depends-on): Likewise.
9400         * modules/openat (Depends-on): Likewise.
9401         * modules/rmdir (Depends-on): Likewise.
9402         * modules/savewd (Depends-on): Likewise.
9403         * modules/stat (Depends-on): Likewise.
9404         * modules/unlink (Depends-on): Likewise.
9405         * modules/openat (Depends-on): Remove dirname-lgpl.
9406         * modules/savewd (Depends-on): Likewise.
9407         * tests/test-dirname.c: Do not use removed symbols like
9408         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
9409         the remaining symbols, e.g., ISSLASH ('\\').
9410
9411 2011-02-25  Eric Blake  <eblake@redhat.com>
9412
9413         strstr: revert patches that introduced bug and pessimization
9414         * lib/str-two-way.h: Add another reference.
9415         (two_way_short_needle, two_way_long_needle): Revert changes from
9416         2011-02-24; they pessimize search speed.
9417         (critical_factorization): Partially revert changes from
9418         2010-06-22; they violate the requirement that the left half of the
9419         needle be smaller than the period of the needle.
9420
9421 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9422
9423         filenamecat: remove unnecessary dependency on dirname-lgpl
9424         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
9425         is no direct dependency, just an indirect one via filenamecat-lgpl.
9426
9427         remove: remove unnecessary use of m4/dos.m4
9428         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
9429         * modules/remove (FILES): Remove m4/dos.m4.
9430
9431         * lib/openat-proc.c: Don't include dirname.h; not needed.
9432
9433         backupfile: remove unnecessary use of m4/dos.m4
9434         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
9435         of its symbols are used by the backupfile code.  backupfile.c does
9436         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
9437         for the rare case of programs that want all their backup file
9438         names to live within 8+3 limits, and dos.m4 doesn't address that.
9439         * modules/backupfile (Files): Remove m4/dos.m4.
9440
9441 2011-02-24  Jim Meyering  <meyering@redhat.com>
9442
9443         strstr: fix a bug whereby strstr would mistakenly return NULL
9444         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
9445         in period calculation.
9446         (two_way_long_needle): Likewise.
9447         The original problem was reported by Mike Stump in
9448         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
9449         Ralf Wildenhues provided the short needle and haystack.
9450         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
9451         Add a more involved test to trigger the bug in two_way_long_needle.
9452
9453 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9454
9455         gnulib-tool: remove use of bold display in help screen
9456         * gnulib-tool (func_usage): Do not use bold display anymore in the
9457         help screen.  That was just meant to be a temporary emphasis for a
9458         backward-incompatible change.
9459
9460 2011-02-23  Bruno Haible  <bruno@clisp.org>
9461
9462         Fix misindentation of preprocessor directives.
9463         * lib/argp-namefrob.h: Reindent preprocessor directives.
9464         * lib/getopt_int.h (struct _getopt_data): Likewise.
9465         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
9466         * lib/vasnprintf.c (decode_long_double): Likewise.
9467         * tests/test-argmatch.c: Insert blank lines, for clarity.
9468         * tests/test-exclude.c: Likewise.
9469
9470 2011-02-22  Bruno Haible  <bruno@clisp.org>
9471
9472         ioctl: Fix for MacOS X in 64-bit mode.
9473         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
9474         value.
9475         Suggested by Eric Blake.
9476         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
9477
9478 2011-02-22  Jim Meyering  <meyering@redhat.com>
9479
9480         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
9481         * Makefile (sc_cpp_indent_check): Don't limit the check to files
9482         in lib/.
9483
9484 2011-02-22  Eric Blake  <eblake@redhat.com>
9485
9486         maint: avoid any CDPATH issue
9487         * Makefile (sc_cpp_indent_check): Anchor cd argument.
9488
9489         maint: adjust cpp indentation for my modules, as well
9490         * Makefile (sc_cpp_indent_check): Add my name.
9491         * lib/fbufmode.c: Filter through cppi.
9492         * lib/fpurge.c: Likewise.
9493         * lib/freadable.c: Likewise.
9494         * lib/freading.c: Likewise.
9495         * lib/fwritable.c: Likewise.
9496         * lib/fwriting.c: Likewise.
9497         * lib/sigaction.c: Likewise.
9498
9499 2011-02-22  Jim Meyering  <meyering@redhat.com>
9500
9501         maint: adjust cpp indentation to reflect nesting depth
9502         I.e., in a block of code that begins with an unnested "#if",
9503         put one space between the "#" in column 1 and following token.
9504         For example,
9505         -#include <sys/vfs.h>
9506         +# include <sys/vfs.h>
9507         Do this only in .c files that are part of a module I maintain.
9508         * lib/linkat.c: Filter through cppi.
9509         * lib/nanosleep.c: Likewise.
9510         * lib/openat.c: Likewise.
9511         * lib/openat-die.c: Likewise.
9512         * lib/dup3.c: Likewise.
9513         * lib/fchownat.c: Likewise.
9514         * lib/flock.c: Likewise.
9515         * lib/fsync.c: Likewise.
9516         * lib/fts.c: Likewise.
9517         * lib/getpass.c: Likewise.
9518         * lib/gettimeofday.c: Likewise.
9519         * lib/userspec.c: Likewise.
9520         * Makefile (sc_cpp_indent_check): New rule, to check this.
9521
9522 2011-02-22  Bruno Haible  <bruno@clisp.org>
9523
9524         New module 'wctomb'.
9525         * lib/stdlib.in.h (wctomb): New declaration.
9526         * lib/wctomb.c: New file.
9527         * lib/wctomb-impl.h: New file.
9528         * m4/wctomb.m4: New file.
9529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
9530         REPLACE_WCTOMB.
9531         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
9532         REPLACE_WCTOMB.
9533         * modules/wctomb: New file.
9534         * tests/test-stdlib-c++.cc: Test signature of wctomb.
9535         * doc/posix-functions/wctomb.texi: Mention the new module.
9536         * modules/wctob (Depends-on): Add wctomb.
9537
9538 2011-02-22  Bruno Haible  <bruno@clisp.org>
9539
9540         New module 'mbtowc'.
9541         * lib/stdlib.in.h (mbtowc): New declaration.
9542         * lib/mbtowc.c: New file.
9543         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
9544         * m4/mbtowc.m4: New file.
9545         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
9546         REPLACE_MBTOWC.
9547         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
9548         REPLACE_MBTOWC.
9549         * modules/mbtowc: New file.
9550         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
9551         * doc/posix-functions/mbtowc.texi: Mention the new module.
9552         * modules/btowc (Depends-on): Add mbtowc.
9553
9554 2011-02-22  Bruno Haible  <bruno@clisp.org>
9555
9556         wcrtomb: Add more tests for native Windows platforms.
9557         * tests/test-wcrtomb-w32-1.sh: New file.
9558         * tests/test-wcrtomb-w32-2.sh: New file.
9559         * tests/test-wcrtomb-w32-3.sh: New file.
9560         * tests/test-wcrtomb-w32-4.sh: New file.
9561         * tests/test-wcrtomb-w32-5.sh: New file.
9562         * tests/test-wcrtomb-w32.c: New file.
9563         * modules/wcrtomb-tests (Files): Add them.
9564         (Makefile.am): Arrange to run these tests.
9565         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
9566         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
9567
9568 2011-02-20  Bruno Haible  <bruno@clisp.org>
9569
9570         wcrtomb: Enhance test.
9571         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
9572
9573 2011-02-20  Bruno Haible  <bruno@clisp.org>
9574
9575         mbrtowc: Tiny optimization.
9576         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
9577
9578 2011-02-20  Jim Meyering  <meyering@redhat.com>
9579
9580         test-exclude.c: remove unmatched #endif
9581         * tests/test-exclude.c: Remove stray #endif, left over from
9582         the change of a week ago.
9583
9584 2011-02-19  Jim Meyering  <meyering@redhat.com>
9585
9586         git-version-gen: skip "-dirty" check when appropriate
9587         * build-aux/git-version-gen: Don't run any git commands when the
9588         version string comes from .tarball-version.  Prior to this, we
9589         would run git update-index --refresh even from a just-unpacked
9590         tarball directory, and that could affect a .git/ directory in a
9591         parent of the build directory.  Reported by Mike Frysinger.
9592
9593 2011-02-19  Bruno Haible  <bruno@clisp.org>
9594
9595         unictype/property-byname: Reduce the size of the 'data' segment.
9596         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
9597
9598 2011-02-19  Bruno Haible  <bruno@clisp.org>
9599
9600         unictype/scripts: Reduce the size of the 'data' segment.
9601         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
9602         '%pic'.
9603         * lib/unictype/scripts_byname.gperf: Regenerated.
9604
9605 2011-02-19  Bruno Haible  <bruno@clisp.org>
9606
9607         stdint: Update documentation.
9608         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
9609
9610 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
9611
9612         stdint: omit redundant check for wchar.h
9613         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
9614         always tests whether wchar.h exists, so remove the now-redundant test.
9615
9616 2011-02-18  Bruno Haible  <bruno@clisp.org>
9617
9618         stdint: Cut dependency to module 'wchar'.
9619         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
9620         include the necessary prerequisites.
9621         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
9622         * modules/stdint (Depends-on): Remove wchar.
9623         (Makefile.am): Substitute HAVE_WCHAR_H.
9624         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
9625
9626 2011-02-18  Eric Blake  <eblake@redhat.com>
9627
9628         longlong: skip, rather than fail, on cross-compilation
9629         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
9630         when cross-compiling; regression from 2011-02-16.
9631
9632 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
9633
9634         * NEWS: Mention 2011-02-08 change to stdlib.
9635
9636 2011-02-17  Bruno Haible  <bruno@clisp.org>
9637
9638         getloadavg: Add comments about platforms.
9639         * m4/getloadavg.m4: Add comment.
9640         * lib/getloadavg.c: Likewise.
9641
9642 2011-02-17  Bruno Haible  <bruno@clisp.org>
9643
9644         getloadavg: Fix link error on Solaris 2.6.
9645         * modules/getloadavg (Link): New section.
9646         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
9647         linking test-getloadavg.
9648         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
9649         getloadavg.
9650
9651 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
9652
9653         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
9654         It was 'int', but this doesn't match the IRIX 6.5 manual.
9655         Suggested by Bruno Haible in
9656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
9657
9658 2011-02-17  Bruno Haible  <bruno@clisp.org>
9659
9660         havelib: Fix comments.
9661         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
9662         change.
9663
9664 2011-02-17  Bruno Haible  <bruno@clisp.org>
9665
9666         havelib: Update config.rpath.
9667         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
9668
9669 2011-02-17  Bruno Haible  <bruno@clisp.org>
9670
9671         getloadavg test: Add some plausibility checks.
9672         * tests/test-getloadavg.c (check_avg): Print a warning when the value
9673         is improbable.
9674
9675 2011-02-16  Eric Blake  <eblake@redhat.com>
9676
9677         maintainer-makefile: make syntax-check a no-op from tarballs
9678         * top/maint.mk (no-vc-detected): New rule.
9679         (local-checks-available): Use it to avoid hanging if someone tries
9680         'make syntax-check' from a tarball.  Also append to any non-syntax
9681         checks already defined in cfg.mk.
9682
9683 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9684
9685         longlong: tune, particularly for common case of c99
9686
9687         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
9688         or running anything if c99, or if unsigned long long int does not
9689         work.  In either case, we know the answer without further tests.
9690         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
9691         it at most once, and use its results for both long long int and
9692         unsigned long long int.  This is more likely to be efficient in
9693         the common case where the program wants to check for both long
9694         long int and unsigned long long int.
9695         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
9696         since the answer is already known.
9697
9698 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
9699
9700         getloadavg: set errno
9701         * lib/getloadavg.c: Set errno when returning -1.  If no other
9702         error number looks appropriate, set it to ENOSYS if the getloadavg
9703         looks like it can't possibly ever work, ENOTSUP otherwise.
9704         Suggested by Bruno Haible in
9705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
9706
9707         getloadavg: trim unused parts and speed up 'configure'
9708         * NEWS: Document this.
9709         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
9710         always compiled if getloadavg is absent.
9711         Move test code to ...
9712         * tests/test-getloadavg.c: New file, containing previous
9713         contents of test from lib/getloadavg.c.  It also contains
9714         suggestions by Bruno Haible in
9715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
9716         * modules/getloadavg-tests: New file.
9717         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
9718         Do tests in the same order as they're needed for getloadavg.c.
9719         Omit setgid-related tests that generate symbols KMEM_GROUP,
9720         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
9721         Do only the tests that are needed to see whether the system has
9722         getloadavg, moving the other tests into ...
9723         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
9724         NLIST_NAME_UNION; nobody should be using it.  Do not define
9725         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
9726         relevant, as the user of this module shouldn't care how getloadavg
9727         is implemented.
9728
9729         getloadavg: omit unused var
9730         * lib/getloadavg.c (getloadavg): Omit unused local variable.
9731
9732 2011-02-15  Jim Meyering  <meyering@redhat.com>
9733
9734         doc: update users.txt
9735         * users.txt: Update iwhd's URL.
9736
9737 2011-02-13  Bruno Haible  <bruno@clisp.org>
9738
9739         Consistent macro naming for macros that use GCC __attribute__.
9740         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
9741         _ATTRIBUTE_NONNULL_.
9742         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
9743         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
9744         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
9745         ATTRIBUTE_DEPRECATED.
9746         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
9747         ATTRIBUTE_NORETURN.
9748         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9749         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9750         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9751         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9752         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
9753         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
9754         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
9755         ATTRIBUTE_SENTINEL.
9756         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
9757         ATTRIBUTE_RETURN_CHECK.
9758         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
9759         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
9760         ATTRIBUTE_NORETURN.
9761         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
9762         Reported by Paul Eggert.
9763
9764 2011-02-13  Bruno Haible  <bruno@clisp.org>
9765
9766         Don't interfere with a program's definition of __attribute__.
9767         * lib/argp.h (__attribute__): Remove definition.
9768         (_GL_ATTRIBUTE_FORMAT): New macro.
9769         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
9770         * lib/argp-fmtstream.h (__attribute__): Remove definition.
9771         (_GL_ATTRIBUTE_FORMAT): New macro.
9772         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
9773         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
9774         GCC 3 or newer.
9775         * lib/error.h (__attribute__): Remove definition.
9776         (_GL_ATTRIBUTE_FORMAT): New macro.
9777         (error, error_at_line): Use it.
9778         * lib/hash.h (__attribute__): Remove definition.
9779         (ATTRIBUTE_WUR): Update definition. Define always.
9780         * lib/openat.h (__attribute__): Remove definition.
9781         (ATTRIBUTE_NORETURN): Update definition. Define always.
9782         * lib/sigpipe-die.h (__attribute__): Remove definition.
9783         (ATTRIBUTE_NORETURN): Update definition. Define always.
9784         * lib/vasnprintf.h (__attribute__): Remove definition.
9785         (_GL_ATTRIBUTE_FORMAT): New macro.
9786         (asnprintf, vasnprintf): Use it.
9787         * lib/xalloc.h (__attribute__): Remove definition.
9788         (ATTRIBUTE_NORETURN): Update definition. Define always.
9789         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
9790         * lib/xmemdup0.h (__attribute__): Remove definition.
9791         (ATTRIBUTE_NORETURN): Update definition. Define always.
9792         * lib/xprintf.h (__attribute__): Remove definition.
9793         (_GL_ATTRIBUTE_FORMAT): New macro.
9794         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
9795         * lib/xstrtol.h (__attribute__): Remove definition.
9796         (ATTRIBUTE_NORETURN): Update definition. Define always.
9797         * lib/xvasprintf.h (__attribute__): Remove definition.
9798         (_GL_ATTRIBUTE_FORMAT): New macro.
9799         (xasprintf, xvasprintf): Use it.
9800         * tests/test-argmatch.c (__attribute__): Remove definition.
9801         (ATTRIBUTE_NORETURN): Update definition. Define always.
9802         * tests/test-exclude.c (__attribute__): Remove definition.
9803         (ATTRIBUTE_NORETURN): Update definition. Define always.
9804         Reported by Paul Eggert.
9805
9806 2011-02-13  Bruno Haible  <bruno@clisp.org>
9807
9808         mbrtowc: Add more tests for native Windows platforms.
9809         * tests/test-mbrtowc-w32-1.sh: New file.
9810         * tests/test-mbrtowc-w32-2.sh: New file.
9811         * tests/test-mbrtowc-w32-3.sh: New file.
9812         * tests/test-mbrtowc-w32-4.sh: New file.
9813         * tests/test-mbrtowc-w32-5.sh: New file.
9814         * tests/test-mbrtowc-w32.c: New file.
9815         * modules/mbrtowc-tests (Files): Add them.
9816         (Makefile.am): Arrange to run these tests.
9817         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
9818         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
9819
9820 2011-02-13  Bruno Haible  <bruno@clisp.org>
9821
9822         mbrtowc: Work around native Windows bug.
9823         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
9824         guess when no suitable locale for testing was found.
9825         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
9826
9827 2011-02-13  Bruno Haible  <bruno@clisp.org>
9828
9829         mbsinit: Work around mingw bug.
9830         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
9831         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
9832         Windows.
9833         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
9834
9835 2011-02-13  Bruno Haible  <bruno@clisp.org>
9836
9837         mbsinit: Don't crash for a NULL argument.
9838         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
9839         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
9840
9841 2011-02-13  Bruno Haible  <bruno@clisp.org>
9842
9843         Don't interfere with a program's definition of __attribute__.
9844         * lib/stdio.in.h (__attribute__): Remove definition.
9845         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
9846         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
9847         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
9848         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
9849         * lib/string.in.h (__attribute__): Remove definition.
9850         Reported by Paul Eggert.
9851
9852 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9853
9854         stdlib: don't get in the way of non-GCC __attribute__
9855         See thread starting at
9856         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
9857         Revert previous stdlib change, installing the following instead:
9858         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
9859         to get in the way of a non-GCC compiler that supports __attribute__.
9860         (_GL_ATTRIBUTE_RETURN): New macro.
9861         (_Exit): Use it instead of __attribute__.
9862
9863 2011-02-12  Bruno Haible  <bruno@clisp.org>
9864
9865         quotearg test: Avoid test failure on mingw.
9866         * tests/test-quotearg.sh: Convert the locale identifier from native
9867         Windows syntax to Unix syntax.
9868
9869 2011-02-12  Bruno Haible  <bruno@clisp.org>
9870
9871         setlocale: Prefer gnulib's override over libintl's override.
9872         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
9873         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
9874         GNULIB_defined_setlocale is set.
9875
9876 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9877
9878         stdlib: support non-GCC __attribute__
9879
9880         Fix a serious and tricky problem encountered when attempting to
9881         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
9882         5.5, but it crashed due to memory corruption on Solaris 10 with
9883         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
9884         bits that are otherwise zero.  This tagging is optional inside
9885         Emacs but is preferred and is used when __attribute__ ((__aligned
9886         (8))) works, as it does with both recent-enough GCC and with Sun C
9887         5.11.  However, Sun C 5.11 is not GCC and does not #define
9888         __GNUC__ and __GNUC_MINOR__.
9889
9890         When I added the getloadavg module to Emacs, it brought in
9891         stdlib.in.h, which contained this fragment:
9892
9893            #ifndef __attribute__
9894            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
9895            #  define __attribute__(Spec)   /* empty */
9896            # endif
9897            #endif
9898
9899         When files that include <stdlib.h> were compiled with Sun C 5.11,
9900         the above code disabled __attribute__ ((__aligned (8))), which
9901         caused variables to not be properly aligned, which eventually led
9902         to the pointer corruption mentioned above.  (This was a bit hard
9903         to diagnose, unfortunately.)
9904
9905         Several "#define __attribute__(X) /* empty */" code snippets need
9906         to be eradicated from Gnulib to work with non-GCC compilers that
9907         support __attribute__.  The Autoconf way to do this is to test for
9908         each kind of attribute that we want support for, and selectively
9909         enable that in source code.
9910
9911         Fix this problem just for stdlib.h, by adding a test for the
9912         __noreturn__ attribute, and change stdlib.in.h to use that test
9913         when needed.  This technique can be easily generalized to the
9914         other *.in.h files and attributes, and a similar technique can be
9915         used for *.h and *.c files.  This patch is enough to solve the
9916         problem for Emacs + getloadavg, and I thought I'd publish it for
9917         feedback before undertaking further, similar fixes in other
9918         modules.
9919
9920         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
9921         because it's not needed for stdlib.h.  It merely substitutes the
9922         value directly into stdlib.h.  We may well need to #define it, or
9923         similar symbols, for other modules, but it's nice to also have an
9924         option to not #define it for applications like Emacs that do not
9925         need it.
9926
9927         * lib/stdlib.in.h (__attribute__): Do not #define.
9928         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
9929         be defined only if the _Exit module is also used.
9930         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
9931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
9932         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
9933         platforms.
9934         * modules/_Exit (Files): Add m4/attribute.m4.
9935         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
9936         * m4/attribute.m4: New file.
9937
9938 2011-02-12  Bruno Haible  <bruno@clisp.org>
9939
9940         wcsrtombs: Work around bug on native Windows.
9941         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
9942         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
9943         instead of len.
9944         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
9945
9946 2011-02-12  Bruno Haible  <bruno@clisp.org>
9947
9948         mbsrtowcs: Work around bug on native Windows.
9949         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
9950         against mingw bug.
9951         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
9952
9953 2011-02-12  Bruno Haible  <bruno@clisp.org>
9954
9955         Avoid setlocale bugs in tests.
9956         * modules/btowc (Dependencies): Add setlocale.
9957         * modules/c-strcase (Dependencies): Likewise.
9958         * modules/mbmemcasecmp (Dependencies): Likewise.
9959         * modules/mbmemcasecoll (Dependencies): Likewise.
9960         * modules/mbrtowc (Dependencies): Likewise.
9961         * modules/mbscasecmp (Dependencies): Likewise.
9962         * modules/mbscasestr (Dependencies): Likewise.
9963         * modules/mbschr (Dependencies): Likewise.
9964         * modules/mbscspn (Dependencies): Likewise.
9965         * modules/mbsinit (Dependencies): Likewise.
9966         * modules/mbsncasecmp (Dependencies): Likewise.
9967         * modules/mbsnrtowcs (Dependencies): Likewise.
9968         * modules/mbspbrk (Dependencies): Likewise.
9969         * modules/mbspcasecmp (Dependencies): Likewise.
9970         * modules/mbsrchr (Dependencies): Likewise.
9971         * modules/mbsrtowcs (Dependencies): Likewise.
9972         * modules/mbsspn (Dependencies): Likewise.
9973         * modules/mbsstr (Dependencies): Likewise.
9974         * modules/nl_langinfo (Dependencies): Likewise.
9975         * modules/quotearg (Dependencies): Likewise.
9976         * modules/unicase/locale-language (Dependencies): Likewise.
9977         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
9978         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
9979         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
9980         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
9981         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
9982         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
9983         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
9984         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
9985         * modules/vasnprintf-posix (Dependencies): Likewise.
9986         * modules/wcrtomb (Dependencies): Likewise.
9987         * modules/wcsnrtombs (Dependencies): Likewise.
9988         * modules/wcsrtombs (Dependencies): Likewise.
9989
9990 2011-02-12  Bruno Haible  <bruno@clisp.org>
9991
9992         setlocale: Workaround native Windows bug.
9993         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
9994         succeeds but sets LC_CTYPE to "C", report a failure.
9995         * tests/test-setlocale2.sh: New file.
9996         * tests/test-setlocale2.c: New file.
9997         * modules/setlocale-tests (Files): Add the new files.
9998         (Makefile.am): Enable test-setlocale2.sh test.
9999         * doc/posix-functions/setlocale.texi: Mention workaround.
10000
10001 2011-02-11  Bruno Haible  <bruno@clisp.org>
10002
10003         Tests for module 'setlocale'.
10004         * modules/setlocale-tests: New file.
10005         * tests/test-setlocale1.sh: New file.
10006         * tests/test-setlocale1.c: New file.
10007
10008         New module 'setlocale'.
10009         * lib/locale.in.h (setlocale): New declaration.
10010         * lib/setlocale.c: New file, based on
10011         gettext/gettext-runtime/intl/setlocale.c.
10012         * m4/setlocale.m4: New file.
10013         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
10014         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
10015         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
10016         REPLACE_SETLOCALE.
10017         * modules/setlocale: New file.
10018         * tests/test-locale-c++.cc: Test the declaration of setlocale.
10019         * doc/posix-functions/setlocale.texi: Mention the new module.
10020
10021 2011-02-11  Bruno Haible  <bruno@clisp.org>
10022
10023         Prepare for locale dependent tests on mingw.
10024         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
10025         because it has the wrong locale encoding.
10026         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
10027         French_France.1252 instead of "fr".
10028         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
10029         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
10030         because it has the wrong locale encoding.
10031         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
10032         native Windows, try Turkish_Turkey.65001.
10033         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
10034         Chinese_China.54936.
10035
10036         Prepare for locale dependent tests on mingw.
10037         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
10038         differently.
10039         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
10040         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
10041         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
10042         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10043
10044 2011-02-11  Eric Blake  <eblake@redhat.com>
10045
10046         strptime: avoid compiler warnings
10047         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
10048         compiler warnings about dead code.
10049         Reported by Daniel P. Berrange.
10050
10051 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
10052
10053         doc: update users.txt
10054         * users.txt: Add rcs.
10055
10056 2011-02-10  John W. Eaton  <jwe@gnu.org>
10057
10058         doc: update users.txt
10059         * users.txt: Add octave.
10060
10061 2011-02-10  Jim Meyering  <meyering@redhat.com>
10062
10063         doc: update users.txt
10064         * users.txt: Add iwhd.
10065
10066 2011-02-09  Bruno Haible  <bruno@clisp.org>
10067
10068         gnulib-tool: Make copyright notice adjustment more robust.
10069         * gnulib-tool (func_import): In sed_transform_main_lib_file,
10070         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
10071         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
10072         License".
10073         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
10074
10075 2011-02-06  Bruno Haible  <bruno@clisp.org>
10076
10077         New module 'towctrans'.
10078         * modules/towctrans: New file.
10079         * lib/wctype.in.h (towctrans): New declaration.
10080         * lib/towctrans.c: New file.
10081         * lib/towctrans-impl.h: New file.
10082         * m4/towctrans.m4: New file.
10083         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
10084         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
10085         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
10086         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
10087         * doc/posix-functions/towctrans.texi: Mention the new module.
10088
10089 2011-02-06  Bruno Haible  <bruno@clisp.org>
10090
10091         New module 'wctrans'.
10092         * modules/wctrans: New file.
10093         * lib/wctype.in.h (wctrans): New declaration.
10094         * lib/wctrans.c: New file.
10095         * lib/wctrans-impl.h: New file.
10096         * m4/wctrans.m4: New file.
10097         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
10098         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
10099         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
10100         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
10101         * doc/posix-functions/wctrans.texi: Mention the new module.
10102
10103 2011-02-06  Bruno Haible  <bruno@clisp.org>
10104
10105         New module 'iswctype'.
10106         * modules/iswctype: New file.
10107         * lib/wctype.in.h (iswctype): New declaration.
10108         * lib/iswctype.c: New file.
10109         * lib/iswctype-impl.h: New file.
10110         * m4/iswctype.m4: New file.
10111         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
10112         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
10113         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
10114         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
10115         * doc/posix-functions/iswctype.texi: Mention the new module and the
10116         HP-UX 11.00 problem.
10117
10118 2011-02-06  Bruno Haible  <bruno@clisp.org>
10119
10120         New module 'wctype'.
10121         * modules/wctype: Change to represent the wctype() substitute.
10122         * lib/wctype.in.h (wctype): New declaration.
10123         * lib/wctype.c: New file.
10124         * lib/wctype-impl.h: New file.
10125         * m4/wctype.m4: New file.
10126         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
10127         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
10128         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
10129         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
10130         * doc/posix-functions/wctype.texi: Mention the new module and the
10131         HP-UX 11.00 problem.
10132
10133 2011-02-06  Bruno Haible  <bruno@clisp.org>
10134
10135         wctype-h: Ensure wctype_t and wctrans_t are defined.
10136         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
10137         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10138         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10139         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
10140         HAVE_WCTRANS_T.
10141         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
10142
10143 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
10144
10145         flock: fix license typo
10146
10147         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
10148         omitted.
10149
10150 2011-02-08  Bruno Haible  <bruno@clisp.org>
10151
10152         Split large sed scripts, for HP-UX sed.
10153         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
10154         to avoid HP-UX limit of 99 commands, in the near future.
10155         * modules/stdlib (Makefile.am): Likewise.
10156         * modules/unistd (Makefile.am): Likewise.
10157         * modules/wchar (Makefile.am): Likewise.
10158         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10159         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
10160         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
10161
10162 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10163             Bruno Haible  <bruno@clisp.org>
10164
10165         stdlib: improve random_r modularization
10166         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
10167         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
10168         you also need the random_r module to get this material right.
10169         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
10170         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
10171         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
10172
10173 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10174
10175         stdlib: don't depend on stdint
10176         * lib/stdlib.in.h: Don't include <stdint.h> merely because
10177         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
10178         be independent of whether stdint.h is needed.
10179         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
10180         here, instead of ...
10181         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
10182         struct random_data should be using the random_r module, not just
10183         the stdlib module (which wouldn't make sense: what package needs
10184         just struct random_data without also needing random_r?).
10185         * modules/stdlib (Depends-on): Remove stdint.
10186
10187         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
10188         See the thread rooted at
10189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
10190         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
10191         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
10192         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
10193         __VMS)); previously it was always included (via fcntl--.h).
10194         (getloadavg): Do not use c_strtod.  Instead, approximate it by
10195         hand; this is good enough for load averages.  Also, do not use
10196         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
10197         flags directly if available and don't bother otherwise.  (Packages
10198         that need the extra reliability should use the modules that define
10199         these flags on older platforms that lack them.)
10200         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
10201         fcntl-safer.
10202
10203 2011-02-08  Jim Meyering  <meyering@redhat.com>
10204
10205         di-set.h, ino-map.h: add multiple-inclusion guard
10206         Technically, the guard is required only for ino-map.h, due to its
10207         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
10208         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
10209         * lib/ino-map.h: Likewise.
10210
10211 2011-02-06  Bruno Haible  <bruno@clisp.org>
10212
10213         iswblank: Ensure declaration on glibc systems.
10214         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
10215         * modules/iswblank (Dependencies): Add 'extensions'.
10216         * doc/posix-functions/iswblank.texi: Document the glibc problem.
10217
10218 2011-02-06  Bruno Haible  <bruno@clisp.org>
10219
10220         New module 'iswblank'.
10221         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
10222         * modules/iswblank: New file.
10223         * modules/wctype-h (Files): Remove lib/iswblank.c.
10224         (Makefile.am): Substitute GNULIB_ISWBLANK.
10225         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
10226         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
10227         (gl_WCTYPE_H_DEFAULTS): New macro.
10228         (gl_WCTYPE_H): Require it. Remove iswblank related code.
10229         * modules/iswblank-tests: New file.
10230         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
10231         * tests/test-wctype-h.c (main): Remove iswblank tests.
10232         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
10233         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
10234         of 'wctype-h'.
10235         * NEWS: Mention the change.
10236         * modules/mbchar (Depends-on): Add iswblank.
10237
10238 2011-02-08  Bruno Haible  <bruno@clisp.org>
10239
10240         di-set tests: Refactor.
10241         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
10242         unnecessary includes.
10243         (ASSERT): Remove macro.
10244         (main): Make C90 compliant by avoiding variable declaration after
10245         statement.
10246         * modules/di-set-tests (Files): Add tests/macros.h.
10247
10248 2011-02-08  Bruno Haible  <bruno@clisp.org>
10249
10250         ino-map tests: Refactor.
10251         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
10252         unnecessary includes.
10253         (ASSERT): Remove macro.
10254         (main): Make C90 compliant by avoiding variable declaration after
10255         statement.
10256         * modules/ino-map-tests (Files): Add tests/macros.h.
10257
10258 2011-02-08  Jim Meyering  <meyering@redhat.com>
10259
10260         di-set: add "const" to a cast
10261         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
10262         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
10263
10264 2011-02-06  Bruno Haible  <bruno@clisp.org>
10265
10266         Rename module 'wctype' to 'wctype-h'.
10267         * modules/wctype-h: Renamed from modules/wctype.
10268         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
10269         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
10270         (Files, Depends-on, Makefile.am): Update.
10271         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
10272         (Files, Makefile.am): Update.
10273         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
10274         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
10275         * doc/posix-headers/wctype.texi: Update.
10276         * doc/posix-functions/iswalnum.texi: Update.
10277         * doc/posix-functions/iswalpha.texi: Update.
10278         * doc/posix-functions/iswblank.texi: Update.
10279         * doc/posix-functions/iswcntrl.texi: Update.
10280         * doc/posix-functions/iswdigit.texi: Update.
10281         * doc/posix-functions/iswgraph.texi: Update.
10282         * doc/posix-functions/iswlower.texi: Update.
10283         * doc/posix-functions/iswprint.texi: Update.
10284         * doc/posix-functions/iswpunct.texi: Update.
10285         * doc/posix-functions/iswspace.texi: Update.
10286         * doc/posix-functions/iswupper.texi: Update.
10287         * doc/posix-functions/iswxdigit.texi: Update.
10288         * doc/posix-functions/towlower.texi: Update.
10289         * doc/posix-functions/towupper.texi: Update.
10290         * NEWS: Mention the change.
10291         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
10292         * modules/mbchar (Dependencies): Likewise.
10293         * modules/mbswidth (Dependencies): Likewise.
10294         * modules/quotearg (Dependencies): Likewise.
10295         * modules/regex (Dependencies): Likewise.
10296         * modules/wcscasecmp (Dependencies): Likewise.
10297         * modules/wcsncasecmp (Dependencies): Likewise.
10298         * modules/wcwidth (Dependencies): Likewise.
10299
10300 2011-02-06  Bruno Haible  <bruno@clisp.org>
10301
10302         New module 'wcswidth'.
10303         * modules/wcswidth: New file.
10304         * lib/wchar.in.h (wcswidth): New declaration.
10305         * lib/wcswidth.c: New file.
10306         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
10307         * m4/wcswidth.m4: New file.
10308         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
10309         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
10310         REPLACE_WCSWIDTH.
10311         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
10312         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
10313         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
10314         * doc/posix-functions/wcswidth.texi: Mention the new module.
10315
10316 2011-02-06  Bruno Haible  <bruno@clisp.org>
10317
10318         New module 'wcstok'.
10319         * modules/wcstok: New file.
10320         * lib/wchar.in.h (wcstok): New declaration.
10321         * lib/wcstok.c: New file.
10322         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
10323         * m4/wcstok.m4: New file.
10324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
10325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
10326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
10327         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
10328         * doc/posix-functions/wcstok.texi: Mention the new module.
10329
10330 2011-02-06  Bruno Haible  <bruno@clisp.org>
10331
10332         New module 'wcsstr'.
10333         * modules/wcsstr: New file.
10334         * lib/wchar.in.h (wcsstr): New declaration.
10335         * lib/wcsstr.c: New file.
10336         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
10337         * m4/wcsstr.m4: New file.
10338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
10339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
10340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
10341         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
10342         * doc/posix-functions/wcsstr.texi: Mention the new module.
10343
10344 2011-02-06  Bruno Haible  <bruno@clisp.org>
10345
10346         New module 'wcspbrk'.
10347         * modules/wcspbrk: New file.
10348         * lib/wchar.in.h (wcspbrk): New declaration.
10349         * lib/wcspbrk.c: New file.
10350         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
10351         * m4/wcspbrk.m4: New file.
10352         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
10353         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
10354         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
10355         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
10356         * doc/posix-functions/wcspbrk.texi: Mention the new module.
10357
10358 2011-02-06  Bruno Haible  <bruno@clisp.org>
10359
10360         New module 'wcsspn'.
10361         * modules/wcsspn: New file.
10362         * lib/wchar.in.h (wcsspn): New declaration.
10363         * lib/wcsspn.c: New file.
10364         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
10365         * m4/wcsspn.m4: New file.
10366         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
10367         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
10368         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
10369         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
10370         * doc/posix-functions/wcsspn.texi: Mention the new module.
10371
10372 2011-02-06  Bruno Haible  <bruno@clisp.org>
10373
10374         New module 'wcscspn'.
10375         * modules/wcscspn: New file.
10376         * lib/wchar.in.h (wcscspn): New declaration.
10377         * lib/wcscspn.c: New file.
10378         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
10379         * m4/wcscspn.m4: New file.
10380         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
10381         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
10382         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
10383         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
10384         * doc/posix-functions/wcscspn.texi: Mention the new module.
10385
10386 2011-02-06  Bruno Haible  <bruno@clisp.org>
10387
10388         New module 'wcsrchr'.
10389         * modules/wcsrchr: New file.
10390         * lib/wchar.in.h (wcsrchr): New declaration.
10391         * lib/wcsrchr.c: New file.
10392         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
10393         * m4/wcsrchr.m4: New file.
10394         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
10395         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
10396         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
10397         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
10398         * doc/posix-functions/wcsrchr.texi: Mention the new module.
10399
10400 2011-02-06  Bruno Haible  <bruno@clisp.org>
10401
10402         New module 'wcschr'.
10403         * modules/wcschr: New file.
10404         * lib/wchar.in.h (wcschr): New declaration.
10405         * lib/wcschr.c: New file.
10406         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
10407         * m4/wcschr.m4: New file.
10408         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
10409         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
10410         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
10411         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
10412         * doc/posix-functions/wcschr.texi: Mention the new module.
10413
10414 2011-02-06  Bruno Haible  <bruno@clisp.org>
10415
10416         New module 'wcsdup'.
10417         * modules/wcsdup: New file.
10418         * lib/wchar.in.h (wcsdup): New declaration.
10419         * lib/wcsdup.c: New file.
10420         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
10421         * m4/wcsdup.m4: New file.
10422         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
10423         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
10424         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
10425         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
10426         * doc/posix-functions/wcsdup.texi: Mention the new module.
10427
10428 2011-02-06  Bruno Haible  <bruno@clisp.org>
10429
10430         New module 'wcsxfrm'.
10431         * modules/wcsxfrm: New file.
10432         * lib/wchar.in.h (wcsxfrm): New declaration.
10433         * lib/wcsxfrm.c: New file.
10434         * lib/wcsxfrm-impl.h: New file.
10435         * m4/wcsxfrm.m4: New file.
10436         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
10437         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
10438         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
10439         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
10440         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
10441
10442 2011-02-06  Bruno Haible  <bruno@clisp.org>
10443
10444         New module 'wcscoll'.
10445         * modules/wcscoll: New file.
10446         * lib/wchar.in.h (wcscoll): New declaration.
10447         * lib/wcscoll.c: New file.
10448         * lib/wcscoll-impl.h: New file.
10449         * m4/wcscoll.m4: New file.
10450         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
10451         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
10452         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
10453         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
10454         * doc/posix-functions/wcscoll.texi: Mention the new module.
10455
10456 2011-02-06  Bruno Haible  <bruno@clisp.org>
10457
10458         New module 'wcsncasecmp'.
10459         * modules/wcsncasecmp: New file.
10460         * lib/wchar.in.h (wcsncasecmp): New declaration.
10461         * lib/wcsncasecmp.c: New file.
10462         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
10463         * m4/wcsncasecmp.m4: New file.
10464         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
10465         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
10466         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
10467         HAVE_WCSNCASECMP.
10468         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
10469         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
10470
10471 2011-02-06  Bruno Haible  <bruno@clisp.org>
10472
10473         New module 'wcscasecmp'.
10474         * modules/wcscasecmp: New file.
10475         * lib/wchar.in.h (wcscasecmp): New declaration.
10476         * lib/wcscasecmp.c: New file.
10477         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
10478         * m4/wcscasecmp.m4: New file.
10479         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
10480         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
10481         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
10482         HAVE_WCSCASECMP.
10483         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
10484         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
10485
10486 2011-02-05  Bruno Haible  <bruno@clisp.org>
10487
10488         New module 'wcsncmp'.
10489         * modules/wcsncmp: New file.
10490         * lib/wchar.in.h (wcsncmp): New declaration.
10491         * lib/wcsncmp.c: New file.
10492         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
10493         * m4/wcsncmp.m4: New file.
10494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
10495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
10496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
10497         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
10498         * doc/posix-functions/wcsncmp.texi: Mention the new module.
10499
10500 2011-02-05  Bruno Haible  <bruno@clisp.org>
10501
10502         New module 'wcscmp'.
10503         * modules/wcscmp: New file.
10504         * lib/wchar.in.h (wcscmp): New declaration.
10505         * lib/wcscmp.c: New file.
10506         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
10507         * m4/wcscmp.m4: New file.
10508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
10509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
10510         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
10511         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
10512         * doc/posix-functions/wcscmp.texi: Mention the new module.
10513
10514 2011-02-05  Bruno Haible  <bruno@clisp.org>
10515
10516         New module 'wcsncat'.
10517         * modules/wcsncat: New file.
10518         * lib/wchar.in.h (wcsncat): New declaration.
10519         * lib/wcsncat.c: New file.
10520         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
10521         * m4/wcsncat.m4: New file.
10522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
10523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
10524         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
10525         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
10526         * doc/posix-functions/wcsncat.texi: Mention the new module.
10527
10528 2011-02-05  Bruno Haible  <bruno@clisp.org>
10529
10530         New module 'wcscat'.
10531         * modules/wcscat: New file.
10532         * lib/wchar.in.h (wcscat): New declaration.
10533         * lib/wcscat.c: New file.
10534         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
10535         * m4/wcscat.m4: New file.
10536         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
10537         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
10538         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
10539         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
10540         * doc/posix-functions/wcscat.texi: Mention the new module.
10541
10542 2011-02-05  Bruno Haible  <bruno@clisp.org>
10543
10544         New module 'wcpncpy'.
10545         * modules/wcpncpy: New file.
10546         * lib/wchar.in.h (wcpncpy): New declaration.
10547         * lib/wcpncpy.c: New file.
10548         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
10549         * m4/wcpncpy.m4: New file.
10550         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
10551         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
10552         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
10553         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
10554         * doc/posix-functions/wcpncpy.texi: Mention the new module.
10555
10556 2011-02-05  Bruno Haible  <bruno@clisp.org>
10557
10558         New module 'wcsncpy'.
10559         * modules/wcsncpy: New file.
10560         * lib/wchar.in.h (wcsncpy): New declaration.
10561         * lib/wcsncpy.c: New file.
10562         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
10563         * m4/wcsncpy.m4: New file.
10564         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
10565         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
10566         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
10567         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
10568         * doc/posix-functions/wcsncpy.texi: Mention the new module.
10569
10570 2011-02-05  Bruno Haible  <bruno@clisp.org>
10571
10572         New module 'wcpcpy'.
10573         * modules/wcpcpy: New file.
10574         * lib/wchar.in.h (wcpcpy): New declaration.
10575         * lib/wcpcpy.c: New file.
10576         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
10577         * m4/wcpcpy.m4: New file.
10578         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
10579         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
10580         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
10581         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
10582         * doc/posix-functions/wcpcpy.texi: Mention the new module.
10583
10584 2011-02-05  Bruno Haible  <bruno@clisp.org>
10585
10586         New module 'wcscpy'.
10587         * modules/wcscpy: New file.
10588         * lib/wchar.in.h (wcscpy): New declaration.
10589         * lib/wcscpy.c: New file.
10590         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
10591         * m4/wcscpy.m4: New file.
10592         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
10593         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
10594         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
10595         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
10596         * doc/posix-functions/wcscpy.texi: Mention the new module.
10597
10598 2011-02-05  Bruno Haible  <bruno@clisp.org>
10599
10600         New module 'wcsnlen'.
10601         * modules/wcsnlen: New file.
10602         * lib/wchar.in.h (wcsnlen): New declaration.
10603         * lib/wcsnlen.c: New file.
10604         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
10605         * m4/wcsnlen.m4: New file.
10606         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
10607         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
10608         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
10609         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
10610         * doc/posix-functions/wcsnlen.texi: Mention the new module.
10611
10612 2011-02-05  Bruno Haible  <bruno@clisp.org>
10613
10614         New module 'wcslen'.
10615         * modules/wcslen: New file.
10616         * lib/wchar.in.h (wcslen): New declaration.
10617         * lib/wcslen.c: New file.
10618         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
10619         * m4/wcslen.m4: New file.
10620         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
10621         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
10622         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
10623         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
10624         * doc/posix-functions/wcslen.texi: Mention the new module.
10625
10626 2011-02-05  Bruno Haible  <bruno@clisp.org>
10627
10628         New module 'wmemset'.
10629         * modules/wmemset: New file.
10630         * lib/wchar.in.h (wmemset): New declaration.
10631         * lib/wmemset.c: New file.
10632         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
10633         * m4/wmemset.m4: New file.
10634         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
10635         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
10636         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
10637         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
10638         * doc/posix-functions/wmemset.texi: Mention the new module.
10639
10640 2011-02-05  Bruno Haible  <bruno@clisp.org>
10641
10642         New module 'wmemmove'.
10643         * modules/wmemmove: New file.
10644         * lib/wchar.in.h (wmemmove): New declaration.
10645         * lib/wmemmove.c: New file.
10646         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
10647         * m4/wmemmove.m4: New file.
10648         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
10649         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
10650         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
10651         HAVE_WMEMMOVE.
10652         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
10653         * doc/posix-functions/wmemmove.texi: Mention the new module.
10654
10655 2011-02-05  Bruno Haible  <bruno@clisp.org>
10656
10657         New module 'wmemcpy'.
10658         * modules/wmemcpy: New file.
10659         * lib/wchar.in.h (wmemcpy): New declaration.
10660         * lib/wmemcpy.c: New file.
10661         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
10662         * m4/wmemcpy.m4: New file.
10663         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
10664         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
10665         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
10666         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
10667         * doc/posix-functions/wmemcpy.texi: Mention the new module.
10668
10669 2011-02-05  Bruno Haible  <bruno@clisp.org>
10670
10671         New module 'wmemcmp'.
10672         * modules/wmemcmp: New file.
10673         * lib/wchar.in.h (wmemcmp): New declaration.
10674         * lib/wmemcmp.c: New file.
10675         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
10676         * m4/wmemcmp.m4: New file.
10677         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
10678         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
10679         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
10680         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
10681         * doc/posix-functions/wmemcmp.texi: Mention the new module.
10682
10683 2011-02-07  Jim Meyering  <meyering@redhat.com>
10684
10685         di-set, ino-map: new modules, from coreutils
10686         * lib/di-set.c: New file.
10687         * lib/di-set.h: Likewise.
10688         * lib/ino-map.c: Likewise.
10689         * lib/ino-map.h: Likewise.
10690         * modules/di-set: Likewise.
10691         * modules/di-set-tests: Likewise.
10692         * modules/ino-map: Likewise.
10693         * modules/ino-map-tests: Likewise.
10694         * tests/test-di-set.c: Likewise.
10695         * tests/test-ino-map.c: Likewise.
10696
10697 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
10698
10699         getloadavg: merge minor changes from Emacs
10700
10701         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
10702         (getloadavg): Use memset, not bzero.
10703
10704         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
10705         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
10706         clash (bug#86).
10707
10708 2010-11-14  Bruno Haible  <bruno@clisp.org>
10709
10710         Allow multiple gnulib generated replacements to coexist.
10711         * lib/getopt.in.h (struct option): Avoid identical redefinition.
10712         * lib/inttypes.in.h (imaxdiv_t): Likewise.
10713         * lib/langinfo.in.h (nl_item): Likewise.
10714         * lib/math.in.h (_NaN, NAN): Likewise.
10715         * lib/netdb.in.h (struct addrinfo): Likewise.
10716         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
10717         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
10718         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
10719         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
10720         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
10721         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
10722         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
10723         pthread_mutexattr_init, pthread_mutexattr_settype,
10724         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
10725         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
10726         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
10727         pthread_spin_trylock, pthread_spin_unlock): Likewise.
10728         * lib/sched.in.h (struct sched_param): Likewise.
10729         * lib/se-selinux.in.h (security_class_t, security_context_t,
10730         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
10731         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
10732         lsetfilecon, fsetfilecon, security_check_context,
10733         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
10734         Likewise.
10735         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
10736         Likewise.
10737         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
10738         _gl_function_taking_int_returning_void_t, union sigval,
10739         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
10740         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
10741         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10742         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
10743         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
10744         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
10745         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
10746         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
10747         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
10748         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
10749         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
10750         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
10751         socklen_t, rpl_fd_isset): Likewise.
10752         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
10753         * lib/sys_time.in.h (struct timeval): Likewise.
10754         * lib/sys_times.in.h (struct tms): Likewise.
10755         * lib/sys_utsname.in.h (struct utsname):
10756         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
10757         * lib/unistd.in.h (getpagesize): Likewise.
10758         * lib/wchar.in.h (mbstate_t): Likewise.
10759         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
10760         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
10761         towlower, towupper): Likewise.
10762         Reported by Sam Steingold <sds@gnu.org>.
10763
10764 2011-02-05  Eric Blake  <eblake@redhat.com>
10765
10766         unsetenv: work around Haiku issues
10767         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
10768         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
10769
10770 2010-12-30  Bruce Korb  <bkorb@gnu.org>
10771
10772         libposix: avoid calling error() within libposix
10773         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
10774         is defined.
10775
10776 2011-02-05  Eric Blake  <eblake@redhat.com>
10777
10778         strerror_r-posix: port to cygwin
10779         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
10780         implementation.
10781         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
10782         * tests/test-strerror_r.c (main): Fix test.
10783         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
10784         issue.
10785
10786 2011-02-05  Bruno Haible  <bruno@clisp.org>
10787
10788         New module 'wmemchr'.
10789         * modules/wmemchr: New file.
10790         * lib/wchar.in.h (wmemchr): New declaration.
10791         * lib/wmemchr.c: New file.
10792         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
10793         * m4/wmemchr.m4: New file.
10794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
10795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
10796         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
10797         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
10798         * doc/posix-functions/wmemchr.texi: Mention the new module.
10799
10800 2011-02-04  Eric Blake  <eblake@redhat.com>
10801
10802         fdopendir: detect FreeBSD bug
10803         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
10804         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
10805
10806 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10807
10808         stdbool: do not define HAVE_STDBOOL_H
10809         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
10810         AC_HEADER_STDBOOL.  All uses changed.  Do not define
10811         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
10812         imported from the latest Autoconf git.  It was motivated by Emacs,
10813         which uses gnulib but does not need HAVE_STDBOOL_H.
10814
10815 2011-02-04  Bruno Haible  <bruno@clisp.org>
10816
10817         wcsnrtombs: Prepare for new module wwcsnrtombs.
10818         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
10819         * lib/wcsnrtombs.c: Include it.
10820         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
10821
10822         wcsrtombs: Prepare for new module wwcsrtombs.
10823         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
10824         * lib/wcsrtombs.c: Include it.
10825         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
10826
10827         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
10828         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
10829         * lib/mbsnrtowcs.c: Include it.
10830         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
10831
10832         mbsrtowcs: Prepare for new module mbsrtowwcs.
10833         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
10834         * lib/mbsrtowcs.c: Include it.
10835         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
10836
10837 2011-02-04  Bruno Haible  <bruno@clisp.org>
10838
10839         vasnprintf: Reduce use of malloc for small format strings.
10840         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
10841         (arguments): Add room for the first 7 arguments.
10842         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
10843         (char_directives, u8_directives, u16_directives, u32_directives): Add
10844         room for the first 7 directives.
10845         * lib/printf-parse.c: Include <string.h>.
10846         (PRINTF_PARSE): Change memory handling code so that it uses the first
10847         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
10848         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
10849         Reported by Pádraig Brady <P@draigbrady.com>.
10850
10851 2011-01-31  Eric Blake  <eblake@redhat.com>
10852
10853         dup2: work around Haiku bug
10854         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
10855         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
10856         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10857         * tests/test-dup2.c (main): Enhance test.
10858
10859 2011-01-31  Simon Josefsson  <simon@josefsson.org>
10860
10861         doc: off_t is not available in eglibc 2.11.2 stdio.h.
10862         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
10863         declared by eglibc 2.11.2.
10864         * lib/stdio.in.h: Likewise.
10865
10866 2011-01-31  Eric Blake  <eblake@redhat.com>
10867
10868         ignore-value: add missing test dependency
10869         * tests/test-ignore-value.c: Revert previous change; stdio.h
10870         provides off_t.
10871         * modules/ignore-value-tests (Depends-on): Add missing dependency.
10872
10873 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
10874
10875         mktime: clarify long_int width checking
10876         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
10877         the top level, to make it clearer that the assumption about
10878         long_int width is being checked.  See
10879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
10880
10881 2011-01-30  Simon Josefsson  <simon@josefsson.org>
10882
10883         ignore-value: Fix self-test.
10884         * tests/test-ignore-value.c: Include sys/types.h for off_t.
10885
10886 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
10887
10888         TYPE_MAXIMUM: avoid theoretically undefined behavior
10889         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
10890         negative number, which the C Standard says has undefined behavior.
10891         In practice this is not a problem, but might as well do it by the book.
10892         Reported by Rich Felker and Eric Blake; see
10893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
10894         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
10895         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10896         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10897         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
10898         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10899         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
10900
10901         mktime: #undef mktime before #defining it
10902         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
10903
10904         mktime: systematically normalize tm_isdst comparisons
10905         * lib/mktime.c (isdst_differ): New function.
10906         (__mktime_internal): Use it systematically for all isdst comparisons.
10907         This completes the fix for libc BZ #6723, and removes the need for
10908         normalizing tm_isdst.  See
10909         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
10910         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
10911
10912         mktime: fix some integer overflow issues and sidestep the rest
10913
10914         This was prompted by a bug report by Benjamin Lindner for MinGW
10915         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
10916         His bug is due to signed integer overflow (0 - INT_MIN), and I
10917         I scanned through mktime.c looking for other integer overflow
10918         problems, fixing all the bugs I found.
10919
10920         Although the C Standard says the resulting code is still not safe
10921         in the presence of integer overflow, in practice it should be good
10922         enough for all real-world two's-complement implementations, except
10923         for debugging environments that deliberately trap on integer
10924         overflow (e.g., gcc -ftrapv).
10925
10926         * lib/mktime.c (WRAPV): New macro.
10927         (SHR): Also check that long_int and time_t shift right in the
10928         usual way, before using the fast-but-unportable method.
10929         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
10930         used.  The code already assumed two's complement, so there's
10931         no need to test for alternatives.  All uses removed.
10932         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
10933         the C standard.  Problem reported by Rich Felker in
10934         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
10935         (twos_complement_arithmetic): Also check long_int and time_t.
10936         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
10937         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
10938         (__mktime_internal): Avoid integer overflow with unary subtraction
10939         in two instances where -1 - X is an adequate replacement for -X,
10940         since the calculations are approximate.
10941
10942 2011-01-29  Eric Blake  <eblake@redhat.com>
10943
10944         mktime: avoid infinite loop
10945         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
10946         type; behavior is still undefined but portable to all known targets.
10947         Reported by Rich Felker.
10948
10949 2011-01-29  Simon Josefsson  <simon@josefsson.org>
10950
10951         rename, unlink, same-inode: Relicense.
10952         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
10953         * modules/unlink (License): Likewise.
10954         * modules/same-inode (License): Likewise.
10955
10956 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10957
10958         mktime: avoid problems on NetBSD 5 / i386
10959         * lib/mktime.c (long_int): New type.  This works around a problem
10960         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
10961         but time_t is 64 bits, and where I expect the existing code is
10962         wrong in some cases.
10963         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
10964         (ydhms_diff): Bring back the compile-time check for wide-enough
10965         year and yday.
10966
10967         mktime: fix misspelling in comment
10968         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
10969         This merges all recent glibc changes of importance.
10970
10971 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10972
10973         move-if-change: cope with concurrent mv of identical file.
10974         * build-aux/move-if-change (CMPPROG): Accept environment
10975         variable as an override for `cmp'.
10976         (usage): Document CMPPROG.
10977         Adjust comparison to drop stdout.  Cope with failure of mv if
10978         the target file exists and is identical to the source, for
10979         parallel builds.
10980         Report from H.J. Lu against binutils in PR binutils/12283.
10981
10982 2011-01-28  Bruce Korb  <bkorb@gnu.org>
10983
10984         * users.txt: Mention sharutils.
10985
10986 2011-01-28  Simon Josefsson  <simon@josefsson.org>
10987
10988         * users.txt: Mention OATH Toolkit.
10989
10990 2011-01-27  Bruno Haible  <bruno@clisp.org>
10991
10992         Prepare for supporting FreeBSD 10.
10993         * build-aux/config.libpath: Remove handling of freebsd1*.
10994
10995 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
10996
10997         Prepare for supporting FreeBSD 10.
10998         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
10999         match FreeBSD 10.0.
11000
11001 2011-01-27  Bruno Haible  <bruno@clisp.org>
11002
11003         vma-iter, get-rusage-as: Add OpenBSD support.
11004         * modules/vma-iter (configure.ac): Test for mquery.
11005         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
11006         * lib/vma-iter.c: Include <sys/mman.h>.
11007         (vma_iterate): Add an implementation based on mquery().
11008         * lib/resource-ext.h (get_rusage_as): Update comments.
11009         * lib/get-rusage-as.c: Likewise.
11010         * lib/get-rusage-data.c: Likewise.
11011
11012 2011-01-26  Karl Berry  <karl@gnu.org>
11013
11014         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
11015         variables to make it easier to override the makeinfo program used.
11016
11017 2011-01-26  Eric Blake  <eblake@redhat.com>
11018
11019         fcntl: work around Haiku F_DUPFD bugs
11020         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
11021         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
11022         cloexec bit on duplication.
11023         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
11024
11025 2011-01-26  Bruno Haible  <bruno@clisp.org>
11026
11027         Enable memory leak tests on AIX.
11028         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
11029         * tests/test-fprintf-posix3.c (main): Likewise.
11030
11031 2011-01-26  Bruno Haible  <bruno@clisp.org>
11032
11033         Tests for module 'get-rusage-data'.
11034         * modules/get-rusage-data-tests: New file.
11035         * tests/test-get-rusage-data.c: New file.
11036
11037         New module 'get-rusage-data'.
11038         * lib/resource-ext.h (get_rusage_data): New declaration.
11039         * lib/get-rusage-data.c: New file.
11040         * modules/get-rusage-data: New file.
11041
11042 2011-01-25  Bruno Haible  <bruno@clisp.org>
11043
11044         get-rusage-as: Allow for easier testing.
11045         * lib/resource-ext.h (get_rusage_as): Add comment.
11046         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
11047         (main): New function for interactive testing.
11048
11049 2011-01-25  Bruno Haible  <bruno@clisp.org>
11050
11051         vma-iter: Treat Haiku like BeOS.
11052         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
11053         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
11054
11055 2011-01-25  Eric Blake  <eblake@redhat.com>
11056
11057         c-stack: fix regression on cygwin when libsigsegv is present
11058         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
11059
11060 2011-01-24  Bruno Haible  <bruno@clisp.org>
11061
11062         vma-iter: Avoid empty intervals.
11063         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
11064         on an empty interval.
11065
11066 2011-01-24  Jim Meyering  <meyering@redhat.com>
11067
11068         u64: remove unnecessary #include
11069         * lib/u64.h: Don't include <stddef.h>.  It was not used.
11070
11071 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11072
11073         Allow the user to avoid the HAVE_RAW_DECL_* macros.
11074         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
11075
11076 2011-01-23  Bruno Haible  <bruno@clisp.org>
11077
11078         New module 'vma-iter'.
11079         * lib/vma-iter.h: New file.
11080         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
11081         * modules/vma-iter: New file.
11082         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
11083         for get_rusage_as_via_iterator.
11084         (vma_iterate_callback): New function.
11085         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
11086         * modules/get-rusage-as (Depends-on): Add vma-iter.
11087
11088 2011-01-23  Bruno Haible  <bruno@clisp.org>
11089
11090         uninorm: Tweak includes.
11091         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
11092         Reported by Jim Meyering.
11093
11094 2011-01-23  Bruno Haible  <bruno@clisp.org>
11095
11096         get-rusage-as: Improve on NetBSD.
11097         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
11098         /proc, like on FreeBSD.
11099
11100 2011-01-23  Jim Meyering  <meyering@redhat.com>
11101
11102         xreadlink.h: remove unnecessary #include
11103         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
11104
11105         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
11106         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
11107
11108 2011-01-23  Bruno Haible  <bruno@clisp.org>
11109
11110         get-rusage-as: Fix bug.
11111         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
11112         original limit when aborting the first loop.
11113
11114 2011-01-23  Bruno Haible  <bruno@clisp.org>
11115
11116         wctype: Ensure valid C syntax.
11117         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
11118         unconditionally, instead of gl_NEXT_HEADERS conditionally.
11119
11120 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
11121
11122         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
11123         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
11124         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
11125         as they are needed only for configure's test case.
11126         This removes two unnecessary symbols from config.h.
11127
11128         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
11129         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
11130         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
11131         AC_CHECK_HEADERS_ONCE on a header that we also invoke
11132         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
11133         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
11134         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
11135         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11136         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
11137         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11138         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
11139         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11140         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11141         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11142         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11143         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11144         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11145         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
11146
11147 2011-01-21  Eric Blake  <eblake@redhat.com>
11148
11149         maintainer-makefile: work with older git for submodule check
11150         * top/maint.mk (public-submodule-commit): Rewrite to avoid
11151         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
11152         Reported by Matthias Bolte.
11153
11154         bootstrap: minor portability fixes
11155         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
11156         (usage): Omit leading capital and trailing . on help phrases, per
11157         GNU Coding Standards.
11158         (check_versions, top level): Prefix messages with script name.
11159
11160 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
11161
11162         bootstrap: support --no-git option
11163         * build-aux/bootstrap: Add --no-git option, to be used when
11164         --gnulib-srcdir points to the exact desired checkout.
11165
11166 2011-01-21  Eric Blake  <eblake@redhat.com>
11167
11168         strerror_r-posix: work with glibc 2.13
11169         * lib/strerror_r.c (strerror_r): Fix return type.
11170
11171 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11172             Bruno Haible  <bruno@clisp.org>
11173
11174         uN_strstr: New unit tests.
11175         * modules/unistr/u8-strstr-tests: New file.
11176         * modules/unistr/u16-strstr-tests: New file.
11177         * modules/unistr/u32-strstr-tests: New file.
11178         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
11179         * tests/unistr/test-u8-strstr.c: New file.
11180         * tests/unistr/test-u16-strstr.c: New file.
11181         * tests/unistr/test-u32-strstr.c: New file.
11182
11183 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11184             Bruno Haible  <bruno@clisp.org>
11185
11186         Make uN_strstr functions O(n) worst-case.
11187         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
11188         16-bit and 32-bit unit cases, use the unibyte algorithm from
11189         lib/mbsstr.c.
11190         * lib/unistr/u8-strstr.c: Include <string.h>.
11191         (UNIT_IS_UINT8_T): New macro.
11192         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
11193         (U_STRLEN, U_STRNLEN): New macros.
11194         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
11195         (U_STRLEN, U_STRNLEN): New macros.
11196         * modules/unistr/u8-strstr (Depends-on): Add strstr.
11197         (configure.ac): Update required libunistring version.
11198         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
11199         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
11200         malloca.
11201         (configure.ac): Update required libunistring version.
11202         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
11203         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
11204         malloca.
11205         (configure.ac): Update required libunistring version.
11206
11207 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11208             Bruno Haible  <bruno@clisp.org>
11209
11210         Prepare for faster uN_strstr functions.
11211         * lib/str-kmp.h: Support definable UNITs.
11212         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
11213         needle_len argument.
11214         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
11215         * lib/mbscasestr.c (mbscasestr): Likewise.
11216
11217 2011-01-21  Pádraig Brady <P@draigBrady.com>
11218
11219         malloca-tests: make faster by unsetting MALLOC_PERTURB_
11220         * tests/test-malloca.c (main): Unset the environment variable
11221         to greatly speed up the test.
11222         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
11223         * modules/malloca-tests: Depend on unsetenv.
11224
11225 2011-01-21  Pádraig Brady <P@draigBrady.com>
11226
11227         ignore-value: remove stdint dependency
11228         * lib/ignore-value.h: Remove <stdint.h>
11229         * modules/ignore-value: Remove stdint dependency.
11230
11231 2011-01-21  Jim Meyering  <meyering@redhat.com>
11232
11233         maint.mk: adjust variable name to be consistent with other gl_ vars
11234         * top/maint.mk (gl_public_submodule_commit): Rename the variable
11235         to be lower case.
11236
11237 2011-01-20  Jim Meyering  <meyering@redhat.com>
11238
11239         maint.mk: make "check" depend on public-submodule-commit by default
11240         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
11241
11242 2011-01-20  Bruno Haible  <bruno@clisp.org>
11243
11244         mbfile, mbiter: Complete change from 2008-12-21.
11245         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
11246         * m4/mbiter.m4 (gl_MBITER): Likewise.
11247
11248 2011-01-20  Jim Meyering  <meyering@redhat.com>
11249
11250         init.sh: insert space between each function name and "()"
11251         * tests/init.sh: Make it a little easier to see that a function's
11252         name is "warn_", and not "warn" when looking at the first part of
11253         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
11254
11255 2011-01-20  Jim Meyering  <meyering@redhat.com>
11256
11257         mountlist: clean up code formatting
11258         * lib/mountlist.c (read_file_system_list): Split a long line,
11259         correct bracing style, use NULL in place of "(struct statfs *)0",
11260         don't parenthesize return value, add spaces around "=" and after
11261         ";-in-for-stmt".
11262
11263 2011-01-14  Markus Duft <mduft@gentoo.org>
11264
11265         mountlist: add support for Interix
11266         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
11267         Apply statvfs to all entries of /dev/fs.
11268         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
11269         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
11270
11271 2011-01-20  Jim Meyering  <meyering@redhat.com>
11272
11273         maint.mk: improve the public-submodule-commit rule
11274         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
11275         to suppress printing of its commands... unless V=1.
11276         Add git submodule's --quiet option to suppress printing of e.g.,
11277         "Entering gnulib" output.
11278         "cd" into $(srcdir) before running git submodule.
11279
11280 2011-01-20  Bruno Haible  <bruno@clisp.org>
11281
11282         include_next: Fix bug introduced on 2011-01-18.
11283         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
11284         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
11285         ac_cv_header_... variable if the second argument is not 'check'.
11286         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
11287         gl_NEXT_HEADERS_INTERNAL.
11288
11289 2011-01-20  Bruno Haible  <bruno@clisp.org>
11290
11291         Allow the user to avoid the GNULIB_TEST_* macros.
11292         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
11293         Suggested by Paul Eggert.
11294
11295 2011-01-14  Jim Meyering  <meyering@redhat.com>
11296
11297         bootstrap: avoid failure when there is no .gitmodules file
11298         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
11299         has been assigned to, even when its value is the empty string.
11300         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
11301         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
11302         Reported by John W. Eaton <jwe@gnu.org>.
11303
11304 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11305
11306         assume <ctype.h>, ..., <time.h> exist
11307         For years gnulib has been assuming the existence of the headers
11308         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
11309         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
11310         them, since they don't appear to be needed.
11311         * README (Portability guidelines): Document this.
11312         * lib/flock.c: Assume <fcntl.h> exists.
11313         * lib/regex_internal.h: Assume <locale.h> exists.
11314         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
11315         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
11316         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
11317         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
11318         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
11319         * m4/regex.m4 (gl_REGEX): Likewise.
11320         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
11321         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
11322         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
11323         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
11324         * tests/test-argp.c: Likewise.
11325         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
11326
11327         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
11328         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
11329         AA_APPLE_UNIVERSAL_BUILD.  See
11330         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
11331         * NEWS: Document this.
11332
11333 2011-01-19  Eric Blake  <eblake@redhat.com>
11334
11335         c-stack: assume stack overflow if SA_SIGINFO unsupported
11336         * lib/c-stack.c (SIGACTION_WORKS): Rename...
11337         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
11338         sigaction will work.
11339         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
11340         behavior match Linux.
11341         * tests/test-c-stack.c (main): Prefer NULL for pointers.
11342
11343         stdbool-tests: accomodate Haiku
11344         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
11345
11346         binary-io: fix O_TEXT on Haiku
11347         * modules/binary-io (Depends-on): Add fcntl-h.
11348         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
11349         than blindly undefining O_TEXT.
11350         Reported by Scott McCreary.
11351
11352 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11353
11354         include_next: do not check for standard headers like stddef.h
11355
11356         I found this problem when modifying Emacs to use gnulib.
11357         I noticed that it added HAVE_STDDEF_H to config.h, even though
11358         gnulib always assumes <stddef.h> exists as per README and this
11359         symbol is unnecessary.
11360         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
11361         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
11362         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
11363         faster for headers like stddef.h that are known to exist.
11364         (gl_CHECK_NEXT_HEADERS): Use it.
11365         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
11366         rather than gl_CHECK_NEXT_HEADERS.
11367         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
11368         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
11369
11370 2011-01-18  Eric Blake  <eblake@redhat.com>
11371
11372         ansi-c++-opt: skip C++ dependency style if C++ is unused
11373         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
11374         tests when we know C++ compilation is not desired.
11375         Reported by Scott McCreary.
11376
11377 2011-01-18  Bruno Haible  <bruno@clisp.org>
11378
11379         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
11380         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
11381         (main): Perform test also when getrlimit and setrlimit don't exist or
11382         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
11383         limiting the address space size using setrlimit, compare the address
11384         space size before and after the the test.
11385         * tests/test-dprintf-posix2.c: Likewise.
11386         * tests/test-fprintf-posix3.sh: Update skip messages.
11387         * tests/test-dprintf-posix2.sh: Likewise.
11388         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
11389         * modules/dprintf-posix-tests (Depends-on): Likewise.
11390         Reported by Bruce Korb <bkorb@gnu.org> and
11391         Gary V. Vaughan <gary@gnu.org>.
11392
11393 2011-01-18  Bruno Haible  <bruno@clisp.org>
11394
11395         get-rusage-as: Improvement for Cygwin.
11396         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
11397         areas that are merely reserved.
11398
11399 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11400
11401         strftime: remove dependencies on multibyte modules
11402
11403         strftime depended on mbrlen, mbsinit, and wchar, but these modules
11404         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
11405         only if __osf__ is defined, and I suspect OSF doesn't need these
11406         other modules.  If my guess is wrong, we'll need to come up with a
11407         variant of strftime that doesn't need the multibyte modules.
11408
11409         I discovered this problem when attempting modify Emacs to use the
11410         strftime module.  With the previous gnulib, this caused Emacs to
11411         need 31 new files, ranging from lib/config.charset to
11412         m4/wint_t.m4.  This was overkill and I expect would be offputting
11413         to the Emacs maintainers.  After this change, only 6 new files are
11414         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
11415         stdbool.m4, and tm_gmtoff.m4.
11416
11417         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
11418         Suggested by Bruno Haible in
11419         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
11420         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
11421         and do not check for wchar.h.
11422         * modules/strftime (Files): Remove m4/mbstate_t.m4.
11423         (Depends-on): Remove mbrlen, mbsinit, wchar.
11424
11425 2011-01-18  Bruno Haible  <bruno@clisp.org>
11426
11427         Tests for module 'get-rusage-as'.
11428         * modules/get-rusage-as-tests: New file.
11429         * tests/test-get-rusage-as.c: New file.
11430
11431         New module 'get-rusage-as'.
11432         * modules/get-rusage-as: New file.
11433         * lib/resource-ext.h: New file.
11434         * lib/get-rusage-as.c: New file.
11435
11436 2011-01-17  Eric Blake  <eblake@redhat.com>
11437
11438         sigaction: relax license from LGPLv3+ to LGPLv2+
11439         * modules/sigaction (License): Relax to LGPLv2+.
11440
11441 2011-01-14  Bruno Haible  <bruno@clisp.org>
11442
11443         filemode: Make function declarations usable in C++ mode.
11444         * lib/filemode.h: Enclose function declarations in extern "C" block.
11445         Reported by John W. Eaton <jwe@gnu.org>.
11446
11447 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
11448
11449         save-cwd: no longer include "xgetcwd.h"
11450         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
11451         This avoids a compilation failure in projects that use save-cwd
11452         without also using the xgetcwd module.
11453
11454 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11455
11456         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
11457         This is so that a program like Emacs, which needs only dtoastr,
11458         does not have to bother with distributing and compiling ftoastr
11459         and ldtoastr.
11460         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
11461         * modules/dtoastr, modules/ldtoastr: New files.
11462         * modules/ftoastr: Now works just for 'float'.
11463         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
11464         (Makefile.am): Remove ftoastr.h (not needed and no effect),
11465         dtoastr.c, ldtoastr.c.
11466
11467 2011-01-11  Jim Meyering  <meyering@redhat.com>
11468
11469         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
11470         There is no need to work around the lack of the fchdir function,
11471         since gnulib can now provide a replacement when required.
11472         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
11473         * modules/save-cwd (Depends-on): Add fchdir.
11474
11475 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11476
11477         openat, save-cwd: avoid xmalloc
11478
11479         This removes a direct (but undocumented) dependency of openat on
11480         xalloc, along with an indirect dependency via save-cwd.  It also
11481         removes a dependency of save-cwd on xgetcwd, and thereby
11482         indirectly on xalloc.  This change causes the openat substitute
11483         to fall back on save_cwd when memory is tight, and for save_cwd to
11484         fail instead of dying when memory is tight, but that's good enough.
11485         Problem and initial idea for fix reported by Bastien Roucaries in
11486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
11487
11488         * lib/openat-proc.c: Include stdlib.h (for malloc), not
11489         xalloc.h (for xmalloc).
11490         (openat_proc_name): Use malloc, not xmalloc.
11491         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
11492         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
11493
11494         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
11495         This avoids heap allocation for file names whose lengths are in
11496         the range 512..1023, with the upper bound increasing to at most
11497         4031 depending on the platform's PATH_MAX.  (We do not want
11498         pathmax.h here as it might supply a non-constant PATH_MAX.)
11499         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
11500         Perhaps they should be moved to malloca.h?
11501         (OPENAT_BUFFER_SIZE): Use them.
11502
11503 2011-01-10  Bruno Haible  <bruno@clisp.org>
11504
11505         doc: Update users.txt.
11506         * users.txt: Add recutils.
11507
11508 2011-01-09  Karl Berry  <karl@gnu.org>
11509
11510         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
11511
11512         * doc/configmake.texi: New file.
11513         * doc/gnulib.texi: Include it.
11514         * modules/configmake: Move documentation from here.
11515
11516 2011-01-09  Bruno Haible  <bruno@clisp.org>
11517
11518         Update to Unicode 6.0.0.
11519         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
11520         (get_lbp): Update for Unicode 6.0.0.
11521         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
11522         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
11523         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
11524         U+11001, U+11038..U+11046. Remove U+06DE.
11525         (uc_width): Fix bounds of planes.
11526         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11527         lib/uniwidth/width.c.
11528         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
11529         trailing whitespace removed.
11530         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
11531         without comments, but with the original copyright notice.
11532         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
11533         * lib/unicase/ignorable.h: Likewise.
11534         * lib/unicase/tocasefold.h: Likewise.
11535         * lib/unicase/tolower.h: Likewise.
11536         * lib/unicase/totitle.h: Likewise.
11537         * lib/unicase/toupper.h: Likewise.
11538         * lib/unictype/bidi_of.h: Likewise.
11539         * lib/unictype/blocks.h: Likewise.
11540         * lib/unictype/categ_C.h: Likewise.
11541         * lib/unictype/categ_Cn.h: Likewise.
11542         * lib/unictype/categ_L.h: Likewise.
11543         * lib/unictype/categ_Ll.h: Likewise.
11544         * lib/unictype/categ_Lm.h: Likewise.
11545         * lib/unictype/categ_Lo.h: Likewise.
11546         * lib/unictype/categ_Lu.h: Likewise.
11547         * lib/unictype/categ_M.h: Likewise.
11548         * lib/unictype/categ_Mc.h: Likewise.
11549         * lib/unictype/categ_Me.h: Likewise.
11550         * lib/unictype/categ_Mn.h: Likewise.
11551         * lib/unictype/categ_N.h: Likewise.
11552         * lib/unictype/categ_Nd.h: Likewise.
11553         * lib/unictype/categ_No.h: Likewise.
11554         * lib/unictype/categ_P.h: Likewise.
11555         * lib/unictype/categ_Po.h: Likewise.
11556         * lib/unictype/categ_S.h: Likewise.
11557         * lib/unictype/categ_Sc.h: Likewise.
11558         * lib/unictype/categ_Sk.h: Likewise.
11559         * lib/unictype/categ_Sm.h: Likewise.
11560         * lib/unictype/categ_So.h: Likewise.
11561         * lib/unictype/categ_of.h: Likewise.
11562         * lib/unictype/combining.h: Likewise.
11563         * lib/unictype/ctype_alnum.h: Likewise.
11564         * lib/unictype/ctype_alpha.h: Likewise.
11565         * lib/unictype/ctype_graph.h: Likewise.
11566         * lib/unictype/ctype_lower.h: Likewise.
11567         * lib/unictype/ctype_print.h: Likewise.
11568         * lib/unictype/ctype_punct.h: Likewise.
11569         * lib/unictype/ctype_upper.h: Likewise.
11570         * lib/unictype/decdigit.h: Likewise.
11571         * lib/unictype/digit.h: Likewise.
11572         * lib/unictype/numeric.h: Likewise.
11573         * lib/unictype/pr_alphabetic.h: Likewise.
11574         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11575         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11576         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11577         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11578         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11579         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11580         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11581         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11582         * lib/unictype/pr_case_ignorable.h: Likewise.
11583         * lib/unictype/pr_cased.h: Likewise.
11584         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
11585         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
11586         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
11587         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
11588         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
11589         * lib/unictype/pr_combining.h: Likewise.
11590         * lib/unictype/pr_composite.h: Likewise.
11591         * lib/unictype/pr_currency_symbol.h: Likewise.
11592         * lib/unictype/pr_decimal_digit.h: Likewise.
11593         * lib/unictype/pr_deprecated.h: Likewise.
11594         * lib/unictype/pr_format_control.h: Likewise.
11595         * lib/unictype/pr_grapheme_base.h: Likewise.
11596         * lib/unictype/pr_grapheme_extend.h: Likewise.
11597         * lib/unictype/pr_grapheme_link.h: Likewise.
11598         * lib/unictype/pr_id_continue.h: Likewise.
11599         * lib/unictype/pr_id_start.h: Likewise.
11600         * lib/unictype/pr_ideographic.h: Likewise.
11601         * lib/unictype/pr_lowercase.h: Likewise.
11602         * lib/unictype/pr_math.h: Likewise.
11603         * lib/unictype/pr_numeric.h: Likewise.
11604         * lib/unictype/pr_other_alphabetic.h: Likewise.
11605         * lib/unictype/pr_other_id_continue.h: Likewise.
11606         * lib/unictype/pr_other_math.h: Likewise.
11607         * lib/unictype/pr_punctuation.h: Likewise.
11608         * lib/unictype/pr_sentence_terminal.h: Likewise.
11609         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11610         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11611         * lib/unictype/pr_unified_ideograph.h: Likewise.
11612         * lib/unictype/pr_uppercase.h: Likewise.
11613         * lib/unictype/pr_xid_continue.h: Likewise.
11614         * lib/unictype/pr_xid_start.h: Likewise.
11615         * lib/unictype/scripts.h: Likewise.
11616         * lib/unictype/scripts_byname.gperf: Likewise.
11617         * lib/unictype/sy_java_ident.h: Likewise.
11618         * lib/unigbrk/gbrkprop.h: Likewise.
11619         * lib/unilbrk/lbrkprop1.h: Likewise.
11620         * lib/unilbrk/lbrkprop2.h: Likewise.
11621         * lib/uninorm/decomposition-table2.h: Likewise.
11622         * lib/uniwbrk/wbrkprop.h: Likewise.
11623         * tests/unicase/test-cased.c: Likewise.
11624         * tests/unicase/test-ignorable.c: Likewise.
11625         * tests/unicase/test-uc_tolower.c: Likewise.
11626         * tests/unicase/test-uc_totitle.c: Likewise.
11627         * tests/unicase/test-uc_toupper.c: Likewise.
11628         * tests/unictype/test-categ_C.c: Likewise.
11629         * tests/unictype/test-categ_Cn.c: Likewise.
11630         * tests/unictype/test-categ_L.c: Likewise.
11631         * tests/unictype/test-categ_Ll.c: Likewise.
11632         * tests/unictype/test-categ_Lm.c: Likewise.
11633         * tests/unictype/test-categ_Lo.c: Likewise.
11634         * tests/unictype/test-categ_Lu.c: Likewise.
11635         * tests/unictype/test-categ_M.c: Likewise.
11636         * tests/unictype/test-categ_Mc.c: Likewise.
11637         * tests/unictype/test-categ_Me.c: Likewise.
11638         * tests/unictype/test-categ_Mn.c: Likewise.
11639         * tests/unictype/test-categ_N.c: Likewise.
11640         * tests/unictype/test-categ_Nd.c: Likewise.
11641         * tests/unictype/test-categ_No.c: Likewise.
11642         * tests/unictype/test-categ_P.c: Likewise.
11643         * tests/unictype/test-categ_Po.c: Likewise.
11644         * tests/unictype/test-categ_S.c: Likewise.
11645         * tests/unictype/test-categ_Sc.c: Likewise.
11646         * tests/unictype/test-categ_Sk.c: Likewise.
11647         * tests/unictype/test-categ_Sm.c: Likewise.
11648         * tests/unictype/test-categ_So.c: Likewise.
11649         * tests/unictype/test-ctype_alnum.c: Likewise.
11650         * tests/unictype/test-ctype_alpha.c: Likewise.
11651         * tests/unictype/test-ctype_graph.c: Likewise.
11652         * tests/unictype/test-ctype_lower.c: Likewise.
11653         * tests/unictype/test-ctype_print.c: Likewise.
11654         * tests/unictype/test-ctype_punct.c: Likewise.
11655         * tests/unictype/test-ctype_upper.c: Likewise.
11656         * tests/unictype/test-decdigit.h: Likewise.
11657         * tests/unictype/test-digit.h: Likewise.
11658         * tests/unictype/test-numeric.h: Likewise.
11659         * tests/unictype/test-pr_alphabetic.c: Likewise.
11660         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11661         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
11662         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
11663         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11664         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11665         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11666         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11667         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11668         * tests/unictype/test-pr_case_ignorable.c: Likewise.
11669         * tests/unictype/test-pr_cased.c: Likewise.
11670         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
11671         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
11672         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
11673         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
11674         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
11675         * tests/unictype/test-pr_combining.c: Likewise.
11676         * tests/unictype/test-pr_composite.c: Likewise.
11677         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11678         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11679         * tests/unictype/test-pr_deprecated.c: Likewise.
11680         * tests/unictype/test-pr_format_control.c: Likewise.
11681         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11682         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11683         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11684         * tests/unictype/test-pr_id_continue.c: Likewise.
11685         * tests/unictype/test-pr_id_start.c: Likewise.
11686         * tests/unictype/test-pr_ideographic.c: Likewise.
11687         * tests/unictype/test-pr_lowercase.c: Likewise.
11688         * tests/unictype/test-pr_math.c: Likewise.
11689         * tests/unictype/test-pr_numeric.c: Likewise.
11690         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11691         * tests/unictype/test-pr_other_id_continue.c: Likewise.
11692         * tests/unictype/test-pr_other_math.c: Likewise.
11693         * tests/unictype/test-pr_punctuation.c: Likewise.
11694         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11695         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11696         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11697         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11698         * tests/unictype/test-pr_uppercase.c: Likewise.
11699         * tests/unictype/test-pr_xid_continue.c: Likewise.
11700         * tests/unictype/test-pr_xid_start.c: Likewise.
11701         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11702         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11703         changes.
11704         * lib/unictype/categ_Cc.h: Likewise.
11705         * lib/unictype/categ_Cf.h: Likewise.
11706         * lib/unictype/categ_Co.h: Likewise.
11707         * lib/unictype/categ_Cs.h: Likewise.
11708         * lib/unictype/categ_Lt.h: Likewise.
11709         * lib/unictype/categ_Nl.h: Likewise.
11710         * lib/unictype/categ_Pc.h: Likewise.
11711         * lib/unictype/categ_Pd.h: Likewise.
11712         * lib/unictype/categ_Pe.h: Likewise.
11713         * lib/unictype/categ_Pf.h: Likewise.
11714         * lib/unictype/categ_Pi.h: Likewise.
11715         * lib/unictype/categ_Ps.h: Likewise.
11716         * lib/unictype/categ_Z.h: Likewise.
11717         * lib/unictype/categ_Zl.h: Likewise.
11718         * lib/unictype/categ_Zp.h: Likewise.
11719         * lib/unictype/categ_Zs.h: Likewise.
11720         * lib/unictype/ctype_blank.h: Likewise.
11721         * lib/unictype/ctype_cntrl.h: Likewise.
11722         * lib/unictype/ctype_digit.h: Likewise.
11723         * lib/unictype/ctype_space.h: Likewise.
11724         * lib/unictype/ctype_xdigit.h: Likewise.
11725         * lib/unictype/mirror.h: Likewise.
11726         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11727         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11728         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11729         * lib/unictype/pr_bidi_control.h: Likewise.
11730         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11731         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11732         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11733         * lib/unictype/pr_bidi_pdf.h: Likewise.
11734         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11735         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11736         * lib/unictype/pr_dash.h: Likewise.
11737         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11738         * lib/unictype/pr_diacritic.h: Likewise.
11739         * lib/unictype/pr_extender.h: Likewise.
11740         * lib/unictype/pr_hex_digit.h: Likewise.
11741         * lib/unictype/pr_hyphen.h: Likewise.
11742         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11743         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11744         * lib/unictype/pr_ignorable_control.h: Likewise.
11745         * lib/unictype/pr_iso_control.h: Likewise.
11746         * lib/unictype/pr_join_control.h: Likewise.
11747         * lib/unictype/pr_left_of_pair.h: Likewise.
11748         * lib/unictype/pr_line_separator.h: Likewise.
11749         * lib/unictype/pr_logical_order_exception.h: Likewise.
11750         * lib/unictype/pr_non_break.h: Likewise.
11751         * lib/unictype/pr_not_a_character.h: Likewise.
11752         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11753         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11754         * lib/unictype/pr_other_id_start.h: Likewise.
11755         * lib/unictype/pr_other_lowercase.h: Likewise.
11756         * lib/unictype/pr_other_uppercase.h: Likewise.
11757         * lib/unictype/pr_paired_punctuation.h: Likewise.
11758         * lib/unictype/pr_paragraph_separator.h: Likewise.
11759         * lib/unictype/pr_pattern_syntax.h: Likewise.
11760         * lib/unictype/pr_pattern_white_space.h: Likewise.
11761         * lib/unictype/pr_private_use.h: Likewise.
11762         * lib/unictype/pr_quotation_mark.h: Likewise.
11763         * lib/unictype/pr_radical.h: Likewise.
11764         * lib/unictype/pr_soft_dotted.h: Likewise.
11765         * lib/unictype/pr_space.h: Likewise.
11766         * lib/unictype/pr_titlecase.h: Likewise.
11767         * lib/unictype/pr_variation_selector.h: Likewise.
11768         * lib/unictype/pr_white_space.h: Likewise.
11769         * lib/unictype/pr_zero_width.h: Likewise.
11770         * lib/unictype/sy_c_ident.h: Likewise.
11771         * lib/unictype/sy_c_whitespace.h: Likewise.
11772         * lib/unictype/sy_java_whitespace.h: Likewise.
11773         * lib/uninorm/composition-table.gperf: Likewise.
11774         * lib/uninorm/decomposition-table1.h: Likewise.
11775         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
11776         LB8.
11777         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11778         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11779         * modules/unictype/*: Bump version number of expected libunistring
11780         version.
11781
11782 2011-01-09  Bruno Haible  <bruno@clisp.org>
11783
11784         Update to Unicode 5.2.0.
11785         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
11786         trailing whitespace removed.
11787
11788 2011-01-09  Bruno Haible  <bruno@clisp.org>
11789
11790         New Unicode character properties, from Unicode 5.2.0.
11791         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
11792         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
11793         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
11794         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
11795         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
11796         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
11797         uc_is_property_cased, uc_is_property_case_ignorable,
11798         uc_is_property_changes_when_lowercased,
11799         uc_is_property_changes_when_uppercased,
11800         uc_is_property_changes_when_titlecased,
11801         uc_is_property_changes_when_casefolded,
11802         uc_is_property_changes_when_casemapped): New declarations.
11803         * lib/unictype/pr_byname.gperf: Add the new properties.
11804         * modules/unictype/property-byname (Depends-on): Depend on the new
11805         properties modules.
11806         * modules/unictype/property-all (Depends-on): Likewise.
11807         * MODULES.html.sh (Unicode string functions): Add
11808         unictype/property-case-ignorable, unictype/property-cased,
11809         unictype/property-changes-when-casefolded,
11810         unictype/property-changes-when-casemapped,
11811         unictype/property-changes-when-lowercased,
11812         unictype/property-changes-when-titlecased,
11813         unictype/property-changes-when-uppercased.
11814
11815         New module 'unictype/property-changes-when-casemapped'.
11816         * modules/unictype/property-changes-when-casemapped: New file.
11817         * lib/unictype/pr_changes_when_casemapped.c: New file.
11818         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
11819         generated by gen-uni-tables.
11820         * modules/unictype/property-changes-when-casemapped-tests: New file.
11821         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
11822         automatically generated by gen-uni-tables.
11823
11824         New module 'unictype/property-changes-when-casefolded'.
11825         * modules/unictype/property-changes-when-casefolded: New file.
11826         * lib/unictype/pr_changes_when_casefolded.c: New file.
11827         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
11828         generated by gen-uni-tables.
11829         * modules/unictype/property-changes-when-casefolded-tests: New file.
11830         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
11831         automatically generated by gen-uni-tables.
11832
11833         New module 'unictype/property-changes-when-titlecased'.
11834         * modules/unictype/property-changes-when-titlecased: New file.
11835         * lib/unictype/pr_changes_when_titlecased.c: New file.
11836         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
11837         generated by gen-uni-tables.
11838         * modules/unictype/property-changes-when-titlecased-tests: New file.
11839         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
11840         automatically generated by gen-uni-tables.
11841
11842         New module 'unictype/property-changes-when-uppercased'.
11843         * modules/unictype/property-changes-when-uppercased: New file.
11844         * lib/unictype/pr_changes_when_uppercased.c: New file.
11845         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
11846         generated by gen-uni-tables.
11847         * modules/unictype/property-changes-when-uppercased-tests: New file.
11848         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
11849         automatically generated by gen-uni-tables.
11850
11851         New module 'unictype/property-changes-when-lowercased'.
11852         * modules/unictype/property-changes-when-lowercased: New file.
11853         * lib/unictype/pr_changes_when_lowercased.c: New file.
11854         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
11855         generated by gen-uni-tables.
11856         * modules/unictype/property-changes-when-lowercased-tests: New file.
11857         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
11858         automatically generated by gen-uni-tables.
11859
11860         New module 'unictype/property-case-ignorable'.
11861         * modules/unictype/property-case-ignorable: New file.
11862         * lib/unictype/pr_case_ignorable.c: New file.
11863         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
11864         by gen-uni-tables.
11865         * modules/unictype/property-case-ignorable-tests: New file.
11866         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
11867         generated by gen-uni-tables.
11868
11869         New module 'unictype/property-cased'.
11870         * modules/unictype/property-cased: New file.
11871         * lib/unictype/pr_cased.c: New file.
11872         * lib/unictype/pr_cased.h: New file, automatically generated by
11873         gen-uni-tables.
11874         * modules/unictype/property-cased-tests: New file.
11875         * tests/unictype/test-pr_cased.c: New file, automatically generated by
11876         gen-uni-tables.
11877
11878 2011-01-09  Bruno Haible  <bruno@clisp.org>
11879
11880         Update to Unicode 5.2.0.
11881         * lib/gen-uni-tables.c (output_predicate, output_category,
11882         output_combclass, output_bidi_category, output_decimal_digit_test,
11883         output_decimal_digit, output_digit_test, output_digit,
11884         output_numeric_test, output_numeric, output_mirror, output_scripts,
11885         output_scripts_byname, output_blocks, output_ident_category): Fix
11886         comment header.
11887         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
11888         get_wbp.
11889         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
11890         items.
11891         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
11892         Changes_When_Lowercased, Changes_When_Uppercased,
11893         Changes_When_Titlecased, Changes_When_Casefolded,
11894         Changes_When_Casemapped.
11895         (is_property_alphabetic, is_property_default_ignorable_code_point):
11896         Update for Unicode 5.2.0.
11897         (is_property_cased, is_property_case_ignorable,
11898         is_property_changes_when_lowercased,
11899         is_property_changes_when_uppercased,
11900         is_property_changes_when_titlecased,
11901         is_property_changes_when_casefolded,
11902         is_property_changes_when_casemapped): New functions.
11903         (output_properties): Output also the properties cased, case_ignorable,
11904         changes_when_lowercased, changes_when_uppercased,
11905         changes_when_titlecased, changes_when_casefolded,
11906         changes_when_casemapped.
11907         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
11908         Unicode TR#11 revision 17 -> 19.
11909         (LBP_CP): New enumeration value.
11910         (LBP_*): Adjust values accordingly.
11911         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11912         TR#14 revision 22 -> 24.
11913         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
11914         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
11915         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11916         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
11917         is_WBP_MIDLETTER.
11918         (output_composition_tables): Allow for 24 bits instead of 16 bits in
11919         the code1 and code2 of each composition rule.
11920         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
11921         * lib/unicase/ignorable.h: Likewise.
11922         * lib/unicase/tocasefold.h: Likewise.
11923         * lib/unicase/tolower.h: Likewise.
11924         * lib/unicase/totitle.h: Likewise.
11925         * lib/unicase/toupper.h: Likewise.
11926         * lib/unictype/bidi_of.h: Likewise.
11927         * lib/unictype/blocks.h: Likewise.
11928         * lib/unictype/categ_C.h: Likewise.
11929         * lib/unictype/categ_Cf.h: Likewise.
11930         * lib/unictype/categ_Cn.h: Likewise.
11931         * lib/unictype/categ_L.h: Likewise.
11932         * lib/unictype/categ_Ll.h: Likewise.
11933         * lib/unictype/categ_Lm.h: Likewise.
11934         * lib/unictype/categ_Lo.h: Likewise.
11935         * lib/unictype/categ_Lu.h: Likewise.
11936         * lib/unictype/categ_M.h: Likewise.
11937         * lib/unictype/categ_Mc.h: Likewise.
11938         * lib/unictype/categ_Mn.h: Likewise.
11939         * lib/unictype/categ_N.h: Likewise.
11940         * lib/unictype/categ_Nd.h: Likewise.
11941         * lib/unictype/categ_Nl.h: Likewise.
11942         * lib/unictype/categ_No.h: Likewise.
11943         * lib/unictype/categ_P.h: Likewise.
11944         * lib/unictype/categ_Pd.h: Likewise.
11945         * lib/unictype/categ_Po.h: Likewise.
11946         * lib/unictype/categ_S.h: Likewise.
11947         * lib/unictype/categ_Sc.h: Likewise.
11948         * lib/unictype/categ_So.h: Likewise.
11949         * lib/unictype/categ_of.h: Likewise.
11950         * lib/unictype/combining.h: Likewise.
11951         * lib/unictype/ctype_alnum.h: Likewise.
11952         * lib/unictype/ctype_alpha.h: Likewise.
11953         * lib/unictype/ctype_graph.h: Likewise.
11954         * lib/unictype/ctype_lower.h: Likewise.
11955         * lib/unictype/ctype_print.h: Likewise.
11956         * lib/unictype/ctype_punct.h: Likewise.
11957         * lib/unictype/ctype_upper.h: Likewise.
11958         * lib/unictype/decdigit.h: Likewise.
11959         * lib/unictype/digit.h: Likewise.
11960         * lib/unictype/numeric.h: Likewise.
11961         * lib/unictype/pr_alphabetic.h: Likewise.
11962         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11963         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11964         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11965         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11966         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11967         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11968         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11969         * lib/unictype/pr_combining.h: Likewise.
11970         * lib/unictype/pr_composite.h: Likewise.
11971         * lib/unictype/pr_currency_symbol.h: Likewise.
11972         * lib/unictype/pr_dash.h: Likewise.
11973         * lib/unictype/pr_decimal_digit.h: Likewise.
11974         * lib/unictype/pr_deprecated.h: Likewise.
11975         * lib/unictype/pr_diacritic.h: Likewise.
11976         * lib/unictype/pr_extender.h: Likewise.
11977         * lib/unictype/pr_grapheme_base.h: Likewise.
11978         * lib/unictype/pr_grapheme_extend.h: Likewise.
11979         * lib/unictype/pr_grapheme_link.h: Likewise.
11980         * lib/unictype/pr_id_continue.h: Likewise.
11981         * lib/unictype/pr_id_start.h: Likewise.
11982         * lib/unictype/pr_ideographic.h: Likewise.
11983         * lib/unictype/pr_ignorable_control.h: Likewise.
11984         * lib/unictype/pr_logical_order_exception.h: Likewise.
11985         * lib/unictype/pr_lowercase.h: Likewise.
11986         * lib/unictype/pr_numeric.h: Likewise.
11987         * lib/unictype/pr_other_alphabetic.h: Likewise.
11988         * lib/unictype/pr_punctuation.h: Likewise.
11989         * lib/unictype/pr_sentence_terminal.h: Likewise.
11990         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11991         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11992         * lib/unictype/pr_unified_ideograph.h: Likewise.
11993         * lib/unictype/pr_uppercase.h: Likewise.
11994         * lib/unictype/pr_xid_continue.h: Likewise.
11995         * lib/unictype/pr_xid_start.h: Likewise.
11996         * lib/unictype/pr_zero_width.h: Likewise.
11997         * lib/unictype/scripts.h: Likewise.
11998         * lib/unictype/scripts_byname.gperf: Likewise.
11999         * lib/unictype/sy_java_ident.h: Likewise.
12000         * lib/unigbrk/gbrkprop.h: Likewise.
12001         * lib/unilbrk/lbrkprop1.h: Likewise.
12002         * lib/unilbrk/lbrkprop2.h: Likewise.
12003         * lib/unilbrk/lbrktables.h: Likewise.
12004         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
12005         LBP_CP. Implement rule LB30.
12006         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
12007         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
12008         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
12009         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
12010         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
12011         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
12012         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
12013         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
12014         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
12015         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
12016         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
12017         bits instead of 16 bits in the code1 and code2 of each composition
12018         rule.
12019         (uc_composition): Update for Unicode 5.2.0.
12020         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
12021         * lib/uninorm/decomposition-table2.h: Likewise.
12022         * lib/uniwbrk/wbrkprop.h: Likewise.
12023         * tests/unicase/test-cased.c: Likewise.
12024         * tests/unicase/test-ignorable.c: Likewise.
12025         * tests/unicase/test-uc_tolower.c: Likewise.
12026         * tests/unicase/test-uc_totitle.c: Likewise.
12027         * tests/unicase/test-uc_toupper.c: Likewise.
12028         * tests/unictype/test-categ_C.c: Likewise.
12029         * tests/unictype/test-categ_Cf.c: Likewise.
12030         * tests/unictype/test-categ_Cn.c: Likewise.
12031         * tests/unictype/test-categ_L.c: Likewise.
12032         * tests/unictype/test-categ_Ll.c: Likewise.
12033         * tests/unictype/test-categ_Lm.c: Likewise.
12034         * tests/unictype/test-categ_Lo.c: Likewise.
12035         * tests/unictype/test-categ_Lu.c: Likewise.
12036         * tests/unictype/test-categ_M.c: Likewise.
12037         * tests/unictype/test-categ_Mc.c: Likewise.
12038         * tests/unictype/test-categ_Mn.c: Likewise.
12039         * tests/unictype/test-categ_N.c: Likewise.
12040         * tests/unictype/test-categ_Nd.c: Likewise.
12041         * tests/unictype/test-categ_Nl.c: Likewise.
12042         * tests/unictype/test-categ_No.c: Likewise.
12043         * tests/unictype/test-categ_P.c: Likewise.
12044         * tests/unictype/test-categ_Pd.c: Likewise.
12045         * tests/unictype/test-categ_Po.c: Likewise.
12046         * tests/unictype/test-categ_S.c: Likewise.
12047         * tests/unictype/test-categ_Sc.c: Likewise.
12048         * tests/unictype/test-categ_So.c: Likewise.
12049         * tests/unictype/test-ctype_alnum.c: Likewise.
12050         * tests/unictype/test-ctype_alpha.c: Likewise.
12051         * tests/unictype/test-ctype_graph.c: Likewise.
12052         * tests/unictype/test-ctype_lower.c: Likewise.
12053         * tests/unictype/test-ctype_print.c: Likewise.
12054         * tests/unictype/test-ctype_punct.c: Likewise.
12055         * tests/unictype/test-ctype_upper.c: Likewise.
12056         * tests/unictype/test-decdigit.h: Likewise.
12057         * tests/unictype/test-digit.h: Likewise.
12058         * tests/unictype/test-numeric.h: Likewise.
12059         * tests/unictype/test-pr_alphabetic.c: Likewise.
12060         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
12061         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
12062         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
12063         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
12064         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
12065         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
12066         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
12067         * tests/unictype/test-pr_combining.c: Likewise.
12068         * tests/unictype/test-pr_composite.c: Likewise.
12069         * tests/unictype/test-pr_currency_symbol.c: Likewise.
12070         * tests/unictype/test-pr_dash.c: Likewise.
12071         * tests/unictype/test-pr_decimal_digit.c: Likewise.
12072         * tests/unictype/test-pr_deprecated.c: Likewise.
12073         * tests/unictype/test-pr_diacritic.c: Likewise.
12074         * tests/unictype/test-pr_extender.c: Likewise.
12075         * tests/unictype/test-pr_grapheme_base.c: Likewise.
12076         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
12077         * tests/unictype/test-pr_grapheme_link.c: Likewise.
12078         * tests/unictype/test-pr_id_continue.c: Likewise.
12079         * tests/unictype/test-pr_id_start.c: Likewise.
12080         * tests/unictype/test-pr_ideographic.c: Likewise.
12081         * tests/unictype/test-pr_ignorable_control.c: Likewise.
12082         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
12083         * tests/unictype/test-pr_lowercase.c: Likewise.
12084         * tests/unictype/test-pr_numeric.c: Likewise.
12085         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
12086         * tests/unictype/test-pr_punctuation.c: Likewise.
12087         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
12088         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
12089         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
12090         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
12091         * tests/unictype/test-pr_uppercase.c: Likewise.
12092         * tests/unictype/test-pr_xid_continue.c: Likewise.
12093         * tests/unictype/test-pr_xid_start.c: Likewise.
12094         * tests/unictype/test-pr_zero_width.c: Likewise.
12095         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
12096         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
12097         changed behaviour: line breaking is now disallowed between a letter
12098         or '=' and '('.
12099         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12100         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12101         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
12102         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
12103         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12104         lib/uniwidth/width.c.
12105         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
12106         without comments, but with the original copyright notice.
12107         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
12108         changes.
12109         * lib/unictype/categ_Cc.h: Likewise.
12110         * lib/unictype/categ_Co.h: Likewise.
12111         * lib/unictype/categ_Cs.h: Likewise.
12112         * lib/unictype/categ_Lt.h: Likewise.
12113         * lib/unictype/categ_Me.h: Likewise.
12114         * lib/unictype/categ_Pc.h: Likewise.
12115         * lib/unictype/categ_Pe.h: Likewise.
12116         * lib/unictype/categ_Pf.h: Likewise.
12117         * lib/unictype/categ_Pi.h: Likewise.
12118         * lib/unictype/categ_Ps.h: Likewise.
12119         * lib/unictype/categ_Sk.h: Likewise.
12120         * lib/unictype/categ_Sm.h: Likewise.
12121         * lib/unictype/categ_Z.h: Likewise.
12122         * lib/unictype/categ_Zl.h: Likewise.
12123         * lib/unictype/categ_Zp.h: Likewise.
12124         * lib/unictype/categ_Zs.h: Likewise.
12125         * lib/unictype/ctype_blank.h: Likewise.
12126         * lib/unictype/ctype_cntrl.h: Likewise.
12127         * lib/unictype/ctype_digit.h: Likewise.
12128         * lib/unictype/ctype_space.h: Likewise.
12129         * lib/unictype/ctype_xdigit.h: Likewise.
12130         * lib/unictype/mirror.h: Likewise.
12131         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
12132         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
12133         * lib/unictype/pr_bidi_block_separator.h: Likewise.
12134         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
12135         * lib/unictype/pr_bidi_common_separator.h: Likewise.
12136         * lib/unictype/pr_bidi_control.h: Likewise.
12137         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
12138         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
12139         * lib/unictype/pr_bidi_pdf.h: Likewise.
12140         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
12141         * lib/unictype/pr_bidi_whitespace.h: Likewise.
12142         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
12143         * lib/unictype/pr_format_control.h: Likewise.
12144         * lib/unictype/pr_hex_digit.h: Likewise.
12145         * lib/unictype/pr_hyphen.h: Likewise.
12146         * lib/unictype/pr_ids_binary_operator.h: Likewise.
12147         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
12148         * lib/unictype/pr_iso_control.h: Likewise.
12149         * lib/unictype/pr_join_control.h: Likewise.
12150         * lib/unictype/pr_left_of_pair.h: Likewise.
12151         * lib/unictype/pr_line_separator.h: Likewise.
12152         * lib/unictype/pr_math.h: Likewise.
12153         * lib/unictype/pr_non_break.h: Likewise.
12154         * lib/unictype/pr_not_a_character.h: Likewise.
12155         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
12156         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
12157         * lib/unictype/pr_other_id_continue.h: Likewise.
12158         * lib/unictype/pr_other_id_start.h: Likewise.
12159         * lib/unictype/pr_other_lowercase.h: Likewise.
12160         * lib/unictype/pr_other_math.h: Likewise.
12161         * lib/unictype/pr_other_uppercase.h: Likewise.
12162         * lib/unictype/pr_paired_punctuation.h: Likewise.
12163         * lib/unictype/pr_paragraph_separator.h: Likewise.
12164         * lib/unictype/pr_pattern_syntax.h: Likewise.
12165         * lib/unictype/pr_pattern_white_space.h: Likewise.
12166         * lib/unictype/pr_private_use.h: Likewise.
12167         * lib/unictype/pr_quotation_mark.h: Likewise.
12168         * lib/unictype/pr_radical.h: Likewise.
12169         * lib/unictype/pr_soft_dotted.h: Likewise.
12170         * lib/unictype/pr_space.h: Likewise.
12171         * lib/unictype/pr_titlecase.h: Likewise.
12172         * lib/unictype/pr_variation_selector.h: Likewise.
12173         * lib/unictype/pr_white_space.h: Likewise.
12174         * lib/unictype/sy_c_ident.h: Likewise.
12175         * lib/unictype/sy_c_whitespace.h: Likewise.
12176         * lib/unictype/sy_java_whitespace.h: Likewise.
12177         * modules/uni*/*: Bump version number of expected libunistring version.
12178         Reported by Simon Josefsson.
12179
12180 2011-01-09  Karl Heuer  <kwzh@gnu.org>
12181
12182         useless-if-before-free: fix typo in --help and make the internal,
12183         automatic version date update process work once again.
12184         --help output contained a NUL character instead of the
12185         backslash-zero that was intended.  Also, the "must lie within
12186         the first 8 lines" line is on line 9, and hence not getting
12187         automatically updated.
12188         * build-aux/useless-if-before-free: Fix the former by adding a
12189         backslash, and the latter by condensing the three lines of what-it-does
12190         to a single line, leaving one line of slack for the future.
12191
12192 2011-01-09  Bruno Haible  <bruno@clisp.org>
12193
12194         uniwidth/width: Fix width of U+1D173..U+1D17A.
12195         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
12196         symbolic_width, output_width_property_test): New functions.
12197         (main): Invoke output_nonspacing_property, output_width_property_test.
12198         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
12199         U+1D173..U+1D17A.
12200         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
12201         1.
12202         * modules/uniwidth/*: Bump version number of expected libunistring
12203         version.
12204         * modules/unilbrk/*: Likewise.
12205
12206 2011-01-08  Bruno Haible  <bruno@clisp.org>
12207
12208         uninorm tests: Preserve copyright of Unicode data file.
12209         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
12210         Mention modifications.
12211
12212 2011-01-08  Bruno Haible  <bruno@clisp.org>
12213
12214         gen-uni-tables: Prepare for Unicode 5.2.0.
12215         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
12216         (debug_output_lbp, output_lbp): Update.
12217
12218 2011-01-08  Bruno Haible  <bruno@clisp.org>
12219
12220         unilbrk: Clarify gen-uni-tables.c code.
12221         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
12222         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
12223         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
12224
12225 2011-01-07  Bruno Haible  <bruno@clisp.org>
12226
12227         strtod: Restore errno when successfully parsing Infinity or NaN.
12228         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
12229         restore the original errno.
12230
12231 2011-01-07  Bruno Haible  <bruno@clisp.org>
12232
12233         remove test: Avoid failure on HP-UX 11.
12234         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
12235
12236 2011-01-07  Bruno Haible  <bruno@clisp.org>
12237
12238         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
12239         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
12240         error code.
12241
12242 2011-01-07  Pádraig Brady <P@draigBrady.com>
12243
12244         ignore-value: fixup comments, and add Eric Blake
12245         as an author since he rewrote the macros.
12246         * lib/ignore-value.h (ignore_value):  State that
12247         we now support aggregates.  Also specify exactly
12248         when the GCC warn_unused_result feature was added.
12249
12250 2011-01-06  Eric Blake  <eblake@redhat.com>
12251
12252         ignore-value: support aggregate types
12253         * lib/ignore-value.h (ignore_value): Provide separate gcc
12254         definition.
12255         * modules/ignore-value-tests: New test module.
12256         * tests/test-ignore-value.c: New test.
12257
12258         maint.mk: improve sc_prohibit_strcmp regex
12259         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
12260         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
12261         definition of STRNEQ.
12262
12263         signal: work around Haiku issue with SIGBUS
12264         * lib/siglist.h: Add comment.
12265         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
12266         strsignal's favoring of SIGSEGV.
12267         * tests/test-signal.c (main): Avoid test failure.
12268         * doc/posix-headers/signal.texi (signal.h): Document the issue.
12269         Reported by Scott McCreary.
12270
12271         maint.mk: add pre-release check to ensure submodule commits are public
12272         * top/maint.mk (public-submodule-commit): New rule.
12273         (submodule-checks): New variable.
12274         (alpha beta stable): Depend on the variable.
12275
12276 2011-01-05  Pádraig Brady <P@draigBrady.com>
12277         and Jim Meyering  <meyering@redhat.com>
12278
12279         ignore-value: make ignore_value more generic; deprecate ignore_ptr
12280         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
12281         (ATTRIBUTE_DEPRECATED): Define.
12282         (_ignore_case): New function.
12283         (ignore_value): New macro, to replace the old function.
12284         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
12285         * modules/ignore-value (Depends-on): Add stdint.
12286
12287 2011-01-04  Eric Blake  <eblake@redhat.com>
12288
12289         doc: regenerate INSTALL
12290         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
12291         @firstparagraphindent support, now that autoconf dropped it.
12292         (INSTALL_PRELUDE): Reinstate old macro.
12293         * doc/install.texi: Resync from autoconf.
12294         * doc/INSTALL: Reflect recent autoconf update.
12295         * doc/INSTALL.ISO: Likewise.
12296         * doc/INSTALL.UTF-8: Likewise.
12297         Reported by Karl Berry.
12298
12299 2011-01-04  Bruce Korb  <address@hidden>
12300
12301         git-version-gen: avoid a sub-shell
12302         * build-aux/git-version-gen: Redirect stderr in `...` via
12303         "exec 2>...", rather than via an added sub-shell.
12304
12305 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
12306
12307         git-version-gen: use (...) rather than sh -c '...'
12308         * build-aux/git-version-gen: Rather than hard-coding a shell's name
12309         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
12310
12311 2011-01-03  Jim Meyering  <meyering@redhat.com>
12312
12313         git-version-gen: convert leading TABs to spaces
12314         * build-aux/git-version-gen: Expand leading TABs.
12315
12316         git-version-gen: handle failed "git rev-list"
12317         * build-aux/git-version-gen: Rather than leaking a "fatal" error
12318         from git and proceeding as if it had succeeded but printed no SHA1
12319         checksums, suppress the diagnostic and handle the failure.
12320         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
12321
12322         git-version-gen: include command name in one more diagnostic
12323         * build-aux/git-version-gen: When the required .tarball-version file
12324         was missing or unreadable, you might see the diagnostic from "cat",
12325         but no trace of the name of the invoking script.  Now, you still see
12326         the diagnostic from cat, but also get one from "git-version-gen: ".
12327         Inspired by a patch from Bruce Korb.
12328
12329         update-copyright: adjust test to match changed code
12330         * tests/test-update-copyright.sh: Change test's expected output
12331         to match new actual output.
12332
12333 2011-01-02  Bruno Haible  <bruno@clisp.org>
12334
12335         getlogin_r: Avoid test failure on HP-UX 11.
12336         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
12337         ERANGE when the second argument is zero.
12338         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
12339         portability problem.
12340
12341 2011-01-02  Bruce Korb  <bkorb@gnu.org>
12342
12343         * build-aux/update-copyright: doc Simon's changes
12344
12345 2011-01-02  Simon Josefsson  <simon@josefsson.org>
12346
12347         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
12348         environment variable.
12349
12350 2011-01-02  Bruno Haible  <bruno@clisp.org>
12351
12352         unigbrk: Avoid gcc warnings.
12353         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
12354         unused variable.
12355         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
12356         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
12357         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
12358         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
12359         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
12360         Change type of first argument to 'const char *'.
12361         (main): Remove unused variable.
12362         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
12363         type of first argument to 'const char *'.
12364         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
12365         Likewise.
12366         (main): Change type of variable 's'.
12367         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
12368         to 'int'.
12369
12370 2011-01-02  Bruno Haible  <bruno@clisp.org>
12371
12372         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
12373         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
12374         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
12375         bug.
12376         * lib/pwrite.c: Undo 2010-12-31 patch.
12377         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
12378
12379 2011-01-02  Bruno Haible  <bruno@clisp.org>
12380
12381         pread: Fix test whether it works.
12382         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
12383
12384 2011-01-02  Bruno Haible  <bruno@clisp.org>
12385
12386         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
12387         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
12388         ends in "6". Don't require a specific month name. Try also the locale
12389         names found on HP-UX 11 and Solaris 7.
12390
12391 2011-01-02  Bruno Haible  <bruno@clisp.org>
12392
12393         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
12394         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
12395         C linkage.
12396         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
12397
12398 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12399
12400         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
12401         for consistency, since the "cluster" term is not used elsewhere.
12402         * lib/unigbrk.in.h: Update name.
12403         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
12404         * lib/unigbrk/u16-grapheme-next.c: Update name.
12405         * lib/unigbrk/u16-grapheme-prev.c: Update name.
12406         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
12407         * lib/unigbrk/u32-grapheme-next.c: Update name.
12408         * lib/unigbrk/u32-grapheme-prev.c: Update name.
12409         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
12410         * lib/unigbrk/u8-grapheme-next.c: Update name.
12411         * lib/unigbrk/u8-grapheme-prev.c: Update name.
12412         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
12413         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
12414         Suggested by Bruno Haible.
12415
12416 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12417
12418         Remove module 'u8-grapheme-len' as too redundant with
12419         'u8-grapheme-next'.
12420         * modules/unigbrk/u8-grapheme-len: Delete file.
12421         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
12422         * lib/unigbrk.in.h: Remove prototype for deleted function.
12423         * lib/unigbrk/u8-grapheme-len.c: Delete file.
12424         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
12425
12426         Remove module 'u16-grapheme-len' as too redundant with
12427         'u16-grapheme-next'.
12428         * modules/unigbrk/u16-grapheme-len: Delete file.
12429         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
12430         * lib/unigbrk.in.h: Remove prototype for deleted function.
12431         * lib/unigbrk/u16-grapheme-len.c: Delete file.
12432         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
12433
12434         Remove module 'u32-grapheme-len' as too redundant with
12435         'u32-grapheme-next'.
12436         * modules/unigbrk/u32-grapheme-len: Delete file.
12437         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
12438         * lib/unigbrk.in.h: Remove prototype for deleted function.
12439         * lib/unigbrk/u32-grapheme-len.c: Delete file.
12440         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
12441
12442         Suggested by Bruno Haible.
12443
12444 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12445
12446         * unigbrk.in.h: Fix typo: "ben" => "been".
12447         Reported by Bruno Haible.
12448
12449 2011-01-01  Jim Meyering  <meyering@redhat.com>
12450
12451         maint: update almost all copyright ranges to include 2011
12452         Run the new "make update-copyright" rule.
12453
12454 2011-01-01  Jim Meyering  <meyering@redhat.com>
12455
12456         maint: update-copyright: exempt doc/INSTALL*
12457         * Makefile (update-copyright): Also exclude doc/INSTALL*,
12458         since they are generated.  Suggested by Bruno Haible.
12459
12460 2011-01-01  Jim Meyering  <meyering@redhat.com>
12461
12462         maint: refine the update-copyright rule
12463         * Makefile (update-copyright): Also exclude any file that includes
12464         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
12465         code that merely generates the comment.
12466
12467 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
12468
12469         New module 'u8-grapheme-len'.
12470         * modules/unigbrk/u8-grapheme-len: New file.
12471         * modules/unigbrk/u8-grapheme-len-tests: New file.
12472         * lib/unigbrk.in.h: Add prototype for new function.
12473         * lib/unigbrk/u8-grapheme-len.c: New file.
12474         * tests/unigbrk/test-u8-grapheme-len.c: New file.
12475
12476         New module 'u16-grapheme-len'.
12477         * modules/unigbrk/u16-grapheme-len: New file.
12478         * modules/unigbrk/u16-grapheme-len-tests: New file.
12479         * lib/unigbrk.in.h: Add prototype for new function.
12480         * lib/unigbrk/u16-grapheme-len.c: New file.
12481         * tests/unigbrk/test-u16-grapheme-len.c: New file.
12482
12483         New module 'u32-grapheme-len'.
12484         * modules/unigbrk/u32-grapheme-len: New file.
12485         * modules/unigbrk/u32-grapheme-len-tests: New file.
12486         * lib/unigbrk.in.h: Add prototype for new function.
12487         * lib/unigbrk/u32-grapheme-len.c: New file.
12488         * tests/unigbrk/test-u32-grapheme-len.c: New file.
12489
12490         New module 'u8-grapheme-next'.
12491         * modules/unigbrk/u8-grapheme-next: New file.
12492         * modules/unigbrk/u8-grapheme-next-tests: New file.
12493         * lib/unigbrk.in.h: Add prototype for new function.
12494         * lib/unigbrk/u8-grapheme-next.c: New file.
12495         * tests/unigbrk/test-u8-grapheme-next.c: New file.
12496
12497         New module 'u16-grapheme-next'.
12498         * modules/unigbrk/u16-grapheme-next: New file.
12499         * modules/unigbrk/u16-grapheme-next-tests: New file.
12500         * lib/unigbrk.in.h: Add prototype for new function.
12501         * lib/unigbrk/u16-grapheme-next.c: New file.
12502         * tests/unigbrk/test-u16-grapheme-next.c: New file.
12503
12504         New module 'u32-grapheme-next'.
12505         * modules/unigbrk/u32-grapheme-next: New file.
12506         * modules/unigbrk/u32-grapheme-next-tests: New file.
12507         * lib/unigbrk.in.h: Add prototype for new function.
12508         * lib/unigbrk/u32-grapheme-next.c: New file.
12509         * tests/unigbrk/test-u32-grapheme-next.c: New file.
12510
12511         New module 'u8-grapheme-prev'.
12512         * modules/unigbrk/u8-grapheme-prev: New file.
12513         * modules/unigbrk/u8-grapheme-prev-tests: New file.
12514         * lib/unigbrk.in.h: Add prototype for new function.
12515         * lib/unigbrk/u8-grapheme-prev.c: New file.
12516         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
12517
12518         New module 'u16-grapheme-prev'.
12519         * modules/unigbrk/u16-grapheme-prev: New file.
12520         * modules/unigbrk/u16-grapheme-prev-tests: New file.
12521         * lib/unigbrk.in.h: Add prototype for new function.
12522         * lib/unigbrk/u16-grapheme-prev.c: New file.
12523         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
12524
12525         New module 'u32-grapheme-prev'.
12526         * modules/unigbrk/u32-grapheme-prev: New file.
12527         * modules/unigbrk/u32-grapheme-prev-tests: New file.
12528         * lib/unigbrk.in.h: Add prototype for new function.
12529         * lib/unigbrk/u32-grapheme-prev.c: New file.
12530         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
12531
12532         New module 'u8-grapheme-breaks'.
12533         * modules/unigbrk/u8-grapheme-breaks: New file.
12534         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
12535         * lib/unigbrk.in.h: Add prototype for new function.
12536         * lib/unigbrk/u8-grapheme-breaks.c: New file.
12537         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
12538
12539         New module 'u16-grapheme-breaks'.
12540         * modules/unigbrk/u16-grapheme-breaks: New file.
12541         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
12542         * lib/unigbrk.in.h: Add prototype for new function.
12543         * lib/unigbrk/u16-grapheme-breaks.c: New file.
12544         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
12545
12546         New module 'u32-grapheme-breaks'.
12547         * modules/unigbrk/u32-grapheme-breaks: New file.
12548         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
12549         * lib/unigbrk.in.h: Add prototype for new function.
12550         * lib/unigbrk/u32-grapheme-breaks.c: New file.
12551         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
12552
12553         New module 'ulc-grapheme-breaks'.
12554         * modules/unigbrk/ulc-grapheme-breaks: New file.
12555         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
12556         * m4/locale-ar.m4: New file.
12557         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
12558         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
12559         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
12560
12561 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
12562
12563         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
12564         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
12565         modified how this file was generated before I initially submitted
12566         the module, but failed to regenerate it.  This meant that several
12567         of the level2 entries were wrong.
12568         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
12569         Remove the division-by-2 that is folded into the table now that
12570         gbrkprop.h has been regenerated properly.  Now -1 entries are
12571         handled correctly.
12572
12573         New module 'unigbrk/uc-gbrk-prop-tests'.
12574         * modules/unigbrk/uc-gbrk-prop-tests: New file.
12575         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
12576         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
12577         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
12578
12579 2011-01-01  Bruno Haible  <bruno@clisp.org>
12580
12581         Avoid use of hexadecimal escapes.
12582         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
12583         instead of hexadecimal escapes.
12584
12585 2011-01-01  Jim Meyering  <meyering@redhat.com>
12586
12587         maint: new rule to update copyright year ranges
12588         * Makefile (update-copyright): New rule.
12589
12590         maint: indent with TABs in Makefile
12591         * Makefile: Expand leading sequences of spaces to TABs
12592
12593         version-etc: update the copyright year it reports
12594         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
12595
12596 2010-12-31  Bruno Haible  <bruno@clisp.org>
12597
12598         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
12599         * lib/isfinite.c (zerof, zerod, zerol): New variables.
12600         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
12601         zero.
12602
12603 2010-12-31  Bruno Haible  <bruno@clisp.org>
12604
12605         pwrite: Work around HP-UX 11.11 bug.
12606         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
12607         works and set REPLACE_PWRITE if not.
12608         * lib/pwrite.c (pwrite): Add an implementation that uses the system
12609         function.
12610         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
12611
12612 2010-12-31  Bruno Haible  <bruno@clisp.org>
12613
12614         pread: Work around HP-UX 11 bugs.
12615         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
12616         and set REPLACE_PREAD if not.
12617         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
12618
12619 2010-12-31  Eric Blake  <eblake@redhat.com>
12620
12621         nl_langinfo: fix YESEXPR on Irix 6.5
12622         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
12623         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
12624         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
12625         it.
12626
12627 2010-12-31  Bruno Haible  <bruno@clisp.org>
12628
12629         iconv: Document HP-UX 11 bug.
12630         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
12631
12632 2010-12-31  Bruno Haible  <bruno@clisp.org>
12633
12634         ldexpl: Fix link error on HP-UX 11.
12635         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
12636         LDEXPL_LIBM, using $ISNANL_LIBM.
12637
12638 2010-12-31  Eric Blake  <eblake@redhat.com>
12639
12640         ftello: avoid compilation failure with SunStudio c89
12641         * lib/ftello.c (ftello): Use lseek, not llseek.
12642
12643         tests: avoid failing coreutils tests on cygwin
12644         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
12645         (create_exe_shims_): Return 0 when skipping.
12646
12647 2010-12-31  Bruno Haible  <bruno@clisp.org>
12648
12649         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
12650         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
12651
12652 2010-12-31  Bruno Haible  <bruno@clisp.org>
12653
12654         waitpid: Fix link error in C++ mode.
12655         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
12656
12657 2010-12-31  Bruno Haible  <bruno@clisp.org>
12658
12659         isnan: Use GCC built-ins when possible.
12660         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
12661         __builtin_isnan.
12662         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
12663         (isnan): Define using GCC built-ins for GCC >= 4.0.
12664
12665 2010-12-31  Bruno Haible  <bruno@clisp.org>
12666
12667         isnand: Fix mistake.
12668         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
12669         __builtin_isnand.
12670
12671 2010-12-31  Bruno Haible  <bruno@clisp.org>
12672
12673         open: Avoid C++ error on HP-UX 11.
12674         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
12675
12676 2010-12-31  Bruno Haible  <bruno@clisp.org>
12677
12678         time_r: Add missing declarations on HP-UX 11.
12679         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
12680         instead of HAVE_LOCALTIME_R.
12681         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
12682         HAVE_LOCALTIME_R always.
12683         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
12684         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
12685         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
12686         HAVE_LOCALTIME_R.
12687         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
12688         * doc/posix-functions/localtime_r.texi: Likewise.
12689
12690 2010-12-29  Eric Blake  <eblake@redhat.com>
12691
12692         mountlist: tweak previous commit
12693         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
12694         Reported by Paul Eggert.
12695
12696         mountlist: fix local drive detection on cygwin
12697         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
12698         that works for cygwin.
12699
12700 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12701
12702         ftoastr, snprintf: ftoastr + snprintf module
12703         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
12704         since the snprintf module now should be good enough here.
12705         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
12706         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
12707         and gl_MODULE_INDICATOR([snprintf]), but the former enables
12708         GNULIB_SNPRINTF only for the test directory, and the latter
12709         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
12710         seems to suffice by itself.
12711
12712 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12713
12714         alloca: one step towards thread-safety
12715         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
12716         need for a static variable.  All callers changed.  This does not
12717         make the alloca replacement thread-safe, but it's one step.
12718
12719         tests: minor indenting change
12720         * tests/init.sh: Sync from coreutils housekeeping patch
12721         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
12722         to keep lines within 80 columns.
12723
12724 2010-12-28  Jim Meyering  <meyering@redhat.com>
12725
12726         regex: don't infloop on persistent failing calloc
12727         * lib/regexec.c (build_trtable): Return failure indication upon
12728         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
12729         In glibc, this was fixed for version 2.13:
12730         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
12731
12732 2010-12-28  Bruno Haible  <bruno@clisp.org>
12733             Paul Eggert <eggert@cs.ucla.edu>
12734
12735         linkat: Make implementation robust against system behaviour variations.
12736         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
12737         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
12738         way, and to -2 if it needs a generic runtime test.
12739         * lib/linkat.c (solaris_optimized_link_immediate,
12740         solaris_optimized_link_follow): New functions.
12741         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
12742         (check_same_link): Use it.
12743
12744 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
12745
12746         New module 'unigbrk/base'.
12747         * modules/unigbrk/base: New file.
12748         * lib/unigbrk.in.h: New file.
12749
12750         New module 'unigbrk/uc-gbrk-prop'.
12751         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
12752         * modules/unigbrk/uc-gbrk-prop: New file.
12753         * lib/unigbrk/gbrkprop.h: New file.
12754         * lib/unigbrk/uc-gbrk-prop.c: New file.
12755
12756         New module 'unigbrk/uc-is-grapheme-break'.
12757         * modules/unigbrk/uc-is-grapheme-break: New file.
12758         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
12759         * lib/unigbrk/uc-is-grapheme-break.c: New file.
12760         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
12761         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
12762         * tests/unigbrk/GraphemeBreakTest.txt: New file.
12763
12764         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
12765
12766 2010-12-27  Bruno Haible  <bruno@clisp.org>
12767
12768         linkat test: Avoid failure on Solaris 11 2010-11.
12769         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
12770
12771 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12772
12773         utimens: work around glibc rounding bug on more platforms
12774         * lib/utimens.c (fdutimens): Work around rounding bug even if
12775         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
12776         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
12777
12778 2010-12-27  Bruno Haible  <bruno@clisp.org>
12779
12780         select tests: Improve comments.
12781         * tests/test-select.c (do_select): Add comments.
12782
12783 2010-12-27  Bruno Haible  <bruno@clisp.org>
12784
12785         select tests: Safer way of handling timeout.
12786         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
12787         at every invocation.
12788
12789 2010-12-27  Bruno Haible  <bruno@clisp.org>
12790
12791         select tests: Use 'bool' where appropriate.
12792         * tests/test-select.c (connect_to_socket): Change argument type to
12793         'bool'.
12794
12795 2010-12-27  Bruno Haible  <bruno@clisp.org>
12796
12797         select tests: Use existing modules.
12798         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
12799         (configure.ac): Don't test for unistd.h.
12800         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
12801         declared in <unistd.h>.
12802
12803 2010-12-27  Bruno Haible  <bruno@clisp.org>
12804
12805         mbrtowc: Work around a Solaris 7 bug.
12806         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
12807         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
12808         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
12809         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
12810         MBRTOWC_NULL_ARG1_BUG.
12811         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
12812         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
12813         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
12814         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
12815
12816 2010-12-27  Jim Meyering  <meyering@redhat.com>
12817
12818         read-file.c: tweak syntax
12819         * lib/read-file.c (fread_file): Remove space after "*" in function
12820         definitions.
12821
12822 2010-12-27  Bruno Haible  <bruno@clisp.org>
12823
12824         times test: Avoid gcc warnings on OSF/1.
12825         * tests/test-times.c (main): Cast printf arguments from clock_t to
12826         'long int'.
12827
12828 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12829
12830         utimens: work around glibc rounding bug on older Linux kernels
12831         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
12832         on Linux with a glibc whose utimes might not work, then work
12833         around a longstanding glibc bug involving rounding rather than
12834         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
12835         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12836
12837 2010-12-26  Bruno Haible  <bruno@clisp.org>
12838
12839         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
12840         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
12841         _GL_CXXALIAS_SYS.
12842         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12843
12844 2010-12-26  Bruno Haible  <bruno@clisp.org>
12845
12846         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
12847         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
12848         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
12849         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
12850         looking for the declaration.
12851         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12852         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
12853         problem.
12854         * doc/posix-functions/inet_pton.texi: Likewise.
12855
12856 2010-12-26  Bruno Haible  <bruno@clisp.org>
12857
12858         arpa_inet: Use the common idioms with C++ support.
12859         * lib/arpa_inet.in.h: Include c++defs.h.
12860         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
12861         support.
12862         * modules/arpa_inet (Depends-on): Add c++defs.
12863         (Makefile.am): Substitute the contents of c++defs.h.
12864         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
12865         * modules/arpa_inet-c++-tests: New file.
12866         * tests/test-arpa_inet-c++.cc: New file.
12867
12868 2010-12-25  Bruno Haible  <bruno@clisp.org>
12869
12870         Fix more C++ link errors on Solaris 8.
12871         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
12872         $(LIB_EACCESS).
12873         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
12874         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
12875         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
12876         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
12877         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
12878
12879 2010-12-25  Bruno Haible  <bruno@clisp.org>
12880
12881         printf-posix: Fix link error when a non-GCC compiler is used.
12882         * lib/stdio.in.h (printf): When not using GCC, override printf
12883         correctly.
12884         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12885
12886 2010-12-25  Bruno Haible  <bruno@clisp.org>
12887
12888         strerror_r-posix: Update doc.
12889         * doc/posix-functions/strerror_r.texi: Update doc about the return
12890         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
12891
12892 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12893
12894         utimens: simplify the logic of the previous change
12895         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
12896         This should not affect whether the test succeeds or fails.
12897
12898         utimens: configure better on hosts with NFS clock skew
12899         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
12900         uses the clock of the local host.  It might use the clock of the
12901         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
12902         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12903
12904 2010-12-25  Bruno Haible  <bruno@clisp.org>
12905
12906         ptsname test: Avoid failure on Solaris.
12907         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
12908         open a pseudo-terminal; don't use BSD-style ptys.
12909         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
12910
12911 2010-12-25  Bruno Haible  <bruno@clisp.org>
12912
12913         ptsname: Avoid ERANGE failure on some systems.
12914         * lib/ptsname.c (buffer): Increase size.
12915
12916 2010-12-25  Bruno Haible  <bruno@clisp.org>
12917
12918         rename, renameat: Avoid test failures at NFS mounted locations.
12919         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
12920         so that subsequent mkdir calls succeed.
12921
12922 2010-12-25  Bruno Haible  <bruno@clisp.org>
12923
12924         iswblank: Fix C++ link error on Solaris 8.
12925         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
12926         _GL_FUNCDECL_SYS.
12927
12928 2010-12-25  Bruno Haible  <bruno@clisp.org>
12929
12930         unistd: Fix C++ link error on Solaris 8.
12931         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
12932
12933 2010-12-25  Bruno Haible  <bruno@clisp.org>
12934
12935         readlink doc: Mention an old glibc bug.
12936         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
12937
12938 2010-12-25  Bruno Haible  <bruno@clisp.org>
12939
12940         fcntl-h: Fix for use of C++ on glibc systems.
12941         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
12942         also on glibc systems in C++ mode.
12943         Reported by Gary V. Vaughan <gary@gnu.org>.
12944
12945 2010-12-25  Bruno Haible  <bruno@clisp.org>
12946
12947         roundl-ieee: Make it work on OSF/1 5.1 with cc.
12948         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
12949
12950 2010-12-25  Bruno Haible  <bruno@clisp.org>
12951
12952         truncl-ieee: Make it work on OSF/1 5.1 with cc.
12953         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
12954         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
12955         test whether truncl works according to ISO C 99 with IEC 60559.
12956         * m4/truncl-ieee.m4: New file.
12957         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
12958         m4/signbit.m4.
12959         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
12960
12961 2010-12-25  Bruno Haible  <bruno@clisp.org>
12962
12963         ceill-ieee: Make it work on OSF/1 5.1 with cc.
12964         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
12965         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
12966         test whether ceill works according to ISO C 99 with IEC 60559.
12967         * m4/ceill-ieee.m4: New file.
12968         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
12969         m4/signbit.m4.
12970         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
12971
12972 2010-12-25  Bruno Haible  <bruno@clisp.org>
12973
12974         Ensure all prerequisites of <wchar.h> are included.
12975         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
12976         before <wchar.h>.
12977         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12978         gl_MBRLEN_NUL_RETVAL): Likewise.
12979         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12980         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
12981         AC_FUNC_MBRTOWC): Likewise.
12982         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12983         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
12984         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12985         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12986         Likewise.
12987         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12988         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
12989         (gl_WCHAR_H): Improve comments.
12990         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
12991
12992 2010-12-25  Bruno Haible  <bruno@clisp.org>
12993
12994         strtok_r: Fix C syntax error in autoconf macro.
12995         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
12996         characters in test program.
12997
12998 2010-12-24  Bruno Haible  <bruno@clisp.org>
12999
13000         ceil, trunc, round: Fix gcc warnings.
13001         * lib/ceil.c (MIN): Undefine before redefining.
13002         * lib/trunc.c (MIN): Likewise.
13003         * lib/round.c (MIN): Likewise.
13004         Include <math.h> first.
13005
13006 2010-12-24  Bruno Haible  <bruno@clisp.org>
13007
13008         select tests: Avoid failures on OSF/1 5.1.
13009         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
13010         failure of closing the last socket; it may fail with ECONNRESET.
13011
13012 2010-12-24  Eric Blake  <eblake@redhat.com>
13013
13014         stdint: avoid HP-UX 10.20 preprocessor bug
13015         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
13016         than #if.
13017         * tests/test-floor2.c (main): Likewise.
13018         Reported by Peter O'Gorman.
13019
13020         pipe: make obsoletion transition easier
13021         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
13022         * modules/pipe (Files): Include revived file.
13023         (Include): Drop reference, to mirror getdate's behavior.
13024
13025 2010-12-24  Bruno Haible  <bruno@clisp.org>
13026
13027         sys_socket: Hide mismatch of declarations on NonStop Kernel.
13028         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
13029         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
13030         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13031
13032 2010-12-24  Bruno Haible  <bruno@clisp.org>
13033
13034         gethostname: Ensure declaration on NonStop Kernel.
13035         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
13036         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13037
13038 2010-12-24  Bruno Haible  <bruno@clisp.org>
13039
13040         sys_select: Ensure all necessary types on NonStop Kernel.
13041         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
13042         include <sys/time.h>.
13043         * doc/posix-headers/sys_select.texi: Mention that it's missing on
13044         NonStop Kernel.
13045         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13046
13047 2010-12-24  Bruno Haible  <bruno@clisp.org>
13048
13049         sys_select: Remove unneeded include.
13050         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
13051         have <sys/select.h>.
13052
13053 2010-12-24  Bruno Haible  <bruno@clisp.org>
13054
13055         gethostname: Provide a fallback for HOST_NAME_MAX.
13056         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
13057         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
13058         instead.
13059         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13060
13061 2010-12-24  Bruno Haible  <bruno@clisp.org>
13062
13063         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
13064         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
13065         (SA_RESTART): Likewise.
13066         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13067
13068 2010-12-24  Bruno Haible  <bruno@clisp.org>
13069
13070         signal: Define NSIG.
13071         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
13072         * tests/test-signal.c (nsig): New variable.
13073         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13074
13075 2010-12-24  Bruno Haible  <bruno@clisp.org>
13076
13077         rename, renameat: Avoid test failures on OSF/1 5.1.
13078         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
13079         alternative error codes.
13080         * tests/test-renameat.c (main): Likewise.
13081
13082 2010-12-24  Bruno Haible  <bruno@clisp.org>
13083
13084         *printf: Detect large precisions bug on Solaris 10/SPARC.
13085         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
13086         by Paul Eggert.
13087         * tests/test-snprintf-posix.h (test_function): Add this test code here
13088         too.
13089         * tests/test-sprintf-posix.h (test_function): Likewise.
13090         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13091         * tests/test-vasprintf-posix.c (test_function): Likewise.
13092         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
13093         around by gnulib.
13094         * doc/posix-functions/printf.texi: Likewise.
13095         * doc/posix-functions/snprintf.texi: Likewise.
13096         * doc/posix-functions/sprintf.texi: Likewise.
13097         * doc/posix-functions/vfprintf.texi: Likewise.
13098         * doc/posix-functions/vprintf.texi: Likewise.
13099         * doc/posix-functions/vsnprintf.texi: Likewise.
13100         * doc/posix-functions/vsprintf.texi: Likewise.
13101         * doc/posix-functions/dprintf.texi: Undo last commit.
13102         * doc/posix-functions/vdprintf.texi: Likewise.
13103
13104 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13105
13106         tests: port test-fdutimensat.c to Solaris 8
13107         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
13108         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
13109         On Solaris 8, it fails with errno == ENOSYS, because there is no
13110         futimens (so it can't use the fd), and there is no lutimens (so it
13111         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
13112
13113         vsnprintf: make more consistent with snprintf; doc fixes
13114
13115         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
13116         the byte count return problem was promoted from the snprintf-posix
13117         to the snprintf module.
13118         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13119         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
13120         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
13121         * tests/test-snprintf.c (main): Check the byte count returned.
13122         * tests/test-vsnprintf.c (main): Likewise.
13123
13124 2010-12-23  Eric Blake  <eblake@redhat.com>
13125
13126         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
13127         * modules/sigpipe (License): Relax license.
13128
13129 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13130
13131         doc: document Solaris printf bug with large float precisions
13132         * doc/posix-functions/dprintf.texi (dprintf):
13133         * doc/posix-functions/fprintf.texi (fprintf):
13134         * doc/posix-functions/printf.texi (printf):
13135         * doc/posix-functions/snprintf.texi (snprintf):
13136         * doc/posix-functions/sprintf.texi (sprintf):
13137         * doc/posix-functions/vdprintf.texi (vdprintf):
13138         * doc/posix-functions/vfprintf.texi (vfprintf):
13139         * doc/posix-functions/vprintf.texi (vprintf):
13140         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13141         * doc/posix-functions/vsprintf.texi (vsprintf):
13142         Mention that these functions mishandle large floating point
13143         precisions on Solaris 10.  The same bug is also present in Solaris
13144         8, and I assume earlier.  This causes "cd gnulib-tests; make
13145         check" to fail on Solaris 8 (and I assume, later) when building
13146         the latest coreutils, in test-vasprintf-posix's call to
13147         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
13148         the wide flavors (e.g., wprintf) so this patch just updates the
13149         documentation for the narrow ones.
13150
13151         test-posixtm.c: add two tests
13152         * tests/test-posixtm.c: Add two tests, to highlight the
13153         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
13154         around this bug; this is merely to document it.
13155
13156 2010-12-22  Bruno Haible  <bruno@clisp.org>
13157
13158         getlogin_r: Work around portability problem on OSF/1.
13159         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
13160         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
13161         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
13162         test for a truncated result.
13163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
13164         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
13165         * modules/getlogin_r (Depends-on): Add memchr.
13166         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
13167
13168 2010-12-22  Bruno Haible  <bruno@clisp.org>
13169
13170         ptsname: Avoid test failure on OSF/1 5.1.
13171         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
13172         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
13173         (same_slave): New function.
13174         (main): Use it to compare ptsname's result with the expected file name.
13175
13176 2010-12-22  Bruno Haible  <bruno@clisp.org>
13177
13178         Port extended stdio modules to HP NonStop Kernel.
13179         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
13180         macros.
13181         * lib/fbufmode.c: Update comments.
13182         * lib/fflush.c: Likewise.
13183         * lib/fpurge.c: Likewise.
13184         * lib/freadable.c: Likewise.
13185         * lib/freadahead.c: Likewise.
13186         * lib/freading.c: Likewise.
13187         * lib/freadptr.c: Likewise.
13188         * lib/freadseek.c: Likewise.
13189         * lib/fseeko.c: Likewise.
13190         * lib/fseterr.c: Likewise.
13191         * lib/fwritable.c: Likewise.
13192         * lib/fwriting.c: Likewise.
13193         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13194
13195 2010-12-22  Bruno Haible  <bruno@clisp.org>
13196
13197         ttyname_r: Work around bug on OSF/1 5.1.
13198         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
13199         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
13200         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
13201         present.
13202         * lib/ttyname_r.c (ttyname_r): Update comments.
13203
13204 2010-12-22  Bruno Haible  <bruno@clisp.org>
13205
13206         round: Implement result sign according to IEEE 754.
13207         * lib/round.c (MIN, MINUS_ZERO): New macros.
13208         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
13209         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
13210         * tests/test-round-ieee.c (main): Likewise.
13211         * tests/test-roundl-ieee.c (main): Likewise.
13212
13213         trunc: Implement result sign according to IEEE 754.
13214         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
13215         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
13216         * tests/test-trunc2.c: Include minus-zero.h.
13217         (MINUS_ZERO): New macro.
13218         (trunc_reference): Keep in sync with lib/trunc.c.
13219         * tests/test-truncf2.c: Include minus-zero.h.
13220         (MINUS_ZERO): New macro.
13221         (truncf_reference): Keep in sync with lib/trunc.c.
13222         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
13223         * tests/test-trunc-ieee.c (main): Likewise.
13224         * tests/test-truncl-ieee.c (main): Likewise.
13225
13226         ceil: Implement result sign according to IEEE 754.
13227         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
13228         (FUNC): Return -0.0 for -1 < x < 0.
13229         * tests/test-ceil2.c: Include minus-zero.h.
13230         (MINUS_ZERO): New macro.
13231         (ceil_reference): Keep in sync with lib/ceil.c.
13232         * tests/test-ceilf2.c: Include minus-zero.h.
13233         (MINUS_ZERO): New macro.
13234         (ceilf_reference): Keep in sync with lib/ceil.c.
13235         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
13236         * tests/test-ceil-ieee.c (main): Likewise.
13237         * tests/test-ceill-ieee.c (main): Likewise.
13238
13239         floor: Implement result sign according to IEEE 754.
13240         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
13241         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
13242         * tests/test-floorf2.c (floorf_reference): Likewise.
13243         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
13244         * tests/test-floor-ieee.c (main): Likewise.
13245         * tests/test-floorl-ieee.c (main): Likewise.
13246
13247 2010-12-22  Bruno Haible  <bruno@clisp.org>
13248
13249         getaddrinfo: Update doc.
13250         * doc/posix-functions/gai_strerror.texi: Return type is also different
13251         on AIX and HP-UX.
13252
13253 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13254
13255         getaddrinfo, inet_ntop: Update doc for Solaris.
13256         * doc/posix-functions/gai_strerror.texi: Return type is also an
13257         issue on Solaris 9 and earlier.
13258         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
13259         on Solaris 10 and earlier.
13260
13261 2010-12-21  Bruno Haible  <bruno@clisp.org>
13262
13263         New module 'roundl-ieee'.
13264         * modules/roundl-ieee: New file.
13265         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
13266         test whether roundl works according to ISO C 99 with IEC 60559.
13267         * m4/roundl-ieee.m4: New file.
13268         * modules/roundl-ieee-tests: New file.
13269         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
13270         * tests/test-roundl.c (main): Remove signbit tests.
13271         * modules/roundl-tests (Depends-on): Remove signbit.
13272         * doc/posix-functions/roundl.texi: Mention the new module.
13273
13274 2010-12-21  Bruno Haible  <bruno@clisp.org>
13275
13276         New module 'truncl-ieee'.
13277         * modules/truncl-ieee: New file.
13278         * modules/truncl-ieee-tests: New file.
13279         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
13280         * tests/test-truncl.c (main): Remove signbit tests.
13281         * modules/truncl-tests (Depends-on): Remove signbit.
13282         * doc/posix-functions/truncl.texi: Mention the new module.
13283
13284 2010-12-21  Bruno Haible  <bruno@clisp.org>
13285
13286         New module 'ceill-ieee'.
13287         * modules/ceill-ieee: New file.
13288         * modules/ceill-ieee-tests: New file.
13289         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
13290         * tests/test-ceill.c (main): Remove signbit tests.
13291         * modules/ceill-tests (Depends-on): Remove signbit.
13292         * doc/posix-functions/ceill.texi: Mention the new module.
13293
13294 2010-12-21  Bruno Haible  <bruno@clisp.org>
13295
13296         New module 'floorl-ieee'.
13297         * modules/floorl-ieee: New file.
13298         * modules/floorl-ieee-tests: New file.
13299         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
13300         * tests/test-floorl.c (main): Remove signbit tests.
13301         * modules/floorl-tests (Depends-on): Remove signbit.
13302         * doc/posix-functions/floorl.texi: Mention the new module.
13303
13304 2010-12-21  Bruno Haible  <bruno@clisp.org>
13305
13306         New module 'round-ieee'.
13307         * modules/round-ieee: New file.
13308         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
13309         whether round works according to ISO C 99 with IEC 60559.
13310         * m4/round-ieee.m4: New file.
13311         * modules/round-ieee-tests: New file.
13312         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
13313         * tests/test-round1.c (main): Remove signbit tests.
13314         * modules/round-tests (Depends-on): Remove 'signbit'.
13315         * doc/posix-functions/round.texi: Mention the new module.
13316
13317 2010-12-21  Bruno Haible  <bruno@clisp.org>
13318
13319         New module 'trunc-ieee'.
13320         * modules/trunc-ieee: New file.
13321         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
13322         whether trunc works according to ISO C 99 with IEC 60559.
13323         * m4/trunc-ieee.m4: New file.
13324         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
13325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
13326         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
13327         * modules/trunc-ieee-tests: New file.
13328         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
13329         * tests/test-trunc1.c (main): Remove signbit tests.
13330         * modules/trunc-tests (Depends-on): Remove 'signbit'.
13331         * doc/posix-functions/trunc.texi: Mention the new module.
13332
13333 2010-12-21  Bruno Haible  <bruno@clisp.org>
13334
13335         New module 'ceil-ieee'.
13336         * modules/ceil-ieee: New file.
13337         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
13338         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
13339         ISO C 99 with IEC 60559.
13340         * m4/ceil-ieee.m4: New file.
13341         * modules/ceil (Files): Add lib/ceil.c.
13342         (Depends-on): Add 'float'.
13343         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
13344         * lib/math.in.h (ceil): New declaration.
13345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
13346         REPLACE_CEIL.
13347         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
13348         * modules/ceil-ieee-tests: New file.
13349         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
13350         * tests/test-math-c++.cc: Check the signature of 'ceil'.
13351         * doc/posix-functions/ceil.texi: Mention the new module.
13352
13353 2010-12-21  Bruno Haible  <bruno@clisp.org>
13354
13355         New module 'floor-ieee'.
13356         * modules/floor-ieee: New file.
13357         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
13358         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
13359         ISO C 99 with IEC 60559.
13360         * m4/floor-ieee.m4: New file.
13361         * modules/floor (Files): Add lib/floor.c.
13362         (Depends-on): Add 'float'.
13363         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
13364         * lib/math.in.h (floor): New declaration.
13365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
13366         REPLACE_FLOOR.
13367         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
13368         * modules/floor-ieee-tests: New file.
13369         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
13370         * tests/test-math-c++.cc: Check the signature of 'floor'.
13371         * doc/posix-functions/floor.texi: Mention the new module.
13372
13373 2010-12-21  Bruno Haible  <bruno@clisp.org>
13374
13375         New module 'roundf-ieee'.
13376         * modules/roundf-ieee: New file.
13377         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
13378         test whether roundf works according to ISO C 99 with IEC 60559.
13379         * m4/roundf-ieee.m4: New file.
13380         * modules/roundf-ieee-tests: New file.
13381         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
13382         * tests/test-roundf1.c (main): Remove signbit tests.
13383         * modules/roundf-tests (Depends-on): Remove 'signbit'.
13384         * doc/posix-functions/roundf.texi: Mention the new module.
13385
13386 2010-12-21  Bruno Haible  <bruno@clisp.org>
13387
13388         New module 'truncf-ieee'.
13389         * modules/truncf-ieee: New file.
13390         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
13391         test whether truncf works according to ISO C 99 with IEC 60559.
13392         * m4/truncf-ieee.m4: New file.
13393         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
13394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
13395         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
13396         * modules/truncf-ieee-tests: New file.
13397         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
13398         * tests/test-truncf1.c (main): Remove signbit tests.
13399         * modules/truncf-tests (Depends-on): Remove 'signbit'.
13400         * doc/posix-functions/truncf.texi: Mention the new module.
13401
13402 2010-12-21  Bruno Haible  <bruno@clisp.org>
13403
13404         New module 'ceilf-ieee'.
13405         * modules/ceilf-ieee: New file.
13406         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
13407         test whether ceilf works according to ISO C 99 with IEC 60559.
13408         * m4/ceilf-ieee.m4: New file.
13409         * modules/ceilf-ieee-tests: New file.
13410         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
13411         * tests/test-ceilf1.c (main): Remove signbit tests.
13412         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
13413         * doc/posix-functions/ceilf.texi: Mention the new module.
13414
13415 2010-12-21  Bruno Haible  <bruno@clisp.org>
13416
13417         New module 'floorf-ieee'.
13418         * modules/floorf-ieee: New file.
13419         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
13420         test whether floorf works according to ISO C 99 with IEC 60559.
13421         * m4/floorf-ieee.m4: New file.
13422         * modules/floorf-ieee-tests: New file.
13423         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
13424         * tests/test-floorf1.c (main): Remove signbit tests.
13425         * modules/floorf-tests (Depends-on): Remove 'signbit'.
13426         * doc/posix-functions/floorf.texi: Mention the new module.
13427
13428 2010-12-21  Bruno Haible  <bruno@clisp.org>
13429
13430         Support for minus zero in autoconf macros.
13431         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
13432         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
13433         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
13434         * tests/minus-zero.h: Update comments.
13435
13436 2010-12-21  Bruno Haible  <bruno@clisp.org>
13437
13438         Tests for module 'ceil'.
13439         * modules/ceil-tests: New file.
13440         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
13441         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
13442
13443 2010-12-21  Bruno Haible  <bruno@clisp.org>
13444
13445         Tests for module 'floor'.
13446         * modules/floor-tests: New file.
13447         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
13448         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
13449
13450 2010-12-21  Bruno Haible  <bruno@clisp.org>
13451
13452         math: Fix indentation.
13453         * lib/math.in.h (floorf): Fix indentation.
13454
13455 2010-12-21  Bruno Haible  <bruno@clisp.org>
13456
13457         Fix cross-compilation guesses on Solaris.
13458         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
13459         not match "solaris2.10".
13460         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13461         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
13462         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
13463
13464 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
13465
13466         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
13467         This fixes a problem observed with the latest coreutils snapshot
13468         that caused a test to fail on Solaris 8.  src/csplit.c's call
13469         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
13470         earlier, instead of returning the number of bytes that would have
13471         been generated; this causes csplit to incorrectly report memory
13472         exhaustion.
13473         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
13474         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
13475         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
13476         comments to match.
13477         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
13478         Fix typo in matching older versions of Solaris: "solaris2.10"
13479         is matched by the shell pattern "solaris2.[0-9]*".  This matters
13480         only for guessing while cross-compiling.
13481         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
13482
13483 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
13484
13485         ftoastr: fix comment again
13486         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
13487         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
13488         Also, simplify example a bit by using flags = 0.
13489
13490 2010-12-20  Bruno Haible  <bruno@clisp.org>
13491
13492         round*, trunc*: Update documentation regarding glibc.
13493         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
13494         * doc/posix-functions/round.texi: Likewise.
13495         * doc/posix-functions/roundl.texi: Likewise.
13496         * doc/posix-functions/truncf.texi: Likewise.
13497         * doc/posix-functions/trunc.texi: Likewise.
13498         * doc/posix-functions/truncl.texi: Likewise.
13499
13500 2010-12-20  Bruno Haible  <bruno@clisp.org>
13501
13502         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
13503         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
13504         * doc/posix-functions/round.texi: Likewise.
13505         * doc/posix-functions/roundl.texi: Likewise.
13506
13507 2010-12-20  Bruno Haible  <bruno@clisp.org>
13508
13509         ttyname_r: Add missing declaration on HP-UX 11.
13510         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
13511         HAVE_TTYNAME_R.
13512         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
13513         declared. Set HAVE_TTYNAME_R always.
13514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13515         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
13516         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
13517         HAVE_TTYNAME_R.
13518         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
13519
13520 2010-12-20  Bruno Haible  <bruno@clisp.org>
13521
13522         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
13523         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
13524         * doc/posix-functions/getlogin_r.texi: Likewise.
13525         * tests/test-getlogin.c: Include <errno.h>.
13526         (main): Avoid test failure on HP-UX 11.11.
13527         * tests/test-getlogin_r.c (main): Likewise.
13528
13529 2010-12-20  Bruno Haible  <bruno@clisp.org>
13530
13531         getlogin_r: Add missing declaration on HP-UX 11.
13532         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
13533         declared also when it exists as a function.
13534         * doc/posix-functions/getlogin_r.texi: Document this workaround.
13535
13536 2010-12-20  Bruno Haible  <bruno@clisp.org>
13537
13538         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
13539         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
13540         through wcrtomb.
13541
13542 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13543
13544         ftoastr: fix comment
13545         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
13546         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
13547
13548 2010-12-19  Bruno Haible  <bruno@clisp.org>
13549
13550         isnan: Ensure it is a macro.
13551         * lib/math.in.h (isnan): Define as a macro if not already a macro.
13552         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
13553         Solaris.
13554
13555 2010-12-19  Bruno Haible  <bruno@clisp.org>
13556
13557         ldexpl test: Fix link error on OSF/1 5.1.
13558         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
13559
13560 2010-12-19  Bruno Haible  <bruno@clisp.org>
13561
13562         wctype: Make it work in C++ mode on OSF/1 5.1.
13563         * lib/wctype.in.h (iswblank): Declare but not define here.
13564         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
13565         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
13566         * modules/wctype (Files): Add lib/iswblank.c.
13567
13568 2010-12-19  Bruno Haible  <bruno@clisp.org>
13569
13570         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
13571         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
13572         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
13573
13574 2010-12-19  Bruno Haible  <bruno@clisp.org>
13575
13576         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
13577         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
13578         _POSIX_PII_SOCKET.
13579         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
13580         * doc/posix-functions/recvfrom.texi: Likewise.
13581         * doc/posix-functions/send.texi: Likewise.
13582         * doc/posix-functions/sendto.texi: Likewise.
13583
13584 2010-12-19  Bruno Haible  <bruno@clisp.org>
13585
13586         tcgetsid: Add missing declaration on OSF/1 5.1.
13587         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
13588         HAVE_TCGETSID.
13589         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
13590         Don't set HAVE_TCGETSID.
13591         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
13592         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
13593         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
13594         HAVE_TCGETSID.
13595         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
13596
13597 2010-12-19  Bruno Haible  <bruno@clisp.org>
13598
13599         stdio: Fix problem with popen() declaration on OSF/1 5.1.
13600         * lib/stdio.in.h: During the include_next statement, let recursive
13601         includes of this file include only the system header file.
13602
13603 2010-12-19  Bruno Haible  <bruno@clisp.org>
13604
13605         iconv_open: Fix regression from 2010-12-04.
13606         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
13607         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
13608
13609 2010-12-19  Bruno Haible  <bruno@clisp.org>
13610
13611         stdbool test: Avoid a gcc warning.
13612         * tests/test-stdbool.c (main): Fail if e1 is false.
13613         Reported by Jim Meyering.
13614
13615 2010-12-19  Jim Meyering  <meyering@redhat.com>
13616
13617         setenv: restore to working order
13618         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
13619         mistakenly removed.
13620         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
13621         HAVE_SETENV.
13622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
13623         HAVE_SETENV.
13624
13625 2010-12-19  Bruno Haible  <bruno@clisp.org>
13626
13627         Document some different function declarations on OSF/1 5.1.
13628         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
13629         * doc/posix-functions/inet_ntop.texi: Likewise.
13630         * doc/posix-functions/gethostname.texi: Likewise.
13631         * lib/unistd.in.h (gethostname): Update comment.
13632
13633 2010-12-19  Bruno Haible  <bruno@clisp.org>
13634
13635         doc: Mention vasprintf-posix module.
13636         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
13637         the 'vasprintf-posix' module.
13638         * doc/glibc-functions/vasprintf.texi: Likewise.
13639
13640 2010-12-19  Bruno Haible  <bruno@clisp.org>
13641
13642         unsetenv: Add missing declaration on OSF/1 5.1.
13643         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
13644         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
13645         Don't set HAVE_UNSETENV. In the test program, set _BSD.
13646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
13647         not HAVE_UNSETENV.
13648         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
13649         HAVE_UNSETENV.
13650         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
13651
13652 2010-12-19  Bruno Haible  <bruno@clisp.org>
13653
13654         setenv: Add missing declaration on OSF/1 5.1.
13655         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
13656         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
13657         declared. Don't set HAVE_SETENV.
13658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
13659         not HAVE_SETENV.
13660         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
13661         HAVE_SETENV.
13662         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
13663
13664 2010-12-19  Bruno Haible  <bruno@clisp.org>
13665
13666         nl_langinfo tests: Avoid gcc warning.
13667         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
13668
13669 2010-12-19  Bruno Haible  <bruno@clisp.org>
13670
13671         mknod: Avoid error in C++ mode on OSF/1 with GCC.
13672         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
13673         _GL_CXXALIAS_SYS.
13674
13675 2010-12-19  Bruno Haible  <bruno@clisp.org>
13676
13677         stdbool: Relax test.
13678         * tests/test-stdbool.c (e): Don't require that casts from a variable's
13679         address to 'bool' work in static initializer, for compilers other than
13680         GCC.
13681
13682 2010-12-19  Bruno Haible  <bruno@clisp.org>
13683
13684         ftello: Add missing declaration on OSF/1 5.1.
13685         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
13686         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
13687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
13688         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
13689         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
13690
13691 2010-12-19  Bruno Haible  <bruno@clisp.org>
13692
13693         fseeko: Add missing declaration on OSF/1 5.1.
13694         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
13695         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
13696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
13697         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
13698         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
13699
13700 2010-12-19  Bruno Haible  <bruno@clisp.org>
13701
13702         fchdir: Add missing declaration on OSF/1 5.1.
13703         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
13704         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
13705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
13706         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
13707         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
13708
13709 2010-12-19  Bruno Haible  <bruno@clisp.org>
13710
13711         relocatable-prog-wrapper: Separate from relocatable-prog.
13712         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
13713         uninstall-relocwrapper rule here.
13714         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
13715         Reported by Ian Beckwith <ianb@erislabs.net>.
13716
13717 2010-12-19  Bruno Haible  <bruno@clisp.org>
13718
13719         unistr/u8-mbsnlen: Add missing dependency.
13720         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
13721         Reported by Ian Beckwith <ianb@erislabs.net>.
13722
13723 2010-12-19  Bruno Haible  <bruno@clisp.org>
13724
13725         iconv: Make it possible again to use this module without 'iconv-h'.
13726         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
13727         if it is not defined.
13728         Reported by Ian Beckwith <ianb@erislabs.net>.
13729
13730 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
13731
13732         acl: port to Solaris 8 when copying from tmpfs to ufs
13733         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
13734         error number.  Problem observed on Solaris 8 with latest
13735         coreutils, with "mv A B", where A is on a tmpfs file system and B
13736         is on a ufs file system.  This caused coreutils' mv/part-symlink
13737         test to fail.
13738
13739         tests: set fail=0 at start
13740         * tests/init.sh (setup_): Move fail=0 initialization here ...
13741         (mktempd_): ... from here, so that tests can rely on fail being
13742         set to 0 initially.  This fixes a problem in coreutils; see:
13743         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
13744
13745 2010-12-18  Bruno Haible  <bruno@clisp.org>
13746
13747         memmem-simple: Stylistic changes.
13748         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
13749         Fix preprocessor directive indentation.
13750
13751 2010-12-15  Pádraig Brady <P@draigBrady.com>
13752
13753         memmem, memmem-simple: reorganize and expand empty needle check
13754         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
13755         functional checks to memmem-simple so that one has a fully functional
13756         memmem by using just this module.
13757         Restrict the performance only check to the memmem module.
13758         Also expand the empty needle check to ensure the correct
13759         pointer is returned, not just a non NULL pointer.
13760         * doc/glibc-functions/memmem.texi: Rearrange the portability
13761         documentation to correlate with the rearranged checks.
13762         Clarify exactly how the memmem and memmem-simple modules
13763         relate to each other.
13764
13765 2010-12-15  Pádraig Brady <P@draigBrady.com>
13766             Bruno Haible  <bruno@clisp.org>
13767
13768         Improve cross-compilation guesses for uClibc.
13769         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
13770         that uClibc does not have the glibc bug.
13771         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
13772         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
13773
13774 2010-12-14  Eric Blake  <eblake@redhat.com>
13775
13776         configmake: provide fallbacks for oldest supported autotools
13777         * m4/configmake.m4: New file.
13778         * modules/configmake (Files): Ship it.
13779         (configure.ac): Use it to guarantee fallbacks.
13780
13781 2010-12-13  Pádraig Brady <P@draigBrady.com>
13782
13783         read-file: Improve handling of large files
13784         * lib/read-file.c (fread_file): Minimize realloc()s
13785         for regular files, and better manage sizes around SIZE_MAX.
13786
13787 2010-12-13  Eric Blake  <eblake@redhat.com>
13788
13789         cloexec, fcntl: relax license
13790         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
13791         consent from all contributors.
13792         * modules/fcntl (License): Likewise.
13793
13794 2010-12-10  Bruno Haible  <bruno@clisp.org>
13795
13796         Tests for module 'pipe-posix'.
13797         * modules/pipe-posix-tests: New file.
13798         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
13799
13800 2010-12-10  Bruno Haible  <bruno@clisp.org>
13801
13802         pipe-posix: Make it work in C++ mode.
13803         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
13804         (pipe): Use common idiom, not a macro definition.
13805         * lib/pipe.c: New file.
13806         * m4/pipe.m4: New file.
13807         * modules/pipe-posix (Description): Enhance.
13808         (Files): Add lib/pipe.c, m4/pipe.m4.
13809         (configure.ac): Invoke gl_FUNC_PIPE.
13810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
13811         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
13812         * tests/test-unistd-c++.cc: Check the signature of pipe.
13813
13814 2010-12-10  Bruno Haible  <bruno@clisp.org>
13815
13816         Rename module 'pipe' to 'spawn-pipe'.
13817         * modules/spawn-pipe: New file, renamed from modules/pipe.
13818         (Files, configure.ac, Makefile.am): Update.
13819         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
13820         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
13821         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
13822         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
13823         "spawn-pipe.h" instead of "pipe.h".
13824         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
13825         to gl_SPAWN_PIPE.
13826         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
13827         (Files, Makefile.am): Update.
13828         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
13829         Update.
13830         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
13831         Include "spawn-pipe.h" instead of "pipe.h".
13832         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
13833         * lib/javacomp.c: Likewise.
13834         * lib/javaversion.c: Likewise.
13835         * lib/pipe-filter-gi.c: Likewise.
13836         * lib/pipe-filter-ii.c: Likewise.
13837         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
13838         * modules/javacomp (Depends-on): Likewise.
13839         * modules/javaversion (Depends-on): Likewise.
13840         * modules/pipe-filter-gi (Depends-on): Likewise.
13841         * modules/pipe-filter-ii (Depends-on): Likewise.
13842         * MODULES.html.sh (Executing programs): Update.
13843         * NEWS: Mention the change.
13844
13845 2010-12-10  Eric Blake  <eblake@redhat.com>
13846
13847         pipe-posix: new module
13848         * modules/pipe-posix: New file.
13849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
13850         (gl_UNISTD_H): Check for declaration.
13851         * modules/unistd (Makefile.am): Substitute it.
13852         * lib/unistd.in.h (pipe): Provide it for mingw.
13853         * doc/posix-functions/pipe.texi (pipe): Update documentation.
13854         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
13855
13856 2010-12-07  Bruno Haible  <bruno@clisp.org>
13857
13858         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
13859         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
13860         u8_strcmp_gnu.
13861         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
13862
13863 2010-12-06  Bruno Haible  <bruno@clisp.org>
13864
13865         Update internal documentation.
13866         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
13867
13868 2010-12-04  Bruno Haible  <bruno@clisp.org>
13869
13870         Put more information about failed tests into the test return codes.
13871         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
13872         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
13873         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13874         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13875         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13876         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13877         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13878         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13879         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
13880         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13881         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
13882         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
13883         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13884         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13885         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
13886         returns a bit mask.
13887         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
13888         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
13889         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
13890         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
13891         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
13892         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13893         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13894         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13895         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13896         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13897         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13898         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13899         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13900         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13901         * m4/link.m4 (gl_FUNC_LINK): Likewise.
13902         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13903         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
13904         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
13905         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13906         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
13907         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13908         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
13909         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
13910         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
13911         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13912         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13913         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
13914         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13915         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13916         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
13917         gl_PRINTF_PRECISION): Likewise.
13918         * m4/regex.m4 (gl_REGEX): Likewise.
13919         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13920         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13921         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
13922         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13923         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13924         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13925         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13926         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
13927         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13928         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13929         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13930         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13931         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13932         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13933         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13934         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13935         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
13936         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13937         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13938         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
13939         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
13940         enumerated value.
13941         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
13942
13943 2010-12-04  Bruno Haible  <bruno@clisp.org>
13944
13945         Update for Solaris 11 2010-11.
13946         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
13947         Express, released in November 2010.
13948
13949 2010-12-04  Bruno Haible  <bruno@clisp.org>
13950
13951         nproc: Relax license.
13952         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
13953         and Paul Eggert.
13954         Requested by Ludovic Courtès <ludo@gnu.org>.
13955
13956 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
13957
13958         utimecmp: fine-grained src to nearby coarse-grained dest
13959
13960         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
13961         and the source is on a file system with higher-resolution time
13962         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
13963         not work, and the time stamps are close together, the algorithm to
13964         determine the exact resolution from the read-back mtime was buggy:
13965         it had a "!=" where it should have had an "==".  This bug has been
13966         in the code ever since it was introduced to gnulib.
13967         Problem reported by Dan Jacobson in
13968         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
13969
13970 2010-11-30  Bruno Haible  <bruno@clisp.org>
13971
13972         strerror_r-posix: Fix autoconf test.
13973         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
13974
13975 2010-11-28  Bruno Haible  <bruno@clisp.org>
13976             Paul Eggert  <eggert@cs.ucla.edu>
13977
13978         Tests for module 'getdomainname'.
13979         * modules/getdomainname-tests: New file.
13980         * tests/test-getdomainname.c: New file, based on
13981         tests/test-gethostname.c.
13982
13983 2010-11-28  Bruno Haible  <bruno@clisp.org>
13984             Paul Eggert  <eggert@cs.ucla.edu>
13985
13986         getdomainname: Use the system function when possible.
13987         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
13988         (getdomainname): Replace if needed. Provide the declaration if it is
13989         missing. Don't use _GL_CXXALIAS_SYS_CAST.
13990         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
13991         (getdomainname): When the system has getdomainname, call the system
13992         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
13993         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13994         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
13995         found in libnsl. Look for the declaration also in <netdb.h>. Replace
13996         the function if its second argument is of type 'int' or if it is found
13997         in libnsl.
13998         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
13999         <sys/systeminfo.h> and sysinfo().
14000         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
14001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14002         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
14003         HAVE_GETDOMAINNAME.
14004         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
14005         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
14006         * doc/glibc-functions/getdomainname.texi: Document the problems with
14007         the getdomainname declaration.
14008
14009 2010-11-28  Bruno Haible  <bruno@clisp.org>
14010
14011         sys_socket: Ensure ss_family field on AIX.
14012         * lib/sys_socket.in.h (ss_family): New macro definition.
14013         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
14014         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
14015         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14016         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14017         * modules/sys_socket (Makefile.am): Substitute
14018         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14019         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
14020
14021 2010-11-27  Bruno Haible  <bruno@clisp.org>
14022
14023         readline: Improve configure output.
14024         * m4/readline.m4 (gl_FUNC_READLINE): Make the
14025         "checking for readline..." result understandable.
14026
14027 2010-11-27  Bruno Haible  <bruno@clisp.org>
14028
14029         *printf-posix: Detect a bug on Solaris 10/x86.
14030         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
14031         for floating-point output.
14032         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
14033         directive.
14034         * tests/test-snprintf-posix.h (test_function): Likewise.
14035         * tests/test-sprintf-posix.h (test_function): Likewise.
14036         * tests/test-vasprintf-posix.c (test_function): Likewise.
14037         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
14038         * doc/posix-functions/printf.texi: Likewise.
14039         * doc/posix-functions/snprintf.texi: Likewise.
14040         * doc/posix-functions/sprintf.texi: Likewise.
14041         * doc/posix-functions/vfprintf.texi: Likewise.
14042         * doc/posix-functions/vprintf.texi: Likewise.
14043         * doc/posix-functions/vsnprintf.texi: Likewise.
14044         * doc/posix-functions/vsprintf.texi: Likewise.
14045         * doc/glibc-functions/obstack_printf.texi: Likewise.
14046         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14047
14048 2010-11-27  Bruno Haible  <bruno@clisp.org>
14049
14050         Fix link error when module libunistring-optional is in use.
14051         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
14052         * modules/striconveha-tests (Makefile.am): Likewise.
14053
14054 2010-11-27  Bruno Haible  <bruno@clisp.org>
14055
14056         regex: Mention link dependencies.
14057         * modules/regex (Link): New section.
14058         * modules/rpmatch (Link): Likewise.
14059         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
14060
14061 2010-11-27  Bruno Haible  <bruno@clisp.org>
14062
14063         ftoastr: Fix compilation error on Solaris.
14064         * lib/ftoastr.c: Include <config.h>.
14065
14066 2010-11-27  Bruno Haible  <bruno@clisp.org>
14067
14068         getloadavg: Update documentation.
14069         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
14070
14071 2010-11-27  Bruno Haible  <bruno@clisp.org>
14072
14073         sys_socket: Fix test whether the functions are declared.
14074         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
14075         not <sys/select.h>.
14076
14077 2010-11-27  Bruno Haible  <bruno@clisp.org>
14078
14079         getpass: Make sure to get system declaration on some platforms.
14080         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
14081         gl_USE_SYSTEM_EXTENSIONS.
14082         * modules/getpass (Depends-on): Add extensions.
14083
14084 2010-11-26  Bruno Haible  <bruno@clisp.org>
14085
14086         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
14087         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
14088         'iconv' module is present.
14089         (ICONV_CONST): New macro.
14090         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
14091         ICONV_CONST.
14092         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
14093         set ICONV_CONST.
14094         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
14095         here.
14096         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
14097         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
14098         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
14099         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
14100         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
14101         present.
14102
14103 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14104
14105         ftoastr: comment fix
14106         * lib/ftoastr.c: "little" -> "little or no" in comment
14107
14108 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         stdint: port to GCC 4.3 + OSX + Octave
14111         On this platform, stdint.h is buggy and defines int64_t to long
14112         long int.  The replacement defined it to long int, causing
14113         problems with C++ style name mangling.  Instead, trust the system
14114         definition if INT64_MAX is defined, and likewise for the unsigned
14115         variant.   Problem reported by Jarno Rajahalme in
14116         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
14117         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
14118         and don't mess with int64_t and INT64_MAX in this case.
14119         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
14120
14121 2010-11-24  Bruno Haible  <bruno@clisp.org>
14122
14123         doc: Corrections regarding MacOS X 10.4 and 10.5.
14124         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
14125         MacOS X.
14126         Reported by Simon Josefsson.
14127
14128 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
14129
14130         Uninstall ".bin" files installed by relocwrapper.
14131         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
14132         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
14133         unless it is already there.
14134
14135 2010-11-21  Bruno Haible  <bruno@clisp.org>
14136
14137         Update for NetBSD 5.0.
14138         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14139         NetBSD; the test fails on NetBSD 5.0.
14140         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14141         about NetBSD.
14142
14143 2010-11-21  Bruno Haible  <bruno@clisp.org>
14144
14145         Update for HP-UX 11.23 and HP-UX 11.31.
14146         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
14147         HP-UX.
14148
14149 2010-11-21  Bruno Haible  <bruno@clisp.org>
14150
14151         Update for MacOS X 10.5.
14152         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14153         MacOS X; the test fails on MacOS X 10.5.8.
14154         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14155         about MacOS X.
14156
14157 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
14158
14159         bootstrap: add bootstrap_sync option.
14160         See discussion at
14161         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
14162         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
14163         * build-aux/bootstrap: Accept --bootstrap-sync to update
14164         bootstrap if it is not identical to the local gnulib's
14165         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
14166         enable this by default.  Accept --no-bootstrap-sync to disable
14167         it.
14168
14169 2010-11-20  Bruno Haible  <bruno@clisp.org>
14170
14171         Ensure that <features.h> is included before __GLIBC__ is tested.
14172         * lib/printf-parse.h: Include <features.h>.
14173         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
14174         Reported by Mike Frysinger <vapier@gentoo.org>.
14175
14176         Ensure that <features.h> is included before __GLIBC__ is tested.
14177         * lib/wchar.in.h: Include <features.h>.
14178         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
14179         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
14180         Reported by Mike Frysinger <vapier@gentoo.org>.
14181
14182         Ensure that <features.h> is included before __GLIBC__ is tested.
14183         * lib/arpa_inet.in.h: Include <features.h>.
14184         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
14185         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
14186         Reported by Mike Frysinger <vapier@gentoo.org>.
14187
14188         Ensure that <features.h> is included before __GLIBC__ is tested.
14189         * build-aux/link-warning.h: Include <features.h>.
14190         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
14191         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
14192         Reported by Mike Frysinger <vapier@gentoo.org>.
14193
14194         Ensure that <features.h> is included before __GLIBC__ is tested.
14195         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
14196         Reported by Mike Frysinger <vapier@gentoo.org>.
14197
14198 2010-11-20  Bruno Haible  <bruno@clisp.org>
14199
14200         memmem: Fix autoconf test.
14201         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
14202
14203 2010-11-20  Bruno Haible  <bruno@clisp.org>
14204
14205         Port to uClibc.
14206         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
14207         * lib/fcntl.in.h: Likewise.
14208         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
14209         * lib/mbrtowc.c (mbrtowc): Likewise.
14210         * lib/relocatable.c (find_shared_library_fullname): Likewise.
14211         * lib/strerror_r.c: Likewise.
14212         * lib/unistr/u8-strnlen.c: Likewise.
14213         * lib/vasnprintf.c (decimal_point_char): Likewise.
14214         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
14215         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
14216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14217         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
14218         * tests/test-sigaction.c (handler, main): Likewise.
14219         * lib/freading.h: Treat uClibc like a non-glibc platform.
14220         * lib/freading.c: Likewise.
14221         * lib/gettext.h: Likewise.
14222         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
14223         Likewise.
14224         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
14225         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
14226         * lib/propername.c (proper_name_utf8): Likewise.
14227         * lib/spawn.in.h: Likewise.
14228         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
14229         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
14230         mem_cd_iconveh_internal): Likewise.
14231         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
14232         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14233         strstr, strcasestr): Likewise.
14234         * lib/unicodeio.c (unicode_to_mb): Likewise.
14235         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
14236         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
14237         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
14238         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
14239         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
14240         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
14241         * lib/unistr/u8-stpncpy.c: Likewise.
14242         * lib/vasnprintf.c (VASNPRINTF): Likewise.
14243         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
14244         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14245         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14246         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
14247         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
14248         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
14249         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
14250         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14251         Likewise.
14252         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14253         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14254         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
14255         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14256         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
14257         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14258         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14259         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14260         * tests/test-getopt.h (OPTIND_MIN): Likewise.
14261         * tests/test-striconveha.c (main): Likewise.
14262         * tests/test-vasnprintf-posix.c (test_function): Likewise.
14263         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
14264         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
14265         * doc/posix-functions/getline.texi: Likewise.
14266         Reported by Mike Frysinger <vapier@gentoo.org>.
14267
14268 2010-11-20  Bruno Haible  <bruno@clisp.org>
14269
14270         nproc: Fix condition.
14271         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
14272         HAVE_PTHREAD_AFFINITY_NP.
14273
14274 2010-11-20  Bruno Haible  <bruno@clisp.org>
14275
14276         Fix a comment.
14277         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
14278
14279 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
14280
14281         ftoastr: don't assume snprintf
14282         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
14283         Implement a subset of snprintf here, by using sprintf safely.
14284         * modules/ftoastr (Depends-on): Remove snprintf.
14285
14286 2010-11-19  Jim Meyering  <meyering@redhat.com>
14287
14288         test-rename.h: fix compilation failure
14289         * tests/test-rename.h (test_rename): Add omitted "}".
14290
14291 2010-11-17  Jim Meyering  <meyering@redhat.com>
14292
14293         maint.mk: add a URL discussing the no-@acronym policy
14294         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
14295
14296 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
14297
14298         ftoastr: depend on snprintf, improve comments
14299         * lib/ftoastr.c: Also mention Loitsch's draft.
14300         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
14301         needed in the current implementation, but it might simplify
14302         speeding up the code later.
14303         * modules/ftoastr: Depend on snprintf; this improves portability.
14304         Suggested by Bruno Haible in the same email.
14305
14306         ftoastr: port to hosts lacking strtof and strtold
14307         Problem reported by Bruno Haible in
14308         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
14309         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
14310         environment and strtold (and presumably strtof) are not available.
14311         * modules/ftoastr (Files): Add m4/c-strtod.m4.
14312         (configure.ac): Require gl_C99_STRTOLD.
14313
14314 2010-11-18  Bruno Haible  <bruno@clisp.org>
14315
14316         c-strtold: Avoid link error on AIX 7.
14317         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
14318         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
14319         (gl_C_STRTOLD): Test whether strtold_l exists.
14320         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14321
14322 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14323
14324         intprops: new macro INT_BITS_STRLEN_BOUND
14325         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
14326         ftoastr.h.  This exposes an internal of intprops.h that was formerly
14327         not exposed.  Also, it uses a slightly tighter bound than before;
14328         though this makes no practical difference, we might as well be as
14329         tight as we easily can.
14330
14331         ftoastr: new module, for lossless conversion of floats to short strings
14332         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
14333         * modules/ftoastr: New files.
14334
14335 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
14336
14337         bootstrap: port to Solaris sed
14338         * build-aux/bootstrap (get_version): Port to Solaris sed.
14339         See Ralf Wildenhues's note in
14340         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
14341
14342 2010-11-14  Jim Meyering  <meyering@redhat.com>
14343
14344         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
14345         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
14346         and move definition closer to sole use.
14347
14348 2010-11-13  Jim Meyering  <meyering@redhat.com>
14349
14350         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
14351         Now we require at least autoconf-2.59, which means the work-around
14352         is no longer needed.
14353         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
14354         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14355         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
14356         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
14357         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14358
14359 2010-11-13  Bruno Haible  <bruno@clisp.org>
14360
14361         rename, renameat: Avoid test failures at NFS mounted locations.
14362         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
14363         functions.
14364         (test_rename): Use assert_nonexistent.
14365         * tests/test-rename.c: Include <dirent.h>.
14366         * tests/test-renameat.c: Likewise.
14367         Reported by Gary V. Vaughan <gary@gnu.org>.
14368
14369         rename, renameat: Document Linux bug with NFS
14370         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
14371         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
14372         * doc/posix-functions/renameat.texi: Likewise.
14373         Suggested by Eric Blake.
14374
14375 2010-11-13  Bruno Haible  <bruno@clisp.org>
14376
14377         rename test: Add comments.
14378         * tests/test-rename.h (test_rename): Add structure and comments.
14379
14380 2010-11-13  Eric Blake  <eblake@redhat.com>
14381
14382         maintainer-makefile: cover a few more files
14383         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
14384         scripts generated within C files, for libvirt.
14385
14386 2010-11-13  Bruno Haible  <bruno@clisp.org>
14387
14388         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
14389         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
14390         character, return the number of bytes that belong together, not always
14391         1.
14392         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
14393         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
14394         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
14395         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
14396         number of bytes of an invalid character.
14397         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
14398         (main): Invoke it.
14399         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
14400         results.
14401         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
14402         malformed byte sequences.
14403         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
14404         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
14405         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
14406         Reported by Ben Pfaff and Paolo Bonzini.
14407
14408 2010-11-13  Bruno Haible  <bruno@clisp.org>
14409
14410         openat: Work around glibc bug with fchownat() and empty file names.
14411         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
14412         (gl_FUNC_FCHOWNAT): Invoke it.
14413         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
14414         * doc/posix-functions/fchownat.texi: Document the glibc bug.
14415         Reported by Gary V. Vaughan <gary@gnu.org>.
14416
14417 2010-11-13  Bruno Haible  <bruno@clisp.org>
14418
14419         openat: Ensure autoconf macro ordering.
14420         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
14421         gl_USE_SYSTEM_EXTENSIONS.
14422         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
14423
14424 2010-11-13  Bruno Haible  <bruno@clisp.org>
14425
14426         Update comments.
14427         * lib/unistr/u8-check.c: Update file name in comments.
14428         * lib/unistr/u8-mblen.c: Likewise.
14429         * lib/unistr/u8-prev.c: Likewise.
14430         * lib/unistr/u8-strmblen.c: Likewise.
14431         * lib/unistr/u8-strmbtouc.c: Likewise.
14432
14433 2010-11-13  Jim Meyering  <meyering@redhat.com>
14434
14435         tests: avoid test failure on Solaris 10 due to lack of PATH export
14436         * tests/test-update-copyright.sh: Don't forget to export PATH.
14437
14438         init.sh: ensure that IFS is defined, just in case...
14439         * tests/init.sh (setup_): Ensure that IFS is defined,
14440         so that saving and restoring it works as expected.  This
14441         appears to be useful at least for an old version of dash
14442         from a long time ago (RH 6).  See here for details:
14443         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
14444
14445         maint.mk: tighten "test a == b" check
14446         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
14447         test to files that contain something like #!/bin/sh.
14448         Without this, coreutils would get two false positives in
14449         the comments of C source files.
14450
14451 2010-11-12  Eric Blake  <eblake@redhat.com>
14452
14453         bootstrap: fix typo in previous attempt
14454         * build-aux/bootstrap (buildreq): Correct the grouping.
14455         Reported by Paul Eggert.
14456
14457         maintainer-makefile: prohibit test x == x
14458         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
14459         Based on a report by Matthias Bolte.
14460
14461         bootstrap: allow FreeBSD gzip
14462         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
14463         which has no '.' and goes to stderr.
14464         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
14465         Reported by Matthias Bolte.
14466
14467         maintainer-makefile: check for i18n setup
14468         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
14469         will likely work.
14470
14471 2010-11-12  Bruno Haible  <bruno@clisp.org>
14472
14473         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
14474         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
14475         * lib/nanosleep.c (nanosleep): Likewise.
14476
14477 2010-11-11  Bruno Haible  <bruno@clisp.org>
14478
14479         fcntl-h: Fix for use of C++ on glibc systems.
14480         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
14481         also on glibc systems in C++ mode.
14482         Reported by Gary V. Vaughan <gary@gnu.org>.
14483
14484 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14485
14486         mknod: avoid false failure with dash
14487         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
14488
14489 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14490
14491         unlink: Fix "is it should" typo in diagnostic.
14492         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
14493         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
14494
14495 2010-11-11  Bruno Haible  <bruno@clisp.org>
14496
14497         Tests for module 'strerror_r-posix'.
14498         * modules/strerror_r-posix-tests: New file.
14499         * tests/test-strerror_r.c: New file.
14500         * tests/test-string-c++.cc: Check the signature of strerror_r.
14501
14502         New module 'strerror_r-posix'.
14503         * lib/string.in.h (strerror_r): New declaration.
14504         * lib/strerror_r.c: New file.
14505         * m4/strerror_r.m4: New file.
14506         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
14507         of strerror_r.
14508         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
14509         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14510         * modules/strerror_r-posix: New file.
14511         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
14512         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14513         * doc/posix-functions/strerror_r.texi: Mention the new module and the
14514         portability problems.
14515
14516 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
14517
14518         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
14519         line is also considered for output. Quoted function name in shell
14520         command, so temporary files for functions like MyClass::operator()
14521         are removed correctly without errors.
14522
14523 2010-11-09  Bruno Haible  <bruno@clisp.org>
14524
14525         * doc/posix-functions/strerror.texi: List more failing platforms.
14526
14527         * doc/posix-functions/strerror.texi: Add a comment.
14528
14529 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
14530
14531         fdopendir: fix bug on MacOS X when low on file descriptors
14532
14533         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
14534         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
14535         All callers changed.
14536         (fdopendir): Invoke save_cwd at the top level, not after using
14537         multiple dup() calls to use up file descriptors.  Then retry
14538         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
14539         less than the maximum number of open file descriptors, because
14540         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
14541         on Mac OS X 10.6.4 for tar 1.24
14542         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
14543         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
14544         and for tar 1.25
14545         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
14546
14547 2010-11-07  Bruno Haible  <bruno@clisp.org>
14548
14549         vasnprintf: Support I flag on glibc systems.
14550         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
14551         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
14552         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
14553         snprintf function.
14554         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
14555         glibc systems.
14556         * tests/test-vasnprintf-posix3.c: New file.
14557         * modules/vasnprintf-posix-tests (Files): Add it.
14558         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
14559
14560 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14561
14562         [html] Fix copy/paste bug: Use unique name for compiler warnings.
14563         * MODULES.html.sh: For compiler warnings, use name
14564         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
14565
14566 2010-11-05  Eric Blake  <eblake@redhat.com>
14567
14568         ceil, floor: avoid spurious failure with icc
14569         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
14570         [denormals-as-zero] when optimizing without -mieee-fp option.
14571         * tests/test-floorf2.c (floorf_reference): Likewise.
14572         * tests/test-ceilf1.c (dummy): New function.
14573         (main): Use it to outsmart icc's optimization.
14574         * tests/test-floorf1.c (dummy, main): Likewise.
14575
14576         tests: require working signbit
14577         * modules/ceilf-tests (Depends-on): Add signbit.
14578         * modules/ceill-tests (Depends-on): Likewise.
14579         * modules/floorf-tests (Depends-on): Likewise.
14580         * modules/floorl-tests (Depends-on): Likewise.
14581         * modules/round-tests (Depends-on): Likewise.
14582         * modules/roundf-tests (Depends-on): Likewise.
14583         * modules/roundl-tests (Depends-on): Likewise.
14584         * modules/trunc-tests (Depends-on): Likewise.
14585         * modules/truncf-tests (Depends-on): Likewise.
14586         * modules/truncl-tests (Depends-on): Likewise.
14587
14588         strtod: work around icc bug
14589         * lib/strtod.c (minus_zero): Define to working value.
14590         (strtod): Use it to avoid icc bug.
14591
14592         copysign: enhance tests
14593         * modules/copysign-tests (Files): Add minus-zero.h.
14594         * tests/test-copysign.c (main): Also test zeros.
14595
14596 2010-11-04  Eric Blake  <eblake@redhat.com>
14597
14598         ceil, floor, round, trunc: enhance tests of -0
14599         * tests/test-ceilf1.c (main): Ensure correct sign of result.
14600         * tests/test-ceill.c (main): Likewise.
14601         * tests/test-floorf1.c (main): Likewise.
14602         * tests/test-floorl.c (main): Likewise.
14603         * tests/test-round1.c (main): Likewise.
14604         * tests/test-roundf1.c (main): Likewise.
14605         * tests/test-roundl.c (main): Likewise.
14606         * tests/test-trunc1.c (main): Likewise.
14607         * tests/test-truncf1.c (main): Likewise.
14608         * tests/test-truncl.c (main): Likewise.
14609
14610 2010-11-04  Eric Blake  <eblake@redhat.com>
14611
14612         frexp, tests: work around ICC bug with -zero
14613         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
14614         works with more compilers.
14615         * tests/minus-zero.h: New file.
14616         * modules/ceilf-tests (Files): Include it.
14617         * modules/ceill-tests (Files): Likewise.
14618         * modules/floorf-tests (Files): Likewise.
14619         * modules/floorl-tests (Files): Likewise.
14620         * modules/frexp-nolibm-tests (Files): Likewise.
14621         * modules/frexp-tests (Files): Likewise.
14622         * modules/frexpl-nolibm-tests (Files): Likewise.
14623         * modules/frexpl-tests (Files): Likewise.
14624         * modules/isnan-tests (Files): Likewise.
14625         * modules/isnand-nolibm-tests (Files): Likewise.
14626         * modules/isnand-tests (Files): Likewise.
14627         * modules/isnanf-nolibm-tests (Files): Likewise.
14628         * modules/isnanf-tests (Files): Likewise.
14629         * modules/isnanl-nolibm-tests (Files): Likewise.
14630         * modules/isnanl-tests (Files): Likewise.
14631         * modules/round-tests (Files): Likewise.
14632         * modules/roundf-tests (Files): Likewise.
14633         * modules/roundl-tests (Files): Likewise.
14634         * modules/ldexpl-tests (Files): Likewise.
14635         * modules/signbit-tests (Files): Likewise.
14636         * modules/snprintf-posix-tests (Files): Likewise.
14637         * modules/sprintf-posix-tests (Files): Likewise.
14638         * modules/strtod-tests (Files): Likewise.
14639         * modules/trunc-tests (Files): Likewise.
14640         * modules/truncf-tests (Files): Likewise.
14641         * modules/truncl-tests (Files): Likewise.
14642         * modules/vsnprintf-posix-tests (Files): Likewise.
14643         * modules/vsprintf-posix-tests (Files): Likewise.
14644         * modules/vasnprintf-posix-tests (Files): Likewise.
14645         * modules/vasprintf-posix-tests (Files): Likewise.
14646         * tests/test-ceilf1.c (main): Use it.
14647         * tests/test-ceill.c (main): Likewise.
14648         * tests/test-floorf1.c (main): Likewise.
14649         * tests/test-floorl.c (main): Likewise.
14650         * tests/test-frexp.c (main): Likewise.
14651         * tests/test-frexpl.c (main): Likewise.
14652         * tests/test-isnan.c (main): Likewise.
14653         * tests/test-isnand.h (main): Likewise.
14654         * tests/test-isnanf.h (main): Likewise.
14655         * tests/test-isnanl.h (main): Likewise.
14656         * tests/test-ldexpl.c (main): Likewise.
14657         * tests/test-round.c (main): Likewise.
14658         * tests/test-roundf.c (main): Likewise.
14659         * tests/test-roundl.c (main): Likewise.
14660         * tests/test-signbit.c (test_signbitf, test_signbitd)
14661         (test_signbitl): Likewise.
14662         * tests/test-snprintf-posix.h (test_function): Likewise.
14663         * tests/test-sprintf-posix.h (test_function): Likewise.
14664         * tests/test-strtod.c (main): Likewise.
14665         * tests/test-trunc1.c (main): Likewise.
14666         * tests/test-truncf1.c (main): Likewise.
14667         * tests/test-truncl.c (main): Likewise.
14668
14669         isnanl: work around icc bug
14670         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
14671
14672 2010-11-03  Eric Blake  <eblake@redhat.com>
14673
14674         tests: fix compiler warnings
14675         * tests/test-getopt.h (test_getopt): Fix condition.
14676         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14677         * tests/test-pipe2.c (main): Likewise.
14678         * tests/test-quotearg-simple.c (main): Avoid icc warning.
14679
14680         utimens: fix broken m4 test
14681         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
14682
14683 2010-10-28  Bruno Haible  <bruno@clisp.org>
14684
14685         posix_spawn*, getdtablesize: Relax license.
14686         * modules/posix_spawn (License): Change to LGPLv2+.
14687         * modules/posix_spawnp (License): Likewise.
14688         * modules/posix_spawn-internal (License): Likewise.
14689         * modules/posix_spawnattr_init (License): Likewise.
14690         * modules/posix_spawnattr_getflags (License): Likewise.
14691         * modules/posix_spawnattr_setflags (License): Likewise.
14692         * modules/posix_spawnattr_getpgroup (License): Likewise.
14693         * modules/posix_spawnattr_setpgroup (License): Likewise.
14694         * modules/posix_spawnattr_getschedparam (License): Likewise.
14695         * modules/posix_spawnattr_setschedparam (License): Likewise.
14696         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
14697         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
14698         * modules/posix_spawnattr_getsigdefault (License): Likewise.
14699         * modules/posix_spawnattr_setsigdefault (License): Likewise.
14700         * modules/posix_spawnattr_getsigmask (License): Likewise.
14701         * modules/posix_spawnattr_setsigmask (License): Likewise.
14702         * modules/posix_spawnattr_destroy (License): Likewise.
14703         * modules/posix_spawn_file_actions_init (License): Likewise.
14704         * modules/posix_spawn_file_actions_addclose (License): Likewise.
14705         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
14706         * modules/posix_spawn_file_actions_addopen (License): Likewise.
14707         * modules/posix_spawn_file_actions_destroy (License): Likewise.
14708         * modules/getdtablesize (License): Likewise.
14709         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
14710
14711 2010-10-26  Bruno Haible  <bruno@clisp.org>
14712
14713         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
14714         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
14715         Cygwin and mingw.
14716         Suggested by Eric Blake.
14717
14718 2010-10-26  Bruno Haible  <bruno@clisp.org>
14719
14720         stdio: Work around compilation error due to renameat() on Solaris 10.
14721         * lib/stdio.in.h: Include <unistd.h> on Solaris.
14722         * lib/renameat.c: Don't include <unistd.h> here.
14723         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
14724         Reported by Paul Eggert and Eric Blake.
14725
14726 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
14727
14728         renameat: port to Solaris 10, which declares renameat in unistd.h
14729
14730         * lib/renameat.c: Include unistd.h before stdio.h, because
14731         Solaris 10 declares renameat in unistd.h.  Problem encountered
14732         when building GNU tar 1.24 on Solaris 10.
14733
14734 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14735
14736         fdopendir: fix C89 compilation
14737         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
14738         compilers.
14739
14740 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
14741
14742         inttostr: simplify by removing unnecessary redundancy
14743         * lib/anytostr.c: Don't include verify.h.
14744         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
14745         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
14746         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
14747         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
14748         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
14749         Likewise.
14750         * modules/inttostr (Depends-on): Remove 'verify'.
14751
14752 2010-10-23  Bruno Haible  <bruno@clisp.org>
14753
14754         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
14755         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
14756         Reported by Eric Blake.
14757
14758 2010-10-23  Bruno Haible  <bruno@clisp.org>
14759
14760         Tests: Fix LOCALE_JA on MirBSD 10.
14761         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
14762         to an UTF-8 locale.
14763         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
14764         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14765         Reported by Eric Blake.
14766
14767 2010-10-21  Bruno Haible  <bruno@clisp.org>
14768
14769         nl_langinfo test: Avoid test failure on NetBSD 5.
14770         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
14771         Reported by Eric Blake.
14772
14773 2010-10-21  Eric Blake  <eblake@redhat.com>
14774
14775         c-stack: work around libsigsegv 2.8 bug
14776         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
14777         overflow on at least PowerPC64.
14778
14779 2010-10-17  Bruno Haible  <bruno@clisp.org>
14780
14781         userspec: Drop redundant file.
14782         * modules/userspec (Files): Remove lib/inttostr.h.
14783
14784 2010-10-17  Bruno Haible  <bruno@clisp.org>
14785
14786         nl_langinfo tests: Silence some warnings.
14787         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
14788         Reported by Jim Meyering.
14789
14790 2010-10-17  Bruno Haible  <bruno@clisp.org>
14791
14792         Make use of GCC's attribute __alloc_size__.
14793         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
14794         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
14795         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
14796         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
14797         __alloc_size__.
14798         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
14799         Suggested by Jim Meyering.
14800
14801 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
14802
14803         bootstrap: anchor .gitignore entries.
14804         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
14805         with...
14806         (insert_vc_ignore): ... this new function, which prepends `/' to
14807         all .gitignore entries before passing them to
14808         insert_sorted_if_absent.
14809
14810 2010-10-16  Bruno Haible  <bruno@clisp.org>
14811
14812         nextafter: Fix configure check.
14813         * modules/nextafter (configure.ac): Correct expected prototype.
14814
14815 2010-10-16  Bruno Haible  <bruno@clisp.org>
14816
14817         termios: Update documentation.
14818         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
14819
14820 2010-10-16  Bruno Haible  <bruno@clisp.org>
14821
14822         tests: Make them compile with TinyCC.
14823         * tests/test-strstr.c (main): Remove parentheses around array
14824         initializer.
14825
14826 2010-10-15  Eric Blake  <eblake@redhat.com>
14827
14828         ignore-value: make header idempotent
14829         * lib/ignore-value.h: Add double-inclusion guards.
14830         Reported by Stefan Berger.
14831
14832 2010-10-15  Jim Meyering  <meyering@redhat.com>
14833
14834         GNUmakefile: handle "stable" target, not "major"
14835         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
14836         lists in maint.mk and announce-gen.  Without this, "make stable"
14837         would fail to ensure that $(VERSION) is up to date.
14838
14839 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
14840
14841         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
14842         & co.
14843
14844 2010-10-14  Bruno Haible  <bruno@clisp.org>
14845
14846         vasnprintf: Don't set errno to 0.
14847         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
14848         block that sets it to 0.
14849         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
14850
14851 2010-10-14  Bruno Haible  <bruno@clisp.org>
14852
14853         socketlib: Fix.
14854         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
14855         gl_PREREQ_SYS_H_WINSOCK2.
14856         Reported by Ian Beckwith <ianb@erislabs.net>.
14857
14858 2010-10-13  Jim Meyering  <meyering@redhat.com>
14859
14860         test-select-stdin.c: avoid warn_unused_result warnings
14861         * tests/test-select-stdin.c: Include "macros.h".
14862         ASSERT that read and fflush succeed.
14863
14864 2010-10-13  Jim Meyering  <meyering@redhat.com>
14865
14866         git-version-gen: do require git-VC'd files in cwd
14867         * build-aux/git-version-gen: Reject a git version string
14868         if there are no commits associated with the current directory.
14869         This avoids an unlikely false-positive (unrelated dir whose parent
14870         repository also contains a tag matching v*), as pointed out
14871         by Giuseppe Scrivano in
14872         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
14873
14874 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
14875
14876         argv-iter: omit nonconforming declaration
14877         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
14878         enum arg_iter_err declaration, which doesn't conform to C99.
14879         Solaris 10 cc warns about this.
14880
14881 2010-10-13  Eric Blake  <eblake@redhat.com>
14882
14883         termios: fix compilation on mingw
14884         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
14885         (gl_TERMIOS_H): Adjust it on mingw.
14886         * modules/termios (Makefile.am): Substitute new key.
14887         * lib/termios.in.h (includes): Make include_next conditional.
14888         * doc/posix-headers/termios.texi (termios.h): Update
14889         documentation.
14890         Reported by Daniel P. Berrange.
14891
14892 2010-10-13  Jim Meyering  <meyering@redhat.com>
14893
14894         git-version-gen: don't require that .git/ be in the current dir
14895         * build-aux/git-version-gen: Adjust this script so that it works
14896         when run from any working directory beneath the top-level .git/-
14897         containing directory.  Inspired by a patch from Giuseppe Scrivano,
14898         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
14899
14900         test-select: avoid warn_unused_result warnings
14901         * tests/test-select.c: Include "macros.h".
14902         ASSERT that each call to read, write, and pipe succeeds.
14903         While not technically required, also check each "close".
14904         * modules/select-tests (Files): Add tests/macros.h.
14905
14906         test-symlinkat: remove declaration of unused local
14907         * tests/test-symlinkat.c (main): Remove unused local, "buf".
14908
14909         test-inttostr: avoid shadowing warnings
14910         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
14911         and use malloc rather than the stack for the same reason as
14912         mentioned in the comment justifying the other allocation.
14913
14914 2010-10-11  Bruno Haible  <bruno@clisp.org>
14915
14916         stdlib: Allow multiple gnulib generated replacements to coexist.
14917         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
14918         Reported by Sam Steingold <sds@gnu.org>.
14919
14920 2010-10-11  Jim Meyering  <meyering@redhat.com>
14921
14922         fix a documentation typo
14923         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
14924
14925 2010-10-11  Eric Blake  <eblake@redhat.com>
14926
14927         futimens: work around Solaris 11 bug
14928         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
14929         * tests/test-futimens.h (test_futimens): Enhance, rather than
14930         weaken test.
14931         * doc/posix-functions/futimens.texi (futimens): Document the bug.
14932
14933 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14934
14935         Indentation.
14936         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
14937         higher-level operators more to the left.
14938
14939 2010-10-11  Jim Meyering  <meyering@redhat.com>
14940
14941         test-futimens: avoid unwarranted test failure on Solaris 5.11
14942         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
14943         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
14944         because it tries to dereference the NULL name argument.
14945
14946 2010-10-11  Bruno Haible  <bruno@clisp.org>
14947
14948         Indentation.
14949         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
14950         indentation.
14951
14952 2010-10-11  Jim Meyering  <meyering@redhat.com>
14953
14954         spawn.in.h: make indentation consistent with parentheses
14955         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
14956         Make indentation consistent with parentheses.
14957
14958 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
14959
14960         Fix mismatched parens in previous commit
14961         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
14962         parens.
14963
14964 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14965
14966         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
14967
14968         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
14969         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
14970         * lib/malloca.c: Include "verify.h".
14971         (verify1): Remove, replacing with a verify call.
14972         * lib/relocwrapper.c (verify1): Likewise.
14973         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
14974         Likewise.
14975         * modules/malloca (Depends-on): Add 'verify'.
14976         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
14977         * modules/vasnprintf (Depends-on): Add 'verify'.
14978         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14979         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14980         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14981         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14982         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14983         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14984         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14985
14986         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
14987
14988         Formerly the style was sometimes 2*X - 1, because the C standard
14989         was wrongly thought to disallow ?: in integral constant expressions.
14990         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
14991         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
14992         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14993         * lib/stdint.in.h (_verify_intmax_size): Likewise.
14994         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
14995         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
14996         verify that time_t cannot be floating.
14997
14998 2010-10-08  Eric Blake  <eblake@redhat.com>
14999
15000         time: enforce recent POSIX ruling that time_t is integral
15001         * lib/time.in.h (__time_t_must_be_integral): Detect any
15002         problematic systems, allowing the rest of gnulib to assume POSIX.
15003
15004 2010-10-08  Jim Meyering  <meyering@redhat.com>
15005
15006         fdopendir: fix a bug on systems lacking openat and /proc support
15007         OpenBSD 4.7 is one such system.  The most noticeable effect was
15008         failure of any application making nontrivial use of fts: rm, du,
15009         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
15010           ./rm: traversal failed: `a': Bad file descriptor
15011         Debugging that, you see that even though FD 6 was closed just
15012         prior to the opendir call in fd_clone_opendir, its resulting
15013         dir->dd_fd was 8, rather than the expected value of 6:
15014
15015         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
15016         93                close (fd);
15017         (gdb) n
15018         94                dir = fd_clone_opendir (dupfd);
15019         (gdb) n
15020         95                saved_errno = errno;
15021         (gdb) p dir->dd_fd
15022         $11 = 8
15023
15024         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
15025         The problem is that on OpenBSD, fd_clone_opendir has to resort
15026         to using the old-style save/restore CWD mechanism, due to its
15027         lack of openat/proc support, and *that* would steal the FD (6)
15028         that opendir was supposed to use.
15029
15030         The fix is to squirrel away the desired FD so that save_cwd uses a
15031         different one, and then free the dest FD right before calling opendir.
15032         That guarantees opendir will use the required file descriptor.
15033
15034         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
15035
15036 2010-10-08  Bruno Haible  <bruno@clisp.org>
15037
15038         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
15039         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
15040
15041 2010-10-08  Bruno Haible  <bruno@clisp.org>
15042
15043         nanosleep: Make replacement POSIX compliant.
15044         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
15045         is out of range.
15046         Reported by Jim Meyering.
15047
15048 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
15049
15050         bootstrap: add hook for altering gnulib.mk, for Bison
15051         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
15052         the Bison bootstrapping process can rewrite file names and variables
15053         in this file before later parts of 'bootstrap' use the file.
15054         Bison wants to include lib/gnulib.mk from the top-level makefile,
15055         so it needs the file names in this file to be relative to the top
15056         level, not relative to lib; plus it needs variable names to be
15057         rewritten.
15058         (slurp): Use the new function.
15059
15060         bootstrap: reformat for readability
15061         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
15062
15063 2010-10-08  Eric Blake  <eblake@redhat.com>
15064
15065         docs: update cygwin progress
15066         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
15067         1.7.7.
15068         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
15069         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
15070         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
15071         * doc/posix-functions/carg.texi (carg): Likewise.
15072         * doc/posix-functions/cargf.texi (cargf): Likewise.
15073         * doc/posix-functions/casin.texi (casin): Likewise.
15074         * doc/posix-functions/casinf.texi (casinf): Likewise.
15075         * doc/posix-functions/casinh.texi (casinh): Likewise.
15076         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
15077         * doc/posix-functions/catan.texi (catan): Likewise.
15078         * doc/posix-functions/catanf.texi (catanf): Likewise.
15079         * doc/posix-functions/catanh.texi (catanh): Likewise.
15080         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
15081         * doc/posix-functions/ccos.texi (ccos): Likewise.
15082         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
15083         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
15084         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
15085         * doc/posix-functions/cexp.texi (cexp): Likewise.
15086         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
15087         * doc/posix-functions/cimag.texi (cimag): Likewise.
15088         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
15089         * doc/posix-functions/clog.texi (clog): Likewise.
15090         * doc/posix-functions/clogf.texi (clogf): Likewise.
15091         * doc/posix-functions/conj.texi (conj): Likewise.
15092         * doc/posix-functions/conjf.texi (conjf): Likewise.
15093         * doc/posix-functions/cpow.texi (cpow): Likewise.
15094         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
15095         * doc/posix-functions/cproj.texi (cproj): Likewise.
15096         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
15097         * doc/posix-functions/creal.texi (creal): Likewise.
15098         * doc/posix-functions/crealf.texi (crealf): Likewise.
15099         * doc/posix-functions/csin.texi (csin): Likewise.
15100         * doc/posix-functions/csinf.texi (csinf): Likewise.
15101         * doc/posix-functions/csinh.texi (csinh): Likewise.
15102         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
15103         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
15104         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
15105         * doc/posix-functions/ctan.texi (ctan): Likewise.
15106         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
15107         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
15108         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
15109         * doc/posix-headers/complex.texi (complex.h): Likewise.
15110
15111 2010-10-07  Jim Meyering  <meyering@redhat.com>
15112
15113         parse-datetime: avoid compilation failure on OpenBSD 4.7
15114         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
15115         This works around a compilation failure on OpenBSD 4.7:
15116         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
15117
15118 2010-10-07  Eric Blake  <eblake@redhat.com>
15119
15120         docs: update cygwin progress
15121         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
15122         1.7.6.
15123         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
15124         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
15125         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
15126         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
15127         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
15128         Likewise.
15129         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
15130         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
15131         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
15132         Likewise.
15133         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
15134         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
15135         Likewise.
15136         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
15137         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
15138         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
15139         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
15140         Likewise.
15141         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
15142         Likewise.
15143         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
15144
15145         docs: update parse-datetime history
15146         * doc/parse-datetime.texi (Authors of parse_datetime): Better
15147         documentation of this function's history and alternatives.
15148
15149         cygwin: use more robust version check
15150         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
15151         exclude an eventual cygwin 1.9.1.
15152         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15153         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15154         (gl_FUNC_STRCASESTR): Likewise.
15155         Reported by Bruno Haible.
15156
15157 2010-10-06  Bruno Haible  <bruno@clisp.org>
15158
15159         string, sys_select: Avoid #including large headers unless necessary.
15160         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
15161         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
15162         OSF/1, BeOS, Haiku.
15163         Reported by Jim Meyering.
15164
15165 2010-10-05  Eric Blake  <eblake@redhat.com>
15166
15167         memmem, strstr, strcasestr: fix bug with long periodic needle
15168         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
15169         periodic needle having false positive.
15170         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
15171         and cygwin 1.7.7.
15172         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
15173         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15174         (gl_FUNC_STRCASESTR): Likewise.
15175         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15176         * tests/test-memmem.c (main): Expose the bug.
15177         * tests/test-strcasestr.c (main): Likewise.
15178         * tests/test-strstr.c (main): Likewise.
15179         * tests/test-c-strcasestr.c (main): Likewise.
15180         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
15181         * doc/posix-functions/strstr.texi (strstr): Likewise.
15182         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
15183         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
15184
15185 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15186
15187         parse-datetime: do some more renaming
15188         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
15189         parse_datetime, not get_date.  Mention the renaming.
15190         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
15191         in comments.
15192         * m4/bison.m4: Likewise.
15193
15194 2010-10-05  Eric Blake  <eblake@redhat.com>
15195
15196         parse-datetime: better name than get_date
15197         * NEWS: Reword the deprecation notice.
15198         * modules/get_date: Rename to modules/parse-datetime.
15199         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
15200         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
15201         * lib/get_date.y: Rename to lib/parse-datetime.y.
15202         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
15203         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
15204         * doc/getdate.texi: Provide fallback wrapper.
15205         * lib/getdate.h: Move guts, and wrap...
15206         * lib/parse-datetime.h: ...new file.
15207         * lib/parse-datetime.y (get_date): Rename...
15208         (parse_datetime): ...to this.
15209         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
15210         (gl_PARSE_DATETIME): ...to this.
15211         * doc/posix-functions/getdate.texi (get_date): Provide fallback
15212         documentation.
15213         * modules/getdate (Files): Provide fallback docs and header.
15214         (Notice, Depends-on): Update references.
15215         * tests/test-parse-datetime.c: Likewise.
15216         * DEPENDENCIES: Likewise.
15217         * MODULES.html.sh (Date and time <time.h>): Likewise.
15218         * doc/parse-datetime.texi (Date input formats)
15219         (Authors of parse_datetime): Likewise.
15220         * modules/parse-datetime (Files, configure.ac, Makefile.am)
15221         (Include): Likewise.
15222         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
15223         * gnulib-tool: Likewise.
15224         * m4/bison.m4 (gl_BISON): Likewise.
15225         Suggested by Bruno Haible.
15226
15227 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15228
15229         more ports to Solaris tr, which needs [] around ranges
15230         * gnulib-tool: Solaris tr needs [] around ranges.
15231         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15232         * tests/test-pipe-filter-gi1.c (main): Likewise.
15233         * tests/test-pipe-filter-ii1.c (main): Likewise.
15234
15235 2010-10-05  Eric Blake  <eblake@redhat.com>
15236
15237         bootstrap: fix Solaris regression
15238         * build-aux/bootstrap (check_versions): Solaris tr still needs []
15239         around ranges.
15240         Reported by Pádraig Brady.
15241
15242         bootstrap: work with pkg-config
15243         * build-aux/bootstrap (check_versions): Also transliterate - in
15244         prerequisite name.
15245         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
15246         prerequisites that were already found, to avoid confusion.
15247         Reported by Justin Clift.
15248
15249         faccessat: remove unused wrappers
15250         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
15251         presence of these wrappers dragged in -lgen on Solaris.
15252         Reported by Clemens Brogi; fix suggested by Paul Eggert.
15253
15254 2010-10-05  Jim Meyering  <meyering@redhat.com>
15255
15256         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
15257         * Makefile (sc_pragma_columns): New syntax-check rule.
15258
15259 2010-10-04  Bruno Haible  <bruno@clisp.org>
15260
15261         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
15262         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
15263         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
15264         Reported by Bruce Korb and Eric Blake.
15265
15266 2010-10-04  Bruno Haible  <bruno@clisp.org>
15267
15268         threadlib: Make option --with-libpth-prefix work.
15269         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
15270         use $LIBPTH, not just -lpth.
15271
15272 2010-10-04  Bruno Haible  <bruno@clisp.org>
15273
15274         Avoid line length limitation from HP NonStop system header files.
15275         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
15276         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
15277         * lib/ctype.in.h: Likewise.
15278         * lib/dirent.in.h: Likewise.
15279         * lib/errno.in.h: Likewise.
15280         * lib/fcntl.in.h: Likewise.
15281         * lib/float.in.h: Likewise.
15282         * lib/getopt.in.h: Likewise.
15283         * lib/iconv.in.h: Likewise.
15284         * lib/inttypes.in.h: Likewise.
15285         * lib/langinfo.in.h: Likewise.
15286         * lib/locale.in.h: Likewise.
15287         * lib/math.in.h: Likewise.
15288         * lib/netdb.in.h: Likewise.
15289         * lib/netinet_in.in.h: Likewise.
15290         * lib/poll.in.h: Likewise.
15291         * lib/pthread.in.h: Likewise.
15292         * lib/pty.in.h: Likewise.
15293         * lib/sched.in.h: Likewise.
15294         * lib/se-selinux.in.h: Likewise.
15295         * lib/search.in.h: Likewise.
15296         * lib/signal.in.h: Likewise.
15297         * lib/spawn.in.h: Likewise.
15298         * lib/stdarg.in.h: Likewise.
15299         * lib/stddef.in.h: Likewise.
15300         * lib/stdint.in.h: Likewise.
15301         * lib/stdio.in.h: Likewise.
15302         * lib/stdlib.in.h: Likewise.
15303         * lib/string.in.h: Likewise.
15304         * lib/strings.in.h: Likewise.
15305         * lib/sys_file.in.h: Likewise.
15306         * lib/sys_ioctl.in.h: Likewise.
15307         * lib/sys_select.in.h: Likewise.
15308         * lib/sys_socket.in.h: Likewise.
15309         * lib/sys_stat.in.h: Likewise.
15310         * lib/sys_time.in.h: Likewise.
15311         * lib/sys_times.in.h: Likewise.
15312         * lib/sys_utsname.in.h: Likewise.
15313         * lib/sys_wait.in.h: Likewise.
15314         * lib/sysexits.in.h: Likewise.
15315         * lib/termios.in.h: Likewise.
15316         * lib/time.in.h: Likewise.
15317         * lib/unistd.in.h: Likewise.
15318         * lib/wchar.in.h: Likewise.
15319         * lib/wctype.in.h: Likewise.
15320         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
15321         * modules/ctype (Makefile.am): Likewise.
15322         * modules/dirent (Makefile.am): Likewise.
15323         * modules/errno (Makefile.am): Likewise.
15324         * modules/fcntl-h (Makefile.am): Likewise.
15325         * modules/float (Makefile.am): Likewise.
15326         * modules/getopt-posix (Makefile.am): Likewise.
15327         * modules/iconv-h (Makefile.am): Likewise.
15328         * modules/inttypes (Makefile.am): Likewise.
15329         * modules/langinfo (Makefile.am): Likewise.
15330         * modules/locale (Makefile.am): Likewise.
15331         * modules/math (Makefile.am): Likewise.
15332         * modules/netdb (Makefile.am): Likewise.
15333         * modules/netinet_in (Makefile.am): Likewise.
15334         * modules/poll-h (Makefile.am): Likewise.
15335         * modules/pthread (Makefile.am): Likewise.
15336         * modules/pty (Makefile.am): Likewise.
15337         * modules/sched (Makefile.am): Likewise.
15338         * modules/search (Makefile.am): Likewise.
15339         * modules/selinux-h (Makefile.am): Likewise.
15340         * modules/signal (Makefile.am): Likewise.
15341         * modules/spawn (Makefile.am): Likewise.
15342         * modules/stdarg (Makefile.am): Likewise.
15343         * modules/stddef (Makefile.am): Likewise.
15344         * modules/stdint (Makefile.am): Likewise.
15345         * modules/stdio (Makefile.am): Likewise.
15346         * modules/stdlib (Makefile.am): Likewise.
15347         * modules/string (Makefile.am): Likewise.
15348         * modules/strings (Makefile.am): Likewise.
15349         * modules/sys_file (Makefile.am): Likewise.
15350         * modules/sys_ioctl (Makefile.am): Likewise.
15351         * modules/sys_select (Makefile.am): Likewise.
15352         * modules/sys_socket (Makefile.am): Likewise.
15353         * modules/sys_stat (Makefile.am): Likewise.
15354         * modules/sys_time (Makefile.am): Likewise.
15355         * modules/sys_times (Makefile.am): Likewise.
15356         * modules/sys_utsname (Makefile.am): Likewise.
15357         * modules/sys_wait (Makefile.am): Likewise.
15358         * modules/sysexits (Makefile.am): Likewise.
15359         * modules/termios (Makefile.am): Likewise.
15360         * modules/time (Makefile.am): Likewise.
15361         * modules/unistd (Makefile.am): Likewise.
15362         * modules/wchar (Makefile.am): Likewise.
15363         * modules/wctype (Makefile.am): Likewise.
15364
15365 2010-10-04  Bruno Haible  <bruno@clisp.org>
15366
15367         read-file tests: Avoid a test failure on NonStop Kernel.
15368         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
15369         a regular file.
15370         Reported by Joachim Schmitz <schmitz@hp.com>.
15371
15372 2010-10-03  Bruno Haible  <bruno@clisp.org>
15373
15374         gnulib-tool: Fixes for --create-testdir with --libtool.
15375         * gnulib-tool (func_get_automake_snippet): Don't augment
15376         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
15377         an executable.
15378         (func_create_testdir): Handle module 'alloca' like func_import.
15379         Reported by Bruce Korb <bruce.korb@gmail.com>.
15380
15381 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
15382
15383         Avoid some lines longer than 80 characters.
15384         * lib/stdint.in.h: Break long comment lines.
15385         * lib/math.in.h: Likewise.
15386         (_GL_NUM_UINT_WORDS): New macro, for readability.
15387         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
15388         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
15389         * lib/stdlib.in.h: Likewise.
15390         * lib/spawn.in.h: Likewise.
15391         * lib/sys_socket.in.h: Update an URL.
15392         * lib/sys_stat.in.h: Break long line.
15393
15394 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
15395
15396         Improve pmccabe2html.
15397         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
15398         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
15399         when the sources change. Remove the line in the HTML about "Used
15400         ranges" (which implied that there might be other unused ranges),
15401         rename "Resume" to "Summary" (easier to understand for more users).
15402         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
15403         styles, and some unnecessary blank lines.
15404
15405 2010-10-03  Bruno Haible  <bruno@clisp.org>
15406             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
15407
15408         acl: Add support for ACLs on NonStop Kernel.
15409         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
15410         Check whether the function aclsort() exists.
15411         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
15412         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
15413         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15414         (acl_nontrivial [HAVE_ACLSORT]: New function.
15415         (file_has_acl): Implement for NonStop Kernel.
15416         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15417         (qset_acl): Implement for NonStop Kernel.
15418         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
15419         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15420         (main): Implement for NonStop Kernel.
15421         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
15422         Kernel. Handle this flavor.
15423         * tests/test-set-mode-acl.sh: Likewise.
15424         * tests/test-copy-acl.sh: Likewise.
15425         * tests/test-copy-file.sh: Likewise.
15426
15427 2010-10-03  Bruno Haible  <bruno@clisp.org>
15428
15429         Info about ACLs on NonStop Kernel.
15430         * doc/acl-resources.txt: Add info about NonStop Kernel.
15431         References by Joachim Schmitz <schmitz@hp.com>.
15432
15433 2010-10-02  Bruno Haible  <bruno@clisp.org>
15434
15435         Define missing EDQUOT on NonStop Kernel.
15436         * lib/errno.in.h (EDQUOT): Assign a value if missing.
15437         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
15438         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
15439         missing.
15440         * doc/posix-headers/errno.texi: Mention the NSK bug.
15441         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
15442         Reported by Joachim Schmitz <schmitz@hp.com>.
15443
15444 2010-10-02  Bruno Haible  <bruno@clisp.org>
15445
15446         Update doc for POSIX:2008.
15447         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
15448         Update URL of POSIX specification.
15449
15450 2010-10-02  Bruno Haible  <bruno@clisp.org>
15451
15452         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
15453         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
15454         from gnulib, not from Automake.
15455
15456 2010-10-02  Bruno Haible  <bruno@clisp.org>
15457
15458         New module 'system-posix'.
15459         * modules/system-posix: New file.
15460         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
15461         module is present.
15462         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
15463         GNULIB_SYSTEM_POSIX.
15464         * modules/stdlib (Depends-on): Remove sys_wait.
15465         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
15466         * doc/posix-functions/system.texi: Mention the new module.
15467         * doc/posix-headers/stdlib.texi: Likewise.
15468         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
15469         define test_sys_wait_macros to a no-op.
15470         Reported by Sam Steingold <sds@gnu.org>.
15471
15472 2010-09-30  Bruno Haible  <bruno@clisp.org>
15473
15474         More renaming from 'getdate' to 'get_date'.
15475         * doc/get_date.texi: Renamed from doc/getdate.texi.
15476         * modules/get_date (Files): Update.
15477         * MODULES.html.sh (Date and time <time.h>): Update.
15478         * DEPENDENCIES: Update.
15479         * gnulib-tool: Update comment.
15480         * m4/bison.m4 (gl_BISON): Likewise.
15481         * m4/get_date.m4 (gl_GET_DATE): Likewise.
15482
15483 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
15484
15485         bootstrap: support ACLOCAL_FLAGS during aclocal
15486         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
15487         can add additional -I dir for third-party .m4 files.
15488
15489 2010-09-30  Eric Blake  <eblake@redhat.com>
15490
15491         bootstrap: use glibtoolize on MacOS
15492         * build-aux/bootstrap (check_versions): Convert libtool into
15493         libtoolize.
15494         (tool search): Move libtool check earlier, and look for
15495         glibtoolize for MacOS.
15496         (gnulib_tool_options): Auto-add --libtool when appropriate.
15497         Reported by Justin Clift.
15498
15499         poll: fix typo that broke test on MacOS
15500         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
15501         Reported by Justin Clift.
15502
15503         getdate: rename to get_date
15504         Note: getdate.h is not renamed, to minimize client impact.
15505         * modules/getdate: Mark obsolete.  Move old contents...
15506         * modules/get_date: ...to new module name.
15507         * modules/getdate-tests: Move...
15508         * modules/get_date-tests: ...here.
15509         * m4/getdate.m4: Move...
15510         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
15511         * lib/getdate.y: Move...
15512         * lib/get_date.y: ...here.
15513         * tests/test-getdate.c: Move...
15514         * tests/test-get_date.c: ...here.
15515         * doc/posix-functions/getdate.texi (getdate): Update name.
15516         * NEWS: Mention the change.
15517
15518 2010-09-29  Bruno Haible  <bruno@clisp.org>
15519
15520         Separate the module 'waitpid' from the module 'sys_wait'.
15521         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
15522         present.
15523         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
15524         gl_MODULE_INDICATOR_FOR_TESTS.
15525         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
15526         * modules/sys_wait (Depends-on): Remove waitpid.
15527         (Makefile.am): Substitute GNULIB_WAITPID.
15528         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
15529         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
15530         signature only if the 'waitpid' module is present.
15531         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
15532         * NEWS: Mention the change.
15533         * modules/grantpt (Depends-on): Add waitpid.
15534         * modules/wait-process (Depends-on): Likewise.
15535
15536 2010-09-29  Bruno Haible  <bruno@clisp.org>
15537
15538         More tests for module 'sys_wait'.
15539         * modules/sys_wait-c++-tests: New file.
15540         * tests/test-sys_wait-c++.cc: New file.
15541         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
15542         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15543
15544 2010-09-29  Bruno Haible  <bruno@clisp.org>
15545
15546         New module 'waitpid'.
15547         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
15548         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
15549         Don't include <process.h>.
15550         (waitpid): Declare only, using modern idiom.
15551         * m4/waitpid.m4: New file.
15552         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
15553         * modules/waitpid: New file.
15554         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
15555         (Makefile.am): Update.
15556         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15557
15558 2010-09-28  Bruno Haible  <bruno@clisp.org>
15559
15560         poll: Assume ANSI C.
15561         * lib/poll.c (poll): Use an ANSI C declaration.
15562
15563 2010-09-28  Bruno Haible  <bruno@clisp.org>
15564
15565         poll-h: Create poll.h on all platforms.
15566         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
15567         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
15568         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
15569         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
15570         (gl_REPLACE_POLL_H): Don't set POLL_H.
15571         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
15572         * modules/poll-h (Depends-on): Add include_next.
15573         (Makefile.am): Create poll.h unconditionally. Substitute also
15574         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
15575
15576 2010-09-28  Bruno Haible  <bruno@clisp.org>
15577
15578         Tests for module 'poll-h'.
15579         * modules/poll-h-c++-tests: New file.
15580         * tests/test-poll-h-c++.cc: New file.
15581
15582         Tests for module 'poll-h'.
15583         * modules/poll-h-tests: New file.
15584         * tests/test-poll-h.c: New file.
15585
15586 2010-09-28  Bruno Haible  <bruno@clisp.org>
15587
15588         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
15589         * modules/poll-h (Depends-on): Add 'extensions'.
15590
15591 2010-09-28  Bruno Haible  <bruno@clisp.org>
15592
15593         New module 'poll-h'.
15594         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
15595         (poll): Use modern idiom.
15596         * modules/poll-h: New file.
15597         * modules/poll (Files): Remove lib/poll.in.h.
15598         (Depends-on): Add poll-h.
15599         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
15600         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
15601         * m4/poll_h.m4: New file.
15602         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
15603         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
15604         and invoke gl_REPLACE_POLL_H.
15605         * lib/poll.c: Use common idiom.
15606         * tests/test-poll.c: Likewise.
15607         * doc/posix-headers/poll.texi: Mention the poll-h module.
15608         Suggested by Eric Blake.
15609
15610 2010-09-26  Bruno Haible  <bruno@clisp.org>
15611
15612         sys_wait: Implement WSTOPSIG.
15613         * lib/sys_wait.in.h (WSTOPSIG): New macro.
15614         Reported by Simon Josefsson.
15615
15616 2010-09-26  Simon Josefsson  <simon@josefsson.org>
15617
15618         stdlib, sys_wait: Avoid compilation error on mingw.
15619         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
15620
15621 2010-09-26  Bruno Haible  <bruno@clisp.org>
15622
15623         stdlib tests: Avoid code duplication.
15624         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
15625         * modules/sys_wait-tests (Files): Likewise.
15626         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
15627         * tests/test-stdlib.c: Include test-sys_wait.h.
15628         (main): Invoke test_sys_wait_macros.
15629         * tests/test-sys_wait.c: Include test-sys_wait.h.
15630         (main): Invoke test_sys_wait_macros.
15631
15632 2010-09-25  Simon Josefsson  <simon@josefsson.org>
15633
15634         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
15635         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
15636         sure Windows sockets are working before calling getaddrinfo.
15637         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
15638         * doc/gnulib.texi (Windows sockets): Fix typo.
15639
15640 2010-09-25  Bruno Haible  <bruno@clisp.org>
15641
15642         Tests for module 'regex-quote'.
15643         * modules/regex-quote-tests: New file.
15644         * tests/test-regex-quote.c: New file.
15645
15646         New module 'regex-quote'.
15647         * lib/regex-quote.h: New file.
15648         * lib/regex-quote.c: New file.
15649         * modules/regex-quote: New file.
15650         Suggested by Reuben Thomas <rrt@sc3d.org>.
15651
15652 2010-09-24  Bruno Haible  <bruno@clisp.org>
15653
15654         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
15655         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
15656
15657 2010-09-23  Bruno Haible  <bruno@clisp.org>
15658
15659         setenv: Relax license.
15660         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
15661         Blake.
15662         Requested by Eric Blake.
15663
15664 2010-09-22  Bruno Haible  <bruno@clisp.org>
15665
15666         termios: Relax license.
15667         * modules/termios (License): Change to LGPLv2+.
15668         Requested by Eric Blake.
15669
15670 2010-09-22  Bruno Haible  <bruno@clisp.org>
15671
15672         threadlib: Allow the package to change the default to 'no'.
15673         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
15674         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
15675         Reported by Paul Eggert.
15676
15677 2010-09-22  Pádraig Brady  <P@draigbrady.com>
15678             Bruno Haible  <bruno@clisp.org>
15679
15680         Fix endless loop in mbmemcasecoll.
15681         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
15682         byte.
15683         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
15684
15685 2010-09-22  Bruno Haible  <bruno@clisp.org>
15686
15687         Tests for module 'memcoll'.
15688         * modules/memcoll-tests: New file.
15689         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
15690
15691         memcoll, xmemcoll: Clarify size vs. length.
15692         * modules/memcoll.c (memcoll0): Clarify specification.
15693         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
15694         passed to collate_error.
15695
15696 2010-09-22  Bruno Haible  <bruno@clisp.org>
15697
15698         Tests for module 'memcasecmp'.
15699         * modules/memcasecmp-tests: New file.
15700         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
15701
15702 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
15703
15704         * lib/pthread.in.h: Add split double-inclusion guard, and include
15705         system <pthread.h> if there is one.  Use @@-style as in other
15706         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
15707         pthread.h doesn't.
15708         (pthread_mutexattr_destroy, pthread_mutexattr_init):
15709         (pthread_mutexattr_settype, pthread_mutex_trylock):
15710         New static inline functions, if there's no system <pthread.h>.
15711         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
15712         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
15713         Approximate with mutexes if the system lacks spinlocks, as in
15714         MacOS.
15715         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
15716         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
15717         @@-style.  Check for spinlocks separately.
15718         (gl_PTHREAD_DEFAULTS): New macro.
15719         * modules/pthread: Redo to use a more typical style for in.h files.
15720
15721 2010-09-21  Eric Blake  <eblake@redhat.com>
15722
15723         net_if: enhance tests
15724         * tests/test-net_if.c (main): Move signature checks earlier.
15725         Print failures to stderr.
15726         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
15727         Document the bug that we do not yet fix.
15728
15729 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15730
15731         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
15732         about gnulib, not GSS.
15733
15734 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15735
15736         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
15737         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
15738         for Emacs.
15739         * build-aux/pmccabe2html: Make Makefile.am example code more
15740         cut-and-paste friendly.
15741
15742 2010-09-21  Simon Josefsson  <simon@josefsson.org>
15743
15744         * tests/test-net_if.c: New file.
15745         * modules/net_if-tests: New file.
15746
15747 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15748
15749         pthread: add pthread_spin_destroy
15750         * lib/pthread.in.h (pthread_spin_destroy): New function.
15751
15752 2010-09-19  Bruno Haible  <bruno@clisp.org>
15753
15754         gnulib-tool: Fix --help output.
15755         * gnulib-tool (func_usage): Fix help message.
15756         Reported by Reuben Thomas <rrt@sc3d.org>.
15757
15758 2010-09-18  Jim Meyering  <meyering@redhat.com>
15759
15760         maint.mk: avoid unexpanded \n in two diagnostics
15761         * top/maint.mk (sc_prohibit_always_true_header_tests):
15762         Don't use a literal \n in a halt=... assignment.  It would not be
15763         expanded, and the two \n bytes would appear in the diagnostic output
15764         rather than the desired newline.  Use halt=$$(printf ... instead.
15765         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15766
15767 2010-09-18  Bruno Haible  <bruno@clisp.org>
15768
15769         netinet_in: Doc tweak.
15770         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
15771         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15772
15773 2010-09-18  Jim Meyering  <meyering@redhat.com>
15774
15775         init.sh: correct an outdated comment
15776         * tests/init.sh (create_exe_shims_):  s/function/alias/
15777
15778         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
15779         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
15780         a file named "*.exe" is removed between the glob expansion and the
15781         processing of that oddly named file.
15782
15783 2010-09-17  Eric Blake  <eblake@redhat.com>
15784
15785         mirbsd: add some more support
15786         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
15787         in BSD family.
15788         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
15789         devices as OpenBSD.
15790         * m4/host-os.m4 (mirbsd): Add MirBSD.
15791
15792         tests: fix unportable assumption on sys/wait.h
15793         * tests/test-sys_wait.c (main): Relax test.
15794         * tests/test-stdlib.c (main): Likewise.
15795
15796         init.sh: accomodate directory with no .exes
15797         * tests/init.sh: Accomodate directory containing only scripts.
15798
15799         tests: avoid compiler warning
15800         * tests/test-stdlib.c (main): Use the variable.
15801
15802         fdutimens, fdutimensat: update signature, again
15803         * lib/utimens.h (gl_futimens): Delete, and move signature...
15804         (fdutimens): ...here.
15805         (fdutimensat): Rearrange signature.
15806         (lutimensat): Rename variable for clarity.
15807         * lib/fdutimensat.c (fdutimensat): Update signature.
15808         * lib/utimens.c (fdutimens): Likewise.
15809         (gl_futimens): Delete.
15810         (utimens, lutimens): Update callers.
15811         * lib/futimens.c (futimens): Likewise.
15812         * tests/test-fdutimensat.c: Likewise.
15813         * tests/test-utimens.c: Likewise.
15814         * tests/test-futimens.h: Update comment.
15815         * NEWS: Mention this.
15816         Suggested by Paul Eggert.
15817
15818 2010-09-17  Bruno Haible  <bruno@clisp.org>
15819
15820         Take over the maintenance of some older macros from Autoconf.
15821         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
15822         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
15823         GNU Autoconf.
15824         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
15825         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
15826
15827 2010-09-17  Eric Blake  <eblake@redhat.com>
15828
15829         fdutimensat: drop atflag validation
15830         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
15831         with valid fd, to close a race scenario where futimens is
15832         unsupported and FILE was replaced by a symlink.
15833         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
15834         accordingly.
15835         Suggested by Paul Eggert.
15836
15837 2010-09-16  Bruno Haible  <bruno@clisp.org>
15838
15839         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
15840         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
15841
15842 2010-09-16  Bruno Haible  <bruno@clisp.org>
15843
15844         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
15845         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
15846         login_tty exists.
15847         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15848
15849 2010-09-16  Bruno Haible  <bruno@clisp.org>
15850
15851         login_tty: Make the replacement code work on BSD systems.
15852         * lib/login_tty.c: Include <sys/ioctl.h>.
15853         (login_tty): Use ioctl TIOCSCTTY when available.
15854         * modules/login_tty (Depends-on): Add sys_ioctl.
15855         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15856
15857 2010-09-16  Bruno Haible  <bruno@clisp.org>
15858
15859         login_tty: Stricter unit test.
15860         * modules/login_tty-tests (Depends-on): Add tcgetsid.
15861         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
15862         and tcgetsid() after login_tty.
15863         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15864
15865 2010-09-16  Bruno Haible  <bruno@clisp.org>
15866
15867         New module 'tcgetsid'.
15868         * lib/tcgetsid.c: New file.
15869         * m4/tcgetsid.m4: New file.
15870         * modules/tcgetsid: New file.
15871         * modules/termios (Depends-on): Add c++defs, warn-on-use.
15872         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
15873         GNULIB_TCGETSID, HAVE_TCGETSID.
15874         * lib/termios.in.h: Include <sys/types.h>.
15875         (tcgetsid): New declaration.
15876         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
15877         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
15878         * doc/posix-functions/tcgetsid.texi: Mention the new module.
15879         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
15880
15881 2010-09-16  Bruno Haible  <bruno@clisp.org>
15882
15883         Tests for module 'termios'.
15884         * modules/termios-c++-tests: New file.
15885         * modules/termios-tests: New file.
15886         * tests/test-termios-c++.cc: New file.
15887         * tests/test-termios.c: New file.
15888
15889         New module 'termios'.
15890         * modules/termios: New file.
15891         * lib/termios.in.h: New file.
15892         * m4/termios_h.m4: New file.
15893         * doc/posix-headers/termios.texi: Mention the new module.
15894
15895 2010-09-16  Eric Blake  <eblake@redhat.com>
15896
15897         fdutimensat: add an atflag parameter
15898         * lib/fdutimensat.c (fdutimensat): Add new parameter.
15899         * lib/utimens.h (fdutimensat): Update prototype.
15900         * tests/test-fdutimensat.c: Adjust test to match.
15901         * NEWS: Document the change.
15902         Suggested by Paul Eggert.
15903
15904 2010-09-16  Bruno Haible  <bruno@clisp.org>
15905
15906         Fix typos in comments.
15907         * lib/striconveh.h: Fix typo in comment.
15908         * lib/login_tty.c (login_tty): Likewise.
15909
15910 2010-09-15  Bruno Haible  <bruno@clisp.org>
15911
15912         stdlib: clarify MirBSD WEXITSTATUS bug
15913         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
15914         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15915
15916 2010-09-15  Eric Blake  <eblake@redhat.com>
15917
15918         stdlib: work around MirBSD WEXITSTATUS bug
15919         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
15920         * modules/stdlib (Depends-on): Add sys_wait.
15921         * tests/test-sys_wait.c (main): Enhance test.
15922         * tests/test-stdlib.c (main): Likewise.
15923         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
15924
15925         docs: mention MacOS issue with WEXITSTATUS(constant)
15926         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
15927         issue.
15928         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15929
15930         strnlen: add tests
15931         * modules/strnlen-tests: New file.
15932         * tests/test-strnlen.c: Likewise.
15933
15934 2010-09-14  Bruno Haible  <bruno@clisp.org>
15935
15936         unistr/base: Avoid link errors when module 'libunistring' is also used.
15937         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
15938         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
15939         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
15940         Declare also when HAVE_LIBUNISTRING is set.
15941         Reported by Pádraig Brady <P@draigbrady.com>.
15942
15943 2010-09-14  Eric Blake  <eblake@redhat.com>
15944
15945         test-rawmemchr: make more robust
15946         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
15947         (Depends-on, configure.ac): Add needed prerequisites to use it.
15948         * modules/memchr-tests (Files, Depends-on, configure.ac):
15949         Likewise, to avoid implicit reliance on memchr module prereqs.
15950         * tests/test-memchr.c (main): Ensure proper masking.
15951         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
15952         reads.
15953
15954         memchr: detect glibc Alpha bug
15955         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
15956         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
15957         Alpha.
15958         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
15959         * tests/test-memchr.c (main): Enhance test.
15960         Reported by Nelson H. F. Beebe.
15961
15962 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15963
15964         fts, getcwd, glob: audit for dirfd returning -1
15965         * lib/fts.c (opendir): Remove #define; no longer used.
15966         (opendirat): New arg PDIR_FD.  All callers changed.
15967         (fts_build, _opendir2): Use new opendirat to avoid the need for
15968         dirfd, or for checking whether dirfd returns a negative value.
15969         Don't use opendir; always use openat followed by fdopendir.
15970         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
15971         it.
15972         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
15973         returns -1 here.
15974         * modules/fts (Depends-on): Remove dirfd.
15975         * modules/getcwd (Depends-on): Likewise.
15976
15977 2010-09-13  Eric Blake  <eblake@redhat.com>
15978
15979         float: fix broken MirBSD header
15980         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
15981         * doc/posix-headers/float.texi (float.h): Document it.
15982
15983 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15984
15985         fts: use O_NOFOLLOW to avoid race condition when opening a directory
15986         * lib/fts.c (opendirat): New arg extra_flags.
15987         (__opendir2): Use it to avoid following symlinks when opening
15988         a directory, if symlinks are not supposed to be followed.  See
15989         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
15990
15991         fdopendir: preserve argument fd before returning
15992         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
15993         (fdopendir_with_dup, fd_clone_opendir): New static functions.
15994         (fdopendir): Use them, arranging for FD to be open to the same
15995         directory that it was when it started.  (It might be temporarily
15996         closed while fdopendir is running, so this not thread- or
15997         signal-safe.)  Be careful to do the right thing even when file
15998         descriptors are scarce and dup fails with errno == EMFILE.  See
15999         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
16000
16001 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
16002
16003         regex: Pass the system regex if its only problem is 32-bit regoff_t.
16004         * NEWS: Document change.
16005         * m4/regex.m4: Disable test for regoff_t size.
16006
16007 2010-09-13  Jim Meyering  <meyering@redhat.com>
16008
16009         fts: don't operate on an invalid file descriptor after failed dup
16010         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
16011         negative file descriptor.
16012
16013 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16014
16015         savedir: add streamsavedir, deprecate fdsavedir
16016         * NEWS: Mention deprecation of fdsavedir.
16017         * lib/savedir.c (streamsavedir): New extern function, whose name
16018         ends in "savedir" to be consistent with the others.  This differs
16019         from savedirstream in that it doesn't close its argument.  The
16020         next version of GNU tar will use this instead of fdsavedir, to
16021         avoid some race conditions and conserve file descriptors.
16022         (savedirstream): Reimplement as a wrapper around streamsavedir.
16023         (fdsavedir): Add a comment deprecating this function.  As far as
16024         I know, only GNU tar used it, and GNU tar doesn't need it any more.
16025         * lib/savedir.h (streamsavedir): New decl.
16026         (fdsavedir): Add a comment deprecating this.
16027
16028 2010-09-10  Bruno Haible  <bruno@clisp.org>
16029
16030         langinfo: Fix last commit.
16031         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
16032         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
16033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16034
16035 2010-09-10  Bruno Haible  <bruno@clisp.org>
16036
16037         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
16038         * lib/progreloc.c (O_EXEC): Define fallback.
16039
16040 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16041
16042         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
16043         * NEWS: Document recent changes to fcntl-h.
16044         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
16045         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
16046         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
16047         Similarly for O_SEARCH; this last was already true, but not documented.
16048         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
16049         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
16050         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
16051         Likewise.
16052         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
16053         is zero, not whether it is defined.
16054         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
16055         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
16056         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
16057
16058 2010-09-10  Bruno Haible  <bruno@clisp.org>
16059
16060         langinfo, nl_langinfo: Fix for IRIX 5.3.
16061         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
16062         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
16063         HAVE_LANGINFO_YESEXPR.
16064         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
16065         HAVE_LANGINFO_YESEXPR.
16066         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
16067         HAVE_LANGINFO_T_FMT_AMPM is 0.
16068         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
16069         HAVE_LANGINFO_YESEXPR is 0.
16070         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
16071         NOEXPR.
16072         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
16073         * doc/posix-functions/nl_langinfo.texi: Likewise.
16074         Reported by Eric Blake.
16075
16076 2010-09-10  Bruno Haible  <bruno@clisp.org>
16077
16078         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
16079         * doc/glibc-functions/login_tty.texi: Mention the include file problem
16080         on FreeBSD 8.0 and OpenBSD 4.6.
16081         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
16082         * m4/pty_h.m4 (gl_PTY_H): Likewise.
16083         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
16084         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
16085         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
16086         ac_includes_default.
16087         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16088
16089 2010-09-09  Eric Blake  <eblake@redhat.com>
16090
16091         strsignal: work around NetBSD bug
16092         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
16093         * lib/string.in.h (includes): Likewise.
16094         * doc/posix-functions/strsignal.texi (strsignal): Document the
16095         bug.
16096         Reported by Nelson H. F. Beebe.
16097
16098         gnulib-tool: work with NetBSD /bin/sh
16099         * gnulib-tool (func_cache_var, func_cache_lookup_module)
16100         (func_get_description, func_get_comment, func_get_status)
16101         (func_get_notice, func_get_applicability, func_get_filelist)
16102         (func_get_dependencies, func_get_autoconf_early_snippet)
16103         (func_get_autoconf_snippet, func_get_automake_snippet)
16104         (func_get_include_directive, func_get_link_directive)
16105         (func_get_license, func_get_maintainer, func_import): Avoid
16106         shell syntax errors from parsing syntax extensions.
16107
16108 2010-09-09  Bruno Haible  <bruno@clisp.org>
16109
16110         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16111         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
16112         a reliable way to determine whether the 'alias' command works.
16113
16114 2010-09-08  Jim Meyering  <meyering@redhat.com>
16115
16116         init.sh: penalize a set-x-impaired shell; don't disqualify it
16117         * tests/init.sh: Too many shells corrupt application stderr when
16118         you set -x, so we can't afford to disqualify them, since at least
16119         on Irix-6.5, that would disqualify all bourne shells.
16120         Instead, use a two-pass approach.
16121         On the first pass, try to find a shell that meets the stricter
16122         condition that set -x does not corrupt stderr.
16123         If no shell meets the stricter condition, retest each candidate
16124         shell, but without that extra condition.  Finally, when
16125         VERBOSE=yes is requested and set -x might cause trouble, simply
16126         issue a warning and refrain from enabling debug output.
16127
16128 2010-09-08  Eric Blake  <eblake@redhat.com>
16129
16130         unsetenv: fix OpenBSD bug
16131         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
16132         * doc/posix-functions/unsetenv.texi (unsetenv): Update
16133         documentation.
16134         Reported by Jim Meyering.
16135
16136         strtod: work around IRIX 6.5 bug
16137         * lib/strtod.c (strtod): Reparse number on shorter string if
16138         exponent parse was invalid.
16139         * tests/test-strtod.c (main): Add check for "0x1p 2".
16140         Reported by Tom G. Christensen.
16141
16142         getopt: optimize previous patch
16143         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
16144         empty variable.  Speed up awk script.
16145         Reported by Paolo Bonzini.
16146
16147 2010-09-08  Jim Meyering  <meyering@redhat.com>
16148
16149         test.sh: disqualify shells for which set -x corrupts stderr
16150         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
16151         and OpenBSD 4.7.  They make it so with "set -x", environment settings
16152         appear in stderr output.  For example, this command:
16153             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
16154         prints "P=1" on those two systems:
16155
16156 2010-09-08  Bruno Haible  <bruno@clisp.org>
16157
16158         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16159         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
16160         commands, because some shells ignore redirections when there is an
16161         error in the command lookup.
16162         Reported by Eric Blake.
16163
16164 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
16165
16166         * lib/regex.h: Fix a mention of `regex_compile' (should be
16167         `re_compile_pattern').
16168         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
16169         (re_set_registers): Correct name of parameter in comment.
16170
16171         * doc/regex.texi: Add documentation for missing syntax flags.
16172         Remove commented-out documentation of defunct syntax option
16173         RE_NO_EMPTY_ALTS.
16174         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
16175         Add documentation of re_set_registers.
16176         Document trick to re-use a pattern buffer by setting fastmap manually.
16177         Update documentation of struct re_pattern_buffer per public members.
16178         Uncomment documentation of equivalence class operators and
16179         collating symbol operators, since they are now implemented,
16180         Explain leftmost-longest matching in relation to alternatives.
16181         Tidy documentation of substring matching.
16182         Remove POSIX documentation, which is done better in
16183         glibc, and refer the reader there. Keep BSD API documentation, as
16184         that is not readily available elsewhere.
16185
16186 2010-09-07  Eric Blake  <eblake@redhat.com>
16187
16188         getopt: handle POSIXLY_CORRECT set but not exported
16189         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
16190         export state of POSIXLY_CORRECT, due to bash set -o posix.
16191         Reported by Dustin J. Mitchell.
16192
16193 2010-09-05  Bruno Haible  <bruno@clisp.org>
16194
16195         gnulib-tool: Highlight the changed options.
16196         * gnulib-tool (func_usage): Display the --import, --add-import,
16197         --remove-import explanations in bold font.
16198
16199 2010-09-06  Karl Berry  <karl@gnu.org>
16200
16201         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
16202
16203 2010-09-05  Bruno Haible  <bruno@clisp.org>
16204
16205         uniwidth/width: Update comment.
16206         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
16207         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
16208
16209 2010-09-05  Bruno Haible  <bruno@clisp.org>
16210
16211         isinf, isnan: Relax license.
16212         * modules/isinf (License): Change from GPL to LGPL, with consent from
16213         Ben Pfaff.
16214         * modules/isnan (License): Likewise.
16215         Requested by Ludovic Courtès.
16216
16217 2010-09-04  Bruno Haible  <bruno@clisp.org>
16218
16219         gnulib-tool: Help migration from --import to --add-import or --update.
16220         * gnulib-tool: Emit a verbose error message when --import is used
16221         without any module name.
16222
16223 2010-09-04  Bruno Haible  <bruno@clisp.org>
16224
16225         Update doc about gnulib-tool.
16226         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
16227         'gnulib-tool --update' in more detail.
16228         Reported by Eric Blake.
16229
16230 2010-09-04  Bruno Haible  <bruno@clisp.org>
16231
16232         gnulib-tool: Change --import. New options --add/remove-import.
16233         * gnulib-tool: New options --add-import, --remove-import.
16234         (func_usage): Document them.
16235         (have_associative): Define always.
16236         (func_import): In import mode, don't merge the specified settings with
16237         the cached settings. Implement remove-import mode.
16238         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
16239         Explain when to use them versus --import.
16240         (Simple update): Use --add-import instead of --import.
16241         * NEWS: Mention the change.
16242
16243 2010-09-04  Bruno Haible  <bruno@clisp.org>
16244
16245         * doc/gnulib-tool.texi (Initial import): Update paragraph about
16246         separate gnulib.mk.
16247
16248 2010-09-04  Bruno Haible  <bruno@clisp.org>
16249
16250         gnulib-tool: Don't talk about CVS any more.
16251         * gnulib-tool (func_usage, func_import): Write "version control"
16252         instead of CVS.
16253
16254 2010-09-04  Jim Meyering  <meyering@redhat.com>
16255
16256         maint.mk: avoid obscure sc_copyright_check failure in coreutils
16257         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
16258         false positives (whose names may be ill-chosen) when searching
16259         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
16260         would cause a false-positive.
16261
16262         avoid coreutils "make distcheck" failure
16263         Coreutils tests with an absolute build directory name that contains
16264         a space.  Not quoting this directory name caused a failure.
16265         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
16266         * tests/test-vc-list-files-cvs.sh: Likewise.
16267
16268 2010-09-04  Bruno Haible  <bruno@clisp.org>
16269
16270         gnulib-tool: Avoid error when run in a package without Makefile.am.
16271         * gnulib-tool: When collecting the m4dirs in a package that does not
16272         have a Makefile.am, eliminate those directories that contain no
16273         gnulib-cache.m4. Fix expression that counts these directories.
16274
16275 2010-09-04  Bruno Haible  <bruno@clisp.org>
16276
16277         update-copyright test: Improve output when perl is missing or too old.
16278         * tests/test-update-copyright.sh: Move test of Perl version down after
16279         the test whether Perl exists. Provide an explanation relating Perl's
16280         error message to Automake's SKIP: message.
16281
16282 2010-09-04  Bruno Haible  <bruno@clisp.org>
16283
16284         Don't augment PATH in TESTS_ENVIRONMENT.
16285         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
16286         set abs_aux_dir instead of augmenting PATH.
16287         * modules/vc-list-files-tests (Makefile.am): Likewise.
16288         * tests/test-update-copyright.sh: Augment PATH here.
16289         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
16290         path_prepend_.
16291         * tests/test-vc-list-files-git.sh: Likewise.
16292
16293 2010-09-04  Jim Meyering  <meyering@redhat.com>
16294
16295         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
16296         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
16297
16298 2010-09-04  Bruno Haible  <bruno@clisp.org>
16299
16300         strdup: Fix compilation error in C++ mode.
16301         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
16302         the macro.
16303
16304 2010-09-04  Bruno Haible  <bruno@clisp.org>
16305
16306         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
16307         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
16308         macro into a function.
16309         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16310
16311 2010-09-04  Bruno Haible  <bruno@clisp.org>
16312
16313         Set PATH_SEPARATOR the same way autoconf does.
16314         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
16315         the value of PATH_SEPARATOR the same way autoconf-generated configure
16316         scripts do.
16317         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
16318         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
16319
16320 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16321
16322         Set PATH_SEPARATOR the same way autoconf does.
16323         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
16324         the same way autoconf-generated configure scripts do.
16325         * posix-modules: Likewise.
16326
16327 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
16328
16329         hash: fix safe_hasher const typo
16330         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
16331         const; otherwise, there is a type error later.
16332
16333 2010-09-02  Jim Meyering  <meyering@redhat.com>
16334
16335         test-update-copyright.sh: require perl 5.8.0
16336         * tests/test-update-copyright.sh: Require 5.8.0,
16337         which Tom G. Christensen has confirmed is adequate,
16338         while 5.6.1 is not.
16339
16340 2010-09-02  Eric Blake  <eblake@redhat.com>
16341
16342         tests: init.sh improvements for re-exec'ing with zsh
16343         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
16344         -vx through shell re-exec.
16345         Reported by Tom G. Christensen.
16346
16347         wctype: fix typo in previous commit
16348         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
16349         Reported by Ludovic Courtès.
16350
16351 2010-09-02  Jim Meyering  <meyering@redhat.com>
16352
16353         test-update-copyright.sh: skip test if Perl is too old
16354         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
16355         Reported by Tom G. Christensen.
16356
16357 2010-09-02  Bruno Haible  <bruno@clisp.org>
16358
16359         wctype: Avoid compilation error on IRIX 6.5.30.
16360         * lib/wctype.in.h (iswblank): Declare with a replacement if
16361         REPLACE_ISWBLANK is set.
16362         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
16363         declared. Set REPLACE_ISWBLANK.
16364         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
16365         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
16366         * doc/posix-headers/wctype.texi: Likewise.
16367         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16368
16369 2010-09-01  Bruno Haible  <bruno@clisp.org>
16370
16371         New module 'socketlib'.
16372         * modules/socketlib: New file.
16373         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
16374         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
16375         * modules/sockets (Depends-on): Add socketlib.
16376         Suggested by Sam Steingold <sds@gnu.org>.
16377
16378 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16379
16380         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
16381
16382         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
16383         when one needs search access to a directory but not read access.
16384         On systems where it is available, it works in some cases where
16385         O_RDONLY does not, namely on directories that are searchable but
16386         not readable, and which need only to be searchable.  If O_SEARCH
16387         is not available, fall back to the traditional method of using
16388         O_RDONLY.
16389
16390         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
16391         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
16392         when opening a directory that needs only to be searchable.
16393         * lib/chdir-safer.c (chdir_no_follow): Likewise.
16394         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
16395         * lib/openat-proc.c (openat_proc_name): Likewise.
16396         * lib/openat.c (openat_needs_fchdir): Likewise.
16397         * lib/save-cwd.c (save_cwd): Likewise.
16398         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
16399
16400 2010-08-28  Bruno Haible  <bruno@clisp.org>
16401
16402         New module 'host-cpu-c-abi'.
16403         * modules/host-cpu-c-abi: New file.
16404         * m4/host-cpu-c-abi.m4: New file, based on part of
16405         clisp/src/m4/general.m4.
16406         Requested by Sam Steingold <sds@gnu.org>.
16407
16408 2010-08-31  Eric Blake  <eblake@redhat.com>
16409         and Jim Meyering  <meyering@redhat.com>
16410
16411         hash: factor, and guard against misbehaving hasher function
16412         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
16413         of table->hasher's return value.  Also protect against a hash value
16414         so large that adding it to table->bucket results in a NULL pointer.
16415         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
16416         Use it in place of open-coded check-and-abort.
16417
16418 2010-08-30  Bruno Haible  <bruno@clisp.org>
16419
16420         hash: silence spurious clang warning
16421         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
16422         Reported by Eric Blake.
16423
16424 2010-08-30  Eric Blake  <eblake@redhat.com>
16425
16426         strstr, memmem, strcasestr: avoid leaked shell message
16427         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
16428         FreeBSD.
16429         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16430         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16431
16432         tests: silence clang warning
16433         * tests/test-malloca.c (do_allocation): Avoid dead store.
16434
16435 2010-08-29  Bruno Haible  <bruno@clisp.org>
16436
16437         gettext: Fix recent mistake.
16438         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
16439
16440 2010-08-29  Bruno Haible  <bruno@clisp.org>
16441
16442         selinux-h: Offer a --without-selinux option.
16443         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
16444         --without-selinux was specified, skip all tests and define
16445         HAVE_SELINUX_SELINUX_H to 0.
16446         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
16447         set LIB_SELINUX to empty.
16448         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
16449         gl_LIBSELINUX. If --without-selinux was specified, replace
16450         selinux/context.h.
16451         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
16452
16453 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16454             Bruno Haible  <bruno@clisp.org>
16455
16456         Make the module 'realloc-gnu' work again on AIX and OSF/1.
16457         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
16458         of HAVE_REALLOC.
16459         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
16460         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
16461         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
16462         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
16463
16464 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16465             Bruno Haible  <bruno@clisp.org>
16466
16467         Make the module 'calloc-gnu' work again on AIX and OSF/1.
16468         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
16469         HAVE_CALLOC.
16470         * lib/xmalloc.c: Update accordingly.
16471         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
16472         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
16473         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
16474
16475 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16476             Bruno Haible  <bruno@clisp.org>
16477
16478         Make the module 'malloc-gnu' work again on AIX and OSF/1.
16479         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
16480         HAVE_MALLOC.
16481         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
16482         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
16483         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
16484
16485 2010-08-29  Bruno Haible  <bruno@clisp.org>
16486
16487         Update modules list.
16488         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
16489         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
16490         (String handling <string.h>): Add astrxfrm.
16491         (File system functions): Add readlinkat.
16492
16493 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16494
16495         Tests for module 'realloc-gnu'.
16496         * modules/realloc-gnu-tests: New file.
16497         * tests/test-realloc-gnu.c: New file.
16498
16499         Tests for module 'calloc-gnu'.
16500         * modules/calloc-gnu-tests: New file.
16501         * tests/test-calloc-gnu.c: New file.
16502
16503         Tests for module 'malloc-gnu'.
16504         * modules/malloc-gnu-tests: New file.
16505         * tests/test-malloc-gnu.c: New file.
16506
16507 2010-08-28  Bruno Haible  <bruno@clisp.org>
16508
16509         Rename module 'realloc' -> 'realloc-gnu'.
16510         * modules/realloc-gnu: New file, copied from modules/realloc.
16511         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
16512         obsolete.
16513         * modules/mgetgroups (Depends-on): Update.
16514         * doc/posix-functions/realloc.texi: Update.
16515         * NEWS: Mention the change.
16516
16517         Rename module 'calloc' -> 'calloc-gnu'.
16518         * modules/calloc-gnu: New file, copied from modules/calloc.
16519         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
16520         obsolete.
16521         * doc/posix-functions/calloc.texi: Update.
16522         * NEWS: Mention the change.
16523
16524         Rename module 'malloc' -> 'malloc-gnu'.
16525         * modules/malloc-gnu: New file, copied from modules/malloc.
16526         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
16527         obsolete.
16528         * modules/argp (Depends-on): Update.
16529         * modules/regex (Depends-on): Update.
16530         * doc/posix-functions/malloc.texi: Update.
16531         * NEWS: Mention the change.
16532
16533 2010-08-28  Eric Blake  <eblake@redhat.com>
16534
16535         pread, pwrite: add missing dependency
16536         * modules/pread (Depends-on): Add extensions.
16537         * modules/pwrite (Depends-on): Likewise.
16538
16539 2010-08-28  Bruno Haible  <bruno@clisp.org>
16540
16541         unistr/u*-strchr: Fix tests dependencies.
16542         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
16543         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
16544         Reported by Ian Beckwith <ianb@erislabs.net>.
16545
16546 2010-08-28  Bruno Haible  <bruno@clisp.org>
16547
16548         read-file: Don't occupy too much unused memory.
16549         * lib/read-file.c (fread_file): Shrink the buffer at the end.
16550
16551 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
16552             Eric Blake  <eblake@redhat.com>
16553             Bruno Haible  <bruno@clisp.org>
16554
16555         read-file: Avoid memory reallocations with regular files.
16556         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
16557         (fread_file): With regular files, use the remaining length as the
16558         initial buffer size.  Check against overflow.
16559         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
16560         sys_stat.
16561
16562 2010-08-28  Bruno Haible  <bruno@clisp.org>
16563
16564         ftello: Relax license.
16565         * modules/ftello (License): Relax to LGPLv2+.
16566         Reported by Eric Blake.
16567
16568 2010-08-28  Bruno Haible  <bruno@clisp.org>
16569
16570         Avoid relocwrapper link errors due to gnulib replacement functions.
16571         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
16572         function.
16573         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16574
16575 2010-08-28  Bruno Haible  <bruno@clisp.org>
16576
16577         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
16578         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
16579         defined.
16580         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
16581         Suggested by Eric Blake.
16582
16583 2010-08-28  Bruno Haible  <bruno@clisp.org>
16584
16585         sys_socket, netdb: Ensure socklen_t gets defined.
16586         * modules/sys_socket (Depends-on): Add socklen.
16587         * modules/netdb (Depends-on): Likewise.
16588         * modules/getaddrinfo (Depends-on): Remove socklen.
16589         * modules/getsockopt (Depends-on): Likewise.
16590         * modules/setsockopt (Depends-on): Likewise.
16591         * tests/test-sys_socket.c: Check that socklen_t is defined.
16592         * tests/test-netdb.c: Likewise.
16593         * m4/socklen.m4: Update comments.
16594         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16595
16596 2010-08-27  Eric Blake  <eblake@redhat.com>
16597
16598         login_tty: add missing dependency
16599         * modules/login_tty (Depends-on): Add pty.
16600
16601 2010-08-26  Eric Blake  <eblake@redhat.com>
16602
16603         lib-symbol-versions: fix m4 quoting
16604         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
16605         format for AC_LINK_IFELSE.
16606
16607         glob: fix compile test
16608         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
16609
16610         btowc: fix missing file
16611         * modules/btowc (Files): Also ship locale-fr.m4.
16612
16613         lseek: fix link test
16614         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
16615         AC_LINK_IFELSE.
16616
16617         include_next: silence autoconf 2.68 warning
16618         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
16619         AC_COMPILE_IFELSE as special.
16620         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
16621         autoconf < 2.68.
16622
16623         acl: fix compilation test
16624         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
16625         AC_COMPILE_IFELSE.
16626
16627 2010-08-26  Bruno Haible  <bruno@clisp.org>
16628
16629         Modernize AC_TRY_RUN invocations.
16630         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
16631         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
16632         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
16633         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
16634         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
16635         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16636         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
16637         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
16638         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16639         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
16640         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
16641         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
16642         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
16643         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
16644         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
16645         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16646         gl_MBRLEN_NUL_RETVAL): Likewise.
16647         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16648         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
16649         Likewise.
16650         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16651         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
16652         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
16653         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
16654         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
16655         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
16656         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
16657         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
16658         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
16659         Likewise.
16660         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
16661         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
16662         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
16663         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16664         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16665         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
16666         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16667         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
16668         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16669         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
16670
16671 2010-08-26  Bruno Haible  <bruno@clisp.org>
16672
16673         Modernize AC_TRY_LINK invocations.
16674         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
16675         AC_TRY_LINK.
16676         * m4/argp.m4 (gl_ARGP): Likewise.
16677         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
16678         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16679         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
16680         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16681         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16682         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
16683         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
16684         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
16685         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16686         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16687         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16688         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
16689         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
16690         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16691         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
16692         * m4/hostent.m4 (gl_HOSTENT): Likewise.
16693         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
16694         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
16695         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
16696         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
16697         Likewise.
16698         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
16699         Likewise.
16700         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
16701         Likewise.
16702         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
16703         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
16704         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
16705         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
16706         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
16707         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16708         * m4/servent.m4 (gl_SERVENT): Likewise.
16709         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
16710         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
16711         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
16712         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
16713         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16714         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16715         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16716         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16717         * modules/tsearch-tests (configure.ac): Likewise.
16718
16719 2010-08-26  Bruno Haible  <bruno@clisp.org>
16720
16721         Modernize AC_TRY_COMPILE invocations.
16722         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
16723         AC_TRY_COMPILE.
16724         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
16725         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
16726         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
16727         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16728         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
16729         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16730         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16731         * m4/lock.m4 (gl_LOCK): Likewise.
16732         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
16733         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16734         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
16735         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
16736         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
16737         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
16738         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16739         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
16740         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
16741         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
16742         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
16743         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
16744         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
16745         extraneous semicolon.
16746
16747 2010-08-26  Jim Meyering  <meyering@redhat.com>
16748
16749         stat-time: relax license LGPL
16750         * modules/stat-time (License): Change from GPL to LGPL,
16751         with consent from all contributors, for use in libguile.
16752         Requested by Ludovic Courtès.
16753
16754 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
16755
16756         poll: return immediately on POLLHUP.
16757         * lib/poll.c (poll): Always set timeout before wait_timeout is
16758         computed.
16759
16760 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16761
16762         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
16763         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
16764         rmdir ("dir/.//"), unlinkat.
16765
16766 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16767
16768         stdbool: avoid spurious failure with modern xlc
16769         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16770
16771 2010-08-24  Bruno Haible  <bruno@clisp.org>
16772
16773         getloadavg: simplify code
16774         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
16775         gl_have_func. Update comments.
16776
16777 2010-08-24  Eric Blake  <eblake@redhat.com>
16778
16779         getloadavg: don't define SVR4 on cygwin
16780         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
16781         only define SVR4 when -lkvm is required.
16782         Reported by Yaakov Selkowitz.
16783
16784 2010-08-24  Bruno Haible  <bruno@clisp.org>
16785
16786         priv-set: fix comment
16787         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
16788
16789 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16790
16791         priv-set: fix comments
16792         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
16793         to match code, as suggested by David Bartley in:
16794         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
16795
16796 2010-08-23  Eric Blake  <eblake@redhat.com>
16797
16798         stdbool: avoid rejecting clang
16799         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16800         * tests/test-stdbool.c: Enable more tests if using the system
16801         <stdbool.h> instead of the gnulib replacement.
16802         (main): Move xlc bug test to a runtime test for all compilers.
16803         Reported by Anders Kaseorg.
16804
16805         argz: fix shell quoting issue
16806         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
16807         Reported by Charles Wilson.
16808
16809 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
16810             Erik Faye-Lund <kusmabite@gmail.com>
16811
16812         poll, select: handle ERROR_BROKEN_PIPE.
16813         * lib/poll.c (win32_compute_revents): Return POLLHUP when
16814         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16815         * lib/select.c (win32_compute_revents): Do not mark a pipe
16816         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16817
16818 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
16819
16820         fts: allow compilation with C++
16821         * lib/fts_.h: Specify extern "C" linkage with C++.
16822
16823 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16824
16825         Fix gnulib-tool sed script de-commentation for AIX sed.
16826         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
16827         sed.
16828
16829 2010-08-17  Eric Blake  <eblake@redhat.com>
16830
16831         test-stddef: test for (some) offsetof bugs
16832         * tests/test-stddef.c: Enhance test to ensure correct type of
16833         offsetof.
16834         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
16835         that we are not fixing at this time.
16836
16837 2010-08-15  Bruno Haible  <bruno@clisp.org>
16838
16839         stpncpy: Allow stpncpy to be defined as a macro.
16840         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
16841         if it's already correctly declared.
16842         * lib/string.in.h (stpncpy): Undefine before redefining.
16843         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
16844
16845 2010-08-14  Bruno Haible  <bruno@clisp.org>
16846
16847         Rename module 'memxfrm' to 'amemxfrm'.
16848         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
16849         (amemxfrm): Renamed from memxfrm.
16850         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
16851         (amemxfrm): Renamed from memxfrm.
16852         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
16853         * NEWS: Mention the change.
16854         * MODULES.html.sh (String handling <string.h>): Update.
16855         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
16856         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
16857         * lib/unicase/u16-casexfrm.c: Likewise.
16858         * lib/unicase/u32-casexfrm.c: Likewise.
16859         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
16860         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
16861         * lib/uninorm/u16-normxfrm.c: Likewise.
16862         * lib/uninorm/u32-normxfrm.c: Likewise.
16863         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
16864         memxfrm.
16865         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
16866         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
16867         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
16868         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
16869         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
16870         Suggested by Paul Eggert.
16871
16872 2010-08-14  Bruno Haible  <bruno@clisp.org>
16873
16874         Tests for module 'astrxfrm'.
16875         * modules/astrxfrm-tests: New file.
16876         * tests/test-astrxfrm.c: New file.
16877
16878         New module 'astrxfrm'.
16879         * lib/astrxfrm.h: New file.
16880         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
16881         * modules/astrxfrm: New file.
16882
16883 2010-08-14  Reuben Thomas <rrt@sc3d.org>
16884
16885         regex: Tweak doc.
16886         * doc/regex.texi (Overview): Don't mention regex.c.
16887         (GNU Regular Expression Compiling): Likewise.
16888         (Match-end-of-line Operator): Mention 'not_eol'.
16889
16890 2010-08-14  Brian Gough  <bjg@gnu.org>
16891             Bruno Haible  <bruno@clisp.org>
16892
16893         git-merge-changelog: add doc relating to use with bzr and hg.
16894         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
16895
16896 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
16897
16898         pthread: fix pthread.h creation for srcdir != builddir
16899         * modules/pthread (Makefile.am): Fix the rule to work also in a
16900         non-srcdir build.
16901
16902 2010-08-13  Karl Berry  <karl@gnu.org>
16903
16904         * doc/regex.texi (Predefined Syntaxes): @smallexample.
16905         * doc/posix-*/*: force line break before @url of POSIX
16906         specifications.
16907         Suggested by Werner Lemberg.
16908
16909 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
16910
16911         strtod: fix const diagnostic
16912         * lib/strtod.c (strtod): Don't assign const char * to char *,
16913         as this elicits a warning from GCC when warnings are enabled.
16914
16915 2010-08-10  Pádraig Brady <P@draigbrady.com>
16916         and Eric Blake  <eblake@redhat.com>
16917
16918         copy-acl: ignore ENOTSUP on HP-UX
16919         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
16920         so that it is available for HP-UX.
16921         * lib/copy-acl.c (qcopy_acl): Use it.
16922         Reported by Patrick M. Callahan.
16923
16924 2010-08-10  Eric Blake  <eblake@redhat.com>
16925
16926         open, chown: relax license
16927         * modules/open (License): Change to LGPLv2+, with consent by all
16928         authors, for use in augeas.
16929         * modules/chown (License): Likewise.
16930         * modules/lchown (Likewise): Likewise.
16931         Requested by Adam Stokes.
16932
16933 2010-08-09  Karl Berry  <karl@gnu.org>
16934
16935         * build-aux/ar-lib: new file, import from Automake.
16936         * config/srclist.txt: autocheck for updates.
16937
16938 2010-08-09  Eric Blake  <eblake@redhat.com>
16939
16940         readlinkat: adjust client modules
16941         * modules/areadlinkat (Depends-on): Use readlinkat, not
16942         symlinkat.
16943         * modules/areadlinkat-with-size (Depends-on): Likewise.
16944
16945         mknod: be more vocal about danger of running tests as root
16946         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
16947         root, since that is just asking for problems.
16948         Suggested by Bruno Haible, based on a report by Rainer Tammer.
16949
16950         readlinkat: split into its own module
16951         * modules/symlinkat: Split readlinkat...
16952         * modules/readlinkat: ...into separate module.
16953         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
16954         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
16955         * lib/symlinkat.c (readlinkat): Move...
16956         * lib/readlinkat.c: ...into new file.
16957         * modules/symlinkat-tests: Split readlinkat test...
16958         * modules/readlinkat-tests: ...into separate module.
16959         * tests/test-symlinkat.c: Split...
16960         * tests/test-readlinkat.c: ...into new file.
16961         * NEWS: Document the split.
16962         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16963         * lib/unistd.in.h (readlinkat): Likewise.
16964         Suggested by Bruno Haible.
16965
16966 2010-08-08  Bruno Haible  <bruno@clisp.org>
16967
16968         memxfrm: Speed up.
16969         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
16970         that usually only one call to strxfrm is necessary for each string
16971         part.
16972         Reported by Paul Eggert <eggert@cs.ucla.edu>.
16973
16974 2010-08-07  Karl Berry  <karl@gnu.org>
16975
16976         * doc/posix-headers/limits.texi,
16977         * doc/posix-functions/malloc.texi,
16978         * doc/posix-functions/strsignal.texi: missing @item.
16979         * doc/ld-version-script.texi: spurious leading i.
16980         * doc/regex.texi (Interval Operators): no commas inside @var.
16981
16982 2010-08-01  Bruno Haible  <bruno@clisp.org>
16983
16984         Integrate the regex documentation.
16985         * doc/gnulib.texi: Define 'cn' index.
16986         (Regular expressions): New a chapter that includes regex.texi and
16987         regexprops-generic.texi.
16988         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
16989         syntax.
16990
16991         Whitespace cleanup.
16992         * doc/regex.texi: Remove trailing spaces.
16993
16994         Add regex documentation.
16995         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
16996         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
16997         Written by Kathy A. Hargreaves and Karl Berry.
16998
16999 2010-08-01  Bruno Haible  <bruno@clisp.org>
17000
17001         link: Update documentation.
17002         * doc/posix-functions/link.texi: Update regarding Solaris.
17003
17004 2010-07-31  Bruno Haible  <bruno@clisp.org>
17005
17006         Update modules list.
17007         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
17008         (String handling <string.h>): Add memcmp2, memxfrm.
17009         (Container data structures): Add xlist, xsublist, xoset.
17010         (Core language properties): Add alignof, unused-parameter.
17011         (Process control, Numeric conversion functions <stdlib.h>): Renamed
17012         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
17013         (Unibyte characters <ctype.h>): New section.
17014         (String handling <string.h>): New section.
17015         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
17016         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
17017         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
17018         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
17019         tan, tanh, tanl, y0, y1, yn.
17020         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
17021         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
17022         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
17023         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
17024         unlockpt, vdprintf, vdprintf-posix.
17025         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
17026         (File system functions): Add concat-filename, sys_file, sys_ioctl,
17027         xconcat-filename.
17028         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
17029         getdtablesize, pipe2, pipe2-safer.
17030         (Security): New section.
17031         (Networking functions): Add accept4.
17032         (Signal handling): Add sigpipe.
17033         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
17034         mbmemcasecoll.
17035         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
17036         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
17037         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
17038         pipe-filter-ii.
17039         (Misc): Add argp-version-etc, login_tty, parse-duration.
17040
17041 2010-07-31  Bruno Haible  <bruno@clisp.org>
17042
17043         Improve doc in MODULES.html.
17044         * modules/linkat (Description): Add the word "function".
17045         * modules/mkfifo (Description): Likewise.
17046         * modules/mknod (Description): Likewise.
17047         * modules/remove (Description): Likewise.
17048         * modules/renameat (Description): Likewise.
17049         * modules/stat (Description): Likewise.
17050         * modules/symlink (Description): Likewise.
17051         * modules/unlink (Description): Likewise.
17052
17053 2010-07-31  Bruno Haible  <bruno@clisp.org>
17054
17055         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
17056         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
17057         option --enable/disable-c++ instead of --enable/disable-cxx.
17058         * NEWS: Mention the change.
17059
17060 2010-07-31  Bruno Haible  <bruno@clisp.org>
17061
17062         readlink, areadlink: Relax test a bit.
17063         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
17064         alternative to ENOTDIR.
17065         * tests/test-areadlink.h (test_areadlink): Likewise.
17066         Reported by Rainer Tammer.
17067
17068 2010-07-31  Bruno Haible  <bruno@clisp.org>
17069
17070         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
17071         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
17072         character, perform the search using U_STRCHR.
17073         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
17074         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
17075         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
17076         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
17077         Suggested by Paolo Bonzini.
17078
17079 2010-07-31  Bruno Haible  <bruno@clisp.org>
17080
17081         unistr/u*-strstr: Fix dependencies.
17082         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
17083         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
17084         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
17085
17086 2010-07-31  Bruno Haible  <bruno@clisp.org>
17087
17088         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
17089         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
17090         the beginning of the loop.
17091         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
17092         cases in 'switch' statement.
17093
17094         unistr/u8-strchr: Fix several bugs.
17095         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
17096         the string. When not found, return NULL, not a pointer near the end.
17097
17098         More tests for unistr/u8-strchr.
17099         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
17100         that the function does not read past the first occurrence of the byte
17101         being searched.
17102         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
17103         * tests/unistr/test-u16-strchr.c (main): New function.
17104         * tests/unistr/test-u32-strchr.c (main): New function.
17105
17106 2010-07-31  Bruno Haible  <bruno@clisp.org>
17107
17108         posix-modules: Ignore backup files of documentation files.
17109         * posix-modules: grep only through files named *.texi.
17110
17111 2010-07-31  Bruno Haible  <bruno@clisp.org>
17112
17113         symlinkat: Fix documentation.
17114         * doc/posix-functions/readlinkat.texi: Fix module name.
17115
17116 2010-07-31  Bruno Haible  <bruno@clisp.org>
17117
17118         fchownat: Replace also when chown has the trailing slash bug.
17119         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
17120         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
17121         introduced on 2010-04-10.
17122         Reported by Rainer Tammer.
17123
17124 2010-07-31  Bruno Haible  <bruno@clisp.org>
17125
17126         linkat: Work around AIX 7.1 bug.
17127         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
17128         whether linkat handles trailing slash correctly. If not, replace linkat
17129         and define LINKAT_TRAILING_SLASH_BUG.
17130         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
17131         check whether (fd1,file1) points to a directory if file1 or file2 ends
17132         in a slash. Code taken from lib/link.c.
17133         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
17134         Reported by Rainer Tammer.
17135
17136 2010-07-31  Bruno Haible  <bruno@clisp.org>
17137
17138         Correctly determine whether pow is available in libc on AIX 7 with xlc.
17139         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
17140         This disables an xlc optimization that was causing wrong test results.
17141         Reported by Rainer Tammer.
17142
17143 2010-07-31  Bruno Haible  <bruno@clisp.org>
17144
17145         iconv: Work around AIX 6.1..7.1 bug.
17146         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
17147         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
17148         cross-compiling, guess no on all versions of AIX.
17149         Reported by Rainer Tammer.
17150
17151 2010-07-31  Bruno Haible  <bruno@clisp.org>
17152
17153         readlink: Relax test a bit.
17154         * tests/test-readlink.h (test_readlink): Allow different errno value
17155         when readlink is called with a file name that ends in / and refers to
17156         a file.
17157         Suggested by Eric Blake.
17158         Reported by Rainer Tammer.
17159
17160 2010-07-31  Bruno Haible  <bruno@clisp.org>
17161
17162         copysign: Does not require -lm on glibc systems.
17163         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
17164         gl_COMMON_DOUBLE_MATHFUNC.
17165         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
17166
17167 2010-07-31  Bruno Haible  <bruno@clisp.org>
17168
17169         duplocale: Work around AIX 7.1 bug.
17170         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
17171         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
17172         * lib/duplocale.c (rpl_duplocale): Update comment.
17173         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
17174         Reported by Rainer Tammer.
17175
17176 2010-07-30  Bruno Haible  <bruno@clisp.org>
17177
17178         dirfd: Avoid link error on AIX 7.1.
17179         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
17180         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
17181         exist, set REPLACE_DIRFD.
17182         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
17183         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
17184         * doc/posix-functions/dirfd.texi: Update.
17185         Reported by Rainer Tammer.
17186
17187 2010-07-30  Eric Blake  <eblake@redhat.com>
17188
17189         strtod: next round of AIX fixes
17190         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
17191         exponent.
17192         * tests/test-strtod.c (main): Enhance tests.
17193         * doc/posix-functions/strtod.texi (strtod): Document next bug.
17194         Reported by Rainer Tammer.
17195
17196         futimens: fix configure check
17197         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
17198         Reported by Bruno Haible.
17199
17200 2010-07-30  Bruno Haible  <bruno@clisp.org>
17201
17202         getline: Update regarding AIX.
17203         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
17204         Reported by Rainer Tammer.
17205
17206 2010-07-30  Bruno Haible  <bruno@clisp.org>
17207
17208         wcwidth: Drop replacement on AIX 7.
17209         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
17210         AIX 7.
17211         Reported by Rainer Tammer.
17212
17213 2010-07-30  Bruno Haible  <bruno@clisp.org>
17214
17215         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
17216         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
17217         a 'char *'.
17218         Reported by Rainer Tammer.
17219
17220 2010-07-30  Bruno Haible  <bruno@clisp.org>
17221
17222         unlink: Update regarding AIX.
17223         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
17224         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
17225         Reported by Rainer Tammer.
17226
17227 2010-07-30  Bruno Haible  <bruno@clisp.org>
17228
17229         symlink: Update regarding AIX.
17230         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
17231         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
17232         Reported by Rainer Tammer.
17233
17234 2010-07-30  Bruno Haible  <bruno@clisp.org>
17235
17236         strndup: Update regarding AIX.
17237         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
17238         AIX 7.
17239         Reported by Rainer Tammer.
17240
17241 2010-07-30  Bruno Haible  <bruno@clisp.org>
17242
17243         stat: Update regarding AIX.
17244         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
17245         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
17246         Reported by Rainer Tammer.
17247
17248 2010-07-30  Bruno Haible  <bruno@clisp.org>
17249
17250         truncl: Fix autoconf test.
17251         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
17252         whether truncl works.
17253         Reported by Rainer Tammer.
17254
17255 2010-07-30  Bruno Haible  <bruno@clisp.org>
17256
17257         round: Update regarding AIX.
17258         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
17259         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
17260         Reported by Rainer Tammer.
17261
17262 2010-07-30  Bruno Haible  <bruno@clisp.org>
17263
17264         rename: Update regarding AIX.
17265         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
17266         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
17267         Reported by Rainer Tammer.
17268
17269 2010-07-30  Bruno Haible  <bruno@clisp.org>
17270
17271         printf.m4: Update regarding AIX.
17272         * m4/printf.m4: Update comments regarding AIX.
17273         Reported by Rainer Tammer.
17274
17275 2010-07-30  Bruno Haible  <bruno@clisp.org>
17276
17277         iconv: Update regarding AIX.
17278         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
17279         AIX 7.
17280         Reported by Rainer Tammer.
17281
17282 2010-07-30  Bruno Haible  <bruno@clisp.org>
17283
17284         getopt: Update regarding AIX.
17285         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
17286         no on AIX.
17287         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
17288         Reported by Rainer Tammer.
17289
17290 2010-07-30  Bruno Haible  <bruno@clisp.org>
17291
17292         ldexpl; Update regarding AIX.
17293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
17294         on AIX 7.
17295         Reported by Rainer Tammer.
17296
17297 2010-07-30  Bruno Haible  <bruno@clisp.org>
17298
17299         frexpl: Update regarding AIX.
17300         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
17301         on AIX 7.
17302         Reported by Rainer Tammer.
17303
17304 2010-07-30  Bruno Haible  <bruno@clisp.org>
17305
17306         open, fopen: Update regarding AIX.
17307         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
17308         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
17309         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
17310         * doc/posix-functions/fopen.texi: Likewise.
17311         Reported by Rainer Tammer.
17312
17313 2010-07-30  Bruno Haible  <bruno@clisp.org>
17314
17315         chown: Update doc regarding AIX.
17316         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
17317         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
17318         Reported by Rainer Tammer.
17319
17320 2010-07-30  Eric Blake  <eblake@redhat.com>
17321
17322         strtod: fix bug in replacement function on AIX
17323         * lib/strtod.c (strtod): Special case broken "0x" parse in
17324         underlying strtod.
17325         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
17326         * doc/posix-functions/strtod.texi (strtod): Likewise.
17327         Reported by Rainer Tammer.
17328
17329 2010-07-30  Bruno Haible  <bruno@clisp.org>
17330
17331         mbrlen: Fix cross-compilation guess for AIX.
17332         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
17333         guess. Leftover from 2008-12-22.
17334
17335 2010-07-30  Bruno Haible  <bruno@clisp.org>
17336
17337         mbrtowc: Fix cross-compilation guess for AIX.
17338         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
17339         guess. Leftover from 2008-12-21.
17340
17341 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
17342
17343         init.sh: work around trap limitation of some shells
17344         * tests/init.sh (setup_): Move exit trap outside of shell function.
17345
17346 2010-07-29  Eric Blake  <eblake@redhat.com>
17347
17348         strtod: aid debugging
17349         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
17350         understanding why strtod is rejected.
17351
17352 2010-07-28  Bruno Haible  <bruno@clisp.org>
17353
17354         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
17355         * lib/unistr/u8-chr.c: Include <string.h>.
17356         * tests/unistr/test-u8-chr.c: Likewise.
17357         * tests/unistr/test-u16-chr.c: Likewise.
17358         * tests/unistr/test-u32-chr.c: Likewise.
17359         * tests/unistr/test-u8-strchr.c: Likewise.
17360         * tests/unistr/test-u16-strchr.c: Likewise.
17361         * tests/unistr/test-u32-strchr.c: Likewise.
17362         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
17363         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
17364         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
17365         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
17366
17367 2010-07-28  Bruno Haible  <bruno@clisp.org>
17368
17369         Use spaces for indentation, not tabs.
17370         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
17371
17372 2010-07-27  Bruno Haible  <bruno@clisp.org>
17373
17374         mbspcasecmp: Fix function specification.
17375         * lib/string.in.h (mbspcasecmp): Fix specification comment.
17376         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
17377         Reported by Eric Blake <eblake@redhat.com>.
17378
17379 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
17380
17381         timespec: use cast and not conditional, as truncation isn't possible
17382         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
17383         instead of a conditional.  Comment about the situation in more detail.
17384         This undoes most of the 2009-10-29 patch.
17385
17386 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
17387
17388         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
17389         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
17390         * lib/unistr/u8-strchr.c: Likewise.
17391         * modules/unistr/u8-chr: Depend on memchr.
17392
17393         unistr/u*-strchr: add tests
17394         * modules/unistr/u8-strchr-tests: New file.
17395         * modules/unistr/u16-strchr-tests: New file.
17396         * modules/unistr/u32-strchr-tests: New file.
17397         * tests/unistr/test-strchr.h: New file.
17398         * tests/unistr/test-u8-strchr.c: New file.
17399         * tests/unistr/test-u16-strchr.c: New file.
17400         * tests/unistr/test-u32-strchr.c: New file.
17401
17402         unistr/u*-chr: test multibyte sequences more
17403         * tests/unistr/test-chr.h: Do complete testing of the characters in the
17404         test vector.
17405         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
17406         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
17407         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
17408
17409         unistr/u*-chr: test multibyte sequences
17410         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
17411
17412         unistr/u*-chr: prepare for multibyte tests
17413         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
17414         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
17415         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
17416         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
17417         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
17418         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
17419
17420 2010-07-18  Bruno Haible  <bruno@clisp.org>
17421
17422         unistr/u8-strchr: Optimize non-ASCII argument case.
17423         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
17424         because the first byte often matches anyway.
17425         Reported by Pádraig Brady <P@draigbrady.com>.
17426
17427 2010-07-15  Karl Berry  <karl@gnu.org>
17428
17429         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
17430
17431 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
17432
17433         getcwd: on Solaris, work better if ancestors are inaccessible
17434         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
17435         buffer and size, try again with a large buffer.  This works better
17436         on Solaris, since its getcwd succeeds even if the path to the root
17437         is inaccessible, and this is helpful in common cases such as .zfs
17438         hidden directories.  Problem reported by J Chapman Flack in
17439         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
17440         Use system getcwd if it's declared, not merely if it's partly
17441         working; use the partly-working test only to avoid needless effort
17442         if the system getcwd fails.
17443         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
17444         comment that was already obsolete and is now even more obsolete.
17445         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
17446         now might call strdup.
17447
17448 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
17449
17450         pthread: Add enough so that coreutils/src/sort.c compiles.
17451         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
17452         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
17453         gnulib. Include <sched.h> and <time.h>, as per POSIX.
17454         Include <sys/types.h>, in case it defines pthread_t.
17455         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
17456         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
17457         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
17458         (pthread_rwlockattr_t, pthread_spinlock_t):
17459         New typedefs, if HAVE_PTHREAD_T is not defined.
17460         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
17461         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
17462         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
17463         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
17464         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
17465         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
17466         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
17467         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
17468         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
17469         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
17470         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
17471         New macros.
17472         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
17473         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
17474         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
17475         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
17476         (pthread_spin_unlock): New dummy functions.
17477         (pthread_create): Return EAGAIN; don't set errno.
17478         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
17479         require AC_C_INLINE.
17480         * modules/pthread (Depends-on): Add sched, time.
17481         (pthread.h): Use AM_V_GEN.
17482
17483 2010-07-13  Bruno Haible  <bruno@clisp.org>
17484
17485         striconveh: Don't malloc memory if the result buffer is sufficient.
17486         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
17487         buffer if its size is sufficient.
17488         Reported by Ludovic Courtès <ludo@gnu.org>.
17489
17490 2010-07-13  Bruno Haible  <bruno@clisp.org>
17491
17492         strtod: Add safety check.
17493         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
17494
17495 2010-07-12  Bruno Haible  <bruno@clisp.org>
17496
17497         Unify tests that set gl_cv_func_ldexpl_no_libm.
17498         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
17499         gl_FUNC_LDEXPL.
17500         (gl_FUNC_LDEXPL): Invoke it.
17501         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17502
17503 2010-07-12  Bruno Haible  <bruno@clisp.org>
17504
17505         Unify tests that set gl_cv_func_ldexp_no_libm.
17506         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
17507         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
17508         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
17509         (configure.ac): Simply invoke gl_FUNC_LDEXP.
17510         * modules/strtod (Files): Add m4/ldexp.m4.
17511
17512 2010-07-12  Bruno Haible  <bruno@clisp.org>
17513
17514         Unify tests that set gl_cv_func_frexpl_no_libm.
17515         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
17516         gl_FUNC_FREXPL_NO_LIBM.
17517         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
17518         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17519
17520 2010-07-12  Bruno Haible  <bruno@clisp.org>
17521
17522         Unify tests that set gl_cv_func_frexp_no_libm.
17523         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
17524         gl_FUNC_FREXP_NO_LIBM.
17525         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
17526         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
17527
17528 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17529
17530         memcoll: clarify sizes versus lengths, document better, and tweak perf
17531         * lib/memcoll.c (strcoll_loop, memcoll0):
17532         Improve quality of descriptive comments.  Name variables
17533         consistently as to whether they are lengths (which do not include
17534         terminating null) versus sizes (which do).
17535         * lib/xmemcoll.c (xmemcoll0): Likewise.
17536         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
17537         returned when s1size == 0; this is easier to compile and saves
17538         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
17539
17540 2010-07-12  Bruno Haible  <bruno@clisp.org>
17541
17542         Tests for module '_Exit'.
17543         * modules/_Exit-tests: New file.
17544         * tests/test-_Exit.sh: New file.
17545         * tests/test-_Exit.c: New file.
17546
17547         New module '_Exit'.
17548         * lib/stdlib.in.h (__attribute__): New macro.
17549         (_Exit): New declaration.
17550         * lib/_Exit.c: New file.
17551         * m4/_Exit.m4: New file.
17552         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
17553         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
17554         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
17555         * modules/_Exit: New file.
17556         * tests/test-stdlib-c++.cc (_Exit): Check signature.
17557         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
17558
17559 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17560
17561         strtod: make it more-accurate typically, and don't require libm
17562         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
17563         Include limits.h.  Don't include string.h.
17564         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
17565         (locale_isspace): New function, so that no casts are needed to
17566         check whether *s is a space.
17567         (ldexp): Provide an unused dummy if not available.
17568         (scale_radix_exp, parse_number, underlying_strtod): New functions.
17569         (strtod): Use them.  This implementation prefers to use the
17570         underlying strtod if available, falling back on our own code
17571         only to fix known bugs.  This is more likely to produce an
17572         accurate result.  Also, it avoids the use of libm functions.
17573         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
17574         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
17575         was absent, but it caused a test failure with coreutils.
17576         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
17577         with libm.
17578         * modules/strtod (Makefile.am, Link): libm is no longer needed.
17579         * modules/strtod-tests (Makefile.am): Likewise.
17580
17581 2010-07-11  Pádraig Brady  <P@draigBrady.com>
17582             Bruno Haible  <bruno@clisp.org>
17583
17584         unistr/u8-strchr: Optimize ASCII argument case.
17585         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
17586
17587 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17588
17589         (x)memcoll: minor tweaks
17590         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
17591         is after the type that it qualifies.
17592         (memcoll0): Likewise.
17593         * lib/memcoll.h (memcoll0): Likewise.
17594         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
17595         * lib/xmemcoll.h (xmemcoll0): Likewise.
17596         * lib/memcoll.c (memcoll0): Correct the comment.  This function
17597         differs from memcoll in that the NUL byte is part of the argument.
17598         Omit the abort-checks, as performance is a real issue here.  Plus,
17599         the checks were wrong anyway (an off-by-one error).  Omit local
17600         variable 'diff', as it's a bit clearer that way.
17601         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
17602         no longer needed.
17603
17604 2010-07-08  Chen Guo <chenguo4@yahoo.com>
17605
17606         (x)memcoll: speedup when input is known to be NUL delimited
17607         * lib/memcoll.c: Include stdlib.
17608         (memcoll0): New function.
17609         (strcoll_loop): New function, refactored for use in both memcoll
17610         and memcoll0.
17611         * lib/memcoll.h (memcoll0): Add prototype.
17612         * lib/xmemcoll.c (xmemcoll0): New function.
17613         (collate_error): New function, refactored for use in both xmemcoll
17614         and xmemcoll0.
17615         * lib/xmemcoll.h (xmemcoll0): Add prototype.
17616         * m4/memcoll.m4: add inline invocation.
17617
17618 2010-07-06  Pádraig Brady  <P@draigBrady.com>
17619
17620         * build-aux/bootstrap: Remove any local translations
17621         from the translation project synchronization directory,
17622         so that local only translations are not distributed.
17623
17624 2010-07-04  Bruno Haible  <bruno@clisp.org>
17625
17626         fsusage: Clarify which code applies to which platforms.
17627         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
17628         platform.
17629         * lib/fsusage.c (get_fs_usage): Likewise.
17630
17631 2010-07-04  Bruno Haible  <bruno@clisp.org>
17632
17633         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
17634         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
17635         Reported by Martin Lambers <marlam@marlam.de>.
17636
17637 2010-07-04  Jim Meyering  <meyering@redhat.com>
17638
17639         hash: once again explicitly disallow insertion of NULL
17640         * lib/hash.c (hash_insert0): Reinstate just-removed test:
17641         inserting a NULL pointer cannot work with these functions.
17642         Add a comment with details.
17643         This reverts part of the 2010-07-01 commit, 5bef1a35
17644         "hash: extend module to deal with non-pointer keys".
17645
17646 2010-07-01  Bruno Haible  <bruno@clisp.org>
17647
17648         stdbool: Update doc.
17649         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
17650         Info from Christian Weisgerber <naddy@mips.inka.de>.
17651
17652 2010-07-01  Jim Meyering  <meyering@redhat.com>
17653
17654         hash: extend module to deal with non-pointer keys
17655         * lib/hash.c (hash_insert0): New interface, much like hash_insert
17656         but that allows insertion of non-pointer entries.
17657         Do not disallow an ENTRY value of NULL.
17658         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
17659         * lib/hash.h (hash_insert0): Declare.
17660
17661 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17662
17663         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
17664         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
17665         not present (i.e. with autoconf 2.59 and when using gettextize, not
17666         gnulib), require AC_GNU_SOURCE instead.
17667
17668 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
17669
17670         idpriv-drop: Fix tests.
17671         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
17672         not to the test-idpriv-droptemp program.
17673
17674 2010-06-29  Bruno Haible  <bruno@clisp.org>
17675
17676         string: Fix syntax error with g++ 2.96.
17677         * lib/string.in.h (__pure__): Remove definition.
17678         (_GL_ATTRIBUTE_PURE): New macro.
17679         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
17680         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
17681         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17682
17683 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
17684
17685         unitypes: Fix bug introduced on 2010-05-18.
17686         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
17687
17688 2010-06-22  Eric Blake  <eblake@redhat.com>
17689
17690         memmem: slight optimization
17691         * lib/str-two-way.h (critical_factorization): Update comments.
17692         Reduce work during factorization phase.
17693         Reported by Carlos Bueno <carlos@bueno.org>.
17694
17695 2010-06-21  Bruno Haible  <bruno@clisp.org>
17696
17697         Fix HAVE_CALLOC_POSIX misnomer.
17698         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
17699         !HAVE_CALLOC_POSIX.
17700         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
17701         HAVE_CALLOC_POSIX.
17702         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
17703         instead of HAVE_CALLOC_POSIX.
17704         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
17705         HAVE_CALLOC_POSIX.
17706
17707         Use modern idiom for calloc() replacement.
17708         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
17709         AC_FUNC_CALLOC.
17710         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
17711         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
17712         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17713         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
17714         (gl_REPLACE_CALLOC): New macro.
17715
17716 2010-06-21  Bruno Haible  <bruno@clisp.org>
17717
17718         Fix HAVE_REALLOC_POSIX misnomer.
17719         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
17720         !HAVE_REALLOC_POSIX.
17721         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
17722         HAVE_REALLOC_POSIX.
17723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
17724         instead of HAVE_REALLOC_POSIX.
17725         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
17726         HAVE_REALLOC_POSIX.
17727
17728         Use modern idiom for realloc() replacement.
17729         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
17730         AC_FUNC_REALLOC.
17731         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
17732         Autoconf's AC_FUNC_REALLOC.
17733         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17734         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
17735         (gl_REPLACE_REALLOC): New macro.
17736         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17737
17738 2010-06-21  Bruno Haible  <bruno@clisp.org>
17739
17740         Fix HAVE_MALLOC_POSIX misnomer.
17741         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
17742         !HAVE_MALLOC_POSIX.
17743         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
17744         HAVE_MALLOC_POSIX.
17745         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
17746         instead of HAVE_MALLOC_POSIX.
17747         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
17748         HAVE_MALLOC_POSIX.
17749
17750         Use modern idiom for malloc() replacement.
17751         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
17752         AC_FUNC_MALLOC.
17753         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
17754         Autoconf's AC_FUNC_MALLOC.
17755         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17756         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
17757         (gl_REPLACE_MALLOC): New macro.
17758         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17759
17760 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
17761
17762         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
17763         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
17764         This macro takes 3 arguments, not 4.
17765
17766 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
17767
17768         ipv6: fix detection under mingw
17769         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
17770         in6_addr.
17771
17772 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
17773
17774         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
17775         that strtod() works when cross-compiling to a glibc version known
17776         to work.
17777
17778 2010-06-15  Bruno Haible  <bruno@clisp.org>
17779
17780         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
17781
17782 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
17783
17784         select: Correct timeout.
17785         * lib/select.c (rpl_select): Compute wait_timeout correctly.
17786
17787 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17788
17789         git-version-gen: init shell var to avoid env var influence
17790         * build-aux/git-version-gen (v): Init shell var to empty.
17791
17792 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
17793
17794         priv-set: Don't assume that priv.h exists merely because getppriv does.
17795         See Jan Andersen's bug report about AIX 5L in
17796         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
17797         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
17798         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
17799         * lib/priv-set.h: Likewise.
17800         * tests/test-priv-set.c: Likewise.
17801
17802 2010-06-13  Bruno Haible  <bruno@clisp.org>
17803
17804         relocatable: Make it easier to test whether to install wrappers.
17805         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
17806         RELOCATABLE_VIA_WRAPPER.
17807
17808 2010-06-13  Bruno Haible  <bruno@clisp.org>
17809
17810         gnulib-tool: Display specified modules and dependencies differently.
17811         * gnulib-tool (func_show_module_list): New function.
17812         (func_import, func_create_testdir): Invoke it.
17813         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
17814
17815 2010-06-13  Bruno Haible  <bruno@clisp.org>
17816
17817         gnulib-tool: Align code of func_import and func_create_testdir.
17818         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
17819         specified_modules.
17820
17821 2010-06-12  Jim Meyering  <meyering@redhat.com>
17822
17823         test-inttostr: avoid spurious failure on Solaris 9
17824         * tests/test-inttostr.c (main): Skip the test when snprintf fails
17825         to accept "%ju".  Reported by Bruno Haible.
17826
17827 2010-06-11  Jim Meyering  <meyering@redhat.com>
17828
17829         test-sys_socket: mark variables as used more readably
17830         * tests/test-sys_socket.c (main): Mark otherwise unused variables
17831         as "used" explicitly via (void) statement casts.  This is more
17832         readable than using them in an artificial return expression.
17833         Suggestion from Bruno Haible.
17834
17835 2010-06-11  Bruno Haible  <bruno@clisp.org>
17836
17837         Avoid some more warnings from "gcc -Wwrite-strings".
17838         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
17839         to 'const char *'.
17840         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
17841         * tests/test-c-strcasestr.c (main): Likewise.
17842         * tests/test-mbscasestr1.c (main): Likewise.
17843         * tests/test-mbscasestr2.c (main): Likewise.
17844         * tests/test-memmem.c (main): Likewise.
17845         * tests/test-strstr.c (main): Likewise.
17846         * tests/test-strcasestr.c (main): Likewise.
17847
17848 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17849
17850         init.sh: change framework_failure_ to fail with status 99, not 1
17851         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
17852         automake's parallel-tests rule that this is an unexpected failure,
17853         even if the test is listed in XFAIL_TESTS.
17854
17855 2010-06-11  Jim Meyering  <meyering@redhat.com>
17856
17857         test-inttostr: avoid warnings about 4-6KB literal strings
17858         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
17859         Include "macros.h", for its definition of ASSERT.
17860         (CK): s/assert/ASSERT/
17861         * modules/inttostr-tests (Files): Add macros.h.
17862
17863         init.sh: don't use $ME_ or skip_ before they are defined
17864         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
17865         their first uses.  Also hoist their companions: warn_, fail_,
17866         framework_failure_, $stderr_fileno.  Prompted by a patch from
17867         Stefano Lattarini.
17868
17869         test-sys_socket: avoid set-but-not-used warnings from gcc
17870         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
17871         avoid warning about set-but-not-used variables.
17872
17873         test-xvasprintf: avoid 'const' discard warnings
17874         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
17875         "const" when assigning from literal strings.
17876         (test_xasprintf): Add "void" in function argument list to placate
17877         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
17878
17879         tests: avoid compilation warnings in argmatch and exclude tests...
17880         in packages that define ARGMATCH_DIE_DECL, like coreutils.
17881         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
17882         Since it always exits, declare with the "noreturn" attribute.
17883         * tests/test-argmatch.c: Likewise.
17884
17885         tests: avoid 'const' discard warnings in mbsstr tests
17886         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
17887         * tests/test-mbsstr2.c (main): Likewise.
17888
17889         test-verify: avoid warning from gcc's -Wmissing-declarations
17890         * tests/test-verify.c (function): Declare to be static.
17891
17892         test-inttostr.c: include <string.h> for use of strcmp
17893         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
17894
17895         test-linkat: avoid failed assertion on "other" architectures
17896         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
17897         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
17898         sparc: https://bugs.launchpad.net/bugs/591968
17899
17900 2010-06-11  Jim Meyering  <meyering@redhat.com>
17901
17902         printf.m4: avoid autoconf's "Expanded Before Required" warning
17903         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
17904         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
17905         autoconf warning.
17906
17907 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
17908
17909         Replacement header templates are now named with ".in", not "_".
17910         * doc/gnulib-intro.texi: Correct.
17911
17912 2010-06-10  Jim Meyering  <meyering@redhat.com>
17913
17914         inttostr-tests: depend on snprintf, not snprintf-posix
17915         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
17916         snprintf-posix, to avoid this aclocal failure:
17917           missing file gnulib-tests/vasnprintf.c
17918           configure.ac:45: error: expected source file, required through \
17919           AC_LIBSOURCES, not found
17920
17921 2010-06-10  Jim Meyering  <meyering@redhat.com>
17922
17923         inttostr: add a new function, inttostr, and tests
17924         The namesake function was not available.  The existence of the
17925         template file, inttostr.c makes its addition nontrivial.
17926         * lib/anytostr.c: Rename from inttostr.c.
17927         (anytostr): Rename from inttostr.
17928         * lib/inttostr.c: New file.
17929         * modules/inttostr (Files): Add anytostr.c.
17930         (Makefile.am): Set lib_SOURCES instead of ...
17931         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
17932         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
17933         * lib/offtostr.c: Likewise.
17934         * lib/uinttostr.c: Likewise.
17935         * lib/umaxtostr.c: Likewise.
17936         * modules/inttostr-tests: New file.
17937         * tests/test-inttostr.c: New file.  Test these functions.
17938
17939 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
17940             Bruno Haible  <bruno@clisp.org>
17941
17942         Add "Extending Gnulib" chapter to manual.
17943         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
17944         chapter.
17945         (Extending Gnulib): New chapter.
17946         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
17947         chapter.
17948
17949 2010-06-09  Bruno Haible  <bruno@clisp.org>
17950
17951         Avoid relocwrapper link errors due to gnulib replacement functions.
17952         * lib/areadlink.c: Use the system's malloc, realloc functions.
17953         (areadlink): Set errno to ENOMEM explicitly.
17954         * modules/areadlink (Depends-on): Remove malloc-posix.
17955         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17956
17957 2010-06-09  Bruno Haible  <bruno@clisp.org>
17958
17959         Avoid relocwrapper link errors due to gnulib replacement functions.
17960         * lib/canonicalize-lgpl.c: Use the system's malloc function.
17961         * lib/malloca.c: Likewise.
17962         * lib/relocatable.c: Likewise.
17963         * lib/progreloc.c: Use the system's malloc, sprintf functions.
17964         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
17965         * lib/setenv.c: Use the system's malloc, realloc functions.
17966         * lib/strerror.c: Use the system's sprintf function.
17967         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17968
17969 2010-06-04  Bruno Haible  <bruno@clisp.org>
17970
17971         Prefer documented low-level autoconf macro names.
17972         * m4/lib-link.m4: Use m4_translit instead of translit.
17973         * m4/environ.m4: Likewise.
17974         * m4/mathfunc.m4: Likewise.
17975         * m4/onceonly.m4: Likewise.
17976         * m4/stdint.m4: Likewise.
17977         Suggested by Eric Blake.
17978
17979 2010-06-04  Martin Lambers  <marlam@marlam.de>
17980             Bruno Haible  <bruno@clisp.org>
17981
17982         havelib: Allow library names with '+' characters.
17983         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
17984         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
17985
17986 2010-06-09  Bruno Haible  <bruno@clisp.org>
17987
17988         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
17989         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
17990         realloc failed.
17991
17992 2010-06-08  Peter Simons  <simons@cryp.to>
17993
17994         maint.mk: make the news-check rule more configurable
17995         * top/maint.mk (news-check-lines-spec): New variable.
17996         (news-check): Use "sed -n 1,10p" in place of "head".
17997
17998 2010-06-07  Jim Meyering  <meyering@redhat.com>
17999
18000         do-release-commit-and-tag: fix typo in --help
18001         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
18002
18003         regex: avoid new dead-code warning with gcc-4.6.0
18004         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
18005         if-block containing a while-loop.  It's been unused for at least
18006         5 years.
18007
18008 2010-06-05  Bruno Haible  <bruno@clisp.org>
18009
18010         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
18011         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
18012
18013 2010-06-04  Bruno Haible  <bruno@clisp.org>
18014
18015         Update to GNU gettext 0.18.1.
18016         * modules/gettext (configure.ac): Require gettext infrastructure from
18017         version 0.18.1.
18018
18019 2010-06-03  Bruno Haible  <bruno@clisp.org>
18020
18021         Don't use AC_LIBOBJ with file names in subdirectories.
18022         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
18023         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
18024         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
18025         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
18026         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
18027         gl_LIBUNISTRING_LIBSOURCE.
18028         (Makefile.am): Augment lib_SOURCES here, conditionally.
18029         * NEWS: Drop requirement for Automake option 'subdir-objects'.
18030
18031 2010-06-03  Bruno Haible  <bruno@clisp.org>
18032
18033         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
18034         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
18035         expansion does not end with a newline.
18036         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
18037         unnecessary newline.
18038
18039 2010-06-03  Bruno Haible  <bruno@clisp.org>
18040
18041         Reduce dependencies.
18042         * tests/test-quotearg.h: New file, extracted from
18043         tests/test-quotearg.c.
18044         * tests/test-quotearg-simple.c: New file, extracted from
18045         tests/test-quotearg.c.
18046         * tests/test-quotearg.c: Don't include <ctype.h>.
18047         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
18048         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
18049         use_quote_double_quotes, use_quotearg_colon): Moved to
18050         tests/test-quotearg.h.
18051         (results_g, flag_results, custom_quotes, custom_results): Moved
18052         to tests/test-quotearg-simple.c.
18053         (main): Moved the part that does not depend on gettext to
18054         tests/test-quotearg-simple.c. Return 77 if the test cannot be
18055         performed.
18056         * modules/quotearg-simple: New file.
18057         * modules/quotearg-simple-tests: New file.
18058         * modules/quotearg (Depends-on): Add quotearg-simple.
18059         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
18060         (Files): Add tests/test-quotearg.h.
18061         Reported by Paolo Bonzini.
18062
18063 2010-06-03  Bruno Haible  <bruno@clisp.org>
18064
18065         Reduce dependencies.
18066         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
18067
18068 2010-06-03  Bruno Haible  <bruno@clisp.org>
18069
18070         time: Undefine more broken macros.
18071         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
18072         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
18073         Reported by Eric Blake.
18074
18075 2010-06-03  Bruno Haible  <bruno@clisp.org>
18076
18077         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
18078         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
18079         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
18080         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
18081         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
18082         Reported by Ludovic Courtès <ludo@gnu.org>.
18083
18084 2010-06-02  Eric Blake  <eblake@redhat.com>
18085
18086         time: work with mingw + pthreads-win32 library
18087         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
18088         if timespec is defined only in pthread.h.
18089         * modules/time (Makefile.am): Substitute it.
18090         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
18091         <pthread.h>, when needed.
18092         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
18093         from the library.
18094
18095 2010-05-31  Bruno Haible  <bruno@clisp.org>
18096
18097         Avoid expanding two macros in the wrong order.
18098         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
18099         gl_LIBUNISTRING if it is defined.
18100         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
18101         autoconf >= 2.64.
18102         Reported by Ludovic Courtès <ludo@gnu.org>.
18103
18104 2010-05-27  Jim Meyering  <meyering@redhat.com>
18105
18106         maint.mk: also prohibit "#undef" of always-defined symbols
18107         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
18108         Allow more than one space before the symbol name.
18109         (sc_prohibit_always-defined_macros): Use grep's -E, now that
18110         the regexp uses alternation.
18111
18112 2010-05-26  Eric Blake  <eblake@redhat.com>
18113
18114         maint.mk: avoid echo -e
18115         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
18116         Convert all uses of echo -* to printf.
18117         Reported by Matthias Bolte.
18118
18119 2010-05-25  Bruno Haible  <bruno@clisp.org>
18120
18121         Update to GNU gettext 0.18, part 2.
18122         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
18123         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
18124
18125 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18126
18127         Add missing include in test-pwrite.c.
18128         * tests/test-pwrite.c: Include string.h, for strcmp.
18129
18130 2010-05-24  Bruno Haible  <bruno@clisp.org>
18131
18132         * NEWS: Mention requirement for Automake option 'subdir-objects'.
18133
18134 2010-05-24  Bruno Haible  <bruno@clisp.org>
18135
18136         Don't use conversion with transliteration in u{8,16,32}_strcoll.
18137         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
18138         iconveh_error argument.
18139         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
18140         U_STRCONV_TO_LOCALE.
18141         * lib/unistr/u16-strcoll.c: Likewise.
18142         * lib/unistr/u32-strcoll.c: Likewise.
18143         * modules/unistr/u8-strcoll (Depends-on): Add
18144         uniconv/u8-strconv-to-enc, localcharset. Remove
18145         uniconv/u8-strconv-to-locale.
18146         (configure.ac): Bump version number.
18147         * modules/unistr/u16-strcoll (Depends-on): Add
18148         uniconv/u16-strconv-to-enc, localcharset. Remove
18149         uniconv/u16-strconv-to-locale.
18150         (configure.ac): Bump version number.
18151         * modules/unistr/u32-strcoll (Depends-on): Add
18152         uniconv/u32-strconv-to-enc, localcharset. Remove
18153         uniconv/u32-strconv-to-locale.
18154         (configure.ac): Bump version number.
18155
18156 2010-05-24  Bruno Haible  <bruno@clisp.org>
18157
18158         Avoid a test failure on NetBSD 5.0.
18159         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
18160         an iconv() bug.
18161
18162 2010-05-24  Bruno Haible  <bruno@clisp.org>
18163
18164         Adjust #include directive style.
18165         * modules/regex (Includes): Recommend to write <regex.h>.
18166
18167 2010-05-24  Bruno Haible  <bruno@clisp.org>
18168
18169         regex: Don't require alloca.
18170         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
18171         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
18172         only inside if (0).
18173
18174 2010-05-23  Jim Meyering  <meyering@redhat.com>
18175
18176         test-renameat.c: include <sys/stat.h>
18177         * tests/test-renameat.c: Include <sys/stat.h>; required for
18178         definition of S_IS* macros.
18179
18180 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
18181
18182         Update maintainer documentation for 'relocatable-prog' module.
18183         * doc/relocatable-maint.texi: Update.
18184         Comments by Bruno Haible.
18185
18186 2010-05-23  Bruno Haible  <bruno@clisp.org>
18187
18188         git-merge-changelog: Enable --split-merged-entry by default.
18189         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
18190         (usage): Don't mention this option any more.
18191         Reported by Ralf Wildenhues.
18192
18193 2010-05-23  Jim Meyering  <meyering@redhat.com>
18194
18195         test-pwrite: do not leave behind a test file named "out"
18196         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
18197         The trivial-looking use of init.sh is really necessary.
18198         It ensures that the temporary file, "out", is created in
18199         a temporary directory, and removed upon termination.
18200         * tests/test-pwrite.sh: Re-add file.
18201         * modules/pwrite-tests: Reference it.
18202
18203 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18204
18205         Fix output redirection buglet in init.sh.
18206         * tests/init.sh: Fix redirection of stderr.
18207
18208 2010-05-20  Simon Josefsson  <simon@josefsson.org>
18209
18210         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
18211
18212 2010-05-17  Simon Josefsson  <simon@josefsson.org>
18213
18214         * modules/valgrind-tests: New file.
18215         * m4/valgrind-tests.m4: New file.
18216         * doc/valgrind-tests.texi: New file.
18217         * doc/gnulib.texi (Running self-tests under valgrind): New
18218         section.
18219
18220 2010-05-19  Bruno Haible  <bruno@clisp.org>
18221
18222         Clean up dead code in recent commit.
18223         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
18224         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
18225         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
18226         Suggested by Paolo Bonzini.
18227
18228 2010-05-19  Bruno Haible  <bruno@clisp.org>
18229
18230         Avoid valgrind error reports from libunistring.
18231         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
18232         * modules/libunistring (Files): Add it.
18233         * modules/libunistring-optional (Files): Likewise.
18234
18235 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
18236             Bruno Haible  <bruno@clisp.org>
18237
18238         New module 'libunistring-optional'.
18239         * modules/libunistring-optional: New file.
18240         * m4/libunistring-base.m4: New file.
18241         * m4/libunistring-optional.m4: New file.
18242         * lib/unicase.in.h: Renamed from lib/unicase.h.
18243         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
18244         * lib/unictype.in.h: Renamed from lib/unictype.h.
18245         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
18246         * lib/uniname.in.h: Renamed from lib/uniname.h.
18247         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
18248         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
18249         * lib/unistr.in.h: Renamed from lib/unistr.h.
18250         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
18251         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
18252         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
18253         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
18254         gl_LIBUNISTRING. If the library was found, determine the installed
18255         version and set LIBUNISTRING_VERSION.
18256         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
18257         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
18258         handle a configuration option --with-included-libunistring.
18259         * modules/libunistring (Files): Add m4/absolute-header.m4.
18260         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
18261         Add m4/libunistring-base.m4.
18262         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18263         (Makefile.am): Build unicase.h from unicase.in.h.
18264         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
18265         Add m4/libunistring-base.m4.
18266         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18267         (Makefile.am): Build uniconv.h from uniconv.in.h.
18268         * modules/unictype/base (Files): Use unictype.in.h instead of
18269         unictype.h. Add m4/libunistring-base.m4.
18270         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18271         (Makefile.am): Build unictype.h from unictype.in.h.
18272         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
18273         Add m4/libunistring-base.m4.
18274         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18275         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
18276         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
18277         Add m4/libunistring-base.m4.
18278         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18279         (Makefile.am): Build uniname.h from uniname.in.h.
18280         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
18281         Add m4/libunistring-base.m4.
18282         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18283         (Makefile.am): Build uninorm.h from uninorm.in.h.
18284         * modules/unistdio/base (Files): Use unistdio.in.h instead of
18285         unistdio.h. Add m4/libunistring-base.m4.
18286         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18287         (Makefile.am): Build unistdio.h from unistdio.in.h.
18288         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
18289         Add m4/libunistring-base.m4.
18290         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18291         (Makefile.am): Build unistr.h from unistr.in.h.
18292         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
18293         Add m4/libunistring-base.m4.
18294         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18295         (Makefile.am): Build unitypes.h from unitypes.in.h.
18296         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
18297         Add m4/libunistring-base.m4.
18298         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18299         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
18300         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
18301         uniwidth.h. Add m4/libunistring-base.m4.
18302         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18303         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
18304         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
18305         instead of augmenting lib_SOURCES.
18306         * modules/unicase/empty-suffix-context: Likewise.
18307         * modules/unicase/locale-language: Likewise.
18308         * modules/unicase/tolower: Likewise.
18309         * modules/unicase/totitle: Likewise.
18310         * modules/unicase/toupper: Likewise.
18311         * modules/unicase/u8-casecmp: Likewise.
18312         * modules/unicase/u8-casecoll: Likewise.
18313         * modules/unicase/u8-casefold: Likewise.
18314         * modules/unicase/u8-casexfrm: Likewise.
18315         * modules/unicase/u8-ct-casefold: Likewise.
18316         * modules/unicase/u8-ct-tolower: Likewise.
18317         * modules/unicase/u8-ct-totitle: Likewise.
18318         * modules/unicase/u8-ct-toupper: Likewise.
18319         * modules/unicase/u8-is-cased: Likewise.
18320         * modules/unicase/u8-is-casefolded: Likewise.
18321         * modules/unicase/u8-is-lowercase: Likewise.
18322         * modules/unicase/u8-is-titlecase: Likewise.
18323         * modules/unicase/u8-is-uppercase: Likewise.
18324         * modules/unicase/u8-prefix-context: Likewise.
18325         * modules/unicase/u8-suffix-context: Likewise.
18326         * modules/unicase/u8-tolower: Likewise.
18327         * modules/unicase/u8-totitle: Likewise.
18328         * modules/unicase/u8-toupper: Likewise.
18329         * modules/unicase/u16-casecmp: Likewise.
18330         * modules/unicase/u16-casecoll: Likewise.
18331         * modules/unicase/u16-casefold: Likewise.
18332         * modules/unicase/u16-casexfrm: Likewise.
18333         * modules/unicase/u16-ct-casefold: Likewise.
18334         * modules/unicase/u16-ct-tolower: Likewise.
18335         * modules/unicase/u16-ct-totitle: Likewise.
18336         * modules/unicase/u16-ct-toupper: Likewise.
18337         * modules/unicase/u16-is-cased: Likewise.
18338         * modules/unicase/u16-is-casefolded: Likewise.
18339         * modules/unicase/u16-is-lowercase: Likewise.
18340         * modules/unicase/u16-is-titlecase: Likewise.
18341         * modules/unicase/u16-is-uppercase: Likewise.
18342         * modules/unicase/u16-prefix-context: Likewise.
18343         * modules/unicase/u16-suffix-context: Likewise.
18344         * modules/unicase/u16-tolower: Likewise.
18345         * modules/unicase/u16-totitle: Likewise.
18346         * modules/unicase/u16-toupper: Likewise.
18347         * modules/unicase/u32-casecmp: Likewise.
18348         * modules/unicase/u32-casecoll: Likewise.
18349         * modules/unicase/u32-casefold: Likewise.
18350         * modules/unicase/u32-casexfrm: Likewise.
18351         * modules/unicase/u32-ct-casefold: Likewise.
18352         * modules/unicase/u32-ct-tolower: Likewise.
18353         * modules/unicase/u32-ct-totitle: Likewise.
18354         * modules/unicase/u32-ct-toupper: Likewise.
18355         * modules/unicase/u32-is-cased: Likewise.
18356         * modules/unicase/u32-is-casefolded: Likewise.
18357         * modules/unicase/u32-is-lowercase: Likewise.
18358         * modules/unicase/u32-is-titlecase: Likewise.
18359         * modules/unicase/u32-is-uppercase: Likewise.
18360         * modules/unicase/u32-prefix-context: Likewise.
18361         * modules/unicase/u32-suffix-context: Likewise.
18362         * modules/unicase/u32-tolower: Likewise.
18363         * modules/unicase/u32-totitle: Likewise.
18364         * modules/unicase/u32-toupper: Likewise.
18365         * modules/unicase/ulc-casecmp: Likewise.
18366         * modules/unicase/ulc-casecoll: Likewise.
18367         * modules/unicase/ulc-casexfrm: Likewise.
18368         * modules/uniconv/u8-conv-from-enc: Likewise.
18369         * modules/uniconv/u8-conv-to-enc: Likewise.
18370         * modules/uniconv/u8-strconv-from-enc: Likewise.
18371         * modules/uniconv/u8-strconv-from-locale: Likewise.
18372         * modules/uniconv/u8-strconv-to-enc: Likewise.
18373         * modules/uniconv/u8-strconv-to-locale: Likewise.
18374         * modules/uniconv/u16-conv-from-enc: Likewise.
18375         * modules/uniconv/u16-conv-to-enc: Likewise.
18376         * modules/uniconv/u16-strconv-from-enc: Likewise.
18377         * modules/uniconv/u16-strconv-from-locale: Likewise.
18378         * modules/uniconv/u16-strconv-to-enc: Likewise.
18379         * modules/uniconv/u16-strconv-to-locale: Likewise.
18380         * modules/uniconv/u32-conv-from-enc: Likewise.
18381         * modules/uniconv/u32-conv-to-enc: Likewise.
18382         * modules/uniconv/u32-strconv-from-enc: Likewise.
18383         * modules/uniconv/u32-strconv-from-locale: Likewise.
18384         * modules/uniconv/u32-strconv-to-enc: Likewise.
18385         * modules/uniconv/u32-strconv-to-locale: Likewise.
18386         * modules/unictype/bidicategory-byname: Likewise.
18387         * modules/unictype/bidicategory-name: Likewise.
18388         * modules/unictype/bidicategory-of: Likewise.
18389         * modules/unictype/bidicategory-test: Likewise.
18390         * modules/unictype/block-list: Likewise.
18391         * modules/unictype/block-test: Likewise.
18392         * modules/unictype/category-C: Likewise.
18393         * modules/unictype/category-Cc: Likewise.
18394         * modules/unictype/category-Cf: Likewise.
18395         * modules/unictype/category-Cn: Likewise.
18396         * modules/unictype/category-Co: Likewise.
18397         * modules/unictype/category-Cs: Likewise.
18398         * modules/unictype/category-L: Likewise.
18399         * modules/unictype/category-Ll: Likewise.
18400         * modules/unictype/category-Lm: Likewise.
18401         * modules/unictype/category-Lo: Likewise.
18402         * modules/unictype/category-Lt: Likewise.
18403         * modules/unictype/category-Lu: Likewise.
18404         * modules/unictype/category-M: Likewise.
18405         * modules/unictype/category-Mc: Likewise.
18406         * modules/unictype/category-Me: Likewise.
18407         * modules/unictype/category-Mn: Likewise.
18408         * modules/unictype/category-N: Likewise.
18409         * modules/unictype/category-Nd: Likewise.
18410         * modules/unictype/category-Nl: Likewise.
18411         * modules/unictype/category-No: Likewise.
18412         * modules/unictype/category-P: Likewise.
18413         * modules/unictype/category-Pc: Likewise.
18414         * modules/unictype/category-Pd: Likewise.
18415         * modules/unictype/category-Pe: Likewise.
18416         * modules/unictype/category-Pf: Likewise.
18417         * modules/unictype/category-Pi: Likewise.
18418         * modules/unictype/category-Po: Likewise.
18419         * modules/unictype/category-Ps: Likewise.
18420         * modules/unictype/category-S: Likewise.
18421         * modules/unictype/category-Sc: Likewise.
18422         * modules/unictype/category-Sk: Likewise.
18423         * modules/unictype/category-Sm: Likewise.
18424         * modules/unictype/category-So: Likewise.
18425         * modules/unictype/category-Z: Likewise.
18426         * modules/unictype/category-Zl: Likewise.
18427         * modules/unictype/category-Zp: Likewise.
18428         * modules/unictype/category-Zs: Likewise.
18429         * modules/unictype/category-and: Likewise.
18430         * modules/unictype/category-and-not: Likewise.
18431         * modules/unictype/category-byname: Likewise.
18432         * modules/unictype/category-name: Likewise.
18433         * modules/unictype/category-none: Likewise.
18434         * modules/unictype/category-of: Likewise.
18435         * modules/unictype/category-or: Likewise.
18436         * modules/unictype/category-test: Likewise.
18437         * modules/unictype/combining-class: Likewise.
18438         * modules/unictype/ctype-alnum: Likewise.
18439         * modules/unictype/ctype-alpha: Likewise.
18440         * modules/unictype/ctype-blank: Likewise.
18441         * modules/unictype/ctype-cntrl: Likewise.
18442         * modules/unictype/ctype-digit: Likewise.
18443         * modules/unictype/ctype-graph: Likewise.
18444         * modules/unictype/ctype-lower: Likewise.
18445         * modules/unictype/ctype-print: Likewise.
18446         * modules/unictype/ctype-punct: Likewise.
18447         * modules/unictype/ctype-space: Likewise.
18448         * modules/unictype/ctype-upper: Likewise.
18449         * modules/unictype/ctype-xdigit: Likewise.
18450         * modules/unictype/decimal-digit: Likewise.
18451         * modules/unictype/digit: Likewise.
18452         * modules/unictype/mirror: Likewise.
18453         * modules/unictype/numeric: Likewise.
18454         * modules/unictype/property-alphabetic: Likewise.
18455         * modules/unictype/property-ascii-hex-digit: Likewise.
18456         * modules/unictype/property-bidi-arabic-digit: Likewise.
18457         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
18458         * modules/unictype/property-bidi-block-separator: Likewise.
18459         * modules/unictype/property-bidi-boundary-neutral: Likewise.
18460         * modules/unictype/property-bidi-common-separator: Likewise.
18461         * modules/unictype/property-bidi-control: Likewise.
18462         * modules/unictype/property-bidi-embedding-or-override: Likewise.
18463         * modules/unictype/property-bidi-eur-num-separator: Likewise.
18464         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
18465         * modules/unictype/property-bidi-european-digit: Likewise.
18466         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
18467         * modules/unictype/property-bidi-left-to-right: Likewise.
18468         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
18469         * modules/unictype/property-bidi-other-neutral: Likewise.
18470         * modules/unictype/property-bidi-pdf: Likewise.
18471         * modules/unictype/property-bidi-segment-separator: Likewise.
18472         * modules/unictype/property-bidi-whitespace: Likewise.
18473         * modules/unictype/property-byname: Likewise.
18474         * modules/unictype/property-combining: Likewise.
18475         * modules/unictype/property-composite: Likewise.
18476         * modules/unictype/property-currency-symbol: Likewise.
18477         * modules/unictype/property-dash: Likewise.
18478         * modules/unictype/property-decimal-digit: Likewise.
18479         * modules/unictype/property-default-ignorable-code-point: Likewise.
18480         * modules/unictype/property-deprecated: Likewise.
18481         * modules/unictype/property-diacritic: Likewise.
18482         * modules/unictype/property-extender: Likewise.
18483         * modules/unictype/property-format-control: Likewise.
18484         * modules/unictype/property-grapheme-base: Likewise.
18485         * modules/unictype/property-grapheme-extend: Likewise.
18486         * modules/unictype/property-grapheme-link: Likewise.
18487         * modules/unictype/property-hex-digit: Likewise.
18488         * modules/unictype/property-hyphen: Likewise.
18489         * modules/unictype/property-id-continue: Likewise.
18490         * modules/unictype/property-id-start: Likewise.
18491         * modules/unictype/property-ideographic: Likewise.
18492         * modules/unictype/property-ids-binary-operator: Likewise.
18493         * modules/unictype/property-ids-trinary-operator: Likewise.
18494         * modules/unictype/property-ignorable-control: Likewise.
18495         * modules/unictype/property-iso-control: Likewise.
18496         * modules/unictype/property-join-control: Likewise.
18497         * modules/unictype/property-left-of-pair: Likewise.
18498         * modules/unictype/property-line-separator: Likewise.
18499         * modules/unictype/property-logical-order-exception: Likewise.
18500         * modules/unictype/property-lowercase: Likewise.
18501         * modules/unictype/property-math: Likewise.
18502         * modules/unictype/property-non-break: Likewise.
18503         * modules/unictype/property-not-a-character: Likewise.
18504         * modules/unictype/property-numeric: Likewise.
18505         * modules/unictype/property-other-alphabetic: Likewise.
18506         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
18507         * modules/unictype/property-other-grapheme-extend: Likewise.
18508         * modules/unictype/property-other-id-continue: Likewise.
18509         * modules/unictype/property-other-id-start: Likewise.
18510         * modules/unictype/property-other-lowercase: Likewise.
18511         * modules/unictype/property-other-math: Likewise.
18512         * modules/unictype/property-other-uppercase: Likewise.
18513         * modules/unictype/property-paired-punctuation: Likewise.
18514         * modules/unictype/property-paragraph-separator: Likewise.
18515         * modules/unictype/property-pattern-syntax: Likewise.
18516         * modules/unictype/property-pattern-white-space: Likewise.
18517         * modules/unictype/property-private-use: Likewise.
18518         * modules/unictype/property-punctuation: Likewise.
18519         * modules/unictype/property-quotation-mark: Likewise.
18520         * modules/unictype/property-radical: Likewise.
18521         * modules/unictype/property-sentence-terminal: Likewise.
18522         * modules/unictype/property-soft-dotted: Likewise.
18523         * modules/unictype/property-space: Likewise.
18524         * modules/unictype/property-terminal-punctuation: Likewise.
18525         * modules/unictype/property-test: Likewise.
18526         * modules/unictype/property-titlecase: Likewise.
18527         * modules/unictype/property-unassigned-code-value: Likewise.
18528         * modules/unictype/property-unified-ideograph: Likewise.
18529         * modules/unictype/property-uppercase: Likewise.
18530         * modules/unictype/property-variation-selector: Likewise.
18531         * modules/unictype/property-white-space: Likewise.
18532         * modules/unictype/property-xid-continue: Likewise.
18533         * modules/unictype/property-xid-start: Likewise.
18534         * modules/unictype/property-zero-width: Likewise.
18535         * modules/unictype/scripts: Likewise.
18536         * modules/unictype/syntax-c-ident: Likewise.
18537         * modules/unictype/syntax-c-whitespace: Likewise.
18538         * modules/unictype/syntax-java-ident: Likewise.
18539         * modules/unictype/syntax-java-whitespace: Likewise.
18540         * modules/unilbrk/u8-possible-linebreaks: Likewise.
18541         * modules/unilbrk/u8-width-linebreaks: Likewise.
18542         * modules/unilbrk/u16-possible-linebreaks: Likewise.
18543         * modules/unilbrk/u16-width-linebreaks: Likewise.
18544         * modules/unilbrk/u32-possible-linebreaks: Likewise.
18545         * modules/unilbrk/u32-width-linebreaks: Likewise.
18546         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
18547         * modules/unilbrk/ulc-width-linebreaks: Likewise.
18548         * modules/uniname/uniname: Likewise.
18549         * modules/uninorm/canonical-decomposition: Likewise.
18550         * modules/uninorm/composition: Likewise.
18551         * modules/uninorm/decomposing-form: Likewise.
18552         * modules/uninorm/decomposition: Likewise.
18553         * modules/uninorm/filter: Likewise.
18554         * modules/uninorm/nfc: Likewise.
18555         * modules/uninorm/nfd: Likewise.
18556         * modules/uninorm/nfkc: Likewise.
18557         * modules/uninorm/nfkd: Likewise.
18558         * modules/uninorm/u8-normalize: Likewise.
18559         * modules/uninorm/u8-normcmp: Likewise.
18560         * modules/uninorm/u8-normcoll: Likewise.
18561         * modules/uninorm/u8-normxfrm: Likewise.
18562         * modules/uninorm/u16-normalize: Likewise.
18563         * modules/uninorm/u16-normcmp: Likewise.
18564         * modules/uninorm/u16-normcoll: Likewise.
18565         * modules/uninorm/u16-normxfrm: Likewise.
18566         * modules/uninorm/u32-normalize: Likewise.
18567         * modules/uninorm/u32-normcmp: Likewise.
18568         * modules/uninorm/u32-normcoll: Likewise.
18569         * modules/uninorm/u32-normxfrm: Likewise.
18570         * modules/unistdio/u8-asnprintf: Likewise.
18571         * modules/unistdio/u8-asprintf: Likewise.
18572         * modules/unistdio/u8-snprintf: Likewise.
18573         * modules/unistdio/u8-sprintf: Likewise.
18574         * modules/unistdio/u8-u8-asnprintf: Likewise.
18575         * modules/unistdio/u8-u8-asprintf: Likewise.
18576         * modules/unistdio/u8-u8-snprintf: Likewise.
18577         * modules/unistdio/u8-u8-sprintf: Likewise.
18578         * modules/unistdio/u8-u8-vasnprintf: Likewise.
18579         * modules/unistdio/u8-u8-vasprintf: Likewise.
18580         * modules/unistdio/u8-u8-vsnprintf: Likewise.
18581         * modules/unistdio/u8-u8-vsprintf: Likewise.
18582         * modules/unistdio/u8-vasnprintf: Likewise.
18583         * modules/unistdio/u8-vasprintf: Likewise.
18584         * modules/unistdio/u8-vsnprintf: Likewise.
18585         * modules/unistdio/u8-vsprintf: Likewise.
18586         * modules/unistdio/u16-asnprintf: Likewise.
18587         * modules/unistdio/u16-asprintf: Likewise.
18588         * modules/unistdio/u16-snprintf: Likewise.
18589         * modules/unistdio/u16-sprintf: Likewise.
18590         * modules/unistdio/u16-u16-asnprintf: Likewise.
18591         * modules/unistdio/u16-u16-asprintf: Likewise.
18592         * modules/unistdio/u16-u16-snprintf: Likewise.
18593         * modules/unistdio/u16-u16-sprintf: Likewise.
18594         * modules/unistdio/u16-u16-vasnprintf: Likewise.
18595         * modules/unistdio/u16-u16-vasprintf: Likewise.
18596         * modules/unistdio/u16-u16-vsnprintf: Likewise.
18597         * modules/unistdio/u16-u16-vsprintf: Likewise.
18598         * modules/unistdio/u16-vasnprintf: Likewise.
18599         * modules/unistdio/u16-vasprintf: Likewise.
18600         * modules/unistdio/u16-vsnprintf: Likewise.
18601         * modules/unistdio/u16-vsprintf: Likewise.
18602         * modules/unistdio/u32-asnprintf: Likewise.
18603         * modules/unistdio/u32-asprintf: Likewise.
18604         * modules/unistdio/u32-snprintf: Likewise.
18605         * modules/unistdio/u32-sprintf: Likewise.
18606         * modules/unistdio/u32-u32-asnprintf: Likewise.
18607         * modules/unistdio/u32-u32-asprintf: Likewise.
18608         * modules/unistdio/u32-u32-snprintf: Likewise.
18609         * modules/unistdio/u32-u32-sprintf: Likewise.
18610         * modules/unistdio/u32-u32-vasnprintf: Likewise.
18611         * modules/unistdio/u32-u32-vasprintf: Likewise.
18612         * modules/unistdio/u32-u32-vsnprintf: Likewise.
18613         * modules/unistdio/u32-u32-vsprintf: Likewise.
18614         * modules/unistdio/u32-vasnprintf: Likewise.
18615         * modules/unistdio/u32-vasprintf: Likewise.
18616         * modules/unistdio/u32-vsnprintf: Likewise.
18617         * modules/unistdio/u32-vsprintf: Likewise.
18618         * modules/unistdio/ulc-asnprintf: Likewise.
18619         * modules/unistdio/ulc-asprintf: Likewise.
18620         * modules/unistdio/ulc-fprintf: Likewise.
18621         * modules/unistdio/ulc-snprintf: Likewise.
18622         * modules/unistdio/ulc-sprintf: Likewise.
18623         * modules/unistdio/ulc-vasnprintf: Likewise.
18624         * modules/unistdio/ulc-vasprintf: Likewise.
18625         * modules/unistdio/ulc-vfprintf: Likewise.
18626         * modules/unistdio/ulc-vsnprintf: Likewise.
18627         * modules/unistdio/ulc-vsprintf: Likewise.
18628         * modules/unistr/u8-check: Likewise.
18629         * modules/unistr/u8-chr: Likewise.
18630         * modules/unistr/u8-cmp: Likewise.
18631         * modules/unistr/u8-cmp2: Likewise.
18632         * modules/unistr/u8-cpy: Likewise.
18633         * modules/unistr/u8-cpy-alloc: Likewise.
18634         * modules/unistr/u8-endswith: Likewise.
18635         * modules/unistr/u8-mblen: Likewise.
18636         * modules/unistr/u8-mbsnlen: Likewise.
18637         * modules/unistr/u8-mbtouc: Likewise.
18638         * modules/unistr/u8-mbtouc-unsafe: Likewise.
18639         * modules/unistr/u8-mbtoucr: Likewise.
18640         * modules/unistr/u8-move: Likewise.
18641         * modules/unistr/u8-next: Likewise.
18642         * modules/unistr/u8-prev: Likewise.
18643         * modules/unistr/u8-set: Likewise.
18644         * modules/unistr/u8-startswith: Likewise.
18645         * modules/unistr/u8-stpcpy: Likewise.
18646         * modules/unistr/u8-stpncpy: Likewise.
18647         * modules/unistr/u8-strcat: Likewise.
18648         * modules/unistr/u8-strchr: Likewise.
18649         * modules/unistr/u8-strcmp: Likewise.
18650         * modules/unistr/u8-strcoll: Likewise.
18651         * modules/unistr/u8-strcpy: Likewise.
18652         * modules/unistr/u8-strcspn: Likewise.
18653         * modules/unistr/u8-strdup: Likewise.
18654         * modules/unistr/u8-strlen: Likewise.
18655         * modules/unistr/u8-strmblen: Likewise.
18656         * modules/unistr/u8-strmbtouc: Likewise.
18657         * modules/unistr/u8-strncat: Likewise.
18658         * modules/unistr/u8-strncmp: Likewise.
18659         * modules/unistr/u8-strncpy: Likewise.
18660         * modules/unistr/u8-strnlen: Likewise.
18661         * modules/unistr/u8-strpbrk: Likewise.
18662         * modules/unistr/u8-strrchr: Likewise.
18663         * modules/unistr/u8-strspn: Likewise.
18664         * modules/unistr/u8-strstr: Likewise.
18665         * modules/unistr/u8-strtok: Likewise.
18666         * modules/unistr/u8-to-u16: Likewise.
18667         * modules/unistr/u8-to-u32: Likewise.
18668         * modules/unistr/u8-uctomb: Likewise.
18669         * modules/unistr/u16-check: Likewise.
18670         * modules/unistr/u16-chr: Likewise.
18671         * modules/unistr/u16-cmp: Likewise.
18672         * modules/unistr/u16-cmp2: Likewise.
18673         * modules/unistr/u16-cpy: Likewise.
18674         * modules/unistr/u16-cpy-alloc: Likewise.
18675         * modules/unistr/u16-endswith: Likewise.
18676         * modules/unistr/u16-mblen: Likewise.
18677         * modules/unistr/u16-mbsnlen: Likewise.
18678         * modules/unistr/u16-mbtouc: Likewise.
18679         * modules/unistr/u16-mbtouc-unsafe: Likewise.
18680         * modules/unistr/u16-mbtoucr: Likewise.
18681         * modules/unistr/u16-move: Likewise.
18682         * modules/unistr/u16-next: Likewise.
18683         * modules/unistr/u16-prev: Likewise.
18684         * modules/unistr/u16-set: Likewise.
18685         * modules/unistr/u16-startswith: Likewise.
18686         * modules/unistr/u16-stpcpy: Likewise.
18687         * modules/unistr/u16-stpncpy: Likewise.
18688         * modules/unistr/u16-strcat: Likewise.
18689         * modules/unistr/u16-strchr: Likewise.
18690         * modules/unistr/u16-strcmp: Likewise.
18691         * modules/unistr/u16-strcoll: Likewise.
18692         * modules/unistr/u16-strcpy: Likewise.
18693         * modules/unistr/u16-strcspn: Likewise.
18694         * modules/unistr/u16-strdup: Likewise.
18695         * modules/unistr/u16-strlen: Likewise.
18696         * modules/unistr/u16-strmblen: Likewise.
18697         * modules/unistr/u16-strmbtouc: Likewise.
18698         * modules/unistr/u16-strncat: Likewise.
18699         * modules/unistr/u16-strncmp: Likewise.
18700         * modules/unistr/u16-strncpy: Likewise.
18701         * modules/unistr/u16-strnlen: Likewise.
18702         * modules/unistr/u16-strpbrk: Likewise.
18703         * modules/unistr/u16-strrchr: Likewise.
18704         * modules/unistr/u16-strspn: Likewise.
18705         * modules/unistr/u16-strstr: Likewise.
18706         * modules/unistr/u16-strtok: Likewise.
18707         * modules/unistr/u16-to-u32: Likewise.
18708         * modules/unistr/u16-to-u8: Likewise.
18709         * modules/unistr/u16-uctomb: Likewise.
18710         * modules/unistr/u32-check: Likewise.
18711         * modules/unistr/u32-chr: Likewise.
18712         * modules/unistr/u32-cmp: Likewise.
18713         * modules/unistr/u32-cmp2: Likewise.
18714         * modules/unistr/u32-cpy: Likewise.
18715         * modules/unistr/u32-cpy-alloc: Likewise.
18716         * modules/unistr/u32-endswith: Likewise.
18717         * modules/unistr/u32-mblen: Likewise.
18718         * modules/unistr/u32-mbsnlen: Likewise.
18719         * modules/unistr/u32-mbtouc: Likewise.
18720         * modules/unistr/u32-mbtouc-unsafe: Likewise.
18721         * modules/unistr/u32-mbtoucr: Likewise.
18722         * modules/unistr/u32-move: Likewise.
18723         * modules/unistr/u32-next: Likewise.
18724         * modules/unistr/u32-prev: Likewise.
18725         * modules/unistr/u32-set: Likewise.
18726         * modules/unistr/u32-startswith: Likewise.
18727         * modules/unistr/u32-stpcpy: Likewise.
18728         * modules/unistr/u32-stpncpy: Likewise.
18729         * modules/unistr/u32-strcat: Likewise.
18730         * modules/unistr/u32-strchr: Likewise.
18731         * modules/unistr/u32-strcmp: Likewise.
18732         * modules/unistr/u32-strcoll: Likewise.
18733         * modules/unistr/u32-strcpy: Likewise.
18734         * modules/unistr/u32-strcspn: Likewise.
18735         * modules/unistr/u32-strdup: Likewise.
18736         * modules/unistr/u32-strlen: Likewise.
18737         * modules/unistr/u32-strmblen: Likewise.
18738         * modules/unistr/u32-strmbtouc: Likewise.
18739         * modules/unistr/u32-strncat: Likewise.
18740         * modules/unistr/u32-strncmp: Likewise.
18741         * modules/unistr/u32-strncpy: Likewise.
18742         * modules/unistr/u32-strnlen: Likewise.
18743         * modules/unistr/u32-strpbrk: Likewise.
18744         * modules/unistr/u32-strrchr: Likewise.
18745         * modules/unistr/u32-strspn: Likewise.
18746         * modules/unistr/u32-strstr: Likewise.
18747         * modules/unistr/u32-strtok: Likewise.
18748         * modules/unistr/u32-to-u16: Likewise.
18749         * modules/unistr/u32-to-u8: Likewise.
18750         * modules/unistr/u32-uctomb: Likewise.
18751         * modules/uniwbrk/u8-wordbreaks: Likewise.
18752         * modules/uniwbrk/u16-wordbreaks: Likewise.
18753         * modules/uniwbrk/u32-wordbreaks: Likewise.
18754         * modules/uniwbrk/ulc-wordbreaks: Likewise.
18755         * modules/uniwbrk/wordbreak-property: Likewise.
18756         * modules/uniwidth/u8-strwidth: Likewise.
18757         * modules/uniwidth/u8-width: Likewise.
18758         * modules/uniwidth/u16-strwidth: Likewise.
18759         * modules/uniwidth/u16-width: Likewise.
18760         * modules/uniwidth/u32-strwidth: Likewise.
18761         * modules/uniwidth/u32-width: Likewise.
18762         * modules/uniwidth/width: Likewise.
18763         * modules/unicase/cased-tests (Makefile.am): Link all test programs
18764         with $(LIBUNISTRING).
18765         * modules/unicase/ignorable-tests: Likewise.
18766         * modules/unicase/locale-language-tests: Likewise.
18767         * modules/unicase/tolower-tests: Likewise.
18768         * modules/unicase/totitle-tests: Likewise.
18769         * modules/unicase/toupper-tests: Likewise.
18770         * modules/unicase/u8-casecmp-tests: Likewise.
18771         * modules/unicase/u8-casecoll-tests: Likewise.
18772         * modules/unicase/u8-casefold-tests: Likewise.
18773         * modules/unicase/u8-is-cased-tests: Likewise.
18774         * modules/unicase/u8-is-casefolded-tests: Likewise.
18775         * modules/unicase/u8-is-lowercase-tests: Likewise.
18776         * modules/unicase/u8-is-titlecase-tests: Likewise.
18777         * modules/unicase/u8-is-uppercase-tests: Likewise.
18778         * modules/unicase/u8-tolower-tests: Likewise.
18779         * modules/unicase/u8-totitle-tests: Likewise.
18780         * modules/unicase/u8-toupper-tests: Likewise.
18781         * modules/unicase/u16-casecmp-tests: Likewise.
18782         * modules/unicase/u16-casecoll-tests: Likewise.
18783         * modules/unicase/u16-casefold-tests: Likewise.
18784         * modules/unicase/u16-is-cased-tests: Likewise.
18785         * modules/unicase/u16-is-casefolded-tests: Likewise.
18786         * modules/unicase/u16-is-lowercase-tests: Likewise.
18787         * modules/unicase/u16-is-titlecase-tests: Likewise.
18788         * modules/unicase/u16-is-uppercase-tests: Likewise.
18789         * modules/unicase/u16-tolower-tests: Likewise.
18790         * modules/unicase/u16-totitle-tests: Likewise.
18791         * modules/unicase/u16-toupper-tests: Likewise.
18792         * modules/unicase/u32-casecmp-tests: Likewise.
18793         * modules/unicase/u32-casecoll-tests: Likewise.
18794         * modules/unicase/u32-casefold-tests: Likewise.
18795         * modules/unicase/u32-is-cased-tests: Likewise.
18796         * modules/unicase/u32-is-casefolded-tests: Likewise.
18797         * modules/unicase/u32-is-lowercase-tests: Likewise.
18798         * modules/unicase/u32-is-titlecase-tests: Likewise.
18799         * modules/unicase/u32-is-uppercase-tests: Likewise.
18800         * modules/unicase/u32-tolower-tests: Likewise.
18801         * modules/unicase/u32-totitle-tests: Likewise.
18802         * modules/unicase/u32-toupper-tests: Likewise.
18803         * modules/unicase/ulc-casecmp-tests: Likewise.
18804         * modules/unicase/ulc-casecoll-tests: Likewise.
18805         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
18806         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
18807         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
18808         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
18809         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
18810         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
18811         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
18812         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
18813         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
18814         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
18815         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
18816         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
18817         * modules/unictype/bidicategory-byname-tests: Likewise.
18818         * modules/unictype/bidicategory-name-tests: Likewise.
18819         * modules/unictype/bidicategory-of-tests: Likewise.
18820         * modules/unictype/bidicategory-test-tests: Likewise.
18821         * modules/unictype/block-list-tests: Likewise.
18822         * modules/unictype/block-of-tests: Likewise.
18823         * modules/unictype/block-test-tests: Likewise.
18824         * modules/unictype/category-C-tests: Likewise.
18825         * modules/unictype/category-Cc-tests: Likewise.
18826         * modules/unictype/category-Cf-tests: Likewise.
18827         * modules/unictype/category-Cn-tests: Likewise.
18828         * modules/unictype/category-Co-tests: Likewise.
18829         * modules/unictype/category-Cs-tests: Likewise.
18830         * modules/unictype/category-L-tests: Likewise.
18831         * modules/unictype/category-Ll-tests: Likewise.
18832         * modules/unictype/category-Lm-tests: Likewise.
18833         * modules/unictype/category-Lo-tests: Likewise.
18834         * modules/unictype/category-Lt-tests: Likewise.
18835         * modules/unictype/category-Lu-tests: Likewise.
18836         * modules/unictype/category-M-tests: Likewise.
18837         * modules/unictype/category-Mc-tests: Likewise.
18838         * modules/unictype/category-Me-tests: Likewise.
18839         * modules/unictype/category-Mn-tests: Likewise.
18840         * modules/unictype/category-N-tests: Likewise.
18841         * modules/unictype/category-Nd-tests: Likewise.
18842         * modules/unictype/category-Nl-tests: Likewise.
18843         * modules/unictype/category-No-tests: Likewise.
18844         * modules/unictype/category-P-tests: Likewise.
18845         * modules/unictype/category-Pc-tests: Likewise.
18846         * modules/unictype/category-Pd-tests: Likewise.
18847         * modules/unictype/category-Pe-tests: Likewise.
18848         * modules/unictype/category-Pf-tests: Likewise.
18849         * modules/unictype/category-Pi-tests: Likewise.
18850         * modules/unictype/category-Po-tests: Likewise.
18851         * modules/unictype/category-Ps-tests: Likewise.
18852         * modules/unictype/category-S-tests: Likewise.
18853         * modules/unictype/category-Sc-tests: Likewise.
18854         * modules/unictype/category-Sk-tests: Likewise.
18855         * modules/unictype/category-Sm-tests: Likewise.
18856         * modules/unictype/category-So-tests: Likewise.
18857         * modules/unictype/category-Z-tests: Likewise.
18858         * modules/unictype/category-Zl-tests: Likewise.
18859         * modules/unictype/category-Zp-tests: Likewise.
18860         * modules/unictype/category-Zs-tests: Likewise.
18861         * modules/unictype/category-and-not-tests: Likewise.
18862         * modules/unictype/category-and-tests: Likewise.
18863         * modules/unictype/category-byname-tests: Likewise.
18864         * modules/unictype/category-name-tests: Likewise.
18865         * modules/unictype/category-none-tests: Likewise.
18866         * modules/unictype/category-of-tests: Likewise.
18867         * modules/unictype/category-or-tests: Likewise.
18868         * modules/unictype/category-test-withtable-tests: Likewise.
18869         * modules/unictype/combining-class-tests: Likewise.
18870         * modules/unictype/ctype-alnum-tests: Likewise.
18871         * modules/unictype/ctype-alpha-tests: Likewise.
18872         * modules/unictype/ctype-blank-tests: Likewise.
18873         * modules/unictype/ctype-cntrl-tests: Likewise.
18874         * modules/unictype/ctype-digit-tests: Likewise.
18875         * modules/unictype/ctype-graph-tests: Likewise.
18876         * modules/unictype/ctype-lower-tests: Likewise.
18877         * modules/unictype/ctype-print-tests: Likewise.
18878         * modules/unictype/ctype-punct-tests: Likewise.
18879         * modules/unictype/ctype-space-tests: Likewise.
18880         * modules/unictype/ctype-upper-tests: Likewise.
18881         * modules/unictype/ctype-xdigit-tests: Likewise.
18882         * modules/unictype/decimal-digit-tests: Likewise.
18883         * modules/unictype/digit-tests: Likewise.
18884         * modules/unictype/mirror-tests: Likewise.
18885         * modules/unictype/numeric-tests: Likewise.
18886         * modules/unictype/property-alphabetic-tests: Likewise.
18887         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
18888         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
18889         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
18890         * modules/unictype/property-bidi-block-separator-tests: Likewise.
18891         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
18892         * modules/unictype/property-bidi-common-separator-tests: Likewise.
18893         * modules/unictype/property-bidi-control-tests: Likewise.
18894         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
18895         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
18896         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
18897         * modules/unictype/property-bidi-european-digit-tests: Likewise.
18898         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
18899         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
18900         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
18901         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
18902         * modules/unictype/property-bidi-pdf-tests: Likewise.
18903         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
18904         * modules/unictype/property-bidi-whitespace-tests: Likewise.
18905         * modules/unictype/property-byname-tests: Likewise.
18906         * modules/unictype/property-combining-tests: Likewise.
18907         * modules/unictype/property-composite-tests: Likewise.
18908         * modules/unictype/property-currency-symbol-tests: Likewise.
18909         * modules/unictype/property-dash-tests: Likewise.
18910         * modules/unictype/property-decimal-digit-tests: Likewise.
18911         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
18912         * modules/unictype/property-deprecated-tests: Likewise.
18913         * modules/unictype/property-diacritic-tests: Likewise.
18914         * modules/unictype/property-extender-tests: Likewise.
18915         * modules/unictype/property-format-control-tests: Likewise.
18916         * modules/unictype/property-grapheme-base-tests: Likewise.
18917         * modules/unictype/property-grapheme-extend-tests: Likewise.
18918         * modules/unictype/property-grapheme-link-tests: Likewise.
18919         * modules/unictype/property-hex-digit-tests: Likewise.
18920         * modules/unictype/property-hyphen-tests: Likewise.
18921         * modules/unictype/property-id-continue-tests: Likewise.
18922         * modules/unictype/property-id-start-tests: Likewise.
18923         * modules/unictype/property-ideographic-tests: Likewise.
18924         * modules/unictype/property-ids-binary-operator-tests: Likewise.
18925         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
18926         * modules/unictype/property-ignorable-control-tests: Likewise.
18927         * modules/unictype/property-iso-control-tests: Likewise.
18928         * modules/unictype/property-join-control-tests: Likewise.
18929         * modules/unictype/property-left-of-pair-tests: Likewise.
18930         * modules/unictype/property-line-separator-tests: Likewise.
18931         * modules/unictype/property-logical-order-exception-tests: Likewise.
18932         * modules/unictype/property-lowercase-tests: Likewise.
18933         * modules/unictype/property-math-tests: Likewise.
18934         * modules/unictype/property-non-break-tests: Likewise.
18935         * modules/unictype/property-not-a-character-tests: Likewise.
18936         * modules/unictype/property-numeric-tests: Likewise.
18937         * modules/unictype/property-other-alphabetic-tests: Likewise.
18938         * modules/unictype/property-other-default-ignorable-code-point-tests:
18939         Likewise.
18940         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
18941         * modules/unictype/property-other-id-continue-tests: Likewise.
18942         * modules/unictype/property-other-id-start-tests: Likewise.
18943         * modules/unictype/property-other-lowercase-tests: Likewise.
18944         * modules/unictype/property-other-math-tests: Likewise.
18945         * modules/unictype/property-other-uppercase-tests: Likewise.
18946         * modules/unictype/property-paired-punctuation-tests: Likewise.
18947         * modules/unictype/property-paragraph-separator-tests: Likewise.
18948         * modules/unictype/property-pattern-syntax-tests: Likewise.
18949         * modules/unictype/property-pattern-white-space-tests: Likewise.
18950         * modules/unictype/property-private-use-tests: Likewise.
18951         * modules/unictype/property-punctuation-tests: Likewise.
18952         * modules/unictype/property-quotation-mark-tests: Likewise.
18953         * modules/unictype/property-radical-tests: Likewise.
18954         * modules/unictype/property-sentence-terminal-tests: Likewise.
18955         * modules/unictype/property-soft-dotted-tests: Likewise.
18956         * modules/unictype/property-space-tests: Likewise.
18957         * modules/unictype/property-terminal-punctuation-tests: Likewise.
18958         * modules/unictype/property-test-tests: Likewise.
18959         * modules/unictype/property-titlecase-tests: Likewise.
18960         * modules/unictype/property-unassigned-code-value-tests: Likewise.
18961         * modules/unictype/property-unified-ideograph-tests: Likewise.
18962         * modules/unictype/property-uppercase-tests: Likewise.
18963         * modules/unictype/property-variation-selector-tests: Likewise.
18964         * modules/unictype/property-white-space-tests: Likewise.
18965         * modules/unictype/property-xid-continue-tests: Likewise.
18966         * modules/unictype/property-xid-start-tests: Likewise.
18967         * modules/unictype/property-zero-width-tests: Likewise.
18968         * modules/unictype/scripts-tests: Likewise.
18969         * modules/unictype/syntax-c-ident-tests: Likewise.
18970         * modules/unictype/syntax-c-whitespace-tests: Likewise.
18971         * modules/unictype/syntax-java-ident-tests: Likewise.
18972         * modules/unictype/syntax-java-whitespace-tests: Likewise.
18973         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
18974         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
18975         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
18976         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
18977         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
18978         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
18979         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
18980         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
18981         * modules/uniname/uniname-tests: Likewise.
18982         * modules/uninorm/canonical-decomposition-tests: Likewise.
18983         * modules/uninorm/compat-decomposition-tests: Likewise.
18984         * modules/uninorm/composition-tests: Likewise.
18985         * modules/uninorm/decomposing-form-tests: Likewise.
18986         * modules/uninorm/decomposition-tests: Likewise.
18987         * modules/uninorm/filter-tests: Likewise.
18988         * modules/uninorm/nfc-tests: Likewise.
18989         * modules/uninorm/nfd-tests: Likewise.
18990         * modules/uninorm/nfkc-tests: Likewise.
18991         * modules/uninorm/nfkd-tests: Likewise.
18992         * modules/uninorm/u8-normcmp-tests: Likewise.
18993         * modules/uninorm/u8-normcoll-tests: Likewise.
18994         * modules/uninorm/u16-normcmp-tests: Likewise.
18995         * modules/uninorm/u16-normcoll-tests: Likewise.
18996         * modules/uninorm/u32-normcmp-tests: Likewise.
18997         * modules/uninorm/u32-normcoll-tests: Likewise.
18998         * modules/unistdio/u8-asnprintf-tests: Likewise.
18999         * modules/unistdio/u8-vasnprintf-tests: Likewise.
19000         * modules/unistdio/u8-vasprintf-tests: Likewise.
19001         * modules/unistdio/u8-vsnprintf-tests: Likewise.
19002         * modules/unistdio/u8-vsprintf-tests: Likewise.
19003         * modules/unistdio/u16-asnprintf-tests: Likewise.
19004         * modules/unistdio/u16-vasnprintf-tests: Likewise.
19005         * modules/unistdio/u16-vasprintf-tests: Likewise.
19006         * modules/unistdio/u16-vsnprintf-tests: Likewise.
19007         * modules/unistdio/u16-vsprintf-tests: Likewise.
19008         * modules/unistdio/u32-asnprintf-tests: Likewise.
19009         * modules/unistdio/u32-vasnprintf-tests: Likewise.
19010         * modules/unistdio/u32-vasprintf-tests: Likewise.
19011         * modules/unistdio/u32-vsnprintf-tests: Likewise.
19012         * modules/unistdio/u32-vsprintf-tests: Likewise.
19013         * modules/unistdio/ulc-asnprintf-tests: Likewise.
19014         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
19015         * modules/unistdio/ulc-vasprintf-tests: Likewise.
19016         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
19017         * modules/unistdio/ulc-vsprintf-tests: Likewise.
19018         * modules/unistr/u8-check-tests: Likewise.
19019         * modules/unistr/u8-chr-tests: Likewise.
19020         * modules/unistr/u8-cmp-tests: Likewise.
19021         * modules/unistr/u8-cmp2-tests: Likewise.
19022         * modules/unistr/u8-cpy-alloc-tests: Likewise.
19023         * modules/unistr/u8-cpy-tests: Likewise.
19024         * modules/unistr/u8-mblen-tests: Likewise.
19025         * modules/unistr/u8-mbsnlen-tests: Likewise.
19026         * modules/unistr/u8-mbtouc-tests: Likewise.
19027         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
19028         * modules/unistr/u8-mbtoucr-tests: Likewise.
19029         * modules/unistr/u8-move-tests: Likewise.
19030         * modules/unistr/u8-next-tests: Likewise.
19031         * modules/unistr/u8-prev-tests: Likewise.
19032         * modules/unistr/u8-set-tests: Likewise.
19033         * modules/unistr/u8-stpcpy-tests: Likewise.
19034         * modules/unistr/u8-stpncpy-tests: Likewise.
19035         * modules/unistr/u8-strcat-tests: Likewise.
19036         * modules/unistr/u8-strcmp-tests: Likewise.
19037         * modules/unistr/u8-strcoll-tests: Likewise.
19038         * modules/unistr/u8-strcpy-tests: Likewise.
19039         * modules/unistr/u8-strdup-tests: Likewise.
19040         * modules/unistr/u8-strlen-tests: Likewise.
19041         * modules/unistr/u8-strmblen-tests: Likewise.
19042         * modules/unistr/u8-strmbtouc-tests: Likewise.
19043         * modules/unistr/u8-strncat-tests: Likewise.
19044         * modules/unistr/u8-strncmp-tests: Likewise.
19045         * modules/unistr/u8-strncpy-tests: Likewise.
19046         * modules/unistr/u8-strnlen-tests: Likewise.
19047         * modules/unistr/u8-to-u16-tests: Likewise.
19048         * modules/unistr/u8-to-u32-tests: Likewise.
19049         * modules/unistr/u8-uctomb-tests: Likewise.
19050         * modules/unistr/u16-check-tests: Likewise.
19051         * modules/unistr/u16-chr-tests: Likewise.
19052         * modules/unistr/u16-cmp-tests: Likewise.
19053         * modules/unistr/u16-cmp2-tests: Likewise.
19054         * modules/unistr/u16-cpy-alloc-tests: Likewise.
19055         * modules/unistr/u16-cpy-tests: Likewise.
19056         * modules/unistr/u16-mblen-tests: Likewise.
19057         * modules/unistr/u16-mbsnlen-tests: Likewise.
19058         * modules/unistr/u16-mbtouc-tests: Likewise.
19059         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
19060         * modules/unistr/u16-mbtoucr-tests: Likewise.
19061         * modules/unistr/u16-move-tests: Likewise.
19062         * modules/unistr/u16-next-tests: Likewise.
19063         * modules/unistr/u16-prev-tests: Likewise.
19064         * modules/unistr/u16-set-tests: Likewise.
19065         * modules/unistr/u16-stpcpy-tests: Likewise.
19066         * modules/unistr/u16-stpncpy-tests: Likewise.
19067         * modules/unistr/u16-strcat-tests: Likewise.
19068         * modules/unistr/u16-strcmp-tests: Likewise.
19069         * modules/unistr/u16-strcoll-tests: Likewise.
19070         * modules/unistr/u16-strcpy-tests: Likewise.
19071         * modules/unistr/u16-strdup-tests: Likewise.
19072         * modules/unistr/u16-strlen-tests: Likewise.
19073         * modules/unistr/u16-strmblen-tests: Likewise.
19074         * modules/unistr/u16-strmbtouc-tests: Likewise.
19075         * modules/unistr/u16-strncat-tests: Likewise.
19076         * modules/unistr/u16-strncmp-tests: Likewise.
19077         * modules/unistr/u16-strncpy-tests: Likewise.
19078         * modules/unistr/u16-strnlen-tests: Likewise.
19079         * modules/unistr/u16-to-u32-tests: Likewise.
19080         * modules/unistr/u16-to-u8-tests: Likewise.
19081         * modules/unistr/u16-uctomb-tests: Likewise.
19082         * modules/unistr/u32-check-tests: Likewise.
19083         * modules/unistr/u32-chr-tests: Likewise.
19084         * modules/unistr/u32-cmp-tests: Likewise.
19085         * modules/unistr/u32-cmp2-tests: Likewise.
19086         * modules/unistr/u32-cpy-alloc-tests: Likewise.
19087         * modules/unistr/u32-cpy-tests: Likewise.
19088         * modules/unistr/u32-mblen-tests: Likewise.
19089         * modules/unistr/u32-mbsnlen-tests: Likewise.
19090         * modules/unistr/u32-mbtouc-tests: Likewise.
19091         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
19092         * modules/unistr/u32-mbtoucr-tests: Likewise.
19093         * modules/unistr/u32-move-tests: Likewise.
19094         * modules/unistr/u32-next-tests: Likewise.
19095         * modules/unistr/u32-prev-tests: Likewise.
19096         * modules/unistr/u32-set-tests: Likewise.
19097         * modules/unistr/u32-stpcpy-tests: Likewise.
19098         * modules/unistr/u32-stpncpy-tests: Likewise.
19099         * modules/unistr/u32-strcat-tests: Likewise.
19100         * modules/unistr/u32-strcmp-tests: Likewise.
19101         * modules/unistr/u32-strcoll-tests: Likewise.
19102         * modules/unistr/u32-strcpy-tests: Likewise.
19103         * modules/unistr/u32-strdup-tests: Likewise.
19104         * modules/unistr/u32-strlen-tests: Likewise.
19105         * modules/unistr/u32-strmblen-tests: Likewise.
19106         * modules/unistr/u32-strmbtouc-tests: Likewise.
19107         * modules/unistr/u32-strncat-tests: Likewise.
19108         * modules/unistr/u32-strncmp-tests: Likewise.
19109         * modules/unistr/u32-strncpy-tests: Likewise.
19110         * modules/unistr/u32-strnlen-tests: Likewise.
19111         * modules/unistr/u32-to-u16-tests: Likewise.
19112         * modules/unistr/u32-to-u8-tests: Likewise.
19113         * modules/unistr/u32-uctomb-tests: Likewise.
19114         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
19115         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
19116         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
19117         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
19118         * modules/uniwidth/u8-strwidth-tests: Likewise.
19119         * modules/uniwidth/u8-width-tests: Likewise.
19120         * modules/uniwidth/u16-strwidth-tests: Likewise.
19121         * modules/uniwidth/u16-width-tests: Likewise.
19122         * modules/uniwidth/u32-strwidth-tests: Likewise.
19123         * modules/uniwidth/u32-width-tests: Likewise.
19124         * modules/uniwidth/width-tests: Likewise.
19125
19126 2010-05-18  Richard Jones  <rjones@redhat.com>
19127
19128         doc: users.txt: list hivex
19129         * users.txt: Add hivex.
19130
19131 2010-05-18  Richard Jones  <rjones@redhat.com>
19132
19133         doc: users.txt: list febootstrap
19134         * users.txt: Add febootstrap.
19135
19136 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
19137
19138         bootstrap: fix an error when gnulib is not used as a git submodule
19139         * build-aux/bootstrap (gnulib_path): If its length is zero then
19140         assign "gnulib" to it.
19141         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
19142
19143 2010-05-16  Bruno Haible  <bruno@clisp.org>
19144
19145         Avoid autoconf warnings about AM_ICONV.
19146         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
19147         2.64.
19148
19149 2010-05-16  Bruno Haible  <bruno@clisp.org>
19150
19151         absolute-header: Make the macro usable in more situations.
19152         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
19153         from gl_ABSOLUTE_HEADER.
19154         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
19155
19156 2010-05-16  James Youngman  <jay@gnu.org>
19157
19158         doc: update users.txt
19159         * users.txt: Add CSSC.
19160
19161 2010-05-16  Jim Meyering  <meyering@redhat.com>
19162
19163         init.sh: fix an error in the previous change; add more comments
19164         * tests/init.sh: Compare exit code in loop against 9, not 2.
19165         Patch by Bruno Haible.
19166         Make the two tests more similar by adding an empty "then" clause.
19167         Add comments.
19168
19169         init.sh: avoid unnecessary shell re-exec
19170         * tests/init.sh: Improve the re-exec-required check to first test the
19171         current shell.  If it passes the test, do not search for a shell that
19172         does pass, and do not re-exec.  This test is particularly contorted to
19173         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
19174         of $(...) evokes a syntax error and causes immediate shell exit with
19175         status 2.  Bruno Haible reported that the re-exec made it impossible
19176         to single-step through any init.sh-using script.
19177
19178 2010-05-16  Bruno Haible  <bruno@clisp.org>
19179
19180         Fix collision between gnulib's and libintl's printf replacements.
19181         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
19182         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
19183         (printf): When using GNU C, map the __printf__ function to rpl_printf
19184         via __asm__. When not using GNU C, define rpl_printf instead of
19185         __printf__.
19186         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
19187         commit.
19188         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
19189         commit.
19190         * m4/asm-underscore.m4: New file.
19191         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
19192         * modules/stdio (Files): Add m4/asm-underscore.m4.
19193         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
19194         Reported by Ben Pfaff.
19195
19196 2010-05-16  Bruno Haible  <bruno@clisp.org>
19197
19198         verify: Avoid skipping the test on openSUSE 11.0.
19199         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
19200
19201 2010-05-13  Bruno Haible  <bruno@clisp.org>
19202
19203         Avoid useless warnings from G++.
19204         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
19205         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
19206         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19207
19208 2010-05-11  Jim Meyering  <meyering@redhat.com>
19209
19210         maint.mk: tweak preceding change
19211         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
19212         regexps tighter by anchoring at EOL, and make the new group "shy"
19213         for slightly decreased overhead.
19214
19215 2010-05-11  Eric Blake  <eblake@redhat.com>
19216
19217         maint.mk: gnulib doesn't guarantee NSIG
19218         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
19219
19220 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
19221
19222         test-pwrite.c: Remove unused variable declaration.
19223         * tests/test-pwrite.c (main): Remove read_buf declaration.
19224
19225         Remove useless test-pwrite.sh file.
19226         * tests/test-pwrite.sh: Delete file.
19227         * modules/pwrite-tests: Remove references.
19228         Reported by Bruno Haible.
19229
19230 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
19231
19232         init.sh: fix a typo
19233         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
19234
19235 2010-05-10  Jim Meyering  <meyering@redhat.com>
19236
19237         maint.mk: avoid using a temporary file in the always-defined-macros check
19238         * top/maint.mk (.re-defmac): Remove rule.
19239         (gl_trap_): Remove definition.
19240         (sc_prohibit_always-defined_macros): Rewrite not to create and
19241         depend on a temporary file.  Instead, depend on GNU grep's ability
19242         to read a list of regular expressions from stdin when given "-f -".
19243
19244 2010-05-09  Bruno Haible  <bruno@clisp.org>
19245
19246         Update to GNU gettext 0.18, part 1.
19247         * m4/gettext.m4: Update to GNU gettext 0.18.
19248         * m4/intl.m4: Likewise.
19249         * m4/po.m4: Likewise.
19250         * modules/gettext (Files): Add m4/fcntl-o.m4.
19251         (configure.ac): Require gettext infrastructure from version 0.18.
19252
19253 2010-05-09  Jim Meyering  <meyering@redhat.com>
19254
19255         init.sh: enable MALLOC_PERTURB_
19256         * tests/init.sh: Enable glibc's malloc-perturbing option.
19257
19258         maint.mk: improve sc_cross_check_PATH_usage_in_tests
19259         With my recent change in init.sh from the two-line form:
19260             -#   : ${srcdir=.}
19261             -#   . "$srcdir/init.sh"; path_prepend_ .
19262             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
19263         I noticed that using the one-line form would cause this test
19264         to fail with a false-positive, or to stop working altogether,
19265         depending on whether help-version changed or all the tests did.
19266         * top/maint.mk (_hv_regex): Remove this definition.
19267         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
19268         (_hv_regex_strong): Use a stronger regex to check for conformance.
19269         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
19270         Give a separate diagnostic for lack of conforming use.
19271
19272         maint.mk: prohibit definition of symbols defined by gnulib
19273         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
19274         definition of symbols defined by gnulib.
19275
19276 2010-05-09  Bruno Haible  <bruno@clisp.org>
19277
19278         acl: Avoid test failure on Cygwin-hosted mingw.
19279         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
19280
19281 2010-05-09  Bruno Haible  <bruno@clisp.org>
19282
19283         error: Use system's fcntl function.
19284         * lib/error.c (fcntl): Undefine.
19285
19286 2010-05-09  Jim Meyering  <meyering@redhat.com>
19287
19288         verify: adjust formatting to be more consistent
19289         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
19290         argument-list '('s, and after one comma.
19291
19292 2010-05-09  Bruno Haible  <bruno@clisp.org>
19293
19294         error: More reliable output on mingw.
19295         * lib/error.c: Include <windows.h>.
19296         (is_open): New function.
19297         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
19298         defined.
19299
19300 2010-05-09  Bruno Haible  <bruno@clisp.org>
19301
19302         vasnprintf: Fix syntax errors in libintl build on mingw.
19303         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
19304         pad_ourselves and prec_ourselves after use.
19305
19306 2010-05-08  Bruno Haible  <bruno@clisp.org>
19307
19308         * lib/config.charset: Update comments for Cygwin 1.7.
19309         * lib/localcharset.c: Likewise.
19310
19311 2010-05-07  Jim Meyering  <meyering@redhat.com>
19312
19313         init.sh: improve comments
19314         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
19315         . "${srcdir=.}/init.sh"; path_prepend_ .
19316         Add a note about path_prepend_ and the alternative of using
19317         TESTS_ENVIRONMENT.
19318
19319 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
19320
19321         exclude: Unescape hashed patterns in wildcard mode.
19322         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
19323         to the hash list.
19324         * tests/test-exclude8.sh: New test case.
19325         * modules/exclude-tests: Add new test.
19326
19327 2010-05-05  Eric Blake  <eblake@redhat.com>
19328
19329         verify: automate tests
19330         * modules/verify-tests: New module.
19331         * tests/test-verify.sh: New file.
19332         * tests/test-verify.c: Guard each negative test with a unique id.
19333         Also avoid warning about unused left hand of comma expressions.
19334
19335 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19336
19337         Further improvements to verify.h, suggested by Eric Blake.
19338         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
19339         the GL_* versions, to avoid collision with OpenGL.
19340         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
19341         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
19342         than testing merely whether it's defined.
19343
19344         Modify verify.h to pacify gcc -Wredundant_decls.
19345         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
19346         These use the prefix "GL_" since they're likely to be useful elsewhere.
19347         We may need to break them out into a different .h file.
19348         (__COUNTER__): Define to 0 if the compiler doesn't support it.
19349         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
19350         of verify_function__.
19351
19352 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
19353
19354         Tests for module pwrite.
19355         * modules/pwrite-tests: New file.
19356         * tests/test-pwrite.sh: New file.
19357         * tests/test-pwrite.c: New file.
19358
19359         New module pwrite.
19360         * lib/unistd.in.h (pwrite): New declaration.
19361         * lib/pwrite.c: New file, from glibc with modifications.
19362         * m4/pwrite.m4: New file.
19363         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
19364         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
19365         REPLACE_PWRITE.
19366         * modules/pwrite: New file.
19367         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
19368         REPLACE_PWRITE.
19369         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
19370         * doc/posix-functions/pwrite.texi: Mention the new module.
19371
19372 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
19373
19374         pread: Update documentation.
19375         * doc/posix-functions/pread.texi: Mention the 'pread' module.
19376
19377 2010-05-04  Eric Blake  <eblake@redhat.com>
19378
19379         docs: update cygwin progress
19380         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
19381         this bug.
19382         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
19383         Added in cygwin 1.7.2.
19384         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
19385         Likewise.
19386         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
19387         Likewise.
19388         * doc/glibc-functions/dup3.texi (dup3): Likewise.
19389         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
19390         * doc/glibc-functions/accept4.texi (accept4): Likewise.
19391         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
19392         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
19393         Mention nproc module.
19394         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
19395         bug in cygwin 1.7.5 addition.
19396         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
19397         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
19398         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
19399         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
19400         1.7.5.
19401         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
19402         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
19403         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
19404         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
19405         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
19406         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
19407         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
19408         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
19409         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
19410         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
19411         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
19412         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
19413         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
19414         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
19415         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
19416         Likewise.
19417         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
19418         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
19419         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
19420         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
19421         Likewise.
19422         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
19423         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
19424         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
19425         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
19426         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
19427         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
19428         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
19429         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
19430         Likewise.
19431         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
19432         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
19433         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
19434         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
19435         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
19436         Likewise.
19437         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
19438         Likewise.
19439         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
19440         Likewise.
19441         * doc/glibc-functions/xdrrec_endofrecord.texi
19442         (xdrrec_endofrecord): Likewise.
19443         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
19444         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
19445         Likewise.
19446         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
19447         Likewise.
19448
19449 2010-05-04  Jim Meyering  <meyering@redhat.com>
19450
19451         gendocs.sh: make its "-s FILE" option more useful
19452         * build-aux/gendocs.sh: When honoring the -s FILE option, update
19453         $PACKAGE to reflect the probably-different basename of "FILE".
19454
19455 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
19456
19457         bootstrap: don't ignore download_po_files failure
19458         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
19459         failure.
19460
19461 2010-05-03  Jim Meyering  <meyering@redhat.com>
19462
19463         maint.mk: allow to pass options to gendocs.sh
19464         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
19465         (gendocs_options_): New overridable variable.
19466
19467         gnu-web-doc-update: don't ignore configure or build failure
19468         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
19469
19470         announce-gen: backslash-escape '@'s in --help output
19471         * build-aux/announce-gen: Fix syntax errors.
19472
19473         maint.mk, announce-gen: allow project-specific announcement mail headers
19474         * top/maint.mk (translation_project_): Define default.
19475         (announcement_Cc_, announcement_mail_headers_): Likewise.
19476         (announcement): Invoke announce-gen with new --mail-headers option.
19477         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
19478
19479         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
19480         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
19481         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
19482         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
19483         line in the "err2" output file when running "make check" in verbose
19484         mode (i.e., with set -x enabled).
19485
19486 2010-05-03  Bruno Haible  <bruno@clisp.org>
19487
19488         wctob: Fix for weird platforms.
19489         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
19490         argument value.
19491
19492 2010-05-03  Jim Meyering  <meyering@redhat.com>
19493
19494         maint.mk: prohibit unwarranted use of <strings.h>
19495         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
19496         strings.h in a file that does not also use strcasecmp, strncasecmp,
19497         ffs or ffsll.
19498
19499         maint.mk: remove obsolete comments
19500         * top/maint.mk: Remove stale, commented-out rules.
19501
19502 2010-05-02  Bruno Haible  <bruno@clisp.org>
19503
19504         wcwidth: Declare also when it's aliased.
19505         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
19506         macro.
19507
19508 2010-05-02  Bruno Haible  <bruno@clisp.org>
19509
19510         Fix regression from 2010-04-25.
19511         * gnulib-tool (func_modules_transitive_closure): Check the status of
19512         all modules, not only of the tests that are of the form foo-tests where
19513         foo is a module.
19514
19515 2010-05-02  Bruno Haible  <bruno@clisp.org>
19516
19517         wctob: Work around nasty Cygwin 1.7.2 bug.
19518         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
19519         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
19520
19521 2010-05-01  Bruno Haible  <bruno@clisp.org>
19522
19523         fpurge: Sharper test.
19524         * tests/test-fpurge.c (main): Add one more ftell check.
19525         * modules/fpurge-tests (Depends-on): Add ftell.
19526         Suggested by Eric Blake.
19527
19528 2010-05-01  Bruno Haible  <bruno@clisp.org>
19529
19530         ftello: Another test.
19531         * tests/test-ftello3.c: New file.
19532         * modules/ftello-tests (Files): Add it.
19533         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19534         MOSTLYCLEANFILES.
19535
19536         ftell: Another test.
19537         * tests/test-ftell3.c: New file.
19538         * modules/ftell-tests (Files): Add it.
19539         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19540         MOSTLYCLEANFILES.
19541
19542 2010-05-01  Bruno Haible  <bruno@clisp.org>
19543
19544         ftell, ftello: Work around Solaris bug.
19545         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
19546         * lib/ftello.c: Include stdio-impl.h.
19547         (ftello): On Solaris, when _IOWRT is set, compute the result without
19548         looking at _IOREAD.
19549         * modules/ftello (Files): Add lib/stdio-impl.h.
19550         * doc/posix-functions/ftell.texi: Mention Solaris bug.
19551         * doc/posix-functions/ftello.texi: Likewise.
19552         Reported by Eric Blake.
19553
19554 2010-05-01  Bruno Haible  <bruno@clisp.org>
19555
19556         freading: Adapt to special meaning of _IOREAD flag on Solaris.
19557         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
19558         the _IOWRT flag is also set.
19559
19560 2010-05-01  Bruno Haible  <bruno@clisp.org>
19561
19562         Fix doc about a HP-UX stdio bug.
19563         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
19564         * doc/posix-functions/ftello.texi: Likewise.
19565
19566 2010-05-01  Bruno Haible  <bruno@clisp.org>
19567
19568         lseek test: Fix failure on Solaris.
19569         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
19570         output.
19571
19572 2010-04-30  Jim Meyering  <meyering@redhat.com>
19573
19574         bootstrap: don't ignore failure to generate po*/Makevars
19575         * build-aux/bootstrap (with_gettext): Don't ignore failure
19576         to create po/Makevars or runtime-po/Makevars.
19577
19578 2010-04-29  Eric Blake  <eblake@redhat.com>
19579
19580         headers: relax license to LGPLv2+
19581         * modules/fcntl-h (License): Relax license.
19582         * modules/getopt-posix (License): Likewise.
19583         * modules/locale (License): Likewise.
19584         * modules/math (License): Likewise.
19585         * modules/pty (License): Likewise.
19586         * modules/sched (License): Likewise.
19587         * modules/search (License): Likewise.
19588         * modules/spawn (License): Likewise.
19589         * modules/stdarg (License): Likewise.
19590         * modules/sysexits (License): Likewise.
19591
19592 2010-04-29  Jim Meyering  <meyering@redhat.com>
19593
19594         inttypes: relax license to LGPLv2+
19595         * modules/inttypes (License): Relax license.
19596
19597 2010-04-29  Simon Josefsson  <simon@josefsson.org>
19598
19599         * top/maint.mk (indent): Run twice to produce idempotent results.
19600
19601 2010-04-28  Bruno Haible  <bruno@clisp.org>
19602
19603         getdate: Generate getdate.c in the source directory.
19604         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
19605         MOSTLYCLEANFILES.
19606         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
19607
19608 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
19609
19610         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
19611         is not declared as a const *; avoid warnings in that case.
19612
19613 2010-04-28  Eric Blake  <eblake@redhat.com>
19614
19615         canonicalize-lgpl: avoid compiler warning
19616         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
19617         declaration' / 'extraneous semicolon' warning with some compilers.
19618         Reported by Andreas Gruenbacher.
19619
19620 2010-04-28  Jim Meyering  <meyering@redhat.com>
19621
19622         init.sh: ensure a more reliable exit status when exiting via trap
19623         * tests/init.sh (setup_): Don't rely on $? in signal handler.
19624         Inspired by patches from Dmitry V. Levin.
19625         Also trap on signal 3 (SIGQUIT).
19626
19627 2010-04-27  Bruno Haible  <bruno@clisp.org>
19628
19629         Update doc about utimes().
19630         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
19631         'utimens' module.
19632         Reported by Andreas Gruenbacher <agruen@suse.de>.
19633
19634 2010-04-27  Eric Blake  <eblake@redhat.com>
19635
19636         full-read, full-write: relax license
19637         * modules/full-read (License): Drop to LGPLv2+.
19638         * modules/full-write (License): Likewise.
19639         * modules/safe-read (License): Likewise.
19640         * modules/safe-write (License): Likewise.
19641
19642         pthread: mention library for linking
19643         * modules/pthread (Link): Mention $(LIB_PTHREAD).
19644
19645 2010-04-27  Jim Meyering  <meyering@redhat.com>
19646
19647         maint.mk: fix a bug introduced in last change
19648         * top/maint.mk (gl_assured_headers_): Now that all names are on
19649         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
19650         is not anchored to end of word, it should be adequate.
19651
19652         maint.mk: avoid side-effect in latest syntax-check
19653         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
19654         to run commands via $(shell...), and hence to incur cost only when
19655         the new rule is actually run.
19656
19657         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
19658         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
19659         and use that to create a regexp used to detect all #if HAVE_..._H uses.
19660         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
19661         (gl_assured_headers_, az_, AZ_): Define.
19662         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
19663
19664 2010-04-26  Jim Meyering  <jim@meyering.net>
19665             Bruno Haible  <bruno@clisp.org>
19666
19667         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
19668         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
19669         Prompted by an exchange with Gilles Espinasse.
19670
19671 2010-04-26  Jim Meyering  <meyering@redhat.com>
19672
19673         git-version-gen: aesthetic tweak
19674         * build-aux/git-version-gen: Use "$nl" rather than a literal,
19675         so that the command remains on a single line.
19676
19677 2010-04-26  Eric Blake  <eblake@redhat.com>
19678
19679         git-version-gen: allow use on EBCDIC hosts
19680         * build-aux/git-version-gen (dirty): Use literal rather than tying
19681         ourselves to ascii.
19682         Reported by Steve Goetze.
19683
19684 2010-04-25  Bruno Haible  <bruno@clisp.org>
19685
19686         netdb: Add support for GNULIB_POSIXCHECK.
19687         * lib/netdb.in.h: Include warn-on-use.h.
19688         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
19689         functions are used when GNULIB_POSIXCHECK is defined and the
19690         getaddrinfo module is not in use.
19691         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
19692         freeaddrinfo, gai_strerror, getnameinfo are declared.
19693         * modules/netdb (Depends-on): Add warn-on-use.
19694         (Makefile.am): Include warn-on-use.h in netdb.h.
19695
19696 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
19697
19698         build: avoid "make check" failure without .git/ directory
19699         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
19700         there is no .git/ directory.
19701
19702 2010-04-25  Bruno Haible  <bruno@clisp.org>
19703
19704         ptsname: Fix misuse of ttyname_r.
19705         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
19706         of errno.
19707
19708 2010-04-25  Bruno Haible  <bruno@clisp.org>
19709
19710         ttyname_r: Make it work on Solaris 10.
19711         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
19712         if the system function has the POSIX declaration. Test whether the
19713         function fails if the buffer is less than 128 bytes large.
19714         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
19715         system's ttyname_r function. Provide a reasonably large buffer.
19716         * modules/ttyname_r (Depends-on): Add extensions.
19717         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
19718
19719 2010-04-25  Bruno Haible  <bruno@clisp.org>
19720
19721         Use the 'extensions' module for some more functions on Solaris.
19722         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
19723         module.
19724         * doc/posix-functions/ctime_r.texi: Likewise.
19725         * doc/posix-functions/getgrgid_r.texi: Likewise.
19726         * doc/posix-functions/getgrnam_r.texi: Likewise.
19727         * doc/posix-functions/getpwnam_r.texi: Likewise.
19728         * doc/posix-functions/getpwuid_r.texi: Likewise.
19729         * doc/posix-functions/readdir_r.texi: Likewise.
19730         * doc/posix-functions/sigwait.texi: Likewise.
19731         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
19732         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
19733
19734 2010-04-25  Bruno Haible  <bruno@clisp.org>
19735
19736         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
19737         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
19738         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
19739         * lib/ttyname_r.c: Include <limits.h>.
19740         (ttyname_r): Define using the system's ttyname_r function, if it exists
19741         and not on Solaris.
19742         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
19743         set.
19744         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
19745         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
19746         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
19747         Reported by Simon Josefsson.
19748
19749 2010-04-25  Bruno Haible  <bruno@clisp.org>
19750
19751         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
19752         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
19753         * doc/posix-functions/ctime_r.texi: Likewise.
19754         * doc/posix-functions/getgrgid_r.texi: Likewise.
19755         * doc/posix-functions/getgrnam_r.texi: Likewise.
19756         * doc/posix-functions/getlogin_r.texi: Likewise.
19757         * doc/posix-functions/getpwnam_r.texi: Likewise.
19758         * doc/posix-functions/getpwuid_r.texi: Likewise.
19759         * doc/posix-functions/readdir_r.texi: Likewise.
19760         * doc/posix-functions/sigwait.texi: Likewise.
19761         * doc/posix-functions/ttyname_r.texi: Likewise.
19762         Reported by Simon Josefsson.
19763
19764 2010-04-25  Bruno Haible  <bruno@clisp.org>
19765
19766         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
19767         * gnulib-tool (func_usage): Document that --with-*-tests options apply
19768         also to --create-testdir.
19769         (func_acceptable): Don't consider the status of *-tests modules here.
19770         (func_modules_transitive_closure): Consider it here, before including a
19771         test module.
19772         (func_import, func_create_testdir): Set inc_all_direct_tests,
19773         inc_all_indirect_tests.
19774         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
19775         --create-testdir and --create-megatestdir.
19776
19777 2010-04-25  Bruno Haible  <bruno@clisp.org>
19778
19779         gnulib-tool: Add --without-*-tests options.
19780         * gnulib-tool (func_usage): Document the --without-*-tests options.
19781         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
19782         excl_unportable_tests): New variables.
19783         Fail if they are specified with --import or --update.
19784         (func_acceptable): Respect the excl_*_tests variables.
19785         (func_import): Set the excl_*_tests variables to empty.
19786
19787 2010-04-25  Simon Josefsson  <simon@josefsson.org>
19788             Bruno Haible  <bruno@clisp.org>
19789
19790         Work around a MacOS X 10.4 bug with openpty.
19791         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
19792         * tests/test-openpty.c (main): Close the master side explicitly.
19793
19794 2010-04-25  Bruno Haible  <bruno@clisp.org>
19795
19796         strnlen: Fix a C++ test error on MacOS X and Solaris.
19797         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
19798         the function is not declared.
19799         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
19800         Simon Josefsson.
19801
19802 2010-04-24  Bruno Haible  <bruno@clisp.org>
19803
19804         Avoid a gcc warning.
19805         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
19806         of correct type for %08lx directive.
19807         Reported by Eric Blake.
19808
19809 2010-04-24  Bruno Haible  <bruno@clisp.org>
19810
19811         vasnprintf: Correct errno value in case of out-of-memory.
19812         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
19813         or sprintf. Use the errno value from SNPRINTF or sprintf.
19814         Reported by Ian Beckwith <ianb@erislabs.net>.
19815
19816 2010-04-24  Bruno Haible  <bruno@clisp.org>
19817
19818         ansi-c++-opt: Find correct compiler when cross-compiling.
19819         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
19820         AC_CHECK_PROGS.
19821         Reported by Simon Josefsson.
19822
19823 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
19824
19825         vc-list-files: Add support for subversion
19826         * build-aux/vc-list-files: Use "svn list" to generate the list of
19827         files controlled by subversion.
19828
19829 2010-04-23  Jim Meyering  <meyering@redhat.com>
19830
19831         vc-list-files tests: convert to use init.sh
19832         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
19833         path_prepend_.
19834         Use Exit, not exit.
19835         Use skip_ rather than open coding it.
19836         Remove trap set-up and compare definitions.
19837         * tests/test-vc-list-files-git.sh: Likewise.
19838         * modules/vc-list-files-tests (Files): Add tests/init.sh.
19839
19840 2010-04-22  Simon Josefsson  <simon@josefsson.org>
19841
19842         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
19843         backup files.
19844
19845 2010-04-21  Simon Josefsson  <simon@josefsson.org>
19846
19847         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
19848
19849 2010-04-20  Eric Blake  <eblake@redhat.com>
19850
19851         tests: be robust to ignored SIGPIPE
19852         * tests/test-select-in.sh: Consume all output.
19853         * tests/test-lseek.sh: Check correct exit status, while avoiding
19854         EPIPE.
19855
19856 2010-04-20  Simon Josefsson  <simon@josefsson.org>
19857             Bruno Haible  <bruno@clisp.org>
19858
19859         visibility: Don't use -fvisibility if it leads to a warning.
19860         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
19861         yes, don't pretend that visibility works if it leads to a warning.
19862         Reported by Mike Gran <spk121@yahoo.com>.
19863
19864 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
19865
19866         * build-aux/bootstrap: Use "git -h" for testing for supported options
19867         instead of "git --help".  The short-form option only shows a summary,
19868         and doesn't layout the full man page.  Grep for the full option name
19869         in the summary, too.
19870
19871 2010-04-19  Bruno Haible  <bruno@clisp.org>
19872
19873         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
19874         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
19875         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
19876         mention of RELOCATABLE_STRIP.
19877         Reported by Sylvain Beucler <beuc@beuc.net>.
19878
19879 2010-04-19  Bruno Haible  <bruno@clisp.org>
19880
19881         * lib/diffseq.h: Fix typo in comment.
19882         Reported by Eric Blake.
19883
19884 2010-04-19  Bruno Haible  <bruno@clisp.org>
19885
19886         ioctl: Move autoconf macro to a .m4 file.
19887         * m4/ioctl.m4: New file, extracted from modules/ioctl.
19888         * modules/ioctl (Files): Add it.
19889         (configure.ac): Simply invoke gl_FUNC_IOCTL.
19890         Reported by Ian Beckwith <ianb@erislabs.net>.
19891
19892 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
19893             Bruno Haible  <bruno@clisp.org>
19894
19895         diffseq: Accommodate use-case with abstract arrays.
19896         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
19897         is not defined.
19898         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
19899         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
19900
19901 2010-04-18  Bruno Haible  <bruno@clisp.org>
19902
19903         * doc/posix-headers/stdbool.texi: More precise wording.
19904
19905 2010-04-17  Jim Meyering  <meyering@redhat.com>
19906
19907         maint.mk: use gnu-style indentation in an embedded perl script
19908         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
19909         Rename variable: s/two/last_two_bytes/
19910
19911 2010-04-16  Eric Blake  <eblake@redhat.com>
19912
19913         test-stdbool: skip test that fails with Solaris CC
19914         * tests/test-stdbool.c (f): Skip test that causes compilation
19915         error under buggy C++ compiler.
19916         * lib/stdbool.in.h: Document the limitation.
19917         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
19918
19919         setenv: allow compilation with C++
19920         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
19921         register keyword.
19922
19923         stdint: allow test to pass with C++
19924         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
19925
19926         getopt: allow compilation with C++
19927         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
19928         struct.
19929         * lib/getopt.c (_getopt_internal_r): Use correct type.
19930         Reported by Dagobert Michelson, via Joel E. Denny.
19931
19932 2010-04-16  Bruno Haible  <bruno@clisp.org>
19933
19934         Override netdb.h always.
19935         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
19936         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
19937         Reported by Ludovic Courtès <ludo@gnu.org>.
19938
19939 2010-04-15  Bruno Haible  <bruno@clisp.org>
19940
19941         openpty: Fix mistake from 2010-03-21.
19942         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
19943         Reported by Simon Josefsson.
19944
19945 2010-04-15  Eric Blake  <eblake@redhat.com>
19946
19947         test-forkpty: fix expected signature
19948         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
19949         Reported by Simon Josefsson.
19950
19951 2010-04-15  Jim Meyering  <meyering@redhat.com>
19952
19953         maint.mk: texinfo_suffix_re_: correct the default regexp
19954         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
19955
19956         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
19957         make it configurable via texinfo_suffix_re_.
19958
19959 2010-04-14  Eric Blake  <eblake@redhat.com>
19960
19961         strtok_r: relax license to LGPLv2+
19962         * modules/strtok_r (License): Relax license.
19963         Reported by Matthias Bolte.
19964
19965 2010-04-14  Simon Josefsson  <simon@josefsson.org>
19966
19967         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
19968         version 1.4.4 by default instead of requiring the libgcrypt
19969         version used during build.  This makes it possible to use the
19970         application with older but still binary compatible libgcrypt
19971         versions.
19972
19973 2010-04-13  Eric Blake  <eblake@redhat.com>
19974
19975         getopt-gnu: match recent glibc fixes and posix ruling
19976         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
19977         '+' handling, when requesting extensions.
19978         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
19979         'W;' handling.
19980         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
19981         * doc/posix-functions/getopt.texi (getopt): Document this.
19982         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19983         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19984         Likewise.
19985
19986         getopt: merge bug fixes from glibc
19987         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
19988         diagnostics.  Honor '+:' correctly.  Reject ';'.
19989
19990         getopt-posix: detect MacOS bug
19991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
19992         optind when missing a required argument.
19993         * doc/posix-functions/getopt.texi (getopt): Document the bug.
19994         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19995         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19996         Likewise.
19997
19998         getopt-posix: avoid spurious failure on Solaris
19999         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
20000         an indicator that setting optind=1 is sufficient for reset.
20001
20002         getopt-posix: avoid spurious failure on FreeBSD
20003         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
20004         in POSIX mode, since the m4 test uses it.
20005
20006         gnulib-tool: silence warning on BSD sh
20007         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
20008
20009 2010-04-13  Jim Meyering  <meyering@redhat.com>
20010
20011         doc: users.txt: GNU patch now uses gnulib
20012         * users.txt: Add patch.
20013
20014 2010-04-12  Jim Meyering  <meyering@redhat.com>
20015
20016         maint.mk: generate more concise timing data for syntax-check rules
20017         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
20018         " done" from each line that reports a syntax-check test duration.
20019
20020 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
20021
20022         git-version-gen: use "git update-index..." rather than "git status"
20023         * build-aux/git-version-gen: Use git update-index --refresh, not
20024         "git status".  With some versions of git, "git status" would fail
20025         to update the index and result in an unwarranted "-dirty" suffix.
20026
20027 2010-04-11  Jim Meyering  <meyering@redhat.com>
20028
20029         openat: correct formatting (no semantic change)
20030         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
20031         Suggested by Bruno Haible.
20032
20033 2010-04-11  Bruno Haible  <bruno@clisp.org>
20034
20035         Stricter declaration checking in testdirs.
20036         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20037         If for_tests is true, augment AM_CPPFLAGS to define
20038         GNULIB_STRICT_CHECKING.
20039         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
20040         GNULIB_STRICT_CHECKING is defined, verify that the function is
20041         declared.
20042
20043 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
20044             Bruno Haible  <bruno@clisp.org>
20045
20046         libunistring: Improve configure output.
20047         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
20048         Don't say "consider installing GNU libunistring" when checking again
20049         with libiconv.
20050
20051 2010-04-11  Bruno Haible  <bruno@clisp.org>
20052
20053         libunistring: Correct value of $LTLIBUNISTRING.
20054         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
20055         correct the value of $LTLIBUNISTRING.
20056
20057 2010-04-11  Bruno Haible  <bruno@clisp.org>
20058
20059         havelib: Add static libraries to LIBS in the right order.
20060         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
20061         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
20062
20063 2010-04-11  Bruno Haible  <bruno@clisp.org>
20064
20065         libunistring: Detect libunistring also when it depends on libiconv.
20066         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
20067         the second AC_LIB_HAVE_LINKFLAGS invocation.
20068
20069 2010-04-11  James Youngman  <jay@gnu.org>
20070
20071         close-stream: declare local scalars to be "const"
20072         * lib/close-stream.c (close_stream): Make boolean variables const
20073         to document the fact that we set but do not change them.
20074
20075 2010-04-11  Bruno Haible  <bruno@clisp.org>
20076
20077         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
20078
20079 2010-04-11  Jim Meyering  <meyering@redhat.com>
20080
20081         maint.mk: don't include dist-check.mk
20082         * top/maint.mk: Remove bogus include directive.
20083
20084         maint.mk: improve empty-line-at-EOF check
20085         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
20086         solution, rather than tail+Perl-based one.  The latter would read
20087         a few kilobytes from the end of each file, and did not handle empty
20088         files properly.
20089
20090         maint.mk: print the elapsed time for each syntax-check rule
20091         * top/maint.mk (sc_m_rules_): Save start time in a file.
20092         (sc_z_rules_): New rules: remove temp file and print elapsed time.
20093         (local-check): Interpose the .z rules
20094
20095 2010-04-11  Jim Meyering  <meyering@redhat.com>
20096
20097         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
20098         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
20099         empty file with one that ends in an empty line.
20100
20101 2010-04-10  Bruno Haible  <bruno@clisp.org>
20102
20103         mkdir: Make it work on mingw64.
20104         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
20105         * lib/mkdir.c: Update comment.
20106         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
20107
20108 2010-04-10  Bruno Haible  <bruno@clisp.org>
20109
20110         Don't override improved macro from newer autoconf.
20111         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
20112         autoconf >= 2.62.
20113         Reported by Joel E. Denny <jdenny@clemson.edu>.
20114
20115 2010-04-10  Jim Meyering  <meyering@redhat.com>
20116
20117         maint.mk: new syntax-check rule: prohibit empty lines at end of file
20118         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
20119
20120         maint.mk: correct a diagnostic
20121         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
20122         in diagnostic; now use $prohibit.
20123
20124 2010-04-10  Bruno Haible  <address@hidden>
20125
20126         fchownat: Fix a C++ test error on Solaris 8.
20127         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
20128         the function does not exist.
20129
20130 2010-04-10  Bruno Haible  <bruno@clisp.org>
20131
20132         vasnprintf: Add more tests.
20133         * tests/test-vasnprintf-posix.c: Include <errno.h>.
20134         (test_function): Test converting an invalid wide string.
20135
20136         vasnprintf: Correct handling of unconvertible wide string arguments.
20137         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
20138         VASNPRINTF.
20139         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
20140         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
20141         smaller than the expected maximum need for the directive. Set errno to
20142         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
20143         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
20144         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
20145         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
20146         * modules/vasnprintf (Files): Add m4/printf.m4.
20147         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20148
20149 2010-04-10  Bruno Haible  <bruno@clisp.org>
20150
20151         vasnprintf: Fix crash in %ls directive.
20152         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
20153         string is passed as argument to %ls, with no precision and no width.
20154         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20155
20156 2010-04-10  Bruno Haible  <bruno@clisp.org>
20157
20158         vasnprintf: Fix multiple test failures on mingw.
20159         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
20160         _snprintf, or snwprintf, not _snwprintf.
20161
20162 2010-04-10  Bruno Haible  <bruno@clisp.org>
20163
20164         write: Fix a C++ test error on mingw.
20165         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
20166
20167 2010-04-10  Bruno Haible  <bruno@clisp.org>
20168
20169         vasnprintf test: Reduce code duplication.
20170         * tests/test-vasnprintf.c (test_function): New function, extracted from
20171         test_vasnprintf.
20172         (test_vasnprintf, test_asnprintf): Invoke it.
20173
20174 2010-04-10  Bruno Haible  <bruno@clisp.org>
20175
20176         strnlen: Fix warning in C++ mode on MacOS X.
20177         * lib/string.in.h (strnlen): Use the modern idiom.
20178         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
20179         defining strnlen as a macro already in <config.h>.
20180         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20181         REPLACE_STRNLEN.
20182         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
20183         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20184
20185 2010-04-08  James Youngman  <jay@gnu.org>
20186
20187         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
20188         the example.
20189
20190 2010-04-09  Jim Meyering  <meyering@redhat.com>
20191
20192         maint.mk: print better diagnostic when there is no $(_hv_file)
20193         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
20194         announce that when $(_hv_file) (aka help-version) does not exist.
20195
20196         init.sh: run tr in the "C" locale to avoid multibyte interpretation
20197         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
20198         not try to interpret its random input bytes.  Jarno Rajahalme reported
20199         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
20200         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
20201         (mktempd_): Likewise, just in case.
20202
20203         ftruncate: add two years to projected module removal date: 2012
20204         * m4/ftruncate.m4: Adjust comments.
20205
20206         ftruncate: mark module as obsolete; even MinGW provides it, now
20207         * modules/ftruncate (Status): Obsolete.
20208         (Notice): Say that.
20209         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
20210         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
20211
20212 2010-04-08  Bruno Haible  <bruno@clisp.org>
20213
20214         Fix side effects from tests-related modules.
20215         * modules/dprintf-posix (Comment): New section.
20216         * modules/fprintf-posix (Comment): Likewise.
20217         * modules/obstack-printf-posix (Comment): Likewise.
20218         * modules/printf-posix (Comment): Likewise.
20219         * modules/snprintf-posix (Comment): Likewise.
20220         * modules/sprintf-posix (Comment): Likewise.
20221         * modules/vasnprintf-posix (Comment): Likewise.
20222         * modules/vasprintf-posix (Comment): Likewise.
20223         * modules/vdprintf-posix (Comment): Likewise.
20224         * modules/vfprintf-posix (Comment): Likewise.
20225         * modules/vprintf-posix (Comment): Likewise.
20226         * modules/vsnprintf-posix (Comment): Likewise.
20227         * modules/vsprintf-posix (Comment): Likewise.
20228         * modules/xprintf-posix (Comment): Likewise.
20229         * modules/xvasprintf-posix (Comment): Likewise.
20230         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
20231         * modules/floorf-tests (Depends-on): Likewise.
20232         * modules/round-tests (Depends-on): Likewise.
20233         * modules/roundf-tests (Depends-on): Likewise.
20234         * modules/trunc-tests (Depends-on): Likewise.
20235         * modules/truncf-tests (Depends-on): Likewise.
20236         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
20237         'fprintf-posix' module is not present.
20238         * tests/test-floorf2.c (check): Likewise.
20239         * tests/test-trunc2.c (check): Likewise.
20240         * tests/test-truncf2.c (check): Likewise.
20241         * tests/test-round2.c (equal): Likewise.
20242         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20243
20244 2010-04-07  Karl Berry  <karl@gnu.org>
20245
20246         * config/srclist.txt,
20247         * config/srclistvars.sh,
20248         * config/srclist-update: doc fixes.
20249
20250 2010-04-07  Jim Meyering  <meyering@redhat.com>
20251
20252         maint.mk: add a PATH crosschecking syntax-check rule
20253         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
20254         Useful if you use a test like the one in help-version (coreutils,
20255         diffutils, grep, gzip) that ensures $(VERSION) matches what is
20256         printed by prog --version.
20257
20258 2010-04-06  Bruno Haible  <bruno@clisp.org>
20259
20260         Fix link error on mingw.
20261         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
20262         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
20263
20264 2010-04-06  Bruno Haible  <bruno@clisp.org>
20265
20266         Assume rmdir exists.
20267         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
20268
20269 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
20270
20271         doc: update users.txt
20272         * users.txt: Add gcal.
20273
20274 2010-04-06  Jim Meyering  <meyering@redhat.com>
20275
20276         init.sh: simply unset TMPDIR rather than risking env -i
20277         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
20278         although it probably works fine on all Unix-based systems, some
20279         systems (Cygwin?) cannot tolerate a totally cleared environment.
20280         Suggestion from Eric Blake.
20281
20282 2010-04-06  Jim Meyering  <meyering@redhat.com>
20283
20284         init.sh: portability fix: use env's POSIX-specified -i option not -u
20285         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
20286         than unportable env -u.  Solaris 5.11's env lacks support for -u.
20287
20288 2010-04-05  Bruno Haible  <bruno@clisp.org>
20289
20290         btowc: Work around Cygwin 1.7.2 bug.
20291         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
20292         does not map NUL to 0.
20293         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
20294
20295 2010-04-05  Bruno Haible  <bruno@clisp.org>
20296
20297         Make the multithread modules work on Cygwin 1.7.2.
20298         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
20299         imported symbols can be declared weak, so that it returns "no" on
20300         Cygwin 1.7.2.
20301
20302 2010-04-05  Bruno Haible  <bruno@clisp.org>
20303
20304         Use the module 'strncat'.
20305         * modules/unistr/u8-strncat (Depends-on): Add strncat.
20306
20307         Tests for module 'strncat'.
20308         * modules/strncat-tests: New file.
20309         * tests/test-strncat.c: New file.
20310
20311         New module 'strncat'.
20312         * lib/string.in.h (strncat): New declaration.
20313         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
20314         * m4/strncat.m4: New file, based on m4/memchr.m4.
20315         * modules/strncat: New file.
20316         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
20317         is declared.
20318         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
20319         REPLACE_STRNCAT.
20320         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
20321         REPLACE_STRNCAT.
20322         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
20323         module.
20324         * tests/test-string-c++.cc: Check signature of strncat.
20325
20326 2010-04-05  Jim Meyering  <meyering@redhat.com>
20327
20328         xstrtoumax-tests: convert to use init.sh
20329         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
20330         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20331         Use Exit, not exit.
20332         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20333
20334         xstrtoimax-tests: convert to use init.sh
20335         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
20336         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20337         Use Exit, not exit.
20338         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20339
20340 2010-04-05  Bruno Haible  <bruno@clisp.org>
20341
20342         sys_socket: Avoid #define replacements in C++ mode.
20343         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
20344         warning to the function if possible, rather than #defining the symbol
20345         to a dysfunctional alias.
20346
20347 2010-04-05  Bruno Haible  <bruno@clisp.org>
20348
20349         fseeko: Fix C++ test error on mingw.
20350         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
20351         gl_FUNC_FSEEKO.
20352         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
20353         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
20354         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
20355         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
20356
20357 2010-04-05  Bruno Haible  <bruno@clisp.org>
20358
20359         duplocale: Improve test output.
20360         * tests/test-duplocale.c (main): Print reason for skipped test.
20361
20362 2010-04-05  Bruno Haible  <bruno@clisp.org>
20363
20364         Assume rmdir exists.
20365         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
20366         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
20367
20368 2010-04-05  Bruno Haible  <bruno@clisp.org>
20369
20370         Fix link error on Solaris 8 with cc.
20371         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
20372
20373 2010-04-05  Bruno Haible  <bruno@clisp.org>
20374
20375         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
20376         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
20377
20378 2010-04-05  Bruno Haible  <bruno@clisp.org>
20379
20380         vasprintf: Update documentation.
20381         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
20382
20383 2010-04-05  Bruno Haible  <bruno@clisp.org>
20384
20385         ptsname: Improve test.
20386         * tests/test-ptsname.c (main): Also try the various master names of BSD
20387         systems.
20388
20389 2010-04-05  Bruno Haible  <bruno@clisp.org>
20390
20391         memchr: Avoid a possible C++ test error.
20392         * lib/string.in.h (memchr): Provide declaration if function is missing.
20393         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
20394         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
20395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
20396         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
20397
20398 2010-04-05  Bruno Haible  <bruno@clisp.org>
20399
20400         strtok_r: Improve idiom.
20401         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
20402         AC_LIBOBJ is used.
20403
20404 2010-04-05  Bruno Haible  <bruno@clisp.org>
20405
20406         strdup: Improve idiom.
20407         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
20408         AC_LIBOBJ is used.
20409         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
20410         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
20411         when AC_LIBOBJ is used.
20412
20413 2010-04-05  Bruno Haible  <bruno@clisp.org>
20414
20415         mbsinit, mbrtowc, wcrtomb: Improve idioms.
20416         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
20417         don't set REPLACE_MBSINIT to 1.
20418         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
20419         don't set REPLACE_MBRTOWC to 1.
20420         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
20421         exist, don't set REPLACE_MBSRTOWCS to 1.
20422         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
20423         exist, don't set REPLACE_MBSNRTOWCS to 1.
20424         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
20425         don't set REPLACE_WCRTOMB to 1.
20426         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
20427         exist, don't set REPLACE_WCSRTOMBS to 1.
20428         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
20429         exist, don't set REPLACE_WCSNRTOMBS to 1.
20430
20431 2010-04-05  Bruno Haible  <bruno@clisp.org>
20432
20433         ldexpl: Improve idiom.
20434         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
20435         make sure to set HAVE_DECL_LDEXPL to 0.
20436
20437 2010-04-05  Jim Meyering  <meyering@redhat.com>
20438
20439         xstrtol-tests: convert to use init.sh
20440         * modules/xstrtol-tests (Files): Add tests/init.sh.
20441         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20442         Use Exit, not exit.
20443         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20444
20445         atexit-tests: convert to use init.sh
20446         * modules/atexit-tests (Files): Add tests/init.sh.
20447         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20448         Use Exit, not exit.
20449         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20450
20451         init.sh: fix typo
20452         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
20453
20454         init.sh: make it easier for a test script to write to the tty, ...
20455         when using automake's parallel-tests mode.
20456         * tests/init.sh (stderr_fileno_): Define overridable variable.
20457         (warn_): New function, to use it.
20458         (fail_, skip_, framework_failure_): Use warn_.
20459
20460 2010-04-04  Bruno Haible  <bruno@clisp.org>
20461
20462         btowc: Avoid warning.
20463         * lib/btowc.c: Include <stdlib.h>.
20464         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
20465
20466 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
20467             Bruno Haible  <bruno@clisp.org>
20468
20469         wchar: Port to NetBSD 1.5.
20470         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
20471         * lib/wctype.in.h (WEOF): Likewise.
20472
20473 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
20474             Bruno Haible  <bruno@clisp.org>
20475
20476         Port extended stdio to NetBSD 1.5.
20477         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
20478         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
20479         older.
20480
20481 2010-04-04  Bruno Haible  <bruno@clisp.org>
20482
20483         string: Remove unused substitution.
20484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
20485         HAVE_DECL_STRERROR.
20486         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
20487
20488 2010-04-04  Bruno Haible  <bruno@clisp.org>
20489
20490         strtod: Avoid a possible C++ test error.
20491         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
20492         set REPLACE_STRTOD.
20493
20494 2010-04-04  Bruno Haible  <bruno@clisp.org>
20495
20496         strerror: Update documentation.
20497         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
20498
20499 2010-04-04  Bruno Haible  <bruno@clisp.org>
20500
20501         stdio: Fix some C++ test errors on Solaris 8 with GCC.
20502         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
20503         _GL_CXXALIAS_SYS_CAST.
20504
20505 2010-04-04  Bruno Haible  <bruno@clisp.org>
20506
20507         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
20508         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
20509         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
20510         REPLACE_FREXPL to 1.
20511         * doc/posix-functions/frexpl.texi: Update documentation.
20512
20513 2010-04-04  Bruno Haible  <bruno@clisp.org>
20514
20515         math: Fix some C++ test errors on Solaris 8 and Cygwin.
20516         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
20517
20518 2010-04-04  Bruno Haible  <bruno@clisp.org>
20519
20520         Implement nanosleep for native Windows.
20521         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
20522
20523 2010-04-04  Bruno Haible  <bruno@clisp.org>
20524
20525         math: Fix some C++ test errors on Solaris 8.
20526         * lib/math.in.h (truncf, trunc): Use simpler idiom.
20527
20528 2010-04-04  Bruno Haible  <bruno@clisp.org>
20529
20530         math: Fix some C++ test errors on Cygwin.
20531         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
20532         truncl): Provide declaration if the system does not have it.
20533         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
20534         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
20535         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
20536         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
20537         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
20538         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
20539         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
20540         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
20541         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
20542         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
20543         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
20544         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
20545         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
20546         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
20547         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
20548         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
20549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
20550         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20551         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20552         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
20553         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20554         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20555
20556 2010-04-04  Bruno Haible  <bruno@clisp.org>
20557
20558         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
20559         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
20560         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
20561         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
20562         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
20563         * m4/isinf.m4 (gl_ISINF): Likewise.
20564         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20565
20566 2010-04-04  Bruno Haible  <bruno@clisp.org>
20567
20568         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
20569         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20570
20571 2010-04-04  Bruno Haible  <bruno@clisp.org>
20572
20573         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
20574         * modules/tmpfile (configure.ac): Update.
20575
20576         tmpfile: Fix C++ test error on mingw.
20577         * lib/stdio.in.h (tmpfile): New declaration.
20578         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
20579         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
20580         * modules/tmpfile (Depends-on): Add stdio.
20581         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
20582         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
20583         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
20584         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
20585         REPLACE_TMPFILE.
20586         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
20587
20588 2010-04-04  Bruno Haible  <bruno@clisp.org>
20589
20590         ioctl: Fix C++ test error on mingw.
20591         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
20592         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
20593         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
20594
20595 2010-04-03  Bruno Haible  <bruno@clisp.org>
20596
20597         wcwidth: Fix C++ test error on mingw.
20598         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
20599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
20600         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
20601
20602 2010-04-03  Bruno Haible  <bruno@clisp.org>
20603
20604         nanosleep: Fix C++ test error on mingw.
20605         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
20606         * lib/time.in.h (nanosleep): Use modern idiom.
20607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
20608         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
20609         REPLACE_NANOSLEEP to 1.
20610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
20611         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
20612
20613 2010-04-03  Bruno Haible  <bruno@clisp.org>
20614
20615         strptime: Fix C++ test error on mingw.
20616         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
20617         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
20618         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
20619         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
20620         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
20621         not REPLACE_STRPTIME.
20622         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
20623         REPLACE_STRPTIME.
20624
20625 2010-04-03  Bruno Haible  <bruno@clisp.org>
20626
20627         timegm: Fix C++ test error on mingw.
20628         * lib/time.in.h (timegm): Use modern idiom.
20629         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
20630         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
20631         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
20632         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
20633
20634 2010-04-03  Bruno Haible  <bruno@clisp.org>
20635
20636         timegm: Assume declaration if function exists.
20637         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
20638         if it exists. Don't clobber ac_cv_func_timegm.
20639
20640 2010-04-03  Bruno Haible  <bruno@clisp.org>
20641
20642         time_r: Fix C++ test error on mingw.
20643         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
20644         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
20645         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
20646         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
20647         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
20648
20649 2010-04-03  Bruno Haible  <bruno@clisp.org>
20650
20651         time_r: Minor updates.
20652         * modules/time_r (Description): Mention the provided functions.
20653         * lib/time_r.c: Don't include <string.h>.
20654         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
20655         * doc/posix-functions/localtime_r.texi: Likewise.
20656
20657 2010-04-03  Bruno Haible  <bruno@clisp.org>
20658
20659         time: Fix regression introduced on 2010-03-08.
20660         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
20661         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
20662
20663 2010-04-03  Jim Meyering  <meyering@redhat.com>
20664
20665         maint.mk: don't silently disable project-specific syntax-check rules
20666         * top/maint.mk (_prohibit_regexp): Define, to help people realize
20667         that they need to convert their project-specific syntax-check rules
20668         to use the new _sc_search_regexp.
20669
20670 2010-04-03  Bruno Haible  <bruno@clisp.org>
20671
20672         fchdir: Fix regression introduced on 2010-03-08.
20673         * lib/unistd.in.h (fchdir): Fix declaration.
20674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
20675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
20676         REPLACE_FCHDIR.
20677         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
20678         REPLACE_FCHDIR.
20679
20680 2010-04-03  Bruno Haible  <bruno@clisp.org>
20681
20682         getpagesize: Fix C++ test error on mingw.
20683         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
20684         system does not declare the function.
20685         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
20686         declared.
20687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20688         HAVE_DECL_GETPAGESIZE.
20689         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
20690
20691 2010-04-03  Bruno Haible  <bruno@clisp.org>
20692
20693         stdio: Make C++ tests work on mingw.
20694         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
20695         does not declare the function.
20696
20697 2010-04-03  Bruno Haible  <bruno@clisp.org>
20698
20699         ftello: Fix C++ test error on mingw.
20700         * lib/stdio.in.h (ftello): Use modern idiom.
20701         * lib/ftello.c (ftello): Renamed from rpl_ftello.
20702         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
20703         is missing and that it needs to be replaced.
20704         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
20705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
20706         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
20707
20708 2010-04-03  Bruno Haible  <bruno@clisp.org>
20709
20710         fseeko: Fix C++ test error on mingw.
20711         * lib/stdio.in.h (fseeko): Use modern idiom.
20712         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
20713         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
20714         is missing and that it needs to be replaced.
20715         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
20716         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
20717         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
20718
20719 2010-04-03  Bruno Haible  <bruno@clisp.org>
20720
20721         mkstemp: Fix C++ test error on mingw.
20722         * lib/stdlib.in.h (mkstemp): Use modern idiom.
20723         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
20724         function is missing and that it needs to be replaced.
20725         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
20726         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
20727
20728 2010-04-03  Bruno Haible  <bruno@clisp.org>
20729
20730         stpncpy: Fix C++ test error on mingw.
20731         * lib/string.in.h (stpncpy): Use modern idiom.
20732         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
20733         function is missing and that it needs to be replaced.
20734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20735         REPLACE_STPNCPY.
20736         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
20737
20738 2010-04-03  Bruno Haible  <bruno@clisp.org>
20739
20740         sys_stat: Fix C++ test error on mingw.
20741         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
20742         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
20743
20744 2010-04-03  Bruno Haible  <bruno@clisp.org>
20745
20746         pty: Update doc.
20747         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
20748
20749 2010-04-03  Bruno Haible  <bruno@clisp.org>
20750
20751         unistd: Fix C++ test error on mingw.
20752         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
20753
20754 2010-04-03  Bruno Haible  <bruno@clisp.org>
20755
20756         Update doc regarding mingw.
20757         * doc/glibc-functions/openpty.texi: Update regarding mingw.
20758         * doc/glibc-functions/login_tty.texi: Likewise.
20759         * doc/glibc-functions/forkpty.texi: Likewise.
20760
20761 2010-04-03  Bruno Haible  <bruno@clisp.org>
20762
20763         stdlib: Avoid compilation failure of c-strtold on mingw.
20764         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
20765
20766 2010-04-03  Bruno Haible  <bruno@clisp.org>
20767
20768         locale: Make C++ tests work on Cygwin and mingw.
20769         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
20770         cannot provide the function.
20771         Reported by Simon Josefsson.
20772
20773 2010-04-03  Bruno Haible  <bruno@clisp.org>
20774
20775         localename: Port to MacOS X 10.6.
20776         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
20777         memory layout of the locales in MacOS X 10.6 as well.
20778         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
20779
20780 2010-04-02  Bruno Haible  <bruno@clisp.org>
20781
20782         gnulib-tool: Ensure that long-running tests are executed last.
20783         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
20784         running tests after the one for the other tests.
20785
20786 2010-04-02  Bruno Haible  <bruno@clisp.org>
20787
20788         gnulib-tool: Ensure the tests in the main directory are executed first.
20789         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
20790         start with the current directory.
20791
20792 2010-04-02  Bruno Haible  <bruno@clisp.org>
20793
20794         Tests for module 'havelib', moved here from GNU gettext.
20795         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
20796         modifications.
20797         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
20798         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
20799         with modifications.
20800         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
20801         modifications.
20802         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
20803         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
20804         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
20805         with modifications.
20806         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
20807         with modifications.
20808         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
20809         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
20810         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
20811         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
20812         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
20813         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
20814         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
20815         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
20816         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
20817         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
20818         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
20819         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
20820         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
20821         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
20822         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
20823         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
20824         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
20825         with modifications.
20826         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
20827         with modifications.
20828         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
20829         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
20830         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
20831         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
20832         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
20833         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
20834         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
20835         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
20836         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
20837         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
20838         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
20839         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
20840         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
20841         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
20842         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
20843         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
20844         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
20845         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
20846         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
20847         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
20848         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
20849         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
20850         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
20851         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
20852         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
20853         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
20854         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
20855         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
20856         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
20857         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
20858         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
20859         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
20860         * tests/havelib/rpathx/rpathx.c: New file, from
20861         gettext/autoconf-lib-link.
20862         * tests/havelib/rpathx/Makefile.am: New file, from
20863         gettext/autoconf-lib-link.
20864         * tests/havelib/rpathx/configure.ac: New file, from
20865         gettext/autoconf-lib-link with modifications.
20866         * tests/havelib/rpathy/rpathy.c: New file, from
20867         gettext/autoconf-lib-link.
20868         * tests/havelib/rpathy/Makefile.am: New file, from
20869         gettext/autoconf-lib-link.
20870         * tests/havelib/rpathy/configure.ac: New file, from
20871         gettext/autoconf-lib-link with modifications.
20872         * tests/havelib/rpathz/rpathz.c: New file, from
20873         gettext/autoconf-lib-link.
20874         * tests/havelib/rpathz/Makefile.am: New file, from
20875         gettext/autoconf-lib-link.
20876         * tests/havelib/rpathz/configure.ac: New file, from
20877         gettext/autoconf-lib-link with modifications.
20878         * tests/havelib/rpathlx/usex.c: New file, from
20879         gettext/autoconf-lib-link.
20880         * tests/havelib/rpathlx/Makefile.am: New file, from
20881         gettext/autoconf-lib-link.
20882         * tests/havelib/rpathlx/configure.ac: New file, from
20883         gettext/autoconf-lib-link with modifications.
20884         * tests/havelib/rpathly/usey.c: New file, from
20885         gettext/autoconf-lib-link.
20886         * tests/havelib/rpathly/Makefile.am: New file, from
20887         gettext/autoconf-lib-link.
20888         * tests/havelib/rpathly/configure.ac: New file, from
20889         gettext/autoconf-lib-link with modifications.
20890         * tests/havelib/rpathlz/usez.c: New file, from
20891         gettext/autoconf-lib-link.
20892         * tests/havelib/rpathlz/Makefile.am: New file, from
20893         gettext/autoconf-lib-link.
20894         * tests/havelib/rpathlz/configure.ac: New file, from
20895         gettext/autoconf-lib-link with modifications.
20896         * tests/havelib/rpathlyx/usey.c: New file, from
20897         gettext/autoconf-lib-link.
20898         * tests/havelib/rpathlyx/Makefile.am: New file, from
20899         gettext/autoconf-lib-link.
20900         * tests/havelib/rpathlyx/configure.ac: New file, from
20901         gettext/autoconf-lib-link with modifications.
20902         * tests/havelib/rpathlzyx/usez.c: New file, from
20903         gettext/autoconf-lib-link.
20904         * tests/havelib/rpathlzyx/Makefile.am: New file, from
20905         gettext/autoconf-lib-link.
20906         * tests/havelib/rpathlzyx/configure.ac: New file, from
20907         gettext/autoconf-lib-link with modifications.
20908         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
20909         with modifications.
20910
20911 2010-04-02  Bruno Haible  <bruno@clisp.org>
20912
20913         gnulib-tool: Create distributed built sources also for the tests.
20914         * gnulib-tool (func_create_testdir): Also generate distributed built
20915         sources in the tests directory.
20916
20917 2010-04-02  Bruno Haible  <bruno@clisp.org>
20918
20919         gnulib-tool: Obey user's environment variables.
20920         * gnulib-tool (func_create_testdir): When creating built sources,
20921         respect the environment variables for autoconf, automake, etc. given by
20922         the user.
20923
20924 2010-04-02  Bruno Haible  <bruno@clisp.org>
20925
20926         gnulib-tool: Provide the value of --m4-base to modules.
20927         * gnulib-tool (func_import, func_create_testdir): Emit a definition
20928         of gl_m4_base.
20929
20930 2010-04-02  Eric Blake  <eblake@redhat.com>
20931
20932         maint.mk: fix some fallout
20933         * NEWS: Document the incompatible change, and its effect on cfg.mk.
20934         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
20935
20936 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20937
20938         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
20939         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
20940         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
20941         (sc_cast_of_x_alloc_return_value): Likewise.
20942         (sc_cast_of_alloca_return_value): Likewise.
20943         (sc_space_tab): Likewise.
20944         (sc_prohibit_atoi_atof): Likewise.
20945         (sc_prohibit_magic_number_exit): Likewise.
20946         (sc_error_exit_success): Likewise.
20947         (sc_file_system): Likewise.
20948         (sc_prohibit_have_config_h): Likewise.
20949         (sc_require_config_h): Likewise.
20950         (sc_prohibit_HAVE_MBRTOWC): Likewise.
20951         (sc_obsolete_symbols): Likewise.
20952         (sc_changelog): Likewise.
20953         (sc_program_name): Likewise.
20954         (sc_the_the): Likewise.
20955         (sc_trailing_blank): Likewise.
20956         (sc_two_space_separator_in_usage): Likewise.
20957         (sc_useless_cpp_parens): Likewise.
20958         (sc_GPL_version): Likewise.
20959         (sc_GFDL_version): Likewise.
20960         (sc_texinfo_acronym): Likewise.
20961         (sc_prohibit_cvs_keyword): Likewise.
20962         (sc_prohibit_stat_st_blocks): Likewise.
20963         (sc_prohibit_S_IS_definition): Likewise.
20964         (sc_redundant_const): Likewise.
20965         (sc_makefile_TAB_only_indentation): Likewise.
20966         (sc_m4_quote_check): Likewise.
20967         (sc_makefile_path_separator_check): Likewise.
20968         (sc_copyright_check): Likewise.
20969         (sc_Wundef_boolean): Likewise.
20970         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20971
20972         maint.mk: match 0 or more whitespace-before-function-call '('
20973         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
20974         that have zero or two-and-more spaces between the function name
20975         and the open parenthesis.
20976         (sc_error_message_warn_fatal): Likewise.
20977         (sc_error_message_uppercase): Likewise.
20978         (sc_error_message_period): Likewise.
20979
20980 2010-03-31  Eric Blake  <eblake@redhat.com>
20981
20982         maint.mk: check for [ as well as test
20983         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
20984         Based on a libvirt report by Matthias Bolte.
20985
20986         gnumakefile: don't squelch _version output
20987         * top/GNUmakefile (_version): Create one-shot dependency rather
20988         than using $(shell) when version must be regenerated.
20989         (_autoreconf): Run verbosely, by default.
20990
20991         sys_time: avoid compiler warnings
20992         * lib/sys_time.in.h (includes): Ensure gcc pragma is
20993         unconditional, fixing regression from 2010-03-29.
20994         Reported by Simon Josefsson.
20995
20996 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20997
20998         maint.mk: s/_header_without_use/_sc_header_without_use/
20999         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
21000         (sc_prohibit_assert_without_use): Use the new name.
21001         (sc_prohibit_close_stream_without_use): Likewise.
21002         (sc_prohibit_getopt_without_use): Likewise.
21003         (sc_prohibit_quotearg_without_use): Likewise.
21004         (sc_prohibit_quote_without_use): Likewise.
21005         (sc_prohibit_long_options_without_use): Likewise.
21006         (sc_prohibit_inttostr_without_use): Likewise.
21007         (sc_prohibit_ignore_value_without_use): Likewise.
21008         (sc_prohibit_error_without_use): Likewise.
21009         (sc_prohibit_xalloc_without_use): Likewise.
21010         (sc_prohibit_hash_without_use): Likewise.
21011         (sc_prohibit_hash_pjw_without_use): Likewise.
21012         (sc_prohibit_safe_read_without_use): Likewise.
21013         (sc_prohibit_argmatch_without_use): Likewise.
21014         (sc_prohibit_canonicalize_without_use): Likewise.
21015         (sc_prohibit_root_dev_ino_without_use): Likewise.
21016         (sc_prohibit_openat_without_use): Likewise.
21017         (sc_prohibit_c_ctype_without_use): Likewise.
21018         (sc_prohibit_signal_without_use): Likewise.
21019         (sc_prohibit_intprops_without_use): Likewise.
21020
21021 2010-03-30  Eric Blake  <eblake@redhat.com>
21022
21023         maint: improve module indicators
21024         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
21025         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
21026         columns, and avoid extra macro expansion.
21027
21028         fdopendir: work around FreeBSD bug
21029         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
21030         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
21031         * modules/dirent (Makefile.am): Substitute it.
21032         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
21033         declaration.
21034         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
21035         fix.
21036         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21037
21038 2010-03-29  Bruno Haible  <bruno@clisp.org>
21039
21040         Emit #pragma system_header after the inclusion guard, not before.
21041         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
21042         guard that spans the entire file, not before. This enables an
21043         optimization in GCC's preprocessor.
21044         * lib/ctype.in.h: Likewise.
21045         * lib/dirent.in.h: Likewise.
21046         * lib/errno.in.h: Likewise.
21047         * lib/float.in.h: Likewise.
21048         * lib/getopt.in.h: Likewise.
21049         * lib/iconv.in.h: Likewise.
21050         * lib/langinfo.in.h: Likewise.
21051         * lib/locale.in.h: Likewise.
21052         * lib/math.in.h: Likewise.
21053         * lib/netdb.in.h: Likewise.
21054         * lib/netinet_in.in.h: Likewise.
21055         * lib/pty.in.h: Likewise.
21056         * lib/sched.in.h: Likewise.
21057         * lib/se-selinux.in.h: Likewise.
21058         * lib/search.in.h: Likewise.
21059         * lib/spawn.in.h: Likewise.
21060         * lib/stdarg.in.h: Likewise.
21061         * lib/stdint.in.h: Likewise.
21062         * lib/string.in.h: Likewise.
21063         * lib/strings.in.h: Likewise.
21064         * lib/sys_file.in.h: Likewise.
21065         * lib/sys_ioctl.in.h: Likewise.
21066         * lib/sys_time.in.h: Likewise.
21067         * lib/sys_times.in.h: Likewise.
21068         * lib/sys_utsname.in.h: Likewise.
21069         * lib/sys_wait.in.h: Likewise.
21070         * lib/sysexits.in.h: Likewise.
21071         * lib/wctype.in.h: Likewise.
21072
21073 2010-03-28  James Youngman  <jay@gnu.org>
21074
21075         save-cwd: don't leak a file descriptor when the caller execs.
21076         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
21077         saved file descriptor.
21078         * modules/save-cwd (Depends-on): Depend on cloexec.
21079
21080 2010-03-29  Bruno Haible  <bruno@clisp.org>
21081
21082         Remove vestiges of fts-lgpl module.
21083         * lib/fts_.h: Assume GNULIB_FTS is 1.
21084         * lib/fts.c: Likewise.
21085         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
21086
21087 2010-03-28  Bruno Haible  <bruno@clisp.org>
21088
21089         Fix definition of tests witness macro.
21090         * gnulib-tool (func_import): Fix definition of witness macro.
21091
21092 2010-03-28  Bruno Haible  <bruno@clisp.org>
21093
21094         Fix ioctl's protoype on glibc systems.
21095         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
21096         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
21097         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
21098         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
21099         signature. If not, arrange to replace the ioctl function.
21100         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
21101         REPLACE_IOCTL.
21102         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
21103         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
21104         Reported by Ludovic Courtès <ludo@gnu.org>.
21105
21106 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
21107
21108         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
21109         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
21110         made it so grep -r --include=GLOB* ... did not work.
21111
21112 2010-03-26  Jim Meyering  <meyering@redhat.com>
21113             Eric Blake  <eblake@redhat.com>
21114
21115         maint.mk: prohibit use of test's -o and -a operators
21116         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
21117
21118 2010-03-28  Bruno Haible  <bruno@clisp.org>
21119
21120         Remove unused GNULIB_XYZ macro definitions.
21121         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
21122         invocation.
21123
21124 2010-03-28  Bruno Haible  <bruno@clisp.org>
21125
21126         Mark privileged tests modules.
21127         * modules/idpriv-drop-tests (Status): New section.
21128         * modules/idpriv-droptemp-tests (Status): New section.
21129
21130 2010-03-28  Bruno Haible  <bruno@clisp.org>
21131
21132         Split C++ tests into separate tests modules.
21133         * modules/dirent-c++-tests: New file, extracted from
21134         modules/dirent-tests.
21135         * modules/dirent-tests: Depend on it.
21136         * modules/fcntl-h-c++-tests: New file, extracted from
21137         modules/fcntl-h-tests.
21138         * modules/fcntl-h-tests: Depend on it.
21139         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
21140         * modules/glob-tests: Depend on it.
21141         * modules/iconv-h-c++-tests: New file, extracted from
21142         modules/iconv-h-tests.
21143         * modules/iconv-h-tests: Depend on it.
21144         * modules/langinfo-c++-tests: New file, extracted from
21145         modules/langinfo-tests.
21146         * modules/langinfo-tests: Depend on it.
21147         * modules/locale-c++-tests: New file, extracted from
21148         modules/locale-tests.
21149         * modules/locale-tests: Depend on it.
21150         * modules/math-c++-tests: New file, extracted from modules/math-tests.
21151         * modules/math-tests: Depend on it.
21152         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
21153         * modules/pty-tests: Depend on it.
21154         * modules/search-c++-tests: New file, extracted from
21155         modules/search-tests.
21156         * modules/search-tests: Depend on it.
21157         * modules/signal-c++-tests: New file, extracted from
21158         modules/signal-tests.
21159         * modules/signal-tests: Depend on it.
21160         * modules/spawn-c++-tests: New file, extracted from
21161         modules/spawn-tests.
21162         * modules/spawn-tests: Depend on it.
21163         * modules/stdio-c++-tests: New file, extracted from
21164         modules/stdio-tests.
21165         * modules/stdio-tests: Depend on it.
21166         * modules/stdlib-c++-tests: New file, extracted from
21167         modules/stdlib-tests.
21168         * modules/stdlib-tests: Depend on it.
21169         * modules/string-c++-tests: New file, extracted from
21170         modules/string-tests.
21171         * modules/string-tests: Depend on it.
21172         * modules/sys_ioctl-c++-tests: New file, extracted from
21173         modules/sys_ioctl-tests.
21174         * modules/sys_ioctl-tests: Depend on it.
21175         * modules/sys_select-c++-tests: New file, extracted from
21176         modules/sys_select-tests.
21177         * modules/sys_select-tests: Depend on it.
21178         * modules/sys_socket-c++-tests: New file, extracted from
21179         modules/sys_socket-tests.
21180         * modules/sys_socket-tests: Depend on it.
21181         * modules/sys_stat-c++-tests: New file, extracted from
21182         modules/sys_stat-tests.
21183         * modules/sys_stat-tests: Depend on it.
21184         * modules/sys_time-c++-tests: New file, extracted from
21185         modules/sys_time-tests.
21186         * modules/sys_time-tests: Depend on it.
21187         * modules/time-c++-tests: New file, extracted from modules/time-tests.
21188         * modules/time-tests: Depend on it.
21189         * modules/unistd-c++-tests: New file, extracted from
21190         modules/unistd-tests.
21191         * modules/unistd-tests: Depend on it.
21192         * modules/wchar-c++-tests: New file, extracted from
21193         modules/wchar-tests.
21194         * modules/wchar-tests: Depend on it.
21195         * modules/wctype-c++-tests: New file, extracted from
21196         modules/wctype-tests.
21197         * modules/wctype-tests: Depend on it.
21198         Reported by Simon Josefsson.
21199
21200 2010-03-28  Bruno Haible  <bruno@clisp.org>
21201
21202         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
21203         * gnulib-tool (func_exists_module): New function, extracted from
21204         func_verify_module.
21205         (func_verify_module): Use it.
21206         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
21207         'foo' only if 'foo' exists.
21208         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
21209         module.
21210
21211 2010-03-28  Bruno Haible  <bruno@clisp.org>
21212
21213         gnulib-tool: Add support for special categories of tests.
21214         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
21215         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
21216         (func_usage): Document them.
21217         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
21218         inc_unportable_tests, inc_all_tests): New variables.
21219         (func_acceptable): Consider these variables.
21220         (func_modules_transitive_closure): Make it work when the 'Status' field
21221         consists of multiple words.
21222         (func_import): Store and restore the values of inc_cxx_tests,
21223         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
21224         inc_all_tests in gnulib-comp.m4.
21225         (func_create_testdir): Set inc_all_tests to true.
21226         * doc/gnulib.texi (Extra tests modules): New section.
21227         Suggested by Jim Meyering.
21228
21229 2010-03-28  Bruno Haible  <bruno@clisp.org>
21230
21231         ansi-c++-opt: Allow turning off the C++ build by default.
21232         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
21233         gl_CXX_CHOICE_DEFAULT_NO is defined.
21234         Requested by Eric Blake.
21235
21236 2010-03-28  Bruno Haible  <bruno@clisp.org>
21237
21238         unistd: Avoid #define replacements in C++ mode.
21239         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
21240         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
21241         setsockopt, shutdown, select): In C++, attach a warning to the function
21242         if possible, rather than #defining the symbol to a dysfunctional alias.
21243         Reported by John W. Eaton <jwe@gnu.org>.
21244
21245 2010-03-28  Bruno Haible  <bruno@clisp.org>
21246
21247         Fix link errors on mingw.
21248         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
21249         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
21250         $(LIBSOCKET).
21251         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
21252         $(LIBSOCKET).
21253
21254 2010-03-28  Bruno Haible  <bruno@clisp.org>
21255             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21256
21257         lib-ignore: Determine different options for different compilers.
21258         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
21259         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
21260         Add comments.
21261         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
21262         * NEWS: Mention the change.
21263
21264 2010-03-27  Bruno Haible  <bruno@clisp.org>
21265
21266         Remove unused GNULIB_XYZ macro definitions.
21267         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
21268         * modules/fseek (configure.ac): Likewise.
21269         * modules/ioctl (configure.ac): Likewise.
21270         * modules/open (configure.ac): Likewise.
21271         * modules/stdlib-safer (configure.ac): Likewise.
21272
21273 2010-03-27  Bruno Haible  <bruno@clisp.org>
21274
21275         Add a remark about certain modules.
21276         * modules/malloc (Comment): New section.
21277         * modules/realloc (Comment): Likewise.
21278         * modules/sigpipe (Comment): Likewise.
21279
21280 2010-03-27  Bruno Haible  <bruno@clisp.org>
21281
21282         Resolve conflict between the two kinds of module indicators.
21283         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
21284         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
21285         * modules/canonicalize (configure.ac): Invoke
21286         gl_MODULE_INDICATOR_FOR_TESTS.
21287         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
21288         GNULIB_XYZ.
21289         * tests/test-dirent-c++.cc: Likewise.
21290         * tests/test-dirent-safer.c: Likewise.
21291         * tests/test-dup2.c: Likewise.
21292         * tests/test-fchdir.c: Likewise.
21293         * tests/test-fcntl-h-c++.cc: Likewise.
21294         * tests/test-getopt.c: Likewise.
21295         * tests/test-getopt.h: Likewise.
21296         * tests/test-langinfo-c++.cc: Likewise.
21297         * tests/test-locale-c++.cc: Likewise.
21298         * tests/test-math-c++.cc: Likewise.
21299         * tests/test-pty-c++.cc: Likewise.
21300         * tests/test-search-c++.cc: Likewise.
21301         * tests/test-signal-c++.cc: Likewise.
21302         * tests/test-spawn-c++.cc: Likewise.
21303         * tests/test-stdio-c++.cc: Likewise.
21304         * tests/test-stdlib-c++.cc: Likewise.
21305         * tests/test-string-c++.cc: Likewise.
21306         * tests/test-sys_ioctl-c++.cc: Likewise.
21307         * tests/test-sys_select-c++.cc: Likewise.
21308         * tests/test-sys_socket-c++.cc: Likewise.
21309         * tests/test-sys_stat-c++.cc: Likewise.
21310         * tests/test-sys_time-c++.cc: Likewise.
21311         * tests/test-time-c++.cc: Likewise.
21312         * tests/test-unistd-c++.cc: Likewise.
21313         * tests/test-wchar-c++.cc: Likewise.
21314         * tests/uninorm/test-u8-nfc.c: Likewise.
21315         * tests/uninorm/test-u8-nfd.c: Likewise.
21316         * tests/uninorm/test-u8-nfkc.c: Likewise.
21317         * tests/uninorm/test-u8-nfkd.c: Likewise.
21318         * tests/uninorm/test-u16-nfc.c: Likewise.
21319         * tests/uninorm/test-u16-nfd.c: Likewise.
21320         * tests/uninorm/test-u16-nfkc.c: Likewise.
21321         * tests/uninorm/test-u16-nfkd.c: Likewise.
21322         * tests/uninorm/test-u32-nfc.c: Likewise.
21323         * tests/uninorm/test-u32-nfc-big.c: Likewise.
21324         * tests/uninorm/test-u32-nfd.c: Likewise.
21325         * tests/uninorm/test-u32-nfd-big.c: Likewise.
21326         * tests/uninorm/test-u32-nfkc.c: Likewise.
21327         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
21328         * tests/uninorm/test-u32-nfkd.c: Likewise.
21329         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
21330         * tests/uninorm/test-u32-normalize-big.c: Likewise.
21331
21332 2010-03-27  Bruno Haible  <bruno@clisp.org>
21333
21334         Distinguish two kinds of module indicators.
21335         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
21336         gl_MODULE_INDICATOR.
21337         (gl_MODULE_INDICATOR): New macro.
21338         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21339         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
21340         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
21341         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
21342         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
21343         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
21344         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
21345         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
21346         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
21347         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
21348         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
21349         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
21350         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
21351         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
21352         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
21353         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
21354         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
21355         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
21356         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
21357         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
21358         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
21359         * modules/cloexec (configure.ac): Likewise.
21360         * modules/getopt-gnu (configure.ac): Likewise.
21361         * modules/uninorm/u8-normalize (configure.ac): Likewise.
21362         * modules/uninorm/u16-normalize (configure.ac): Likewise.
21363         * modules/uninorm/u32-normalize (configure.ac): Likewise.
21364         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
21365
21366 2010-03-27  Bruno Haible  <bruno@clisp.org>
21367
21368         New module description field 'Comment'.
21369         * gnulib-tool: New option --extract-comment.
21370         (func_usage): Document it.
21371         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
21372         (func_get_comment): New function.
21373         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
21374
21375 2010-03-27  Bruno Haible  <bruno@clisp.org>
21376
21377         Addendum to 2010-02-07 commit.
21378         * gnulib-tool (func_usage): Document --extract-applicability option.
21379
21380 2010-03-27  Bruno Haible  <bruno@clisp.org>
21381
21382         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
21383         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
21384         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
21385         rather than link errors.
21386
21387 2010-03-27  Bruno Haible  <bruno@clisp.org>
21388
21389         Avoid side effects from tests-related modules on the compilation of lib.
21390         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
21391         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
21392         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
21393         parameter. Emit into AM_CPPFLAGS a definition of the designated C
21394         macro.
21395         (func_import): Define a witness macro. Assign it a value that depends
21396         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
21397         tests-related modules.
21398         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
21399         Reported by Jim Meyering.
21400
21401 2010-03-27  Bruno Haible  <bruno@clisp.org>
21402
21403         Factorize common .m4 code.
21404         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
21405         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
21406         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
21407         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
21408         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
21409         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
21410         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
21411         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
21412         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
21413         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
21414         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
21415         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
21416         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
21417         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
21418         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
21419         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
21420         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
21421         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
21422         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
21423         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
21424         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
21425         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
21426         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
21427         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
21428         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
21429         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
21430         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
21431         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
21432         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
21433         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
21434         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
21435         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
21436
21437 2010-03-27  Bruno Haible  <bruno@clisp.org>
21438
21439         Fix a compilation error on Cygwin with g++ >= 4.3.
21440         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
21441         if it is undefined or if we alias it to chmod.
21442         (lstat): Don't warn about the use of this function if it is undefined
21443         or if we alias it to stat.
21444         Reported by Simon Josefsson.
21445
21446 2010-03-27  Bruno Haible  <bruno@clisp.org>
21447
21448         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
21449         * modules/getlogin (configure.ac): Update.
21450
21451         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
21452         * modules/getlogin_r (configure.ac): Update.
21453
21454         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
21455         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
21456         * modules/inet_ntop (configure.ac): Update.
21457
21458         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
21459         * modules/inet_pton (configure.ac): Update.
21460
21461         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
21462         * modules/mbslen (configure.ac): Update.
21463
21464         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
21465         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
21466         * modules/forkpty (configure.ac): Update.
21467         * modules/openpty (configure.ac): Update.
21468
21469 2010-03-26  Simon Josefsson  <simon@josefsson.org>
21470
21471         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
21472         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
21473
21474 2010-03-25  Eric Blake  <eblake@redhat.com>
21475
21476         maint: use pragma consistently across replacement headers
21477         * lib/ctype.in.h (system_header): Hoist for consistent placement.
21478         * lib/dirent.in.h (system_header): Likewise.
21479         * lib/errno.in.h (system_header): Likewise.
21480         * lib/float.in.h (system_header): Likewise.
21481         * lib/getopt.in.h (system_header): Likewise.
21482         * lib/iconv.in.h (system_header): Likewise.
21483         * lib/inttypes.in.h (system_header): Likewise.
21484         * lib/langinfo.in.h (system_header): Likewise.
21485         * lib/locale.in.h (system_header): Likewise.
21486         * lib/math.in.h (system_header): Likewise.
21487         * lib/netdb.in.h (system_header): Likewise.
21488         * lib/netinet_in.in.h (system_header): Likewise.
21489         * lib/pty.in.h (system_header): Likewise.
21490         * lib/sched.in.h (system_header): Likewise.
21491         * lib/se-selinux.in.h (system_header): Likewise.
21492         * lib/search.in.h (system_header): Likewise.
21493         * lib/spawn.in.h (system_header): Likewise.
21494         * lib/stdarg.in.h (system_header): Likewise.
21495         * lib/stdint.in.h (system_header): Likewise.
21496         * lib/string.in.h (system_header): Likewise.
21497         * lib/strings.in.h (system_header): Likewise.
21498         * lib/sys_file.in.h (system_header): Likewise.
21499         * lib/sys_ioctl.in.h (system_header): Likewise.
21500         * lib/sys_socket.in.h (system_header): Likewise.
21501         * lib/sys_times.in.h (system_header): Likewise.
21502         * lib/sys_utsname.in.h (system_header): Likewise.
21503         * lib/sys_wait.in.h (system_header): Likewise.
21504         * lib/sysexits.in.h (system_header): Likewise.
21505         * lib/unistd.in.h (system_header): Likewise.
21506         * lib/wctype.in.h (system_header): Likewise.
21507
21508         arpa/inet: fix mingw compilation warning
21509         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
21510         Reported by Matthew Bolte.
21511
21512 2010-03-25  Bruno Haible  <bruno@clisp.org>
21513
21514         Avoid collision between gnulib wrapper and libintl wrapper.
21515         * lib/printf.c (printf): Don't define if a printf wrapper is already
21516         defined in intl/printf.c.
21517         Reported by Michel Boaventura <michel@michelboaventura.com>.
21518
21519 2010-03-25  Bruno Haible  <bruno@clisp.org>
21520
21521         Use ANSI C.
21522         * lib/readutmp.h (getutent): Provide ANSI C prototype.
21523
21524 2010-03-25  Bruno Haible  <bruno@clisp.org>
21525
21526         Minor formatting changes.
21527         * lib/acosl.c: Insert space before function argument list.
21528         * lib/argz.c: Likewise.
21529         * lib/asinl.c: Likewise.
21530         * lib/expl.c: Likewise.
21531         * lib/gen-uni-tables.c: Likewise.
21532         * lib/gettext.h: Likewise.
21533         * lib/glthread/lock.h: Likewise.
21534         * lib/tanl.c: Likewise.
21535         * lib/uniname/uniname.c: Likewise.
21536         * tests/test-idpriv-drop.c: Likewise.
21537         * tests/test-idpriv-droptemp.c: Likewise.
21538         * tests/test-lock.c: Likewise.
21539         * tests/test-tls.c: Likewise.
21540         * lib/argp-help.c: Insert space before function-like macro argument
21541         list.
21542         * lib/memcmp.c: Likewise.
21543         * tests/test-base64.c: Likewise.
21544         * lib/localename.c: Insert space before sizeof's argument list.
21545         * lib/safe-alloc.h: Likewise.
21546         * lib/file-set.h: Insert space before macro argument list.
21547         * tests/test-argp.c: Likewise.
21548         * lib/argp-namefrob.h: Insert space before function parameter list.
21549         * lib/getaddrinfo.c: Likewise.
21550         * lib/netdb.in.h: Likewise.
21551         * lib/parse-duration.h: Likewise.
21552         * lib/parse-duration.c: Likewise.
21553         * lib/poll.c: Likewise.
21554         * lib/select.c: Likewise.
21555         * lib/trim.h: Likewise.
21556         * tests/test-usleep.c: Likewise.
21557         * lib/ldexpl.c: Insert space before function parameter list and before
21558         function argument list.
21559         * lib/logl.c: Likewise.
21560         * lib/sqrtl.c: Likewise.
21561         * lib/trim.c: Likewise.
21562         * lib/cosl.c: Use GNU style indentation. Insert space before function
21563         argument list.
21564         * lib/sinl.c: Likewise.
21565         * lib/tsearch.c: Insert space after 'for'.
21566         Reported by Jim Meyering.
21567
21568 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
21569
21570         * maint.mk (sc_Wundef_boolean): Check for the presence of the
21571         config header before grepping, as it's not present before
21572         autoreconf/configure are run.  Reported by Simon Josefsson.
21573
21574 2010-03-23  Bruno Haible  <bruno@clisp.org>
21575
21576         pt_chown: Make it work with automake < 1.11.
21577         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
21578         Reported by Simon Josefsson.
21579
21580 2010-03-23  Bruno Haible  <bruno@clisp.org>
21581
21582         pt_chown: Don't depend on GPLed modules.
21583         * lib/pt_chown.c: Don't include idpriv.h.
21584         (main): Don't drop privileges.
21585         * modules/pt_chown (Depends-on): Remove idpriv-drop.
21586         Reported by Simon Josefsson.
21587
21588 2010-03-24  Simon Josefsson  <simon@josefsson.org>
21589
21590         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
21591         suggestions from karl@freefriends.org (Karl Berry).
21592
21593 2010-03-22  Eric Blake  <eblake@redhat.com>
21594
21595         gethostname: further tweaks
21596         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
21597         are overriding gethostname.
21598         Suggested by Bruno Haible.
21599
21600 2010-03-21  Bruno Haible  <bruno@clisp.org>
21601
21602         Fix comments.
21603         * lib/forkpty.c (rpl_forkpty): Fix comment.
21604         * lib/openpty.c (rpl_openpty): Likewise.
21605         Reported by Eric Blake.
21606
21607 2010-03-22  Eric Blake  <eblake@redhat.com>
21608
21609         gethostname: fix build on mingw
21610         * lib/unistd.in.h (includes): Work around fact that mingw
21611         <winsock2.h> re-includes <unistd.h>, by avoiding any
21612         redeclarations if we are being included by <winsock2.h>.
21613         Reported by Matthias Bolte.
21614
21615 2010-03-21  Bruno Haible  <bruno@clisp.org>
21616
21617         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
21618         * lib/forkpty.c (forkpty): New replacement function, from glibc with
21619         modifications.
21620         * lib/pty.in.h (forkpty): Update declaration. Add comments.
21621         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
21622         provide the replacement.
21623         * modules/forkpty (Depends-on): Add openpty, login_tty.
21624         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
21625         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
21626         * doc/glibc-functions/forkpty.texi: More supported platforms.
21627         * config/srclist.txt: Add forkpty.c (commented).
21628
21629 2010-03-21  Bruno Haible  <bruno@clisp.org>
21630
21631         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
21632         (Makefile.am): Verify that PTY_LIB is defined.
21633
21634         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
21635
21636 2010-03-21  Bruno Haible  <bruno@clisp.org>
21637
21638         Tests for module 'login_tty'.
21639         * modules/login_tty-tests: New file.
21640         * tests/test-login_tty.c: New file.
21641
21642         New module 'login_tty'.
21643         * lib/login_tty.c: New file.
21644         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
21645         * modules/login_tty: New file.
21646         * doc/glibc-functions/login_tty.texi: Mention the new module.
21647
21648 2010-03-21  Bruno Haible  <bruno@clisp.org>
21649
21650         login_tty: Documentation.
21651         * doc/glibc-functions/login_tty.texi: New file.
21652         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
21653
21654 2010-03-21  Bruno Haible  <bruno@clisp.org>
21655
21656         pty: Consistent macro naming.
21657         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
21658         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
21659         * modules/pty (configure.ac): Update.
21660
21661 2010-03-21  Bruno Haible  <bruno@clisp.org>
21662
21663         Tests for openpty: Make stricter.
21664         * tests/test-openpty.c (main): Add test of canonical processing and
21665         erase.
21666         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
21667
21668         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
21669         * lib/openpty.c (openpty): New replacement function.
21670         * lib/pty.in.h: Include <termios.h>.
21671         (openpty): Update declaration. Add comments.
21672         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
21673         is not declared, arrange to provide the replacement. Check for _getpty
21674         and posix_openpt.
21675         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
21676         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
21677         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
21678         * modules/pty-tests (test_pty_c___LDADD): New variable.
21679         * doc/glibc-functions/openpty.texi: More supported platforms.
21680
21681 2010-03-21  Bruno Haible  <bruno@clisp.org>
21682
21683         setenv: Tweaks.
21684         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
21685         the test program.
21686         * doc/posix-functions/setenv.texi: Update platforms list.
21687
21688 2010-03-21  Bruno Haible  <bruno@clisp.org>
21689
21690         New module 'unlockpt'.
21691         * lib/unlockpt.c: New file, from glibc with modifications.
21692         * m4/unlockpt.m4: New file.
21693         * modules/unlockpt: New file.
21694         * lib/stdlib.in.h (unlockpt): New declaration.
21695         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
21696         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
21697         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
21698         HAVE_UNLOCKPT.
21699         * doc/posix-functions/unlockpt.texi: Mention the new module.
21700         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
21701         * config/srclist.txt: Add unlockpt.c (commented).
21702
21703 2010-03-21  Jim Meyering  <meyering@redhat.com>
21704
21705         maint.mk: prohibit inclusion of "intprops.h" without use
21706         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
21707
21708 2010-03-21  Bruno Haible  <bruno@clisp.org>
21709
21710         New module 'grantpt'.
21711         * lib/grantpt.c: New file, from glibc with modifications.
21712         * m4/grantpt.m4: New file.
21713         * modules/grantpt: New file.
21714         * lib/stdlib.in.h (grantpt): New declaration.
21715         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
21716         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
21717         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
21718         HAVE_GRANTPT.
21719         * doc/posix-functions/grantpt.texi: Mention the new module.
21720         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
21721         * config/srclist.txt: Add grantpt.c (commented).
21722
21723 2010-03-21  Bruno Haible  <bruno@clisp.org>
21724
21725         New module 'pt_chown'.
21726         * lib/pt_chown.c: New file, from glibc with modifications.
21727         * lib/pty-private.h: New file, from glibc with modifications.
21728         * modules/pt_chown: New file.
21729         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
21730
21731 2010-03-21  Bruno Haible  <bruno@clisp.org>
21732
21733         Tests for module 'ptsname'.
21734         * modules/ptsname-tests: New file.
21735         * tests/test-ptsname.c: New file.
21736
21737         New module 'ptsname'.
21738         * lib/ptsname.c: New file, from glibc with modifications.
21739         * m4/ptsname.m4: New file.
21740         * modules/ptsname: New file.
21741         * lib/stdlib.in.h (ptsname): New declaration.
21742         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
21743         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
21744         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
21745         HAVE_PTSNAME.
21746         * doc/posix-functions/ptsname.texi: Mention the new module.
21747         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
21748         * config/srclist.txt: Add ptsname.c (commented).
21749
21750 2010-03-21  Bruno Haible  <bruno@clisp.org>
21751
21752         Tests for module 'ttyname_r'.
21753         * modules/ttyname_r-tests: New file.
21754         * tests/test-ttyname_r.c: New file.
21755
21756         New module 'ttyname_r'.
21757         * lib/ttyname_r.c: New file.
21758         * m4/ttyname_r.m4: New file.
21759         * modules/ttyname_r: New file.
21760         * lib/unistd.in.h (ttyname_r): New declaration.
21761         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
21762         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
21763         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
21764         HAVE_TTYNAME_R.
21765         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
21766         * doc/posix-functions/ttyname_r.texi: Mention the new module.
21767
21768 2010-03-20  Bruno Haible  <bruno@clisp.org>
21769
21770         signal: Undefine macro definitions in C++ mode.
21771         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
21772         sigfillset): Undefine macro definitions from the system header in C++
21773         mode.
21774         Reported by John W. Eaton <jwe@gnu.org>.
21775
21776 2010-03-20  Bruno Haible  <bruno@clisp.org>
21777
21778         Ensure no #include statements inside extern "C" { ... }.
21779         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
21780         contain #include statements.
21781         * lib/time.in.h: Likewise.
21782
21783 2010-03-20  Bruno Haible  <bruno@clisp.org>
21784
21785         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
21786         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
21787         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
21788         Reported by John W. Eaton <jwe@gnu.org>.
21789
21790 2010-03-20  Bruno Haible  <bruno@clisp.org>
21791
21792         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
21793         Reported by Jim Meyering.
21794
21795 2010-03-20  Bruno Haible  <bruno@clisp.org>
21796
21797         pipe: Set errno upon failure.
21798         * lib/pipe.h: Specify that when -1 is returned, errno is set.
21799         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
21800         errno value in error message.
21801
21802 2010-03-20  Bruno Haible  <bruno@clisp.org>
21803             Jim Meyering  <meyering@redhat.com>
21804
21805         lchown: Avoid "unused variable" warning.
21806         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
21807
21808 2010-03-20  Bruno Haible  <bruno@clisp.org>
21809
21810         Work around unlink() bug on MacOS X 10.5.6.
21811         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
21812         attempting to unlink a parent directory.
21813         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
21814         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
21815         activate for the replacement function.
21816         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
21817
21818 2010-03-20  Bruno Haible  <bruno@clisp.org>
21819
21820         Fix link errors on Solaris 8.
21821         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
21822         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
21823
21824 2010-03-19  Jim Meyering  <meyering@redhat.com>
21825
21826         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
21827         The _LIBC implementation of build_range_exp correctly honors the
21828         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
21829         However, the non-_LIBC implementation would ignore that syntax-bit
21830         flag and return REG_ERANGE unconditionally.
21831         This change makes it honor that flag.
21832         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
21833         Make two pointer parameters "const".
21834         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
21835         (parse_bracket_exp): Update caller.
21836
21837         regex.m4: correct the reversed range endpoint ([b-a]) test
21838         * m4/regex.m4: When requiring that [b-a] evoke failure,
21839         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
21840         test pass once again for x86-based systems.
21841
21842 2010-03-19  Bruno Haible  <bruno@clisp.org>
21843
21844         scandir: Fix link error on Solaris 8.
21845         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
21846         macros.
21847
21848 2010-03-19  Bruno Haible  <bruno@clisp.org>
21849
21850         getusershell: Fix documentation.
21851         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
21852         module.
21853         * doc/glibc-functions/setusershell.texi: Likewise.
21854
21855         getusershell: Provide declaration, missing on Solaris 9.
21856         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
21857         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
21858         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
21859         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
21860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21861         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
21862         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
21863         HAVE_GETUSERSHELL.
21864         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
21865
21866 2010-03-19  Bruno Haible  <bruno@clisp.org>
21867
21868         wctype: Provide iswblank function.
21869         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
21870         exists and is fine.
21871         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
21872         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
21873         * tests/test-wctype.c (main): Re-enable the iswblank tests.
21874         * doc/posix-functions/iswblank.texi: Update.
21875
21876 2010-03-19  Bruno Haible  <bruno@clisp.org>
21877
21878         Tests of module 'pty' in C++ mode.
21879         * modules/pty-tests: New file.
21880         * tests/test-pty-c++.cc: New file.
21881         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21882
21883 2010-03-19  Eric Blake  <eblake@redhat.com>
21884
21885         logb: fix documentation
21886         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
21887         1.5 declaration bug.
21888
21889         forkpty, openpty: prefer glibc's const-safe prototype
21890         * lib/forkpty.c (rpl_forkpty): New file.
21891         * lib/openpty.c (rpl_openpty): Likewise.
21892         * modules/forkpty (Files): Distribute it.
21893         * modules/openpty (Files): Likewise.
21894         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
21895         check...
21896         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
21897         replacement for for non-const BSD signature.
21898         * modules/pty (Makefile.am): Substitute witnesses.
21899         * lib/pty.in.h (forkpty, openpty): Declare replacements.
21900         * tests/test-forkpty.c: Update signature check.
21901         * tests/test-openpty.c: Likewise.
21902         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
21903         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21904
21905         forkpty, openpty: split functions into new modules
21906         * modules/pty (Makefile.am): Substitute new witnesses.
21907         (Libraries): Move library detection...
21908         * modules/forkpty: ...into new module.
21909         * modules/openpty: Another new module.
21910         * modules/pty-tests: Rename and split...
21911         * modules/forkpty-tests: ...to this...
21912         * modules/openpty-tests: ...and this.
21913         * tests/test-pty.c: Rename and split...
21914         * tests/test-forkpty.c: ...to this...
21915         * tests/test-openpty.c: ...and this.
21916         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
21917         (gl_PTY): Split library searching...
21918         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
21919         (gl_FORKPTY, gl_OPENPTY): New macros.
21920         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
21921         * NEWS: Mention the split.
21922         * MODULES.html.sh (Misc): Document the modules.
21923         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
21924         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21925
21926         pty: improve replacement header
21927         * lib/pty.in.h: New file.
21928         * modules/pty (Files): Ship it.
21929         (Makefile.am): Always build replacement.
21930         * m4/pty.m4: Rename...
21931         * m4/pty_h.m4: ...to this.
21932         (gl_PTY): Modernize setting of witness macros; update check of
21933         forkpty to take proper advantage of cache.
21934         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
21935
21936         getopt: avoid compiler warning
21937         * lib/getopt.c (attribute_hidden): Remove unused macro.
21938
21939 2010-03-18  Bruno Haible  <bruno@clisp.org>
21940
21941         Fix link errors on Solaris 8.
21942         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
21943         * modules/search-tests (test_search_c___LDADD): Likewise.
21944         * modules/signal-tests (test_signal_c___LDADD): Likewise.
21945         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
21946         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
21947         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
21948         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
21949         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
21950         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
21951
21952 2010-03-18  Bruno Haible  <bruno@clisp.org>
21953
21954         Fix bug introduced on 2010-03-14.
21955         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
21956         (gl_SPAWN_H): Require it.
21957         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
21958         Reported by Simon Josefsson.
21959
21960 2010-03-18  Bruno Haible  <bruno@clisp.org>
21961
21962         Fix typo introduced on 2009-12-31.
21963         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
21964         posix_spawn_file_actions_adddup2.
21965
21966 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
21967         and Eric Blake  <eblake@redhat.com>
21968
21969         test-vc-list-files-git: make more robust
21970         * tests/test-vc-list-files-git.sh: Unset problematic environment
21971         variables.  Chain commands together.
21972
21973 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
21974
21975         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
21976         `AC_CHECK_DECL' invocation.
21977
21978 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
21979
21980         * lib/inttostr.c (inttostr): Make sure the invocation of verify
21981         appears before executable statements. Suggested by Petr Sumbera
21982         <Petr.Sumbera@Sun.COM>.
21983
21984 2010-03-14  Bruno Haible  <bruno@clisp.org>
21985
21986         * tests/test-flock.c (test_exclusive): Comment out a test that causes
21987         portability problems. Instead use a simpler test.
21988         (main): Check that invalid arguments are rejected only on Linux.
21989
21990 2010-03-14  Bruno Haible  <bruno@clisp.org>
21991
21992         Fix bug introduced on 2009-12-31.
21993         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21994         gl_PREREQ_SYS_H_WINSOCK2 always.
21995         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
21996         SYS_SOCKET_H variable.
21997         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
21998         Update comments.
21999         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
22000         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22001         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22002         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22003         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
22004
22005 2010-03-14  Bruno Haible  <bruno@clisp.org>
22006
22007         Fix values returned by sinl, cosl.
22008         * lib/trigl.h: Add specification comments.
22009         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
22010         that combines the values from the precomputed table with the values of
22011         the Chebyshev polynomials.
22012
22013 2010-03-14  Bruno Haible  <bruno@clisp.org>
22014
22015         Fix compilation error when modules 'posix_spawn[p]' are not used.
22016         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
22017         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
22018
22019 2010-03-14  Bruno Haible  <bruno@clisp.org>
22020
22021         Fix compilation error on mingw when module 'time_r' is not used.
22022         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
22023         is 1.
22024         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
22025         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
22026         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
22027         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
22028
22029 2010-03-14  Bruno Haible  <bruno@clisp.org>
22030
22031         Fix compilation error with Sun C.
22032         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
22033         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
22034         instead of GCC specific ULONG_LONG_MAX.
22035         * lib/xstrtoll.c: Likewise.
22036         * lib/xstrtoull.c: Likewise.
22037
22038 2010-03-13  Bruno Haible  <bruno@clisp.org>
22039
22040         Allow the user to disable C++ code and tests.
22041         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
22042         (gl_PROG_ANSI_CXX): Require it.
22043
22044 2010-03-13  Bruno Haible  <bruno@clisp.org>
22045
22046         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
22047         cases.
22048
22049 2010-03-13  Bruno Haible  <bruno@clisp.org>
22050
22051         Test that gnulib does not break the standard C++ headers.
22052         * tests/test-locale-c++2.cc: New file.
22053         * modules/locale-tests (Files): Add it.
22054         (Makefile.am): Compile it for test-locale-c++.
22055         * tests/test-math-c++2.cc: New file.
22056         * modules/math-tests (Files): Add it.
22057         (Makefile.am): Compile it for test-math-c++.
22058         * tests/test-signal-c++2.cc: New file.
22059         * modules/signal-tests (Files): Add it.
22060         (Makefile.am): Compile it for test-signal-c++.
22061         * tests/test-stdio-c++2.cc: New file.
22062         * modules/stdio-tests (Files): Add it.
22063         (Makefile.am): Compile it for test-stdio-c++.
22064         * tests/test-stdlib-c++2.cc: New file.
22065         * modules/stdlib-tests (Files): Add it.
22066         (Makefile.am): Compile it for test-stdlib-c++.
22067         * tests/test-string-c++2.cc: New file.
22068         * modules/string-tests (Files): Add it.
22069         (Makefile.am): Compile it for test-string-c++.
22070         * tests/test-time-c++2.cc: New file.
22071         * modules/time-tests (Files): Add it.
22072         (Makefile.am): Compile it for test-time-c++.
22073         Reported by John W. Eaton <jwe@gnu.org>.
22074
22075 2010-03-13  Bruno Haible  <bruno@clisp.org>
22076
22077         * gnulib-tool (func_usage): Clarify which options are available for
22078         --create-testdir and --create-megatestdir.
22079
22080 2010-03-13  Bruno Haible  <bruno@clisp.org>
22081
22082         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
22083         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
22084         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
22085         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22086         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
22087         when appropriate.
22088         Reported by Jim Meyering.
22089
22090 2010-03-12  Simon Josefsson  <simon@josefsson.org>
22091
22092         * gnulib-tool (func_import): Explain origin of code.
22093
22094 2010-03-12  Bruno Haible  <bruno@clisp.org>
22095
22096         Fix problem with automake's definition of CXXLINK.
22097         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
22098         Reported by Simon Josefsson and Ludovic Courtès.
22099
22100 2010-03-12  Bruno Haible  <bruno@clisp.org>
22101
22102         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
22103         stable releases.
22104
22105 2010-03-11  Bruno Haible  <bruno@clisp.org>
22106
22107         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
22108         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
22109         whether the system provides one variant or multiple variants of the
22110         function.
22111         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
22112         C++ compilers.
22113         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
22114         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
22115         Reported by Jim Meyering.
22116
22117 2010-03-09  Simon Josefsson  <simon@josefsson.org>
22118
22119         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
22120
22121 2010-03-08  Bruno Haible  <bruno@clisp.org>
22122
22123         gnulib-tool: Add support for --libtool in --create-testdir.
22124         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
22125         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
22126
22127 2010-03-08  Eric Blake  <eblake@redhat.com>
22128
22129         gnulib-tool.texi: mention possibility of git submodule
22130         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
22131         submodules.
22132         * doc/.gitignore: Ignore another generated file.
22133
22134 2010-03-08  Karl Berry  <karl@gnu.org>
22135
22136         * doc/gnulib-tool.texi (VCS Issues): Mention third option
22137         of committing gnulib files while skipping others.
22138
22139 2010-03-07  Bruno Haible  <bruno@clisp.org>
22140
22141         Tests of module 'wctype' in C++ mode.
22142         * tests/test-wctype-c++.cc: New file.
22143         * modules/wctype-tests (Files): Add it and tests/signature.h.
22144         (Depends-on): Add ansi-c++-opt.
22145         (Makefile.am): Arrange to compile and run test-wctype-c++.
22146
22147         Tests of module 'wchar' in C++ mode.
22148         * tests/test-wchar-c++.cc: New file.
22149         * modules/wchar-tests (Files): Add it and tests/signature.h.
22150         (Depends-on): Add ansi-c++-opt.
22151         (Makefile.am): Arrange to compile and run test-wchar-c++.
22152         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
22153         gl_MODULE_INDICATOR.
22154
22155         Tests of module 'unistd' in C++ mode.
22156         * tests/test-unistd-c++.cc: New file.
22157         * modules/unistd-tests (Files): Add it and tests/signature.h.
22158         (Depends-on): Add ansi-c++-opt.
22159         (Makefile.am): Arrange to compile and run test-unistd-c++.
22160         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
22161         gl_MODULE_INDICATOR.
22162
22163         Tests of module 'time' in C++ mode.
22164         * tests/test-time-c++.cc: New file.
22165         * modules/time-tests (Files): Add it and tests/signature.h.
22166         (Depends-on): Add ansi-c++-opt.
22167         (Makefile.am): Arrange to compile and run test-time-c++.
22168         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22169
22170         Tests of module 'sys_time' in C++ mode.
22171         * tests/test-sys_time-c++.cc: New file.
22172         * modules/sys_time-tests (Files): Add it and tests/signature.h.
22173         (Depends-on): Add ansi-c++-opt.
22174         (Makefile.am): Arrange to compile and run test-sys_time-c++.
22175         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
22176         gl_MODULE_INDICATOR.
22177
22178         Tests of module 'sys_stat' in C++ mode.
22179         * tests/test-sys_stat-c++.cc: New file.
22180         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
22181         (Depends-on): Add ansi-c++-opt.
22182         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
22183         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
22184         gl_MODULE_INDICATOR.
22185
22186         Tests of module 'sys_socket' in C++ mode.
22187         * tests/test-sys_socket-c++.cc: New file.
22188         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
22189         (Depends-on): Add ansi-c++-opt.
22190         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
22191         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
22192         gl_MODULE_INDICATOR.
22193
22194         Tests of module 'sys_select' in C++ mode.
22195         * tests/test-sys_select-c++.cc: New file.
22196         * modules/sys_select-tests (Files): Add it and tests/signature.h.
22197         (Depends-on): Add ansi-c++-opt.
22198         (Makefile.am): Arrange to compile and run test-sys_select-c++.
22199         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
22200         gl_MODULE_INDICATOR.
22201
22202         Tests of module 'sys_ioctl' in C++ mode.
22203         * tests/test-sys_ioctl-c++.cc: New file.
22204         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
22205         (Depends-on): Add ansi-c++-opt.
22206         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
22207         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
22208         gl_MODULE_INDICATOR.
22209
22210         Tests of module 'string' in C++ mode.
22211         * tests/test-string-c++.cc: New file.
22212         * modules/string-tests (Files): Add it and tests/signature.h.
22213         (Depends-on): Add ansi-c++-opt.
22214         (Makefile.am): Arrange to compile and run test-string-c++.
22215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
22216         gl_MODULE_INDICATOR.
22217
22218         Tests of module 'stdlib' in C++ mode.
22219         * tests/test-stdlib-c++.cc: New file.
22220         * modules/stdlib-tests (Files): Add it and tests/signature.h.
22221         (Depends-on): Add ansi-c++-opt.
22222         (Makefile.am): Arrange to compile and run test-stdlib-c++.
22223         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
22224         gl_MODULE_INDICATOR.
22225
22226         Tests of module 'stdio' in C++ mode.
22227         * tests/test-stdio-c++.cc: New file.
22228         * modules/stdio-tests (Files): Add it and tests/signature.h.
22229         (Depends-on): Add ansi-c++-opt.
22230         (Makefile.am): Arrange to compile and run test-stdio-c++.
22231         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
22232         gl_MODULE_INDICATOR.
22233
22234         Tests of module 'spawn' in C++ mode.
22235         * tests/test-spawn-c++.cc: New file.
22236         * modules/spawn-tests (Files): Add it and tests/signature.h.
22237         (Depends-on): Add ansi-c++-opt.
22238         (Makefile.am): Arrange to compile and run test-spawn-c++.
22239         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
22240         gl_MODULE_INDICATOR.
22241
22242         Tests of module 'signal' in C++ mode.
22243         * tests/test-signal-c++.cc: New file.
22244         * modules/signal-tests (Files): Add it and tests/signature.h.
22245         (Depends-on): Add ansi-c++-opt.
22246         (Makefile.am): Arrange to compile and run test-signal-c++.
22247         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
22248         gl_MODULE_INDICATOR.
22249
22250         Tests of module 'search' in C++ mode.
22251         * tests/test-search-c++.cc: New file.
22252         * modules/search-tests (Files): Add it and tests/signature.h.
22253         (Depends-on): Add ansi-c++-opt.
22254         (Makefile.am): Arrange to compile and run test-search-c++.
22255         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
22256         gl_MODULE_INDICATOR.
22257
22258         Tests of module 'math' in C++ mode.
22259         * tests/test-math-c++.cc: New file.
22260         * modules/math-tests (Files): Add it and tests/signature.h.
22261         (Depends-on): Add ansi-c++-opt.
22262         (Makefile.am): Arrange to compile and run test-math-c++.
22263         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22264
22265         Tests of module 'locale' in C++ mode.
22266         * tests/test-locale-c++.cc: New file.
22267         * modules/locale-tests (Files): Add it and tests/signature.h.
22268         (Depends-on): Add ansi-c++-opt.
22269         (Makefile.am): Arrange to compile and run test-locale-c++.
22270         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
22271         gl_MODULE_INDICATOR.
22272
22273         Tests of module 'langinfo' in C++ mode.
22274         * tests/test-langinfo-c++.cc: New file.
22275         * modules/langinfo-tests (Files): Add it and tests/signature.h.
22276         (Depends-on): Add ansi-c++-opt.
22277         (Makefile.am): Arrange to compile and run test-langinfo-c++.
22278         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
22279         gl_MODULE_INDICATOR.
22280
22281         Tests of module 'iconv-h' in C++ mode.
22282         * tests/test-iconv-h-c++.cc: New file.
22283         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
22284         (Depends-on): Add ansi-c++-opt.
22285         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
22286
22287         Tests of module 'glob' in C++ mode.
22288         * tests/test-glob-c++.cc: New file.
22289         * modules/glob-tests (Files): Add it.
22290         (Depends-on): Add ansi-c++-opt.
22291         (Makefile.am): Arrange to compile and run test-glob-c++.
22292
22293         Tests of module 'fcntl-h' in C++ mode.
22294         * tests/test-fcntl-h-c++.cc: New file.
22295         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
22296         (Depends-on): Add ansi-c++-opt.
22297         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
22298         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
22299         gl_MODULE_INDICATOR.
22300
22301         Tests of module 'dirent' in C++ mode.
22302         * tests/test-dirent-c++.cc: New file.
22303         * modules/dirent-tests (Files): Add it and tests/signature.h.
22304         (Depends-on): Add ansi-c++-opt.
22305         (Makefile.am): Arrange to compile and run test-dirent-c++.
22306         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
22307         gl_MODULE_INDICATOR.
22308
22309         New module 'ansi-c++-opt'.
22310         * modules/ansi-c++-opt: New file.
22311         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
22312
22313         Document C++ namespace mode.
22314         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
22315
22316         wctype: Avoid #define replacements in C++ mode.
22317         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
22318         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
22319         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
22320         In C++, define a namespaced alias symbol.
22321         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
22322         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
22323         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
22324         rule.
22325
22326         wchar: Avoid #define replacements in C++ mode.
22327         * lib/wchar.in.h: Include c++defs.h.
22328         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
22329         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
22330         symbol.
22331         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
22332         * modules/wchar (Depends-on): Add c++defs.
22333         (Makefile.am): Update wchar.h rule.
22334
22335         unistd: Avoid #define replacements in C++ mode.
22336         * lib/unistd.in.h: Include c++defs.h.
22337         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
22338         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
22339         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
22340         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
22341         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
22342         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
22343         symbol.
22344         (environ): Update.
22345         * modules/unistd (Depends-on): Add c++defs.
22346         (Makefile.am): Update unistd.h rule.
22347
22348         time: Avoid #define replacements in C++ mode.
22349         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
22350         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
22351         define a namespaced alias symbol.
22352         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
22353         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
22354         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
22355         * modules/time (Depends-on): Add c++defs, warn-on-use.
22356         (Makefile.am): Update time.h rule.
22357         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
22358         * modules/nanosleep (configure.ac): Likewise.
22359         * modules/strptime (configure.ac): Likewise.
22360         * modules/timegm (configure.ac): Likewise.
22361
22362         sys_time: Avoid #define replacements in C++ mode.
22363         * lib/sys_time.in.h: Include c++defs.h.
22364         (gettimeofday): In C++, define a namespaced alias symbol.
22365         * modules/sys_time (Depends-on): Add c++defs.
22366         (Makefile.am): Update sys/time.h rule.
22367
22368         sys_stat: Avoid #define replacements in C++ mode.
22369         * lib/sys_stat.in.h: Include c++defs.h.
22370         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
22371         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
22372         namespaced alias symbol.
22373         In C++, define a namespaced alias symbol.
22374         * modules/sys_stat (Depends-on): Add c++defs.
22375         (Makefile.am): Update sys/stat.h rule.
22376
22377         sys_socket: Avoid #define replacements in C++ mode.
22378         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
22379         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
22380         definitions also when the system has a <sys/socket.h>.
22381         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
22382         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
22383         In C++, define a namespaced alias symbol.
22384         * modules/sys_socket (Depends-on): Add c++defs.
22385         (Makefile.am): Update sys/socket.h rule.
22386
22387         sys_select: Avoid #define replacements in C++ mode.
22388         * lib/sys_select.in.h: Include c++defs.h. Enable the function
22389         definitions also when the system has a <sys/select.h>.
22390         (select): In C++, define a namespaced alias symbol.
22391         * modules/sys_select (Depends-on): Add c++defs.
22392         (Makefile.am): Update sys/select.h rule.
22393
22394         sys_ioctl: Avoid #define replacements in C++ mode.
22395         * lib/sys_ioctl.in.h: Include c++defs.h.
22396         (ioctl): In C++, define a namespaced alias symbol.
22397         * modules/sys_ioctl (Depends-on): Add c++defs.
22398         (Makefile.am): Update sys/ioctl.h rule.
22399
22400         string: Avoid #define replacements in C++ mode.
22401         * lib/string.in.h: Include c++defs.h.
22402         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
22403         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22404         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22405         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
22406         strsignal, strverscmp): In C++, define a namespaced alias symbol.
22407         * modules/string (Depends-on): Add c++defs.
22408         (Makefile.am): Update string.h rule.
22409
22410         stdlib: Avoid #define replacements in C++ mode.
22411         * lib/stdlib.in.h: Include c++defs.h.
22412         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
22413         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
22414         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
22415         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
22416         symbol.
22417         * modules/stdlib (Depends-on): Add c++defs.
22418         (Makefile.am): Update stdlib.h rule.
22419
22420         stdio: Avoid #define replacements in C++ mode.
22421         * lib/stdio.in.h: Include c++defs.h.
22422         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
22423         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
22424         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
22425         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
22426         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
22427         namespaced alias symbol.
22428         * modules/stdio (Depends-on): Add c++defs.
22429         (Makefile.am): Update stdio.h rule.
22430
22431         spawn: Avoid #define replacements in C++ mode.
22432         * lib/spawn.in.h: Include c++defs.h.
22433         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22434         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22435         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22436         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22437         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22438         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22439         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22440         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22441         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22442         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22443         In C++, define a namespaced alias symbol.
22444         * modules/spawn (Depends-on): Add c++defs.
22445         (Makefile.am): Update spawn.h rule.
22446
22447         signal: Avoid #define replacements in C++ mode.
22448         * lib/signal.in.h: Include c++defs.h.
22449         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22450         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
22451         namespaced alias symbol.
22452         * modules/signal (Depends-on): Add c++defs.
22453         (Makefile.am): Update signal.h rule.
22454
22455         search: Avoid #define replacements in C++ mode.
22456         * lib/search.in.h: Include c++defs.h.
22457         (_gl_search_compar_fn, _gl_search_action_fn): New types.
22458         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
22459         symbol.
22460         * modules/search (Depends-on): Add c++defs.
22461         (Makefile.am): Update search.h rule.
22462
22463         math: Avoid #define replacements in C++ mode.
22464         * lib/math.in.h: Include c++defs.h.
22465         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
22466         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
22467         trunc, truncl): In C++, define a namespaced alias symbol.
22468         * modules/math (Depends-on): Add c++defs.
22469         (Makefile.am): Update math.h rule.
22470
22471         locale: Avoid #define replacements in C++ mode.
22472         * lib/locale.in.h: Include c++defs.h.
22473         (duplocale): In C++, define a namespaced alias symbol.
22474         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
22475         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
22476         * modules/locale (Depends-on): Add c++defs.
22477         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
22478
22479         langinfo: Avoid #define replacements in C++ mode.
22480         * lib/langinfo.in.h: Include c++defs.h.
22481         (nl_langinfo): In C++, define a namespaced alias symbol.
22482         * modules/langinfo (Depends-on): Add c++defs.
22483         (Makefile.am): Update langinfo.h rule.
22484
22485         iconv-h: Avoid #define replacements in C++ mode.
22486         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
22487         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
22488         symbol.
22489         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22490         whenever iconv is present.
22491         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
22492         (Makefile.am): Update iconv.h rule.
22493
22494         glob: Avoid #define replacements in C++ mode.
22495         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
22496         (_gl_glob_errfunc_fn): New type.
22497         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
22498         symbol.
22499         * modules/glob (Depends-on): Add c++defs, warn-on-use.
22500         (Makefile.am): Update glob.h rule.
22501
22502         fcntl-h: Avoid #define replacements in C++ mode.
22503         * lib/fcntl.in.h: Include c++defs.h.
22504         (fcntl, open, openat): In C++, define a namespaced alias symbol.
22505         * modules/fcntl-h (Depends-on): Add c++defs.
22506         (Makefile.am): Update fcntl.h rule.
22507
22508         dirent: Avoid #define replacements in C++ mode.
22509         * lib/dirent.in.h: Include c++defs.h.
22510         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
22511         namespaced alias symbol.
22512         (dirfd): Update declaration.
22513         * modules/dirent (Depends-on): Add c++defs.
22514         (Makefile.am): Update dirent.h rule.
22515
22516         ctype: Make it usable in C++ code.
22517         * lib/ctype.in.h: Include c++defs.h.
22518         (isblank): Declare as extern "C".
22519         * modules/ctype (Depends-on): Add c++defs.
22520         (Makefile.am): Update ctype.h rule.
22521
22522         New module 'c++defs'.
22523         * modules/c++defs: New file.
22524         * build-aux/c++defs.h: New file.
22525         Reported by John W. Eaton <jwe@gnu.org>.
22526
22527 2010-03-07  Bruno Haible  <bruno@clisp.org>
22528
22529         logb: Provide missing declaration for Cygwin.
22530         * lib/math.in.h (logb): New declaration.
22531         * m4/logb.m4: New file.
22532         * modules/logb (Files): Add m4/logb.m4.
22533         (Depends-on): Add math.
22534         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
22535         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
22536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
22537         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
22538         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
22539
22540 2010-03-07  Bruno Haible  <bruno@clisp.org>
22541
22542         Fix test-cond link error.
22543         * tests/test-cond.c: Include <stdio.h>.
22544
22545 2010-03-07  Bruno Haible  <bruno@clisp.org>
22546
22547         Fix test-dirent-safer link error.
22548         * modules/dirent-safer-tests (Makefile.am): Define
22549         test_dirent_safer_LDADD.
22550
22551 2010-03-07  Bruno Haible  <bruno@clisp.org>
22552
22553         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
22554         among default module list.
22555
22556 2010-03-07  Bruno Haible  <bruno@clisp.org>
22557
22558         Fix link error on platforms with GNU libiconv.
22559         * modules/unistr/u8-strcoll-tests (Makefile): Define
22560         test_u8_strcoll_LDADD.
22561         * modules/unistr/u16-strcoll-tests (Makefile): Define
22562         test_u16_strcoll_LDADD.
22563         * modules/unistr/u32-strcoll-tests (Makefile): Define
22564         test_u32_strcoll_LDADD.
22565
22566 2010-03-07  Bruno Haible  <bruno@clisp.org>
22567
22568         Use POSIX declarations for socket functions.
22569         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
22570         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
22571         rpl_sendto): Change declaration to match POSIX.
22572         * lib/connect.c (rpl_connect): Likewise.
22573         * lib/accept.c (rpl_accept): Likewise.
22574         * lib/bind.c (rpl_bind): Likewise.
22575         * lib/getpeername.c (rpl_getpeername): Likewise.
22576         * lib/getsockname.c (rpl_getsockname): Likewise.
22577         * lib/recv.c (rpl_recv): Likewise.
22578         * lib/send.c (rpl_send): Likewise.
22579         * lib/recvfrom.c (rpl_recvfrom): Likewise.
22580         * lib/sendto.c (rpl_sendto): Likewise.
22581
22582 2010-03-06  Bruno Haible  <bruno@clisp.org>
22583
22584         Clarify access, euidaccess, faccessat.
22585         * doc/posix-functions/faccessat.texi: Mention security problem under
22586         "Other problems", not "Portability problems".
22587         * doc/posix-functions/access.texi: Likewise. Mention a related security
22588         problem.
22589         * doc/glibc-functions/euidaccess.texi: Mention security problems.
22590         * lib/euidaccess.c: Add comments about platforms.
22591         * lib/unistd.in.h (access, euidaccess): Add warnings.
22592
22593 2010-03-07  Bruno Haible  <bruno@clisp.org>
22594
22595         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
22596         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
22597         (POSIX_SPAWN_SETSCHEDULER): Likewise.
22598         (POSIX_SPAWN_USEVFORK): Define in a way that works when
22599         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
22600         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
22601         declare when POSIX_SPAWN_SETSCHEDULER is zero.
22602         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
22603         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
22604         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
22605         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
22606         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
22607         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
22608         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
22609         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
22610         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
22611         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
22612         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
22613         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
22614         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
22615         Likewise.
22616         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
22617         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
22618         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
22619         Likewise.
22620         * tests/test-spawn.c (main): Make it work when
22621         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
22622
22623 2010-03-07  Bruno Haible  <bruno@clisp.org>
22624
22625         Fix incorrect Makefile.am generation in German locale.
22626         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
22627         Execute sed command with character range in C locale.
22628
22629 2010-03-06  Bruno Haible  <bruno@clisp.org>
22630
22631         Tests for module 'iconv-h'.
22632         * modules/iconv-h-tests: New file.
22633         * tests/test-iconv-h.c: New file.
22634
22635         New module 'iconv-h'.
22636         * modules/iconv-h: New file.
22637         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
22638         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
22639         (configure.ac): Remove gl_ICONV_H.
22640         (Makefile.am): Remove rule for iconv.h.
22641
22642 2010-03-06  Bruno Haible  <bruno@clisp.org>
22643
22644         More consistent naming of *.m4 files.
22645         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
22646         * modules/wctype (Files): Update.
22647
22648         More consistent naming of *.m4 files.
22649         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
22650         * modules/wchar (Files): Update.
22651
22652 2010-03-06  Jim Meyering  <meyering@redhat.com>
22653
22654         euidaccess: relax license to LGPLv2+
22655         * modules/euidaccess (License): Relax to LGPLv2+.
22656
22657 2010-03-06  Bruno Haible  <bruno@clisp.org>
22658
22659         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
22660         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
22661         (Makefile.am): Augment lib_SOURCES instead.
22662
22663 2010-03-04  Jim Meyering  <meyering@redhat.com>
22664
22665         utime: remove obsolete module
22666         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
22667         unnecessary for years, and has been marked as obsolete for 10 months.
22668         * modules/utime: Remove file.
22669         * lib/utime.c: Remove file.
22670         * m4/utime.m4: Remove file.
22671         * m4/utimes-null.m4: Remove file.
22672         * doc/posix-functions/utime.texi (utime): Remove reference to
22673         the module.  Move the sole "fixed by gnulib" item into the
22674         "problems not fixed by Gnulib" list.
22675         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
22676
22677 2010-03-05  Simon Josefsson  <simon@josefsson.org>
22678
22679         * modules/exit (License): Relax license to LGPLv2+.
22680         (Status): Mark as obsolete.
22681         * NEWS: Mention deprecated 'exit' module.
22682         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
22683         of now obsolete 'exit'.
22684
22685 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22686
22687         fts-lgpl: remove unused module
22688         * modules/fts-lgpl: Remove.
22689         * MODULES.html.sh (func_all_modules): Adjust.
22690         * check-module (find_included_lib_files): Adjust.
22691         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
22692
22693 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
22694
22695         copy-acl: enhance Solaris ACL error handling
22696         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
22697         * lib/set-mode-acl.c (qset_acl): Likewise.
22698
22699 2010-03-02  Bruno Haible  <bruno@clisp.org>
22700
22701         spawn: Don't override the system defined values on FreeBSD 8.
22702         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
22703         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
22704         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
22705         if HAVE_POSIX_SPAWN is 1.
22706         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
22707
22708 2010-03-01  Bruno Haible  <bruno@clisp.org>
22709
22710         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
22711         regarding Automake.
22712
22713 2010-02-25  Bruno Haible  <bruno@clisp.org>
22714
22715         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
22716         * gnulib-tool: Define 'echo' as a function only before the ksh alias
22717         setting, not afterwards.
22718         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
22719
22720 2010-02-24  Eric Blake  <eblake@redhat.com>
22721
22722         bootstrap, git-version-gen: use timestamp
22723         * build-aux/git-version-gen (scriptversion): Force UTC.
22724         * build-aux/bootstrap (scriptversion): New variable.
22725
22726         bootstrap: allow older git
22727         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
22728         older than 1.6.4.  Requested by the libvirt project.
22729
22730 2010-02-23  Eric Blake  <eblake@redhat.com>
22731
22732         warn-on-use: work with old autoconf
22733         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
22734         AS_VAR semantics of autoconf 2.60.
22735         Reported by Bruno Haible.
22736
22737         bootstrap: improve some comments
22738         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
22739         clarification comments.
22740
22741         gettimeofday: provide correct function
22742         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
22743         when replacement is declared, otherwise provide gettimeofday.
22744         Reported by Michael Goffioul.
22745
22746 2010-02-23  Jim Meyering  <meyering@redhat.com>
22747
22748         lib-ignore: relax license to "unlimited", not LGPLv2+
22749         * modules/lib-ignore (License): Relax to "unlimited".
22750
22751 2010-02-23  Jim Meyering  <meyering@redhat.com>
22752
22753         lib-ignore: relax license to LGPLv2+
22754         * modules/lib-ignore (License): Relax to LGPLv2+.
22755
22756 2010-02-22  Eric Blake  <eblake@redhat.com>
22757
22758         lseek: avoid bash 3.2 broken pipe bug
22759         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
22760         warning from bash 3.2.
22761         Reported by Ben Pfaff, with analysis from Bruno Haible.
22762
22763         bootstrap: support non-FSF copyright holder
22764         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
22765         bootstrap.conf override of COPYRIGHT_HOLDER.
22766         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
22767
22768         bootstrap: interoperate with gettext 0.14.1
22769         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
22770
22771         bootstrap: allow for alternate submodule location
22772         * build-aux/bootstrap (gnulib_path): New variable; use instead of
22773         hardcoding submodule location.
22774         (gnulib_mk): Allow direct use of Makefile.am.
22775
22776         bootstrap: use GNULIB_SRCDIR to reduce disk usage
22777         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
22778         rather than reconfiguring where the submodule points.
22779
22780         gettimeofday: restore support for platforms that lack function
22781         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
22782         replacement if function is missing.
22783         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
22784         * modules/sys_time (Makefile.am): Substitute it.
22785         * lib/sys_time.in.h (gettimeofday): Check it.
22786         Reported by Michael Goffioul.
22787
22788 2010-02-21  Bruno Haible  <bruno@clisp.org>
22789
22790         * lib/stdio.in.h (obstack_printf): Fix typo.
22791
22792 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
22793
22794         vc-list-files: use bzr ls's -R option
22795         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
22796         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
22797
22798 2010-02-21  Jim Meyering  <meyering@redhat.com>
22799
22800         init.sh: fix EXEEXT shims to work also for names like test-prog
22801         * tests/init.sh: Re-exec a better shell, when needed.
22802         If the current shell lacks support for posix $(...), an init.sh-using
22803         test will now try to find a shell that supports that.  If EXEEXT is
22804         nonempty, we also require support for hyphen-in-alias-name and shell
22805         substitutions like ${var#glob}.  Failure to find such a shell results
22806         in a skipped test.
22807
22808 2010-02-21  Bruno Haible  <bruno@clisp.org>
22809
22810         Really work around around "broken pipe" error message from bash 3.2.
22811         * gnulib-tool (func_reset_sigpipe): Remove function.
22812         (echo): In bash 3.2, define to a function that uses printf.
22813         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
22814
22815 2010-02-20  Bruno Haible  <bruno@clisp.org>
22816
22817         Restore support for automake 1.9.6 with autoconf 2.61.
22818         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
22819         Reported by James Youngman <jay@gnu.org>.
22820
22821 2010-02-20  Bruno Haible  <bruno@clisp.org>
22822
22823         Improve *printf warning condition.
22824         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
22825         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
22826         and the function is overridden due to SIGPIPE emulation.
22827
22828 2010-02-20  Bruno Haible  <bruno@clisp.org>
22829
22830         * lib/stdio.in.h: Tweak comments.
22831
22832 2010-02-19  Bruno Haible  <bruno@clisp.org>
22833
22834         Make it easier to find modules. New gnulib-tool option '--find'.
22835         * gnulib-tool: New option --find.
22836         (func_usage): Document it.
22837         (func_sanitize_modulelist): New function, extracted from
22838         func_all_modules.
22839         (func_all_modules): Invoke it.
22840         * doc/gnulib-tool.texi (Which modules?): New node.
22841
22842 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
22843
22844         * lib/sys_select.in.h: Provide select replacement even if
22845         sys/select.h exists on a system, for Interix.
22846
22847 2010-02-18  Jim Meyering  <meyering@redhat.com>
22848
22849         init.sh: don't use $(...) just yet
22850         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
22851         to accommodate e.g., Solaris' /bin/sh.
22852
22853 2010-02-17  Bruno Haible  <bruno@clisp.org>
22854
22855         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
22856         Reported by Ludovic Courtès <ludo@gnu.org>.
22857
22858 2010-02-16  Simon Josefsson  <simon@josefsson.org>
22859
22860         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
22861         linking with -lintl.
22862
22863 2010-02-17  Simon Josefsson  <simon@josefsson.org>
22864
22865         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
22866         if not provided by the system's netdb.h.  Reported by
22867         ludo@gnu.org (Ludovic Courtès).
22868
22869 2010-02-15  Jim Meyering  <meyering@redhat.com>
22870
22871         init.sh: improve portability and efficiency
22872         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
22873         "dummy" in a for loop.
22874         Use '!', not '^' to select the complement of a character set used
22875         in a "case" statement.
22876         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
22877         Suggestions from Eric Blake.
22878
22879         init.sh: automatically accommodate programs with the .exe suffix
22880         Automatically arrange for an invocation of "prog" to execute the
22881         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
22882         may use the simpler "prog", yet still work when built on a system
22883         that requires specifying the added suffix.
22884         Do this by constructing a function named "prog" that invokes
22885         "prog.exe" for each .exe file in selected directories.
22886         * tests/init.sh (find_exe_basenames_): New function.
22887         (create_exe_shim_functions_): New function.
22888         (path_prepend_): Use it.
22889
22890         maint.mk: mark syntax-check sc_*.m rules as .PHONY
22891         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
22892         "make -t syntax-check" doesn't create a ton of sc_*.m files.
22893
22894 2010-02-14  Jim Meyering  <meyering@redhat.com>
22895
22896         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
22897         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
22898         (sc_prohibit_hash_pjw_without_use): New rule.
22899
22900         maint.mk: allow the default upload destination dir to be overridden
22901         * top/maint.mk (upload_dest_dir_): Define with a default that
22902         preserves the status quo.
22903         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
22904         Reported by Peter Simons.
22905
22906         maint.mk: prohibit inclusion of "hash.h" without_use
22907         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
22908
22909 2010-02-10  Jim Meyering  <meyering@redhat.com>
22910
22911         maint.mk: prohibit inclusion of "ignore-value.h" without_use
22912         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
22913
22914 2010-02-09  Eric Blake  <ebb9@byu.net>
22915         and Bruno Haible  <bruno@clisp.org>
22916
22917         obstack-printf-posix: ensure declaration
22918         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
22919         extracted from gl_FUNC_OBSTACK_PRINTF.
22920         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
22921         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
22922         Likewise.
22923         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
22924         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
22925         0.
22926
22927 2010-02-08  Bruno Haible  <bruno@clisp.org>
22928
22929         gnulib-tool: Fix typo in 2010-02-07 commit.
22930         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
22931         Reported by Eric Blake.
22932
22933 2010-02-07  Bruno Haible  <bruno@clisp.org>
22934
22935         gnulib-tool: Fix up caching patches.
22936         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
22937         option --no-cache. Use associative arrays when supported by the shell.
22938         (sed_comments): New variable.
22939         (modcache): Renamed from do_cache.
22940         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
22941         abbreviate unnecessarily.
22942         (have_associative): New variable.
22943         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
22944         way also for ksh and zsh.
22945         (func_init_sed_convert_to_cache_statements): New function, extracted
22946         from func_cache_lookup_module. Add support for associative arrays.
22947         Don't set the c_MODULE_cached variable here. Ignore all lines before
22948         the first field header. Remove only the final newline, not all trailing
22949         newlines. Support empty fields correctly. Limit the use of 'eval' to
22950         assignments.
22951         (func_get_description, func_get_status, func_get_notice,
22952         func_get_applicability, func_get_filelist, func_get_dependencies,
22953         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
22954         func_get_automake_snippet, func_get_include_directive,
22955         func_get_link_directive, func_get_license, func_get_maintainer):
22956         Update documentation. List the unoptimized code first. Add support for
22957         associative arrays. Limit the use of 'eval' to assignments.
22958         (func_get_applicability): Undo stylistic pessimisations.
22959         (func_get_automake_snippet, func_get_include_directive): Reduce code
22960         duplication.
22961         (func_modules_transitive_closure, func_modules_add_dummy,
22962         func_modules_notice, func_modules_to_filelist, func_add_file,
22963         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
22964         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
22965         func_create_testdir, func_create_megatestdir): Update documentation.
22966
22967 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22968
22969         * gnulib-tool (func_cache_lookup_module): Store the module name
22970         belonging to the cache variable; error out if two different
22971         module names map to the same cache variable name.
22972
22973 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22974
22975         gnulib-tool: Make caching optional.
22976         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
22977         Update matching short versions of --no-changelog.
22978         (func_usage): Update.
22979         (sed_extract_cache_prog): Renamed from ...
22980         (sed_extract_prog): ... this; revert to old extraction script.
22981         (func_get_description, func_get_status)
22982         (func_get_notice, func_get_applicability, func_get_filelist)
22983         (func_get_dependencies, func_get_autoconf_early_snippet)
22984         (func_get_autoconf_snippet, func_get_automake_snippet)
22985         (func_get_include_directive, func_get_link_directive)
22986         (func_get_license, func_get_maintainer): If $do_cache is false,
22987         use old, non-caching extraction scripts.
22988         Suggestion by Bruno Haible.
22989
22990 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22991
22992         gnulib-tool: cache module metainformation.
22993         * gnulib-tool (sed_extract_prog): Match newline before each
22994         header, and rewrite header to a shell variable suffix.
22995         (func_cache_var, func_cache_lookup_module): New functions,
22996         to turn a module name into a cache variable prefix, and to
22997         look up and cache module metainformation.
22998         (func_get_description, func_get_status)
22999         (func_get_notice, func_get_applicability, func_get_filelist)
23000         (func_get_dependencies, func_get_autoconf_early_snippet)
23001         (func_get_autoconf_snippet, func_get_automake_snippet)
23002         (func_get_include_directive, func_get_link_directive)
23003         (func_get_license, func_get_maintainer): Use
23004         func_cache_lookup_module.
23005
23006 2010-02-07  Bruno Haible  <bruno@clisp.org>
23007
23008         fnctl: Fix missing dependency.
23009         * modules/fcntl (Depends-on): Add getdtablesize.
23010         Reported by John W. Eaton <jwe@gnu.org>.
23011
23012 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23013
23014         Argp: fix recognition of short alias options.
23015
23016         * lib/argp-parse.c (convert_options): Fix improper use of
23017         `|' between character values.
23018         * tests/test-argp.c (group1_option): New alias option
23019         --read (-r).
23020         (group1_parser): Special handling for 'r'.
23021         (test15): New test case.
23022         (test_fun): Add test15.
23023         * tests/test-argp-2.sh: Update expected --help and --usage
23024         outputs.
23025
23026 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23027
23028         * tests/test-argp.c: Fix indentation.
23029
23030 2010-02-04  Eric Blake  <ebb9@byu.net>
23031
23032         gettimeofday: expose type of second argument
23033         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
23034         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
23035         * tests/test-gettimeofday.c: Use it to silence warning.
23036         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
23037         the issue.
23038
23039 2010-02-03  Jim Meyering  <meyering@redhat.com>
23040
23041         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
23042         * lib/regcomp.c (TYPE_SIGNED): Define.
23043         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
23044
23045         regcomp.c: avoid a new -Wshadow warning
23046         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
23047
23048 2010-02-01  Jim Meyering  <meyering@redhat.com>
23049
23050         removing useless parentheses in cpp #define directives
23051         For motivation, see commit c0221df4, "define STREQ(a,b)
23052         consistently, removing useless parentheses"
23053         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
23054         * lib/mountlist.c (MNT_IGNORE): Likewise.
23055         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
23056
23057 2010-02-01  Eric Blake  <ebb9@byu.net>
23058
23059         sys_time: use link-warning
23060         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
23061         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
23062         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
23063         * modules/sys_time (Depends-on): Add warn-on-use.
23064         (Makefile.am): Always build replacement.
23065         (configure.ac): Update substitutions.
23066         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
23067         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
23068         bother with SYS_TIME_H.
23069         * modules/gettimeofday (configure.ac): Declare indicator.
23070         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
23071         in use.
23072
23073         closein-tests: silence compiler warning
23074         * tests/test-closein.c (main): Ignore fread result.
23075         * modules/closein-tests (Depends-on): Add ignore-value.
23076
23077         tests: silence warning about system return
23078         * tests/test-areadlink-with-size.c (main): Ignore system result.
23079         * tests/test-areadlink.c (main): Likewise.
23080         * tests/test-areadlinkat-with-size.c (main): Likewise.
23081         * tests/test-areadlinkat.c (main): Likewise.
23082         * tests/test-canonicalize-lgpl.c (main): Likewise.
23083         * tests/test-canonicalize.c (main): Likewise.
23084         * tests/test-chown.c (main): Likewise.
23085         * tests/test-fchownat.c (main): Likewise.
23086         * tests/test-fdutimensat.c (main): Likewise.
23087         * tests/test-fstatat.c (main): Likewise.
23088         * tests/test-futimens.c (main): Likewise.
23089         * tests/test-lchown.c (main): Likewise.
23090         * tests/test-link.c (main): Likewise.
23091         * tests/test-linkat.c (main): Likewise.
23092         * tests/test-lstat.c (main): Likewise.
23093         * tests/test-mkdir.c (main): Likewise.
23094         * tests/test-mkdirat.c (main): Likewise.
23095         * tests/test-mkfifo.c (main): Likewise.
23096         * tests/test-mkfifoat.c (main): Likewise.
23097         * tests/test-mknod.c (main): Likewise.
23098         * tests/test-readlink.c (main): Likewise.
23099         * tests/test-remove.c (main): Likewise.
23100         * tests/test-rename.c (main): Likewise.
23101         * tests/test-renameat.c (main): Likewise.
23102         * tests/test-rmdir.c (main): Likewise.
23103         * tests/test-symlink.c (main): Likewise.
23104         * tests/test-symlinkat.c (main): Likewise.
23105         * tests/test-unlink.c (main): Likewise.
23106         * tests/test-unlinkat.c (main): Likewise.
23107         * tests/test-utimens.c (main): Likewise.
23108         * tests/test-utimensat.c (main): Likewise.
23109         * modules/areadlink-tests (Depends-on): Add ignore-value.
23110         * modules/areadlink-with-size-tests (Depends-on): Likewise.
23111         * modules/areadlinkat-tests (Depends-on): Likewise.
23112         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
23113         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23114         * modules/canonicalize-tests (Depends-on): Likewise.
23115         * modules/chown-tests (Depends-on): Likewise.
23116         * modules/fdutimensat-tests (Depends-on): Likewise.
23117         * modules/futimens-tests (Depends-on): Likewise.
23118         * modules/lchown-tests (Depends-on): Likewise.
23119         * modules/link-tests (Depends-on): Likewise.
23120         * modules/linkat-tests (Depends-on): Likewise.
23121         * modules/lstat-tests (Depends-on): Likewise.
23122         * modules/mkdir-tests (Depends-on): Likewise.
23123         * modules/mkfifo-tests (Depends-on): Likewise.
23124         * modules/mkfifoat-tests (Depends-on): Likewise.
23125         * modules/mknod-tests (Depends-on): Likewise.
23126         * modules/openat-tests (Depends-on): Likewise.
23127         * modules/readlink-tests (Depends-on): Likewise.
23128         * modules/remove-tests (Depends-on): Likewise.
23129         * modules/rename-tests (Depends-on): Likewise.
23130         * modules/renameat-tests (Depends-on): Likewise.
23131         * modules/rmdir-tests (Depends-on): Likewise.
23132         * modules/symlink-tests (Depends-on): Likewise.
23133         * modules/symlinkat-tests (Depends-on): Likewise.
23134         * modules/unlink-tests (Depends-on): Likewise.
23135         * modules/utimens-tests (Depends-on): Likewise.
23136         * modules/utimensat-tests (Depends-on): Likewise.
23137
23138 2010-01-31  Bruno Haible  <bruno@clisp.org>
23139
23140         Perform the same test for many <math.h> functions.
23141         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
23142         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
23143         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
23144         of gl_MATHFUNC.
23145         * modules/acos (configure.ac): Likewise.
23146         * modules/asin (configure.ac): Likewise.
23147         * modules/atan (configure.ac): Likewise.
23148         * modules/atan2 (configure.ac): Likewise.
23149         * modules/cbrt (configure.ac): Likewise.
23150         * modules/copysign (configure.ac): Likewise.
23151         * modules/cos (configure.ac): Likewise.
23152         * modules/cosh (configure.ac): Likewise.
23153         * modules/erf (configure.ac): Likewise.
23154         * modules/erfc (configure.ac): Likewise.
23155         * modules/exp (configure.ac): Likewise.
23156         * modules/fmod (configure.ac): Likewise.
23157         * modules/hypot (configure.ac): Likewise.
23158         * modules/j0 (configure.ac): Likewise.
23159         * modules/j1 (configure.ac): Likewise.
23160         * modules/jn (configure.ac): Likewise.
23161         * modules/lgamma (configure.ac): Likewise.
23162         * modules/log (configure.ac): Likewise.
23163         * modules/log10 (configure.ac): Likewise.
23164         * modules/log1p (configure.ac): Likewise.
23165         * modules/pow (configure.ac): Likewise.
23166         * modules/remainder (configure.ac): Likewise.
23167         * modules/sin (configure.ac): Likewise.
23168         * modules/sinh (configure.ac): Likewise.
23169         * modules/tan (configure.ac): Likewise.
23170         * modules/tanh (configure.ac): Likewise.
23171         * modules/y0 (configure.ac): Likewise.
23172         * modules/y1 (configure.ac): Likewise.
23173         * modules/yn (configure.ac): Likewise.
23174         Suggested by Paolo Bonzini.
23175
23176 2010-01-31  Bruno Haible  <bruno@clisp.org>
23177
23178         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
23179
23180 2010-01-31  Bruno Haible  <bruno@clisp.org>
23181
23182         Work around getdelim() bug on FreeBSD 8.0.
23183         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
23184         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
23185         not work.
23186         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
23187         is 1.
23188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
23189         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
23190         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
23191         a non-zero size.
23192         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
23193
23194 2010-01-31  Bruno Haible  <bruno@clisp.org>
23195
23196         Work around getline() bug on FreeBSD 8.0.
23197         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
23198         and a non-zero size.
23199         * tests/test-getline.c (main): Likewise.
23200         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
23201         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
23202
23203 2010-01-28  Eric Blake  <ebb9@byu.net>
23204
23205         regex: fix build failure
23206         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
23207         platforms.
23208
23209 2010-01-28  Jim Meyering  <meyering@redhat.com>
23210
23211         regex: do not ignore memory allocation failure
23212         * lib/regex_internal.c (create_cd_newstate): Detect
23213         re_node_set_init_copy failure.   Extracted from glibc commit
23214         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23215
23216         regex: sync more white-space changes from libc
23217         * lib/regex_internal.c: White-space only changes.
23218         * lib/regexec.c: Likewise.
23219
23220         regex: add many uses of __attribute_warn_unused_result__
23221         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
23222         * lib/regexec.c: Likewise.
23223         Extracted from a messy glibc commit.
23224
23225         regcomp.c: spelling and merge-artifact from glibc
23226         * lib/regcomp.c: Merge remainder of glibc's
23227         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23228
23229         regcomp.c: sync white-space changes from glibc
23230         * lib/regcomp.c: Merge to accommodate white space
23231         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23232
23233         regcomp.c: do not ignore internal return values
23234         * lib/regcomp.c: Do not ignore internal return values.
23235         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
23236         but without its white-space changes and spelling fixes.
23237
23238         regex_internal.h: define __attribute_warn_unused_result__
23239         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
23240
23241         maint: add a syntax-check rule to check for vulnerable Makefile.in
23242         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
23243
23244 2010-01-27  Jim Meyering  <meyering@redhat.com>
23245
23246         ncftpput-ftp: clean up spaces
23247         * build-aux/ncftpput-ftp: Make Copyright line consistent.
23248         Remove trailing blanks.
23249
23250 2010-01-27  Simon Josefsson  <simon@josefsson.org>
23251
23252         * build-aux/git-version-gen: Fix copyright statement.
23253         * build-aux/gnupload: Likewise.
23254         * tests/test-arcfour.c: Likewise.
23255         * tests/test-arctwo.c: Likewise.
23256         * tests/test-count-one-bits.c: Likewise.
23257         * tests/test-crc.c: Likewise.
23258         * tests/test-des.c: Likewise.
23259         * tests/test-gc-arcfour.c: Likewise.
23260         * tests/test-gc-arctwo.c: Likewise.
23261         * tests/test-gc-des.c: Likewise.
23262         * tests/test-gc-hmac-md5.c: Likewise.
23263         * tests/test-gc-hmac-sha1.c: Likewise.
23264         * tests/test-gc-md2.c: Likewise.
23265         * tests/test-gc-md4.c: Likewise.
23266         * tests/test-gc-md5.c: Likewise.
23267         * tests/test-gc-pbkdf2-sha1.c: Likewise.
23268         * tests/test-gc-rijndael.c: Likewise.
23269         * tests/test-gc-sha1.c: Likewise.
23270         * tests/test-gc.c: Likewise.
23271         * tests/test-gethostname.c: Likewise.
23272         * tests/test-gettimeofday.c: Likewise.
23273         * tests/test-hash.c: Likewise.
23274         * tests/test-hmac-md5.c: Likewise.
23275         * tests/test-hmac-sha1.c: Likewise.
23276         * tests/test-md2.c: Likewise.
23277         * tests/test-md4.c: Likewise.
23278         * tests/test-md5.c: Likewise.
23279         * tests/test-memchr.c: Likewise.
23280         * tests/test-memchr2.c: Likewise.
23281         * tests/test-memcmp.c: Likewise.
23282         * tests/test-memmem.c: Likewise.
23283         * tests/test-memrchr.c: Likewise.
23284         * tests/test-rawmemchr.c: Likewise.
23285         * tests/test-read-file.c: Likewise.
23286         * tests/test-rijndael.c: Likewise.
23287         * tests/test-sockets.c: Likewise.
23288         * tests/test-strchrnul.c: Likewise.
23289         * tests/test-strstr.c: Likewise.
23290         * tests/test-strtod.c: Likewise.
23291         * build-aux/ncftpput-ftp: Likewise.
23292
23293 2010-01-26  Eric Blake  <ebb9@byu.net>
23294
23295         ignore-value: update recommended header name
23296         * modules/ignore-value (Include): Only use <> for headers that
23297         exist in glibc.
23298
23299 2010-01-26  Jim Meyering  <meyering@redhat.com>
23300
23301         test-userspec.c: avoid compiler warnings
23302         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
23303         and "initialization discards qualifiers..." warnings.
23304         Put the first "uid" in its own scope, and make char* members "const".
23305
23306 2010-01-25  Bruno Haible  <bruno@clisp.org>
23307
23308         gnulib-tool: Make warning diagnostics consistent.
23309         * gnulib-tool (func_warning): New function.
23310         Use it everywhere where gnulib-tool produces output to stderr and it is
23311         not a fatal error.
23312
23313 2010-01-25  Bruno Haible  <bruno@clisp.org>
23314
23315         Fix test dependencies.
23316         * modules/xstrtol-tests (Depends-on): Add inttypes.
23317         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
23318
23319 2010-01-25 Pádraig Brady <P@draigBrady.com>
23320
23321         syntax-check: detect incorrect boolean macro values in config.h
23322         * modules/maintainer-makefile (configure.ac): Parameterize the location
23323         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
23324         The logic is from Eric Blake and the location indicated by Jim Meyering.
23325         Note the more natural CONFIG_HEADER name is prohibited by automake
23326         for backwards compatibility reasons.
23327         * top/maint.mk (sc_Wundef_boolean): New rule.
23328
23329 2010-01-25  Jim Meyering  <meyering@redhat.com>
23330
23331         bootstrap: detect MacOS 10.6's shasum, too
23332         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
23333         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
23334
23335 2010-01-23  Jim Meyering  <meyering@redhat.com>
23336
23337         xstrtoll: new module
23338         * modules/xstrtoll: New file.
23339         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
23340         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
23341         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
23342         ./configure fails if you use this module and lack "long long".
23343         * modules/xstrtoll-tests: New module.
23344         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
23345         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
23346         new init.sh-based test framework.
23347
23348 2010-01-24  Bruno Haible  <bruno@clisp.org>
23349
23350         Tests for module 'yn'.
23351         * modules/yn-tests: New file.
23352         * tests/test-yn.c: New file.
23353
23354         Tests for module 'y1'.
23355         * modules/y1-tests: New file.
23356         * tests/test-y1.c: New file.
23357
23358         Tests for module 'y0'.
23359         * modules/y0-tests: New file.
23360         * tests/test-y0.c: New file.
23361
23362         Tests for module 'tanh'.
23363         * modules/tanh-tests: New file.
23364         * tests/test-tanh.c: New file.
23365
23366         Tests for module 'tan'.
23367         * modules/tan-tests: New file.
23368         * tests/test-tan.c: New file.
23369
23370         Tests for module 'sqrt'.
23371         * modules/sqrt-tests: New file.
23372         * tests/test-sqrt.c: New file.
23373
23374         Tests for module 'sinh'.
23375         * modules/sinh-tests: New file.
23376         * tests/test-sinh.c: New file.
23377
23378         Tests for module 'sin'.
23379         * modules/sin-tests: New file.
23380         * tests/test-sin.c: New file.
23381
23382         Tests for module 'rint'.
23383         * modules/rint-tests: New file.
23384         * tests/test-rint.c: New file.
23385
23386         Tests for module 'remainder'.
23387         * modules/remainder-tests: New file.
23388         * tests/test-remainder.c: New file.
23389
23390         Tests for module 'pow'.
23391         * modules/pow-tests: New file.
23392         * tests/test-pow.c: New file.
23393
23394         Tests for module 'nextafter'.
23395         * modules/nextafter-tests: New file.
23396         * tests/test-nextafter.c: New file.
23397
23398         Tests for module 'modf'.
23399         * modules/modf-tests: New file.
23400         * tests/test-modf.c: New file.
23401
23402         Tests for module 'logb'.
23403         * modules/logb-tests: New file.
23404         * tests/test-logb.c: New file.
23405
23406         Tests for module 'log1p'.
23407         * modules/log1p-tests: New file.
23408         * tests/test-log1p.c: New file.
23409
23410         Tests for module 'log10'.
23411         * modules/log10-tests: New file.
23412         * tests/test-log10.c: New file.
23413
23414         Tests for module 'log'.
23415         * modules/log-tests: New file.
23416         * tests/test-log.c: New file.
23417
23418         Tests for module 'lgamma'.
23419         * modules/lgamma-tests: New file.
23420         * tests/test-lgamma.c: New file.
23421
23422         Tests for module 'ldexp'.
23423         * modules/ldexp-tests: New file.
23424         * tests/test-ldexp.c: New file.
23425
23426         Tests for module 'jn'.
23427         * modules/jn-tests: New file.
23428         * tests/test-jn.c: New file.
23429
23430         Tests for module 'j1'.
23431         * modules/j1-tests: New file.
23432         * tests/test-j1.c: New file.
23433
23434         Tests for module 'j0'.
23435         * modules/j0-tests: New file.
23436         * tests/test-j0.c: New file.
23437
23438         Tests for module 'hypot'.
23439         * modules/hypot-tests: New file.
23440         * tests/test-hypot.c: New file.
23441
23442         Tests for module 'fmod'.
23443         * modules/fmod-tests: New file.
23444         * tests/test-fmod.c: New file.
23445
23446         Tests for module 'fabs'.
23447         * modules/fabs-tests: New file.
23448         * tests/test-fabs.c: New file.
23449
23450         Tests for module 'exp'.
23451         * modules/exp-tests: New file.
23452         * tests/test-exp.c: New file.
23453
23454         Tests for module 'erfc'.
23455         * modules/erfc-tests: New file.
23456         * tests/test-erfc.c: New file.
23457
23458         Tests for module 'erf'.
23459         * modules/erf-tests: New file.
23460         * tests/test-erf.c: New file.
23461
23462         Tests for module 'cosh'.
23463         * modules/cosh-tests: New file.
23464         * tests/test-cosh.c: New file.
23465
23466         Tests for module 'cos'.
23467         * modules/cos-tests: New file.
23468         * tests/test-cos.c: New file.
23469
23470         Tests for module 'copysign'.
23471         * modules/copysign-tests: New file.
23472         * tests/test-copysign.c: New file.
23473
23474         Tests for module 'cbrt'.
23475         * modules/cbrt-tests: New file.
23476         * tests/test-cbrt.c: New file.
23477
23478         Tests for module 'atan2'.
23479         * modules/atan2-tests: New file.
23480         * tests/test-atan2.c: New file.
23481
23482         Tests for module 'atan'.
23483         * modules/atan-tests: New file.
23484         * tests/test-atan.c: New file.
23485
23486         Tests for module 'asin'.
23487         * modules/asin-tests: New file.
23488         * tests/test-asin.c: New file.
23489
23490         Tests for module 'acos'.
23491         * modules/acos-tests: New file.
23492         * tests/test-acos.c: New file.
23493
23494 2010-01-24  Bruno Haible  <bruno@clisp.org>
23495
23496         Fix tests for common <math.h> functions.
23497         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
23498         code snippet that references the function pointer, rather than merely
23499         calling the function. Substitute the FUNC_LIBM variable.
23500         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
23501         * modules/acos (configure.ac): Likewise.
23502         * modules/asin (configure.ac): Likewise.
23503         * modules/atan (configure.ac): Likewise.
23504         * modules/atan2 (configure.ac): Likewise.
23505         * modules/cbrt (configure.ac): Likewise.
23506         * modules/copysign (configure.ac): Likewise.
23507         * modules/cos (configure.ac): Likewise.
23508         * modules/cosh (configure.ac): Likewise.
23509         * modules/erf (configure.ac): Likewise.
23510         * modules/erfc (configure.ac): Likewise.
23511         * modules/exp (configure.ac): Likewise.
23512         * modules/fabs (configure.ac): Likewise.
23513         * modules/fmod (configure.ac): Likewise.
23514         * modules/hypot (configure.ac): Likewise.
23515         * modules/j0 (configure.ac): Likewise.
23516         * modules/j1 (configure.ac): Likewise.
23517         * modules/jn (configure.ac): Likewise.
23518         * modules/ldexp (configure.ac): Likewise.
23519         * modules/lgamma (configure.ac): Likewise.
23520         * modules/log (configure.ac): Likewise.
23521         * modules/log10 (configure.ac): Likewise.
23522         * modules/log1p (configure.ac): Likewise.
23523         * modules/logb (configure.ac): Likewise.
23524         * modules/modf (configure.ac): Likewise.
23525         * modules/nextafter (configure.ac): Likewise.
23526         * modules/pow (configure.ac): Likewise.
23527         * modules/remainder (configure.ac): Likewise.
23528         * modules/rint (configure.ac): Likewise.
23529         * modules/sin (configure.ac): Likewise.
23530         * modules/sinh (configure.ac): Likewise.
23531         * modules/tan (configure.ac): Likewise.
23532         * modules/tanh (configure.ac): Likewise.
23533         * modules/y0 (configure.ac): Likewise.
23534         * modules/y1 (configure.ac): Likewise.
23535         * modules/yn (configure.ac): Likewise.
23536
23537 2010-01-24  Bruno Haible  <bruno@clisp.org>
23538
23539         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
23540         * tests/test-acosl.c (x): New variable.
23541         (main): Store argument in x and fetch it from x.
23542         * tests/test-asinl.c (x): New variable.
23543         (main): Store argument in x and fetch it from x.
23544         * tests/test-atanl.c (x): New variable.
23545         (main): Store argument in x and fetch it from x.
23546         * tests/test-cosl.c (x): New variable.
23547         (main): Store argument in x and fetch it from x.
23548         * tests/test-expl.c (x): New variable.
23549         (main): Store argument in x and fetch it from x.
23550         * tests/test-logl.c (x): New variable.
23551         (main): Store argument in x and fetch it from x.
23552         * tests/test-sinl.c (x): New variable.
23553         (main): Store argument in x and fetch it from x.
23554         * tests/test-sqrtl.c (x): New variable.
23555         (main): Store argument in x and fetch it from x.
23556         * tests/test-tanl.c (x): New variable.
23557         (main): Store argument in x and fetch it from x.
23558
23559 2010-01-24  Bruno Haible  <bruno@clisp.org>
23560
23561         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
23562         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
23563         assignments to the initial TESTS_ENVIRONMENT.
23564         * doc/gnulib.texi (Unit test modules): Document it.
23565         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
23566         TESTS_ENVIRONMENT.
23567         * modules/btowc-tests (Makefile.am): Likewise.
23568         * modules/c-stack-tests (Makefile.am): Likewise.
23569         * modules/c-strcase-tests (Makefile.am): Likewise.
23570         * modules/copy-file-tests (Makefile.am): Likewise.
23571         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
23572         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
23573         * modules/mbrtowc-tests (Makefile.am): Likewise.
23574         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23575         * modules/mbscasestr-tests (Makefile.am): Likewise.
23576         * modules/mbschr-tests (Makefile.am): Likewise.
23577         * modules/mbscspn-tests (Makefile.am): Likewise.
23578         * modules/mbsinit-tests (Makefile.am): Likewise.
23579         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23580         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
23581         * modules/mbspbrk-tests (Makefile.am): Likewise.
23582         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23583         * modules/mbsrchr-tests (Makefile.am): Likewise.
23584         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
23585         * modules/mbsspn-tests (Makefile.am): Likewise.
23586         * modules/mbsstr-tests (Makefile.am): Likewise.
23587         * modules/nl_langinfo-tests (Makefile.am): Likewise.
23588         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
23589         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23590         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23591         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23592         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23593         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
23594         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23595         * modules/wcrtomb-tests (Makefile.am): Likewise.
23596         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
23597         * modules/wcsrtombs-tests (Makefile.am): Likewise.
23598         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
23599         assignments from TESTS_ENVIRONMENT.
23600         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
23601         augmentation.
23602         * modules/argp-version-etc-tests (Makefile.am): Likewise.
23603         * modules/atexit-tests (Makefile.am): Likewise.
23604         * modules/binary-io-tests (Makefile.am): Likewise.
23605         * modules/closein-tests (Makefile.am): Likewise.
23606         * modules/dprintf-posix-tests (Makefile.am): Likewise.
23607         * modules/exclude-tests (Makefile.am): Likewise.
23608         * modules/fflush-tests (Makefile.am): Likewise.
23609         * modules/fpending-tests (Makefile.am): Likewise.
23610         * modules/fprintf-posix-tests (Makefile.am): Likewise.
23611         * modules/freadahead-tests (Makefile.am): Likewise.
23612         * modules/freadptr-tests (Makefile.am): Likewise.
23613         * modules/freadseek-tests (Makefile.am): Likewise.
23614         * modules/fseek-tests (Makefile.am): Likewise.
23615         * modules/fseeko-tests (Makefile.am): Likewise.
23616         * modules/ftell-tests (Makefile.am): Likewise.
23617         * modules/ftello-tests (Makefile.am): Likewise.
23618         * modules/idpriv-drop-tests (Makefile.am): Likewise.
23619         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
23620         * modules/lseek-tests (Makefile.am): Likewise.
23621         * modules/parse-duration-tests (Makefile.am): Likewise.
23622         * modules/perror-tests (Makefile.am): Likewise.
23623         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
23624         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
23625         * modules/pipe-tests (Makefile.am): Likewise.
23626         * modules/pread-tests (Makefile.am): Likewise.
23627         * modules/printf-posix-tests (Makefile.am): Likewise.
23628         * modules/select-tests (Makefile.am): Likewise.
23629         * modules/sigpipe-tests (Makefile.am): Likewise.
23630         * modules/tsearch-tests (Makefile.am): Likewise.
23631         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
23632         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
23633         * modules/uniname/uniname-tests (Makefile.am): Likewise.
23634         * modules/uniwidth/width-tests (Makefile.am): Likewise.
23635         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
23636         * modules/version-etc-tests (Makefile.am): Likewise.
23637         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
23638         * modules/vprintf-posix-tests (Makefile.am): Likewise.
23639         * modules/xalloc-die-tests (Makefile.am): Likewise.
23640         * modules/xprintf-posix-tests (Makefile.am): Likewise.
23641         * modules/xstrtoimax-tests (Makefile.am): Likewise.
23642         * modules/xstrtol-tests (Makefile.am): Likewise.
23643         * modules/xstrtoumax-tests (Makefile.am): Likewise.
23644         * modules/yesno-tests (Makefile.am): Likewise.
23645         Suggested by Jim Meyering.
23646
23647 2010-01-24  Bruno Haible  <bruno@clisp.org>
23648
23649         More documentation.
23650         * doc/gnulib.texi (Writing modules): New chapter.
23651         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
23652         the new chapter.
23653
23654 2010-01-24  Jim Meyering  <meyering@redhat.com>
23655
23656         maint.mk: do not prepend "./" after filtering
23657         * top/maint.mk (_prepend_srcdir_prefix): New variable
23658         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
23659         "./" when $(srcdir) is ".".
23660
23661         define STREQ(a,b) consistently, removing useless parentheses
23662         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
23663         since the only risk is that "a" or "b" contains an unparenthesized
23664         comma, but if either did that, STREQ would have 3 or more arguments.
23665         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
23666         * lib/fts.c (STREQ): Remove unnecessary parentheses.
23667         * lib/hash-triple.c (STREQ): Likewise.
23668         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
23669         * lib/getugroups.c (STREQ): Likewise.
23670
23671 2010-01-23  Jim Meyering  <meyering@redhat.com>
23672
23673         maint.mk: fix syntax-check in a non-srcdir build directory
23674         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
23675         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
23676
23677 2010-01-22  Jim Meyering  <meyering@redhat.com>
23678
23679         userspec: add unit tests
23680         * tests/test-userspec.c: New file.
23681         * modules/userspec-tests: Likewise.
23682
23683 2010-01-21  Jim Meyering  <meyering@redhat.com>
23684
23685         maint.mk: handle source file names containing "." robustly
23686         * top/maint.mk (_dot_escaped_srcdir): Define.
23687         (VC_LIST): Use it in LHS of sed substitution.
23688
23689 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
23690
23691         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
23692         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
23693         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
23694         from a non-srcdir build.
23695
23696 2010-01-20  Eric Blake  <ebb9@byu.net>
23697
23698         warn-on-use: use instead of link-warning
23699         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
23700         * modules/unistd (Depends-on, Makefile.am): Likewise.
23701         * modules/arpa_inet (Depends-on): Replace link-warning with
23702         warn-on-use.
23703         (Makefile.am): Update rules accordingly.
23704         * modules/ctype (Depends-on, Makefile.am): Likewise.
23705         * modules/dirent (Depends-on, Makefile.am): Likewise.
23706         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
23707         * modules/inttypes (Depends-on, Makefile.am): Likewise.
23708         * modules/langinfo (Depends-on, Makefile.am): Likewise.
23709         * modules/locale (Depends-on, Makefile.am): Likewise.
23710         * modules/math (Depends-on, Makefile.am): Likewise.
23711         * modules/search (Depends-on, Makefile.am): Likewise.
23712         * modules/signal (Depends-on, Makefile.am): Likewise.
23713         * modules/spawn (Depends-on, Makefile.am): Likewise.
23714         * modules/stdlib (Depends-on, Makefile.am): Likewise.
23715         * modules/string (Depends-on, Makefile.am): Likewise.
23716         * modules/strings (Depends-on, Makefile.am): Likewise.
23717         * modules/sys_file (Depends-on, Makefile.am): Likewise.
23718         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
23719         * modules/sys_select (Depends-on, Makefile.am): Likewise.
23720         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
23721         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
23722         * modules/sys_times (Depends-on, Makefile.am): Likewise.
23723         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
23724         * modules/wchar (Depends-on, Makefile.am): Likewise.
23725         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
23726         should be poisoned.
23727         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
23728         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
23729         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
23730         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23731         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23732         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23733         * m4/math_h.m4 (gl_MATH_H): Likewise.
23734         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23735         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
23736         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23737         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
23738         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
23739         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
23740         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
23741         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
23742         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
23743         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23744         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23745         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
23746         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23747         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23748         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23749         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23750         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
23751         GL_LINK_WARNING.
23752         * lib/ctype.in.h: Likewise.
23753         * lib/dirent.in.h: Likewise.
23754         * lib/fcntl.in.h: Likewise.
23755         * lib/inttypes.in.h: Likewise.
23756         * lib/langinfo.in.h: Likewise.
23757         * lib/locale.in.h: Likewise.
23758         * lib/math.in.h: Likewise.
23759         * lib/search.in.h: Likewise.
23760         * lib/signal.in.h: Likewise.
23761         * lib/spawn.in.h: Likewise.
23762         * lib/stdio.in.h: Likewise.
23763         * lib/stdlib.in.h: Likewise.
23764         * lib/string.in.h: Likewise.
23765         * lib/strings.in.h: Likewise.
23766         * lib/sys_file.in.h: Likewise.
23767         * lib/sys_ioctl.in.h: Likewise.
23768         * lib/sys_select.in.h: Likewise.
23769         * lib/sys_socket.in.h: Likewise.
23770         * lib/sys_stat.in.h: Likewise.
23771         * lib/sys_times.in.h: Likewise.
23772         * lib/sys_utsname.in.h: Likewise.
23773         * lib/unistd.in.h: Likewise.
23774         * lib/wchar.in.h: Likewise.
23775
23776 2010-01-20  Bruno Haible  <bruno@clisp.org>
23777
23778         Avoid duplicate -lm.
23779         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
23780         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
23781         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
23782         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
23783         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
23784         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
23785         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
23786         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
23787         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
23788         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
23789         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
23790         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23791         Reported by Paolo Bonzini.
23792
23793 2010-01-19  Bruno Haible  <bruno@clisp.org>
23794
23795         langinfo, nl_langinfo: Relicense under LGPLv2+.
23796         * modules/langinfo (License): Change to LGPLv2+.
23797         * modules/nl_langinfo (License): Likewise.
23798         Patch by David Lutterkort <lutter@redhat.com>.
23799
23800 2010-01-19  Bruno Haible  <bruno@clisp.org>
23801
23802         Avoid compilation error with cc on OSF/1 5.1.
23803         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
23804         statement, not before.
23805         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23806
23807 2010-01-18  Bruno Haible  <bruno@clisp.org>
23808
23809         Avoid a link error due to the __printf__ symbol.
23810         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
23811         and 2.6.x.
23812         (__format__, __printf__): Remove definitions.
23813         * lib/argp-fmtstream.h: Likewise.
23814         * lib/argp.h: Likewise.
23815         * lib/error.h: Likewise.
23816         * lib/vasnprintf.h: Likewise.
23817         * lib/xprintf.h: Likewise.
23818         * lib/xvasprintf.h: Likewise.
23819         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23820
23821 2010-01-18  Bruno Haible  <bruno@clisp.org>
23822
23823         Tests for module 'tanl'.
23824         * modules/tanl-tests: New file.
23825         * tests/test-tanl.c: New file.
23826
23827         Tests for module 'sqrtl'.
23828         * modules/sqrtl-tests: New file.
23829         * tests/test-sqrtl.c: New file.
23830
23831         Tests for module 'sinl'.
23832         * modules/sinl-tests: New file.
23833         * tests/test-sinl.c: New file.
23834
23835         Tests for module 'logl'.
23836         * modules/logl-tests: New file.
23837         * tests/test-logl.c: New file.
23838
23839         Tests for module 'expl'.
23840         * modules/expl-tests: New file.
23841         * tests/test-expl.c: New file.
23842
23843         Tests for module 'cosl'.
23844         * modules/cosl-tests: New file.
23845         * tests/test-cosl.c: New file.
23846
23847         Tests for module 'atanl'.
23848         * modules/atanl-tests: New file.
23849         * tests/test-atanl.c: New file.
23850
23851         Tests for module 'asinl'.
23852         * modules/asinl-tests: New file.
23853         * tests/test-asinl.c: New file.
23854
23855         Tests for module 'acosl'.
23856         * modules/acosl-tests: New file.
23857         * tests/test-acosl.c: New file.
23858
23859         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23860         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
23861         tanl): Use the standard gnulib idiom.
23862         * lib/cosl.c: Don't include trigl.c and sincosl.c.
23863         * lib/sinl.c: Likewise.
23864         * lib/tanl.c: Don't include trigl.c.
23865         (kernel_tanl): Make static.
23866         * lib/sincosl.c: Include trigl.h first.
23867         * lib/trigl.c: Likewise.
23868         * m4/acosl.m4: New file.
23869         * m4/asinl.m4: New file.
23870         * m4/atanl.m4: New file.
23871         * m4/cosl.m4: New file.
23872         * m4/expl.m4: New file.
23873         * m4/logl.m4: New file.
23874         * m4/sinl.m4: New file.
23875         * m4/sqrtl.m4: New file.
23876         * m4/tanl.m4: New file.
23877         * m4/mathl.m4: Remove file.
23878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
23879         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23880         Don't initialize GNULIB_MATHL.
23881         * modules/acosl: New file.
23882         * modules/asinl: New file.
23883         * modules/atanl: New file.
23884         * modules/cosl: New file.
23885         * modules/expl: New file.
23886         * modules/logl: New file.
23887         * modules/sinl: New file.
23888         * modules/sqrtl: New file.
23889         * modules/tanl: New file.
23890         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
23891         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
23892         substitute GNULIB_MATHL.
23893         * modules/mathl: Rewritten.
23894         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
23895         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
23896         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
23897         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
23898         * doc/posix-functions/expl.texi: Mention the 'expl' module.
23899         * doc/posix-functions/logl.texi: Mention the 'logl' module.
23900         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
23901         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
23902         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
23903
23904 2010-01-18  Bruno Haible  <bruno@clisp.org>
23905
23906         sqrt: Make gl_FUNC_SQRT requirable.
23907         * m4/sqrt.m4: New file.
23908         * modules/sqrt (Files): Add it.
23909         (configure.ac): Invoke gl_FUNC_SQRT.
23910
23911 2010-01-18  Bruno Haible  <bruno@clisp.org>
23912
23913         New modules for common <math.h> functions.
23914         * m4/mathfunc.m4: New file.
23915         * modules/acos: New file.
23916         * modules/asin: New file.
23917         * modules/atan: New file.
23918         * modules/atan2: New file.
23919         * modules/cbrt: New file.
23920         * modules/copysign: New file.
23921         * modules/cos: New file.
23922         * modules/cosh: New file.
23923         * modules/erf: New file.
23924         * modules/erfc: New file.
23925         * modules/exp: New file.
23926         * modules/fabs: New file.
23927         * modules/fmod: New file.
23928         * modules/hypot: New file.
23929         * modules/j0: New file.
23930         * modules/j1: New file.
23931         * modules/jn: New file.
23932         * modules/ldexp: New file.
23933         * modules/lgamma: New file.
23934         * modules/log: New file.
23935         * modules/log10: New file.
23936         * modules/log1p: New file.
23937         * modules/logb: New file.
23938         * modules/modf: New file.
23939         * modules/nextafter: New file.
23940         * modules/pow: New file.
23941         * modules/remainder: New file.
23942         * modules/rint: New file.
23943         * modules/sin: New file.
23944         * modules/sinh: New file.
23945         * modules/sqrt: New file.
23946         * modules/tan: New file.
23947         * modules/tanh: New file.
23948         * modules/y0: New file.
23949         * modules/y1: New file.
23950         * modules/yn: New file.
23951         * doc/posix-functions/acos.texi: Mention the 'acos' module.
23952         * doc/posix-functions/asin.texi: Mention the 'asin' module.
23953         * doc/posix-functions/atan.texi: Mention the 'atan' module.
23954         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
23955         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
23956         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
23957         * doc/posix-functions/cos.texi: Mention the 'cos' module.
23958         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
23959         * doc/posix-functions/erf.texi: Mention the 'erf' module.
23960         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
23961         * doc/posix-functions/exp.texi: Mention the 'exp' module.
23962         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
23963         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
23964         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
23965         * doc/posix-functions/j0.texi: Mention the 'j0' module.
23966         * doc/posix-functions/j1.texi: Mention the 'j1' module.
23967         * doc/posix-functions/jn.texi: Mention the 'jn' module.
23968         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
23969         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
23970         * doc/posix-functions/log.texi: Mention the 'log' module.
23971         * doc/posix-functions/log10.texi: Mention the 'log10' module.
23972         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
23973         * doc/posix-functions/logb.texi: Mention the 'logb' module.
23974         * doc/posix-functions/modf.texi: Mention the 'modf' module.
23975         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
23976         * doc/posix-functions/pow.texi: Mention the 'pow' module.
23977         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
23978         * doc/posix-functions/rint.texi: Mention the 'rint' module.
23979         * doc/posix-functions/sin.texi: Mention the 'sin' module.
23980         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
23981         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
23982         * doc/posix-functions/tan.texi: Mention the 'tan' module.
23983         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
23984         * doc/posix-functions/y0.texi: Mention the 'y0' module.
23985         * doc/posix-functions/y1.texi: Mention the 'y1' module.
23986         * doc/posix-functions/yn.texi: Mention the 'yn' module.
23987
23988 2010-01-18  Jim Meyering  <meyering@redhat.com>
23989
23990         ignore-value: relax license to LGPLv2+
23991         * modules/ignore-value (License): Relax to LGPLv2+.
23992
23993         getdate: don't leak when TZ contains two or more '"'s
23994         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
23995         double quote in TZ after the first one.
23996
23997         readtokens: do not leak internal token_lengths buffer
23998         * lib/readtokens.c (readtokens): Free the local, lengths,
23999         when the supplied "token_lengths" parameter is NULL.
24000
24001 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24002
24003         Fix a couple of missing LIBTHREAD link failures on AIX.
24004         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
24005         $(LIBTHREAD).
24006         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
24007
24008         Link test-poll against INET_PTON_LIB.
24009         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
24010         for inet_pton on Solaris 10.
24011
24012 2010-01-17  Bruno Haible  <bruno@clisp.org>
24013
24014         unistdio/*-sprintf: Fix typo in module description.
24015         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
24016         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
24017         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
24018         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
24019         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
24020         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
24021         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
24022         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24023
24024 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24025
24026         gnulib-tool: fix filelist for AIX, HP-UX ksh.
24027         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
24028         variables in shell case patterns, for AIX and HP-UX ksh.
24029
24030         Split large sed scripts, for HP-UX sed.
24031         * modules/stdio: Split sed scripts around 50 sed commands,
24032         to avoid HP-UX limit of 99 commands, in the near future.
24033         * modules/string: Likewise.
24034         * modules/unistd: Likewise.
24035
24036         gnulib-tool: avoid writing in the current directory.
24037         * gnulib-tool (func_emit_lib_Makefile_am)
24038         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
24039         not in the current directory, so concurrent gnulib-tool
24040         instances do not interfere.
24041
24042 2010-01-16  Jim Meyering  <meyering@redhat.com>
24043
24044         doc: update users.txt
24045         * users.txt: Add grep.
24046         (diffutils, gzip): Update URLs.
24047
24048 2010-01-12  Bruno Haible  <bruno@clisp.org>
24049
24050         posix_spawn: Avoid test failure on Cygwin.
24051         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
24052         characters.
24053         Reported by Simon Josefsson.
24054
24055 2010-01-12  Bruno Haible  <bruno@clisp.org>
24056
24057         * tests/test-cond.c (main): When skipping the test, show the reason.
24058
24059 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24060
24061         * lib/striconv.c (str_cd_iconv): Avoid if before free.
24062
24063 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24064
24065         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
24066         VC_LIST_ALWAYS_EXCLUDE_REGEX.
24067
24068 2010-01-12  Eric Blake  <ebb9@byu.net>
24069
24070         build: guarantee AS_VAR_IF
24071         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
24072         (gl_AS_VAR_IF): Move...
24073         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
24074         Reported by Simon Josefsson.
24075
24076 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24077
24078         * lib/stdio.in.h: Fix typo.
24079
24080 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24081
24082         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
24083         libgpg-error.
24084
24085 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24086
24087         * tests/test-xalloc-die.sh: Use $EXEEXT.
24088
24089 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24090             Bruno Haible  <bruno@clisp.org>
24091
24092         getlogin, getlogin_r: Avoid test failure.
24093         * tests/test-getlogin.c: Include <stdio.h>.
24094         (main): Skip the test when the function fails because stdin is not a
24095         tty.
24096         * tests/test-getlogin_r.c: Include <stdio.h>.
24097         (main): Skip the test when the function fails because stdin is not a
24098         tty.
24099
24100 2010-01-11  Eric Blake  <ebb9@byu.net>
24101
24102         tests: avoid more large file warnings
24103         * tests/test-fflush.c: Avoid warning about ftell use.
24104         * tests/test-fseek.c: Avoid warning about fseek use.
24105
24106 2010-01-10  Bruno Haible  <bruno@clisp.org>
24107
24108         nproc: Work better on Linux when /proc and /sys are not mounted.
24109         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
24110         as lower bound when, on glibc/Linux systems,
24111         sysconf (_SC_NPROCESSORS_CONF) returns 1.
24112         Suggested by Pádraig Brady <P@draigbrady.com>.
24113         Reported by Dmitry V. Levin <ldv@altlinux.org>.
24114
24115         nproc: Refactor.
24116         * lib/nproc.c (num_processors_via_affinity_mask): New function,
24117         extracted from num_processors.
24118         (num_processors): Call it.
24119
24120 2010-01-11  Jim Meyering  <meyering@redhat.com>
24121
24122         utimecmp: avoid new warning from upcoming gcc-4.5.0
24123         * lib/utimecmp.c (BILLION): Define using #define rather than an
24124         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
24125
24126 2010-01-11  Eric Blake  <ebb9@byu.net>
24127
24128         math: add portability warnings for classification macros
24129         * modules/math (Depends-on): Add warn-on-use.
24130         (Makefile.am): Provide new substitutions.
24131         * m4/math_h.m4 (gl_MATH_H): Require inline.
24132         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
24133         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
24134         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
24135         implement warnings.
24136
24137         unistd: warn on use of environ without module
24138         * modules/unistd (Depends-on): Add warn-on-use.
24139         (Makefile.am): Provide new substitutions.
24140         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
24141         * lib/unistd.in.h (environ): Wrap with a warning helper function.
24142
24143         stdio: warn on suspicious uses
24144         * modules/stdio (Depends-on): Add warn-on-use.
24145         (Makefile.am): Provide new substitutions.
24146         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
24147         fseeko.
24148         * lib/stdio.in.h (gets): Always warn on use.
24149         (fseek, ftell): Adjust when warnings are issued, and honor
24150         _GL_NO_LARGE_FILES as a way to silence the warning.
24151         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
24152         any warning about large file offsets.
24153         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
24154         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
24155         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
24156         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
24157         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
24158         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
24159         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
24160         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
24161
24162         warn-on-use: new module
24163         * modules/warn-on-use: New file.
24164         * build-aux/warn-on-use.h: Likewise.
24165         * m4/warn-on-use.m4: Likewise.
24166         * MODULES.html.sh (Support for building): Mention it.
24167
24168 2010-01-10  Bruno Haible  <bruno@clisp.org>
24169
24170         Tests for module 'unistr/u32-strdup'.
24171         * modules/unistr/u32-strdup-tests: New file.
24172         * tests/unistr/test-u32-strdup.c: New file.
24173
24174         Tests for module 'unistr/u16-strdup'.
24175         * modules/unistr/u16-strdup-tests: New file.
24176         * tests/unistr/test-u16-strdup.c: New file.
24177
24178         Tests for module 'unistr/u8-strdup'.
24179         * modules/unistr/u8-strdup-tests: New file.
24180         * tests/unistr/test-u8-strdup.c: New file.
24181         * tests/unistr/test-strdup.h: New file.
24182
24183         Tests for module 'unistr/u32-strncmp'.
24184         * modules/unistr/u32-strncmp-tests: New file.
24185         * tests/unistr/test-u32-strncmp.c: New file.
24186
24187         Tests for module 'unistr/u16-strncmp'.
24188         * modules/unistr/u16-strncmp-tests: New file.
24189         * tests/unistr/test-u16-strncmp.c: New file.
24190
24191         Tests for module 'unistr/u8-strncmp'.
24192         * modules/unistr/u8-strncmp-tests: New file.
24193         * tests/unistr/test-u8-strncmp.c: New file.
24194         * tests/unistr/test-strncmp.h: New file.
24195
24196         Tests for module 'unistr/u32-strcoll'.
24197         * modules/unistr/u32-strcoll-tests: New file.
24198         * tests/unistr/test-u32-strcoll.c: New file.
24199
24200         Tests for module 'unistr/u16-strcoll'.
24201         * modules/unistr/u16-strcoll-tests: New file.
24202         * tests/unistr/test-u16-strcoll.c: New file.
24203
24204         Tests for module 'unistr/u8-strcoll'.
24205         * modules/unistr/u8-strcoll-tests: New file.
24206         * tests/unistr/test-u8-strcoll.c: New file.
24207
24208         Tests for module 'unistr/u32-strcmp'.
24209         * modules/unistr/u32-strcmp-tests: New file.
24210         * tests/unistr/test-u32-strcmp.c: New file.
24211         * tests/unistr/test-u32-strcmp.h: New file.
24212
24213         Tests for module 'unistr/u16-strcmp'.
24214         * modules/unistr/u16-strcmp-tests: New file.
24215         * tests/unistr/test-u16-strcmp.c: New file.
24216         * tests/unistr/test-u16-strcmp.h: New file.
24217
24218         Tests for module 'unistr/u8-strcmp'.
24219         * modules/unistr/u8-strcmp-tests: New file.
24220         * tests/unistr/test-u8-strcmp.c: New file.
24221         * tests/unistr/test-u8-strcmp.h: New file.
24222         * tests/unistr/test-strcmp.h: New file.
24223
24224         Tests for module 'unistr/u32-strncat'.
24225         * modules/unistr/u32-strncat-tests: New file.
24226         * tests/unistr/test-u32-strncat.c: New file.
24227
24228         Tests for module 'unistr/u16-strncat'.
24229         * modules/unistr/u16-strncat-tests: New file.
24230         * tests/unistr/test-u16-strncat.c: New file.
24231
24232         Tests for module 'unistr/u8-strncat'.
24233         * modules/unistr/u8-strncat-tests: New file.
24234         * tests/unistr/test-u8-strncat.c: New file.
24235         * tests/unistr/test-strncat.h: New file.
24236
24237         Tests for module 'unistr/u32-strcat'.
24238         * modules/unistr/u32-strcat-tests: New file.
24239         * tests/unistr/test-u32-strcat.c: New file.
24240
24241         Tests for module 'unistr/u16-strcat'.
24242         * modules/unistr/u16-strcat-tests: New file.
24243         * tests/unistr/test-u16-strcat.c: New file.
24244
24245         Tests for module 'unistr/u8-strcat'.
24246         * modules/unistr/u8-strcat-tests: New file.
24247         * tests/unistr/test-u8-strcat.c: New file.
24248         * tests/unistr/test-strcat.h: New file.
24249
24250         Tests for module 'unistr/u32-stpncpy'.
24251         * modules/unistr/u32-stpncpy-tests: New file.
24252         * tests/unistr/test-u32-stpncpy.c: New file.
24253
24254         Tests for module 'unistr/u16-stpncpy'.
24255         * modules/unistr/u16-stpncpy-tests: New file.
24256         * tests/unistr/test-u16-stpncpy.c: New file.
24257
24258         Tests for module 'unistr/u8-stpncpy'.
24259         * modules/unistr/u8-stpncpy-tests: New file.
24260         * tests/unistr/test-u8-stpncpy.c: New file.
24261         * tests/unistr/test-stpncpy.h: New file.
24262
24263         Tests for module 'unistr/u32-strncpy'.
24264         * modules/unistr/u32-strncpy-tests: New file.
24265         * tests/unistr/test-u32-strncpy.c: New file.
24266
24267         Tests for module 'unistr/u16-strncpy'.
24268         * modules/unistr/u16-strncpy-tests: New file.
24269         * tests/unistr/test-u16-strncpy.c: New file.
24270
24271         Tests for module 'unistr/u8-strncpy'.
24272         * modules/unistr/u8-strncpy-tests: New file.
24273         * tests/unistr/test-u8-strncpy.c: New file.
24274         * tests/unistr/test-strncpy.h: New file.
24275
24276         Tests for module 'unistr/u32-stpcpy'.
24277         * modules/unistr/u32-stpcpy-tests: New file.
24278         * tests/unistr/test-u32-stpcpy.c: New file.
24279
24280         Tests for module 'unistr/u16-stpcpy'.
24281         * modules/unistr/u16-stpcpy-tests: New file.
24282         * tests/unistr/test-u16-stpcpy.c: New file.
24283
24284         Tests for module 'unistr/u8-stpcpy'.
24285         * modules/unistr/u8-stpcpy-tests: New file.
24286         * tests/unistr/test-u8-stpcpy.c: New file.
24287         * tests/unistr/test-stpcpy.h: New file.
24288
24289         Tests for module 'unistr/u32-strcpy'.
24290         * modules/unistr/u32-strcpy-tests: New file.
24291         * tests/unistr/test-u32-strcpy.c: New file.
24292
24293         Tests for module 'unistr/u16-strcpy'.
24294         * modules/unistr/u16-strcpy-tests: New file.
24295         * tests/unistr/test-u16-strcpy.c: New file.
24296
24297         Tests for module 'unistr/u8-strcpy'.
24298         * modules/unistr/u8-strcpy-tests: New file.
24299         * tests/unistr/test-u8-strcpy.c: New file.
24300         * tests/unistr/test-strcpy.h: New file.
24301
24302         Tests for module 'unistr/u32-strnlen'.
24303         * modules/unistr/u32-strnlen-tests: New file.
24304         * tests/unistr/test-u32-strnlen.c: New file.
24305
24306         Tests for module 'unistr/u16-strnlen'.
24307         * modules/unistr/u16-strnlen-tests: New file.
24308         * tests/unistr/test-u16-strnlen.c: New file.
24309
24310         Tests for module 'unistr/u8-strnlen'.
24311         * modules/unistr/u8-strnlen-tests: New file.
24312         * tests/unistr/test-u8-strnlen.c: New file.
24313         * tests/unistr/test-strnlen.h: New file.
24314
24315         Tests for module 'unistr/u32-strlen'.
24316         * modules/unistr/u32-strlen-tests: New file.
24317         * tests/unistr/test-u32-strlen.c: New file.
24318
24319         Tests for module 'unistr/u16-strlen'.
24320         * modules/unistr/u16-strlen-tests: New file.
24321         * tests/unistr/test-u16-strlen.c: New file.
24322
24323         Tests for module 'unistr/u8-strlen'.
24324         * modules/unistr/u8-strlen-tests: New file.
24325         * tests/unistr/test-u8-strlen.c: New file.
24326
24327         Tests for module 'unistr/u32-prev'.
24328         * modules/unistr/u32-prev-tests: New file.
24329         * tests/unistr/test-u32-prev.c: New file.
24330
24331         Tests for module 'unistr/u16-prev'.
24332         * modules/unistr/u16-prev-tests: New file.
24333         * tests/unistr/test-u16-prev.c: New file.
24334
24335         Tests for module 'unistr/u8-prev'.
24336         * modules/unistr/u8-prev-tests: New file.
24337         * tests/unistr/test-u8-prev.c: New file.
24338
24339         Tests for module 'unistr/u32-next'.
24340         * modules/unistr/u32-next-tests: New file.
24341         * tests/unistr/test-u32-next.c: New file.
24342
24343         Tests for module 'unistr/u16-next'.
24344         * modules/unistr/u16-next-tests: New file.
24345         * tests/unistr/test-u16-next.c: New file.
24346
24347         Tests for module 'unistr/u8-next'.
24348         * modules/unistr/u8-next-tests: New file.
24349         * tests/unistr/test-u8-next.c: New file.
24350
24351         Tests for module 'unistr/u32-strmbtouc'.
24352         * modules/unistr/u32-strmbtouc-tests: New file.
24353         * tests/unistr/test-u32-strmbtouc.c: New file.
24354
24355         Tests for module 'unistr/u16-strmbtouc'.
24356         * modules/unistr/u16-strmbtouc-tests: New file.
24357         * tests/unistr/test-u16-strmbtouc.c: New file.
24358
24359         Tests for module 'unistr/u8-strmbtouc'.
24360         * modules/unistr/u8-strmbtouc-tests: New file.
24361         * tests/unistr/test-u8-strmbtouc.c: New file.
24362
24363         Tests for module 'unistr/u32-strmblen'.
24364         * modules/unistr/u32-strmblen-tests: New file.
24365         * tests/unistr/test-u32-strmblen.c: New file.
24366
24367         Tests for module 'unistr/u16-strmblen'.
24368         * modules/unistr/u16-strmblen-tests: New file.
24369         * tests/unistr/test-u16-strmblen.c: New file.
24370
24371         Tests for module 'unistr/u8-strmblen'.
24372         * modules/unistr/u8-strmblen-tests: New file.
24373         * tests/unistr/test-u8-strmblen.c: New file.
24374
24375         Tests for module 'unistr/u32-cpy-alloc'.
24376         * modules/unistr/u32-cpy-alloc-tests: New file.
24377         * tests/unistr/test-u32-cpy-alloc.c: New file.
24378
24379         Tests for module 'unistr/u16-cpy-alloc'.
24380         * modules/unistr/u16-cpy-alloc-tests: New file.
24381         * tests/unistr/test-u16-cpy-alloc.c: New file.
24382
24383         Tests for module 'unistr/u8-cpy-alloc'.
24384         * modules/unistr/u8-cpy-alloc-tests: New file.
24385         * tests/unistr/test-u8-cpy-alloc.c: New file.
24386         * tests/unistr/test-cpy-alloc.h: New file.
24387
24388         Tests for module 'unistr/u32-mbsnlen'.
24389         * modules/unistr/u32-mbsnlen-tests: New file.
24390         * tests/unistr/test-u32-mbsnlen.c: New file.
24391
24392         Tests for module 'unistr/u16-mbsnlen'.
24393         * modules/unistr/u16-mbsnlen-tests: New file.
24394         * tests/unistr/test-u16-mbsnlen.c: New file.
24395
24396         Tests for module 'unistr/u8-mbsnlen'.
24397         * modules/unistr/u8-mbsnlen-tests: New file.
24398         * tests/unistr/test-u8-mbsnlen.c: New file.
24399
24400         Tests for module 'unistr/u32-chr'.
24401         * modules/unistr/u32-chr-tests: New file.
24402         * tests/unistr/test-u32-chr.c: New file.
24403
24404         Tests for module 'unistr/u16-chr'.
24405         * modules/unistr/u16-chr-tests: New file.
24406         * tests/unistr/test-u16-chr.c: New file.
24407
24408         Tests for module 'unistr/u8-chr'.
24409         * modules/unistr/u8-chr-tests: New file.
24410         * tests/unistr/test-u8-chr.c: New file.
24411         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
24412
24413         Tests for module 'unistr/u32-cmp2'.
24414         * modules/unistr/u32-cmp2-tests: New file.
24415         * tests/unistr/test-u32-cmp2.c: New file.
24416
24417         Tests for module 'unistr/u16-cmp2'.
24418         * modules/unistr/u16-cmp2-tests: New file.
24419         * tests/unistr/test-u16-cmp2.c: New file.
24420
24421         Tests for module 'unistr/u8-cmp2'.
24422         * modules/unistr/u8-cmp2-tests: New file.
24423         * tests/unistr/test-u8-cmp2.c: New file.
24424         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
24425
24426         Tests for module 'unistr/u32-cmp'.
24427         * modules/unistr/u32-cmp-tests: New file.
24428         * tests/unistr/test-u32-cmp.c: New file.
24429
24430         Tests for module 'unistr/u16-cmp'.
24431         * modules/unistr/u16-cmp-tests: New file.
24432         * tests/unistr/test-u16-cmp.c: New file.
24433
24434         Tests for module 'unistr/u8-cmp'.
24435         * modules/unistr/u8-cmp-tests: New file.
24436         * tests/unistr/test-u8-cmp.c: New file.
24437         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
24438
24439         Tests for module 'unistr/u32-set'.
24440         * modules/unistr/u32-set-tests: New file.
24441         * tests/unistr/test-u32-set.c: New file.
24442
24443         Tests for module 'unistr/u16-set'.
24444         * modules/unistr/u16-set-tests: New file.
24445         * tests/unistr/test-u16-set.c: New file.
24446
24447         Tests for module 'unistr/u8-set'.
24448         * modules/unistr/u8-set-tests: New file.
24449         * tests/unistr/test-u8-set.c: New file.
24450         * tests/unistr/test-set.h: New file.
24451
24452         Tests for module 'unistr/u32-move'.
24453         * modules/unistr/u32-move-tests: New file.
24454         * tests/unistr/test-u32-move.c: New file.
24455
24456         Tests for module 'unistr/u16-move'.
24457         * modules/unistr/u16-move-tests: New file.
24458         * tests/unistr/test-u16-move.c: New file.
24459
24460         Tests for module 'unistr/u8-move'.
24461         * modules/unistr/u8-move-tests: New file.
24462         * tests/unistr/test-u8-move.c: New file.
24463         * tests/unistr/test-move.h: New file.
24464
24465         Tests for module 'unistr/u32-cpy'.
24466         * modules/unistr/u32-cpy-tests: New file.
24467         * tests/unistr/test-u32-cpy.c: New file.
24468
24469         Tests for module 'unistr/u16-cpy'.
24470         * modules/unistr/u16-cpy-tests: New file.
24471         * tests/unistr/test-u16-cpy.c: New file.
24472
24473         Tests for module 'unistr/u8-cpy'.
24474         * modules/unistr/u8-cpy-tests: New file.
24475         * tests/unistr/test-u8-cpy.c: New file.
24476         * tests/unistr/test-cpy.h: New file.
24477
24478 2010-01-09  Bruno Haible  <bruno@clisp.org>
24479
24480         Tests for module 'unistr/u32-uctomb'.
24481         * modules/unistr/u32-uctomb-tests: New file.
24482         * tests/unistr/test-u32-uctomb.c: New file.
24483
24484         Tests for module 'unistr/u16-uctomb'.
24485         * modules/unistr/u16-uctomb-tests: New file.
24486         * tests/unistr/test-u16-uctomb.c: New file.
24487
24488         Tests for module 'unistr/u8-uctomb'.
24489         * modules/unistr/u8-uctomb-tests: New file.
24490         * tests/unistr/test-u8-uctomb.c: New file.
24491
24492         Tests for module 'unistr/u32-mbtoucr'.
24493         * modules/unistr/u32-mbtoucr-tests: New file.
24494         * tests/unistr/test-u32-mbtoucr.c: New file.
24495
24496         Tests for module 'unistr/u16-mbtoucr'.
24497         * modules/unistr/u16-mbtoucr-tests: New file.
24498         * tests/unistr/test-u16-mbtoucr.c: New file.
24499
24500         Tests for module 'unistr/u8-mbtoucr'.
24501         * modules/unistr/u8-mbtoucr-tests: New file.
24502         * tests/unistr/test-u8-mbtoucr.c: New file.
24503
24504         Tests for module 'unistr/u32-mbtouc'.
24505         * modules/unistr/u32-mbtouc-tests: New file.
24506         * tests/unistr/test-u32-mbtouc.c: New file.
24507
24508         Tests for module 'unistr/u16-mbtouc'.
24509         * modules/unistr/u16-mbtouc-tests: New file.
24510         * tests/unistr/test-u16-mbtouc.c: New file.
24511
24512         Tests for module 'unistr/u8-mbtouc'.
24513         * modules/unistr/u8-mbtouc-tests: New file.
24514         * tests/unistr/test-u8-mbtouc.c: New file.
24515
24516         Tests for module 'unistr/u32-mbtouc-unsafe'.
24517         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
24518         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
24519         * tests/unistr/test-u32-mbtouc.h: New file.
24520
24521         Tests for module 'unistr/u16-mbtouc-unsafe'.
24522         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
24523         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
24524         * tests/unistr/test-u16-mbtouc.h: New file.
24525
24526         Tests for module 'unistr/u8-mbtouc-unsafe'.
24527         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
24528         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
24529         * tests/unistr/test-u8-mbtouc.h: New file.
24530
24531         Tests for module 'unistr/u32-mblen'.
24532         * modules/unistr/u32-mblen-tests: New file.
24533         * tests/unistr/test-u32-mblen.c: New file.
24534
24535         Tests for module 'unistr/u16-mblen'.
24536         * modules/unistr/u16-mblen-tests: New file.
24537         * tests/unistr/test-u16-mblen.c: New file.
24538
24539         Tests for module 'unistr/u8-mblen'.
24540         * modules/unistr/u8-mblen-tests: New file.
24541         * tests/unistr/test-u8-mblen.c: New file.
24542
24543         Tests for module 'unistr/u32-to-u16'.
24544         * modules/unistr/u32-to-u16-tests: New file.
24545         * tests/unistr/test-u32-to-u16.c: New file.
24546
24547         Tests for module 'unistr/u32-to-u8'.
24548         * modules/unistr/u32-to-u8-tests: New file.
24549         * tests/unistr/test-u32-to-u8.c: New file.
24550
24551         Tests for module 'unistr/u16-to-u32'.
24552         * modules/unistr/u16-to-u32-tests: New file.
24553         * tests/unistr/test-u16-to-u32.c: New file.
24554
24555         Tests for module 'unistr/u16-to-u8'.
24556         * modules/unistr/u16-to-u8-tests: New file.
24557         * tests/unistr/test-u16-to-u8.c: New file.
24558
24559         Tests for module 'unistr/u8-to-u32'.
24560         * modules/unistr/u8-to-u32-tests: New file.
24561         * tests/unistr/test-u8-to-u32.c: New file.
24562
24563         Tests for module 'unistr/u8-to-u16'.
24564         * modules/unistr/u8-to-u16-tests: New file.
24565         * tests/unistr/test-u8-to-u16.c: New file.
24566
24567         Tests for module 'unistr/u32-check'.
24568         * modules/unistr/u32-check-tests: New file.
24569         * tests/unistr/test-u32-check.c: New file.
24570
24571         Tests for module 'unistr/u16-check'.
24572         * modules/unistr/u16-check-tests: New file.
24573         * tests/unistr/test-u16-check.c: New file.
24574
24575         Tests for module 'unistr/u8-check'.
24576         * modules/unistr/u8-check-tests: New file.
24577         * tests/unistr/test-u8-check.c: New file.
24578
24579         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
24580         (category_equals): New function.
24581         (main): Add more tests.
24582         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
24583
24584         * tests/unictype/test-bidi_byname.c (main): Add more tests.
24585
24586 2010-01-10  Bruno Haible  <bruno@clisp.org>
24587
24588         unistr/u*-strcoll: Try harder to distinguish different strings.
24589         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
24590         compare s1 and s2 to see if they are different.
24591
24592 2010-01-10  Bruno Haible  <bruno@clisp.org>
24593
24594         unistr/u*-stpncpy: Fix the return value.
24595         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
24596         description of the return value consistent with stpncpy in glibc.
24597         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
24598         written non-NUL unit.
24599
24600 2010-01-10  Bruno Haible  <bruno@clisp.org>
24601
24602         unistr/u*-next: Add missing dependencies.
24603         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
24604         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
24605         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
24606
24607 2010-01-10  Bruno Haible  <bruno@clisp.org>
24608
24609         unistr/u8-mbsnlen: Fix return value for incomplete character.
24610         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
24611         u8_mblen.
24612         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
24613         Remove unistr/u8-mblen.
24614         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
24615         u16_mblen.
24616         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
24617         Remove unistr/u16-mblen.
24618
24619 2010-01-10  Bruno Haible  <bruno@clisp.org>
24620
24621         wchar: Fix compilation error when <wchar.h> is used from coreutils.
24622         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
24623         Reported by Brian Gough <bjg@gnu.org> and
24624         Chris Clayton <chris2553@googlemail.com> via
24625         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
24626
24627 2010-01-09  Bruno Haible  <bruno@clisp.org>
24628
24629         unistr/u16-to-u32: Reject invalid input.
24630         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
24631         u16_mbtouc.
24632         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
24633         Remove unistr/u16-mbtouc.
24634
24635         unistr/u16-to-u8: Reject invalid input.
24636         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
24637         u16_mbtouc.
24638         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
24639         Remove unistr/u16-mbtouc.
24640
24641         unistr/u8-to-u32: Reject invalid input.
24642         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
24643         u8_mbtouc.
24644         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
24645         Remove unistr/u8-mbtouc.
24646
24647         unistr/u8-to-u16: Reject invalid input.
24648         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
24649         u8_mbtouc.
24650         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
24651         Remove unistr/u8-mbtouc.
24652
24653 2010-01-09  Bruno Haible  <bruno@clisp.org>
24654
24655         Tests for module 'getlogin'.
24656         * modules/getlogin-tests: New file.
24657         * tests/test-getlogin.c: New file.
24658
24659         New module 'getlogin'.
24660         * lib/unistd.in.h (getlogin): New declaration.
24661         * lib/getlogin.c: New file.
24662         * m4/getlogin.m4: New file.
24663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
24664         HAVE_GETLOGIN.
24665         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
24666         HAVE_GETLOGIN.
24667         * modules/getlogin: New file.
24668         * doc/posix-functions/getlogin.texi: Mention the new module.
24669         Reported by John W. Eaton <jwe@gnu.org>.
24670
24671 2010-01-09  Bruno Haible  <bruno@clisp.org>
24672
24673         getlogin_r: Support for native Windows.
24674         * lib/getlogin_r.c: Include <windows.h>
24675         (getlogin_r): Implement for native Windows.
24676         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
24677         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
24678         via John W. Eaton <jwe@gnu.org>.
24679
24680 2010-01-09  Bruno Haible  <bruno@clisp.org>
24681
24682         getlogin_r: Small fixes.
24683         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
24684         succeeds.
24685         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
24686         before testing whether getlogin_r is declared. No need to set
24687         HAVE_DECL_GETLOGIN_R to 1.
24688         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
24689
24690 2010-01-09  Bruno Haible  <bruno@clisp.org>
24691
24692         * lib/unistd.in.h (getlogin_r): Add comment.
24693
24694 2010-01-09  Bruno Haible  <bruno@clisp.org>
24695
24696         Tests for module 'getlogin_r'.
24697         * modules/getlogin_r-tests: New file.
24698         * tests/test-getlogin_r.c: New file.
24699
24700 2010-01-09  Jim Meyering  <meyering@redhat.com>
24701
24702         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
24703         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
24704         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
24705
24706 2010-01-08  Simon Josefsson  <simon@josefsson.org>
24707
24708         * lib/dup2.c (rpl_dup2): Improve comment.
24709
24710 2010-01-08  Eric Blake  <ebb9@byu.net>
24711
24712         maint.mk: allow packages to add makefile @@ exceptions
24713         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
24714         (sc_makefile_check): Rename...
24715         (sc_makefile_at_at_check): ...to this, and use hook.
24716
24717         dup2: work around mingw bug
24718         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
24719         Reported by Simon Josefsson.
24720
24721 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
24722
24723         glob: Fix C++ compilation.
24724         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
24725         C++.
24726
24727 2010-01-07  Bruno Haible  <bruno@clisp.org>
24728
24729         Fix indentation of wctype.in.h, broken since 2007-01-06.
24730         * lib/wctype.in.h: Fix indentation of preprocessor directives.
24731
24732 2010-01-07  Bruno Haible  <bruno@clisp.org>
24733
24734         mbslen: Avoid collision with system function.
24735         * lib/string.in.h [MirBSD]: Include <wchar.h>.
24736         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
24737         * m4/mbslen.m4: New file.
24738         * modules/mbslen (Files): Add it.
24739         (configure.ac): Invoke gl_MBSLEN.
24740         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
24741         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
24742         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
24743         via Ian Beckwith <ianb@erislabs.net>.
24744
24745 2010-01-07  Bruno Haible  <bruno@clisp.org>
24746
24747         dirent: Document the last fix.
24748         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
24749
24750 2010-01-07  Bruno Haible  <bruno@clisp.org>
24751
24752         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
24753         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
24754         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
24755         va_list are defined.
24756         * doc/posix-headers/stdio.texi: Document the bug of missing types.
24757         Reported by Eric Blake.
24758
24759 2010-01-07  Bruno Haible  <bruno@clisp.org>
24760
24761         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
24762         * modules/xlist (Depends-on): Add 'list',
24763         * modules/xoset (Depends-on): Add 'oset'.
24764         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24765
24766 2010-01-07  Bruno Haible  <bruno@clisp.org>
24767
24768         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
24769         * doc/posix-functions/strncasecmp.texi: Likewise.
24770
24771 2010-01-07  Bruno Haible  <bruno@clisp.org>
24772
24773         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
24774
24775 2010-01-07  John W. Eaton  <jwe@octave.org>
24776
24777         wctype: allow C++ use
24778         * lib/wctype.in.h: Add extern "C" block for C++.
24779
24780 2010-01-06  Eric Blake  <ebb9@byu.net>
24781
24782         maint.mk: detect incorrect GFDL usage
24783         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
24784
24785 2010-01-06  Jim Meyering  <meyering@redhat.com>
24786         and Eric Blake  <ebb9@byu.net>
24787
24788         maint.mk: ignore multi-line copyright in NEWS
24789         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
24790
24791 2010-01-06  Eric Blake  <ebb9@byu.net>
24792
24793         select: add missing dependency
24794         * modules/select-tests (Depends-on): Move sockets dependency...
24795         * modules/select (Depends-on): ...here.
24796         Reported by Ian Beckwith.
24797
24798         doc: regenerate INSTALL
24799         * doc/INSTALL: Reflect recent autoconf update.
24800         * doc/INSTALL.ISO: Likewise.
24801         * doc/INSTALL.UTF-8: Likewise.
24802
24803         pread: fix compilation on glibc
24804         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
24805         Reported by Ralf Wildenhues.
24806
24807         dirent: fix test failure
24808         * lib/dirent.in.h (includes): Guarantee ino_t.
24809         Reported by Ralf Wildenhues.
24810
24811 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
24812
24813         linkat, renameat: avoid bad free
24814         * lib/at-func2.c (at_func2): Fix typo.
24815         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
24816
24817 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24818
24819         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
24820         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
24821         to avoid failure of symlink test later.
24822
24823 2010-01-06  Eric Blake  <ebb9@byu.net>
24824
24825         stdio, unistd: guarantee ssize_t
24826         * lib/unistd.in.h (includes): Ensure that types required by POSIX
24827         2008 are exposed when needed.
24828         * lib/stdio.in.h (includes): Likewise.
24829         Reported by Ralf Wildenhues.
24830
24831 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
24832
24833         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
24834         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
24835         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
24836
24837 2010-01-06  Jim Meyering  <meyering@redhat.com>
24838
24839         readtokens: this module *does* require xalloc.h
24840         It uses only functions that were omitted by the old syntax-check rule.
24841         * lib/readtokens.c: Include "xalloc.h" once again.
24842         * modules/readtokens (Depends-on): Add xalloc.
24843         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
24844
24845 2010-01-05  Eric Blake  <ebb9@byu.net>
24846
24847         maint: support 'make announcement' from a VPATH build
24848         * top/maint.mk (announcement): Look for correct NEWS file.
24849
24850 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
24851
24852         utimens (fdutimens): ignore a negative FD, per contract
24853         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
24854         when we have a valid file descriptor.  Otherwise, using a brand
24855         new glibc (with just-patched futimens that now fails with EBADF)
24856         would cause this function to fail with ENOSYS.
24857         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
24858         See also http://bugzilla.redhat.com/552320.
24859
24860 2010-01-05  Eric Blake  <ebb9@byu.net>
24861
24862         strcase: document what it provides
24863         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
24864         gnulib module.
24865         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
24866         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
24867
24868 2010-01-05  Jim Meyering  <meyering@redhat.com>
24869
24870         maint: remove useless inclusions of "xalloc.h"
24871         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
24872         * lib/readtokens.c: Likewise.
24873         * lib/same.c: Likewise.
24874         * modules/getloadavg (Depends-on): Remove xalloc.
24875         * modules/readtokens: Likewise.
24876         * modules/same: Likewise.
24877
24878         maint.mk: include 4 more function names in alloca.h-checking regexp
24879         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
24880         regexp.  Before, we would give a false-positive (saying alloca.h
24881         is included unnecessarily) when the only uses involved omitted symbols.
24882
24883         xalloc.h: use consistent formatting
24884         * lib/xalloc.h: Move declarations to start in the first column.
24885
24886 2010-01-05  Eric Blake  <ebb9@byu.net>
24887
24888         mkdir: avoid xalloc
24889         * lib/mkdir.c (includes): Drop unused header.
24890         Reported by John W. Eaton.
24891
24892 2010-01-04  Jim Meyering  <meyering@redhat.com>
24893
24894         nl_langinfo: avoid configure-time syntax error
24895         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
24896         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
24897         the empty string.  Don't let that provoke a shell syntax error.
24898
24899         regcomp, regexec, fnmatch: avoid array bounds read error
24900         * lib/regcomp.c (build_equiv_class): From glibc:
24901         Use only the low 24 bits of a findidx return value as an index
24902         into the weights array.  Patch by Ulrich Drepper:
24903         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
24904         * lib/regexec.c (check_node_accept_bytes): Likewise.
24905         * lib/fnmatch_loop.c (FCT): Likewise.
24906
24907         regcomp: skip collseq lookup when there are no rules
24908         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
24909         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
24910
24911         regcomp: recognize ill-formed { } expressions
24912         * lib/regcomp.c (parse_dup_op): From glibc:
24913         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
24914
24915         regcomp: fix typo in comment
24916         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
24917         s/satisfy/satisfies/.
24918
24919         regcomp: sync from glibc: remove dead store
24920         * lib/regcomp.c (duplicate_node_closure): Remove useless
24921         search_duplicated_node call and dead store.
24922
24923         regcomp: sync from glibc; always use nl_langinfo
24924         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
24925         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
24926         * modules/regex (Depends-on): Add nl_langinfo.
24927
24928 2010-01-04  Eric Blake  <ebb9@byu.net>
24929
24930         fdopendir: fix configure test
24931         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
24932
24933 2010-01-01  Bruno Haible  <bruno@clisp.org>
24934
24935         wchar: Remove unused configure check.
24936         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
24937
24938 2010-01-01  Eric Blake  <ebb9@byu.net>
24939
24940         headers: make check of system header explicit
24941         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
24942         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
24943         ourselves.
24944         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24945         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24946         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
24947         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
24948         internals.
24949         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
24950         missing.
24951         Suggested by Bruno Haible.
24952
24953 2010-01-01  Jim Meyering  <meyering@redhat.com>
24954
24955         ChangeLog: tweak to eliminate unnecessary copyright line
24956         * ChangeLog: Remove a copyright line that was mistakenly updated
24957         by today's update-copyright run.  Reported by Eric Blake.
24958
24959         test-update-copyright: don't let envvar setting cause test failure
24960         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24961
24962 2010-01-01  Bruno Haible  <bruno@clisp.org>
24963
24964         localename: Avoid gcc warning.
24965         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
24966         function if it is not used.
24967
24968 2010-01-01  Jim Meyering  <meyering@redhat.com>
24969
24970         update nearly all FSF copyright year lists to include 2010
24971         Use the same procedure as for 2009, outlined in
24972         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
24973
24974         version-etc: set COPYRIGHT_YEAR to 2010
24975         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
24976
24977 2009-12-31  Eric Blake  <ebb9@byu.net>
24978
24979         doc: correct availability of cygwin 1.5.x getopt
24980         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
24981         variables.
24982         * doc/posix-functions/opterr.texi (opterr): Likewise.
24983         * doc/posix-functions/optind.texi (optind): Likewise.
24984         * doc/posix-functions/optopt.texi (optopt): Likewise.
24985         * doc/posix-functions/tzname.texi (tzname): Likewise.
24986
24987         openat: update maintainer
24988         * modules/openat (Maintainer): Add myself.
24989
24990         utimens: avoid shadowing warning
24991         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
24992         buffers into one, to avoid shadowing, as well as avoiding a
24993         redundant stat.
24994         Reported by Jim Meyering.
24995
24996         test-dup2: avoid compiler warning
24997         * tests/test-dup2.c (is_inheritable): Only define if used.
24998
24999 2010-01-01  Bruno Haible  <bruno@clisp.org>
25000
25001         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
25002         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
25003         defined, use wctomb instead of wcrtomb.
25004
25005 2010-01-01  Bruno Haible  <bruno@clisp.org>
25006
25007         iconv: Reject native Solaris iconv.
25008         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
25009         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
25010
25011 2009-12-31  Bruno Haible  <bruno@clisp.org>
25012
25013         * tests/test-signal.c (main): Remove test of 'SIG'.
25014
25015 2009-12-31  Bruno Haible  <bruno@clisp.org>
25016
25017         spawn: Fix incomplete fix.
25018         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25019         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25020         warnings for GNULIB_POSIXCHECK again.
25021         Reported by Eric Blake.
25022
25023 2009-12-31  Bruno Haible  <bruno@clisp.org>
25024
25025         Avoid namespace pollution on glibc systems.
25026         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
25027         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
25028         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
25029         glibc systems.
25030
25031 2009-12-31  Bruno Haible  <bruno@clisp.org>
25032
25033         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
25034         (gl_REPLACE_WCHAR_H): Turn into a no-op.
25035         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
25036         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
25037         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
25038         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
25039         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
25040
25041 2009-12-31  Bruno Haible  <bruno@clisp.org>
25042
25043         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25044         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
25045         afterwards.
25046
25047 2009-12-31  Bruno Haible  <bruno@clisp.org>
25048
25049         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
25050         SYS_UTSNAME_H.
25051
25052 2009-12-31  Bruno Haible  <bruno@clisp.org>
25053
25054         spawn: Fix misapplied patch.
25055         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25056         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25057         warnings for GNULIB_POSIXCHECK.
25058
25059 2009-12-31  Bruno Haible  <bruno@clisp.org>
25060
25061         times: Update after sys_times changed.
25062         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
25063         * modules/times (Files): Add it.
25064         (configure.ac): Invoke gl_FUNC_TIMES.
25065
25066 2009-12-31  Bruno Haible  <bruno@clisp.org>
25067
25068         Use AC_C_INLINE where necessary.
25069         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
25070         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25071         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
25072         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
25073         * m4/mbfile.m4 (gl_MBFILE): Likewise.
25074         * m4/mbiter.m4 (gl_MBITER): Likewise.
25075         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
25076         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25077         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
25078         * modules/u64 (configure.ac): Likewise.
25079
25080 2009-12-31  Bruno Haible  <bruno@clisp.org>
25081
25082         Use AC_C_INLINE instead of module 'inline' where possible.
25083         * modules/inline (Description): Clarify purpose.
25084         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
25085         * modules/count-one-bits (Depends-on): Remove inline.
25086         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
25087         * modules/openat (Depends-on): Remove inline.
25088         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
25089         instead of depending on module 'inline'.
25090         * modules/filevercmp (Depends-on, configure.ac): Likewise.
25091         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
25092         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
25093         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
25094         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
25095         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
25096         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
25097         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
25098         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
25099         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
25100         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
25101         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
25102         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
25103         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
25104         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
25105         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
25106         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
25107         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
25108         Likewise.
25109         * modules/unictype/property-ascii-hex-digit (Depends-on,
25110         configure.ac): Likewise.
25111         * modules/unictype/property-bidi-arabic-digit (Depends-on,
25112         configure.ac): Likewise.
25113         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
25114         configure.ac): Likewise.
25115         * modules/unictype/property-bidi-block-separator (Depends-on,
25116         configure.ac): Likewise.
25117         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
25118         configure.ac): Likewise.
25119         * modules/unictype/property-bidi-common-separator (Depends-on,
25120         configure.ac): Likewise.
25121         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
25122         Likewise.
25123         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
25124         configure.ac): Likewise.
25125         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
25126         configure.ac): Likewise.
25127         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
25128         configure.ac): Likewise.
25129         * modules/unictype/property-bidi-european-digit (Depends-on,
25130         configure.ac): Likewise.
25131         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
25132         configure.ac): Likewise.
25133         * modules/unictype/property-bidi-left-to-right (Depends-on,
25134         configure.ac): Likewise.
25135         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
25136         configure.ac): Likewise.
25137         * modules/unictype/property-bidi-other-neutral (Depends-on,
25138         configure.ac): Likewise.
25139         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
25140         Likewise.
25141         * modules/unictype/property-bidi-segment-separator (Depends-on,
25142         configure.ac): Likewise.
25143         * modules/unictype/property-bidi-whitespace (Depends-on,
25144         configure.ac): Likewise.
25145         * modules/unictype/property-combining (Depends-on, configure.ac):
25146         Likewise.
25147         * modules/unictype/property-composite (Depends-on, configure.ac):
25148         Likewise.
25149         * modules/unictype/property-currency-symbol (Depends-on,
25150         configure.ac): Likewise.
25151         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
25152         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
25153         Likewise.
25154         * modules/unictype/property-default-ignorable-code-point (Depends-on,
25155         configure.ac): Likewise.
25156         * modules/unictype/property-deprecated (Depends-on, configure.ac):
25157         Likewise.
25158         * modules/unictype/property-diacritic (Depends-on, configure.ac):
25159         Likewise.
25160         * modules/unictype/property-extender (Depends-on, configure.ac):
25161         Likewise.
25162         * modules/unictype/property-format-control (Depends-on, configure.ac):
25163         Likewise.
25164         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
25165         Likewise.
25166         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
25167         Likewise.
25168         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
25169         Likewise.
25170         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
25171         Likewise.
25172         * modules/unictype/property-hyphen (Depends-on, configure.ac):
25173         Likewise.
25174         * modules/unictype/property-id-continue (Depends-on, configure.ac):
25175         Likewise.
25176         * modules/unictype/property-id-start (Depends-on, configure.ac):
25177         Likewise.
25178         * modules/unictype/property-ideographic (Depends-on, configure.ac):
25179         Likewise.
25180         * modules/unictype/property-ids-binary-operator (Depends-on,
25181         configure.ac): Likewise.
25182         * modules/unictype/property-ids-trinary-operator (Depends-on,
25183         configure.ac): Likewise.
25184         * modules/unictype/property-ignorable-control (Depends-on,
25185         configure.ac): Likewise.
25186         * modules/unictype/property-iso-control (Depends-on, configure.ac):
25187         Likewise.
25188         * modules/unictype/property-join-control (Depends-on, configure.ac):
25189         Likewise.
25190         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
25191         Likewise.
25192         * modules/unictype/property-line-separator (Depends-on, configure.ac):
25193         Likewise.
25194         * modules/unictype/property-logical-order-exception (Depends-on,
25195         configure.ac): Likewise.
25196         * modules/unictype/property-lowercase (Depends-on, configure.ac):
25197         Likewise.
25198         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
25199         * modules/unictype/property-non-break (Depends-on, configure.ac):
25200         Likewise.
25201         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
25202         Likewise.
25203         * modules/unictype/property-numeric (Depends-on, configure.ac):
25204         Likewise.
25205         * modules/unictype/property-other-alphabetic (Depends-on,
25206         configure.ac): Likewise.
25207         * modules/unictype/property-other-default-ignorable-code-point
25208         (Depends-on, configure.ac): Likewise.
25209         * modules/unictype/property-other-grapheme-extend (Depends-on,
25210         configure.ac): Likewise.
25211         * modules/unictype/property-other-id-continue (Depends-on,
25212         configure.ac): Likewise.
25213         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
25214         Likewise.
25215         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
25216         Likewise.
25217         * modules/unictype/property-other-math (Depends-on, configure.ac):
25218         Likewise.
25219         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
25220         Likewise.
25221         * modules/unictype/property-paired-punctuation (Depends-on,
25222         configure.ac): Likewise.
25223         * modules/unictype/property-paragraph-separator (Depends-on,
25224         configure.ac): Likewise.
25225         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
25226         Likewise.
25227         * modules/unictype/property-pattern-white-space (Depends-on,
25228         configure.ac): Likewise.
25229         * modules/unictype/property-private-use (Depends-on, configure.ac):
25230         Likewise.
25231         * modules/unictype/property-punctuation (Depends-on, configure.ac):
25232         Likewise.
25233         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
25234         Likewise.
25235         * modules/unictype/property-radical (Depends-on, configure.ac):
25236         Likewise.
25237         * modules/unictype/property-sentence-terminal (Depends-on,
25238         configure.ac): Likewise.
25239         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
25240         Likewise.
25241         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
25242         * modules/unictype/property-terminal-punctuation (Depends-on,
25243         configure.ac): Likewise.
25244         * modules/unictype/property-titlecase (Depends-on, configure.ac):
25245         Likewise.
25246         * modules/unictype/property-unassigned-code-value (Depends-on,
25247         configure.ac): Likewise.
25248         * modules/unictype/property-unified-ideograph (Depends-on,
25249         configure.ac): Likewise.
25250         * modules/unictype/property-uppercase (Depends-on, configure.ac):
25251         Likewise.
25252         * modules/unictype/property-variation-selector (Depends-on,
25253         configure.ac): Likewise.
25254         * modules/unictype/property-white-space (Depends-on, configure.ac):
25255         Likewise.
25256         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
25257         Likewise.
25258         * modules/unictype/property-xid-start (Depends-on, configure.ac):
25259         Likewise.
25260         * modules/unictype/property-zero-width (Depends-on, configure.ac):
25261         Likewise.
25262         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
25263         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
25264         Likewise.
25265
25266 2009-12-31  Bruno Haible  <bruno@clisp.org>
25267
25268         Remove unnecessary AC_C_INLINE invocation.
25269         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
25270         since 2009-08-21.
25271
25272 2009-12-31  Jim Meyering  <meyering@redhat.com>
25273
25274         maint.mk: don't require explicit gpg_key_ID in cfg.mk
25275         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
25276         With this change, we can all remove the gpg_key_ID = ... definition
25277         from our respective cfg.mk files.
25278
25279         maint.mk: create announcement template in ~/, not in /tmp
25280         * top/maint.mk (emit_upload_commands): Adjust.
25281         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
25282         Remove temporary file, .ci-msg.
25283
25284 2009-12-31  Eric Blake  <ebb9@byu.net>
25285
25286         link-warning: always build headers with link warnings
25287         * modules/arpa_inet (Makefile.am): Always build replacement
25288         header.
25289         * modules/ctype (Makefile.am): Likewise.
25290         * modules/dirent (Makefile.am): Likewise.
25291         * modules/inttypes (Makefile.am): Likewise.
25292         * modules/langinfo (Makefile.am): Likewise.
25293         * modules/locale (Makefile.am): Likewise.
25294         * modules/spawn (Makefile.am): Likewise.
25295         * modules/sys_file (Makefile.am): Likewise.
25296         * modules/sys_ioctl (Makefile.am): Likewise.
25297         * modules/sys_select (Makefile.am): Likewise.
25298         * modules/sys_socket (Makefile.am): Likewise.
25299         * modules/sys_times (Makefile.am): Likewise.
25300         * modules/sys_utsname (Makefile.am): Likewise.
25301         * modules/sys_wait (Makefile.am): Likewise.
25302         * modules/wchar (Makefile.am): Likewise.
25303         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
25304         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
25305         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
25306         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
25307         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
25308         Likewise.
25309         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25310         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25311         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
25312         Likewise.
25313         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
25314         Likewise.
25315         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25316         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
25317         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
25318         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25319         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25320         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
25321         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
25322         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
25323         (gl_WCHAR_H_DEFAULTS): Likewise.
25324
25325 2009-12-31  Eric Blake  <ebb9@byu.net>
25326
25327         signal, spawn: use link warnings
25328         * lib/signal.in.h (sigset_t): Make unconditional.
25329         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
25330         (sigpending, sigprocmask, sigaction): Add link warnings.
25331         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
25332         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
25333         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
25334         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
25335         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
25336         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
25337         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
25338         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
25339         (posix_spawn_file_actions_destroy)
25340         (posix_spawn_file_actions_addopen)
25341         (posix_spawn_file_actions_addclose)
25342         (posix_spawn_file_actions_adddup2): Likewise.
25343         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
25344         * tests/test-signal.c (main): Enhance test.
25345
25346         spawn: improve wrapper support
25347         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
25348         (gl_SPAWN_H_DEFAULTS): New defaults.
25349         * modules/spawn (Makefile.am): Substitute them.
25350         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
25351         Only declare if missing or broken.
25352
25353         sys_times, sys_utsname: use include_next
25354         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
25355         header.
25356         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
25357         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
25358         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
25359         * modules/sys_times (Depends-on): Add include_next.
25360         (Makefile.am): Substitute additional values.
25361         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
25362         * lib/sys_times.in.h (includes): Include native header, if
25363         available.
25364         * lib/sys_utsname.in.h (includes): Likewise.
25365         * tests/test-sys_times.c (main): Enhance test.
25366
25367         fdutimensat: revert prior patch
25368         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
25369         utimens.h.
25370         Reported by Bruno Haible.
25371
25372 2009-12-30  Eric Blake  <ebb9@byu.net>
25373
25374         sys_wait: drop link-warning dependency
25375         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
25376         link-warning efforts.
25377         * lib/sys_wait.in.h: Likewise.
25378
25379         fdutimensat: remove bogus dependency
25380         * modules/fdutimensat (Depends-on): Drop inline.
25381
25382         unistd: fix typo
25383         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
25384
25385 2009-12-30  Bruno Haible  <bruno@clisp.org>
25386
25387         Fix compilation error with Solaris cc.
25388         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
25389         * lib/unicase/u16-is-invariant.c: Likewise.
25390         * lib/unicase/u32-is-invariant.c: Likewise.
25391         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
25392
25393 2009-12-30  Bruno Haible  <bruno@clisp.org>
25394
25395         Fix test crash.
25396         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
25397         locales.
25398         Reported by Simon Josefsson <simon@josefsson.org>.
25399
25400 2009-12-30  Bruno Haible  <bruno@clisp.org>
25401
25402         Fix compilation error on most platforms.
25403         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
25404         Reported by Simon Josefsson <simon@josefsson.org>
25405         and Nelson H. F. Beebe <beebe@math.utah.edu>.
25406
25407 2009-12-30  Eric Blake  <ebb9@byu.net>
25408
25409         futimens, utimensat: work around ntfs-3g bug
25410         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
25411         a ctime bug is present, and expand workaround to cover ntfs-3g.
25412         * lib/utimens.c (fdutimens, lutimens): Likewise.
25413         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
25414         (validate_timespec): Adjust return value.
25415         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
25416         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25417         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
25418
25419 2009-12-29  Eric Blake  <ebb9@byu.net>
25420
25421         link-warning: make usage consistent
25422         * modules/ctype (Depends-on): Add link-warning.
25423         (Makefile.am): Update rules accordingly.
25424         * modules/langinfo (Depends-on, Makefile.am): Likewise.
25425         * modules/locale (Depends-on, Makefile.am): Likewise.
25426         * modules/sys_file (Makefile.am): Likewise.
25427         * modules/getopt-posix (Makefile.am): Delete unused link warning
25428         efforts.
25429         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
25430         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
25431         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
25432         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
25433
25434         stdio: remove unused variables
25435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
25436         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
25437         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25438
25439         tests: test more substitute headers
25440         * modules/ctype-tests: New file.
25441         * modules/dirent-tests: Likewise.
25442         * modules/spawn-tests: Likewise.
25443         * modules/sys_file-tests: Likewise.
25444         * modules/sys_ioctl-tests: Likewise.
25445         * modules/sys_wait-tests: Likewise.
25446         * tests/test-ctype.c: Likewise.
25447         * tests/test-dirent.c: Likewise.
25448         * tests/test-spawn.c: Likewise.
25449         * tests/test-sys_file.c: Likewise.
25450         * tests/test-sys_ioctl.c: Likewise.
25451         * tests/test-sys_wait.c: Likewise.
25452         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
25453         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
25454         whether or not flock is in use.
25455
25456         tests: remove License section from module
25457         * modules/arpa_inet-tests: Remove unneeded section.
25458         * modules/byteswap-tests: Likewise.
25459         * modules/ceilf-tests: Likewise.
25460         * modules/ceill-tests: Likewise.
25461         * modules/crypto/des-tests: Likewise.
25462         * modules/crypto/gc-arcfour-tests: Likewise.
25463         * modules/crypto/gc-arctwo-tests: Likewise.
25464         * modules/crypto/gc-des-tests: Likewise.
25465         * modules/crypto/gc-hmac-md5-tests: Likewise.
25466         * modules/crypto/gc-hmac-sha1-tests: Likewise.
25467         * modules/crypto/gc-md2-tests: Likewise.
25468         * modules/crypto/gc-md4-tests: Likewise.
25469         * modules/crypto/gc-md5-tests: Likewise.
25470         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
25471         * modules/crypto/gc-rijndael-tests: Likewise.
25472         * modules/crypto/gc-sha1-tests: Likewise.
25473         * modules/crypto/gc-tests: Likewise.
25474         * modules/crypto/md2-tests: Likewise.
25475         * modules/crypto/md4-tests: Likewise.
25476         * modules/fcntl-h-tests: Likewise.
25477         * modules/floorf-tests: Likewise.
25478         * modules/floorl-tests: Likewise.
25479         * modules/frexp-nolibm-tests: Likewise.
25480         * modules/frexp-tests: Likewise.
25481         * modules/frexpl-nolibm-tests: Likewise.
25482         * modules/frexpl-tests: Likewise.
25483         * modules/getaddrinfo-tests: Likewise.
25484         * modules/inttypes-tests: Likewise.
25485         * modules/isfinite-tests: Likewise.
25486         * modules/isinf-tests: Likewise.
25487         * modules/ldexpl-tests: Likewise.
25488         * modules/locale-tests: Likewise.
25489         * modules/math-tests: Likewise.
25490         * modules/netdb-tests: Likewise.
25491         * modules/netinet_in-tests: Likewise.
25492         * modules/printf-frexp-tests: Likewise.
25493         * modules/printf-frexpl-tests: Likewise.
25494         * modules/priv-set-tests: Likewise.
25495         * modules/random_r-tests: Likewise.
25496         * modules/round-tests: Likewise.
25497         * modules/roundf-tests: Likewise.
25498         * modules/roundl-tests: Likewise.
25499         * modules/search-tests: Likewise.
25500         * modules/select-tests: Likewise.
25501         * modules/signal-tests: Likewise.
25502         * modules/stdbool-tests: Likewise.
25503         * modules/stddef-tests: Likewise.
25504         * modules/stdint-tests: Likewise.
25505         * modules/stdio-tests: Likewise.
25506         * modules/stdlib-tests: Likewise.
25507         * modules/string-tests: Likewise.
25508         * modules/strings-tests: Likewise.
25509         * modules/sys_select-tests: Likewise.
25510         * modules/sys_socket-tests: Likewise.
25511         * modules/sys_stat-tests: Likewise.
25512         * modules/sys_time-tests: Likewise.
25513         * modules/sys_utsname-tests: Likewise.
25514         * modules/sysexits-tests: Likewise.
25515         * modules/time-tests: Likewise.
25516         * modules/trunc-tests: Likewise.
25517         * modules/truncf-tests: Likewise.
25518         * modules/truncl-tests: Likewise.
25519         * modules/tsearch-tests: Likewise.
25520         * modules/unistd-tests: Likewise.
25521         * modules/wchar-tests: Likewise.
25522         * modules/wctype-tests: Likewise.
25523
25524         tests: fix license on several tests
25525         * tests/test-des.c: Update to GPLv3+.
25526         * tests/test-flock.c: Likewise.
25527         * tests/test-fsync.c: Likewise.
25528         * tests/test-futimens.h: Likewise.
25529         * tests/test-gc-arcfour.c: Likewise.
25530         * tests/test-gc-arctwo.c: Likewise.
25531         * tests/test-gc-des.c: Likewise.
25532         * tests/test-gc-hmac-md5.c: Likewise.
25533         * tests/test-gc-hmac-sha1.c: Likewise.
25534         * tests/test-gc-md2.c: Likewise.
25535         * tests/test-gc-md4.c: Likewise.
25536         * tests/test-gc-md5.c: Likewise.
25537         * tests/test-gc-pbkdf2-sha1.c: Likewise.
25538         * tests/test-gc-rijndael.c: Likewise.
25539         * tests/test-gc-sha1.c: Likewise.
25540         * tests/test-gc.c: Likewise.
25541         * tests/test-getcwd.c: Likewise.
25542         * tests/test-link.c: Likewise.
25543         * tests/test-link.h: Likewise.
25544         * tests/test-lutimens.h: Likewise.
25545         * tests/test-md2.c: Likewise.
25546         * tests/test-md4.c: Likewise.
25547         * tests/test-mkdir.h: Likewise.
25548         * tests/test-rename.c: Likewise.
25549         * tests/test-rename.h: Likewise.
25550         * tests/test-safe-alloc.c: Likewise.
25551         * tests/test-utimens-common.h: Likewise.
25552         * tests/test-utimens.h: Likewise.
25553
25554         maint: sync license texts
25555         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
25556         * doc/gpl-3.0.texi: Revert copyright year update.
25557         * doc/lgpl-3.0.texi: Likewise.
25558
25559 2009-12-29  Jim Meyering  <meyering@redhat.com>
25560
25561         update nearly all FSF copyright year lists to include 2009
25562         The files named by the following are exempted:
25563             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
25564               test -f "$dst" && { echo "$dst"; continue; }
25565               test -d "$dst" || continue
25566               echo "$dst"/$(basename "$src")
25567             done > exempt
25568             git ls-files tests/unictype >> exempt
25569         In the remaining files, convert to all-interval notation if
25570         - there is already at least one year interval like 2000-2003
25571         - the file is maintained by me
25572         - the file is in lib/uni*/, where that style already prevails
25573         Otherwise, use update-copyright's default.
25574
25575 2009-12-29  Simon Josefsson  <simon@josefsson.org>
25576         and Eric Blake  <ebb9@byu.net>
25577
25578         tests: don't require debug system() to pass
25579         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
25580         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25581         * tests/test-unlink.h (test_unlink_func): Likewise.
25582         * tests/test-fstatat.c (main): ...into callers.
25583         * tests/test-lstat.c (main): Likewise.
25584         * tests/test-rmdir.c (main): Likewise.
25585         * tests/test-unlink.c (main): Likewise.
25586         * tests/test-unlinkat.c (main): Likewise.
25587         * tests/test-areadlink-with-size.c (main): Don't require a
25588         debug-only system call to pass, aiding cross-testing to mingw.
25589         * tests/test-areadlink.c (main): Likewise.
25590         * tests/test-areadlinkat-with-size.c (main): Likewise.
25591         * tests/test-areadlinkat.c (main): Likewise.
25592         * tests/test-canonicalize-lgpl.c (main): Likewise.
25593         * tests/test-canonicalize.c (main): Likewise.
25594         * tests/test-chown.c (main): Likewise.
25595         * tests/test-fchownat.c (main): Likewise.
25596         * tests/test-lchown.c (main): Likewise.
25597         * tests/test-fdutimensat.c (main): Likewise.
25598         * tests/test-futimens.c (main): Likewise.
25599         * tests/test-link.c (main): Likewise.
25600         * tests/test-linkat.c (main): Likewise.
25601         * tests/test-mkdir.c (main): Likewise.
25602         * tests/test-mkdirat.c (main): Likewise.
25603         * tests/test-mkfifo.c (main): Likewise.
25604         * tests/test-mkfifoat.c (main): Likewise.
25605         * tests/test-mknod.c (main): Likewise.
25606         * tests/test-readlink.c (main): Likewise.
25607         * tests/test-remove.c (main): Likewise.
25608         * tests/test-rename.c (main): Likewise.
25609         * tests/test-renameat.c (main): Likewise.
25610         * tests/test-symlink.c (main): Likewise.
25611         * tests/test-symlinkat.c (main): Likewise.
25612         * tests/test-utimens.c (main): Likewise.
25613         * tests/test-utimensat.c (main): Likewise.
25614
25615 2009-12-29  Simon Josefsson  <simon@josefsson.org>
25616
25617         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
25618         on $(UNUSED_PARAMETER_H) to avoid build failure.
25619
25620 2009-12-28  Jim Meyering  <meyering@redhat.com>
25621
25622         update-copyright: you may specify a max. line length other than 72
25623         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
25624
25625         maint: use consistent FSF copyright line syntax
25626         * lib/posixtm.c: Add missing comma in FSF copyright line.
25627         * lib/posixtm.h: Likewise.
25628         * lib/getugroups.c: Add missing ", Inc.".
25629
25630         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
25631         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
25632         FSF copyright line.  Remove trailing blanks.
25633
25634 2009-12-28  Eric Blake  <ebb9@byu.net>
25635
25636         test-dup2: reduce dependencies
25637         * modules/cloexec (Configure.ac): Set witness.
25638         * modules/dup2-tests (Depends-on): Drop cloexec.
25639         * tests/test-dup2.c (main): Skip portion of test if cloexec module
25640         not present.
25641         Suggested by Bruno Haible.
25642
25643 2009-12-26  Bruno Haible  <bruno@clisp.org>
25644
25645         Remove an unneeded dependency.
25646         * modules/fseterr (Depends-on): Remove dup2.
25647
25648 2009-12-26  Eric Blake  <ebb9@byu.net>
25649
25650         tests: use macros.h in more places
25651         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
25652         (ASSERT_STREAM): Provide default of stderr.
25653         * tests/test-dirent-safer.c: Include macros.h, using alternate
25654         stream for assertions.
25655         * tests/test-dup-safer.c: Likewise.
25656         * tests/test-freopen-safer.c: Likewise.
25657         * tests/test-getopt.c: Likewise.
25658         * tests/test-openat-safer.c: Likewise.
25659         * tests/test-pipe.c: Likewise.
25660         * tests/test-popen-safer.c: Likewise.
25661         * modules/dirent-safer-tests (Files): Include macros.h.
25662         * modules/unistd-safer-tests (Files): Likewise.
25663         * modules/freopen-safer-tests (Files): Likewise.
25664         * modules/getopt-posix-tests (Files): Likewise.
25665         * modules/openat-safer-tests (Files): Likewise.
25666         * modules/pipe-tests (Files): Likewise.
25667
25668 2009-12-26  Bruno Haible  <bruno@clisp.org>
25669
25670         javacomp: Portability fix.
25671         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
25672         that it also works on Solaris.
25673
25674 2009-12-26  Bruno Haible  <bruno@clisp.org>
25675
25676         localename: Fix storage allocation of gl_locale_name_thread's result.
25677         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
25678         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
25679         all platforms that have 'uselocale'.
25680         (gl_locale_name_thread_unsafe): New function, extracted from
25681         gl_locale_name_thread.
25682         (gl_locale_name_thread): Call struniq on all platforms that have
25683         'uselocale'.
25684         * tests/test-localename.c (test_locale_name_thread): Check that the
25685         resulting strings are permanently allocated.
25686         * modules/localename-tests (Depends-on): Add strdup.
25687
25688 2009-12-26  Bruno Haible  <bruno@clisp.org>
25689
25690         * tests/test-localename.c (categories): Fill in the strings.
25691
25692 2009-12-26  Jim Meyering  <meyering@redhat.com>
25693
25694         isdir: complete the removal of m4/isdir.m4
25695         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
25696
25697         isdir: clean up, since at least grep still uses it
25698         * lib/isdir.c: Include "isdir.h".
25699         (S_ISDIR): Remove now-unneeded definition.
25700         * modules/isdir (Files): Add lib/isdir.h.
25701         * lib/isdir.h: New file, with declaration.
25702         * m4/isdir.m4: Remove file -- unneeded.
25703
25704 2009-12-25  Bruno Haible  <bruno@clisp.org>
25705
25706         selinux-h: Make generated .h files standalone.
25707         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
25708         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
25709         * lib/se-selinux.in.h: Likewise.
25710         * modules/selinux-h (Depends-on): Add unused-parameter.
25711         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
25712         selinux/selinux.h and selinux/context.h.
25713         Suggested by Eric Blake.
25714
25715 2009-12-25  Bruno Haible  <bruno@clisp.org>
25716
25717         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
25718         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
25719         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
25720         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
25721         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
25722
25723 2009-12-24  Bruno Haible  <bruno@clisp.org>
25724
25725         openat: Fix warning.
25726         * lib/openat-proc.c: Include <unistd.h>.
25727
25728 2009-12-24  Bruno Haible  <bruno@clisp.org>
25729
25730         New module 'unused-parameter'.
25731         * build-aux/unused-parameter.h: New file, extracted from earlier
25732         gnulib-common.m4.
25733         * modules/unused-parameter: New file.
25734         * lib/unistr.h: Include unused-parameter.h.
25735         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
25736         _GL_UNUSED.
25737         * modules/unistr/base (Depends-on): Add unused-parameter.
25738
25739 2009-12-24  Bruno Haible  <bruno@clisp.org>
25740
25741         Add missing dependencies to 'extensions' module.
25742         * m4/extensions.m4: Add comment.
25743         * modules/accept4 (Depends-on): Add extensions.
25744         * modules/dup3 (Depends-on): Likewise.
25745         * modules/fcntl (Depends-on): Likewise.
25746         * modules/futimens (Depends-on): Likewise.
25747         * modules/mknod (Depends-on): Likewise.
25748         * modules/pipe2 (Depends-on): Likewise.
25749         * modules/stat-time (Depends-on): Likewise.
25750         * modules/strcasestr-simple (Depends-on): Likewise.
25751         * modules/strsignal (Depends-on): Likewise.
25752         * modules/utimensat (Depends-on): Likewise.
25753         * modules/localcharset (Depends-on): Likewise. Needed because of
25754         gl_FCNTL_O_FLAGS.
25755         * modules/wcrtomb (Depends-on): Likewise. Needed because of
25756         AC_TYPE_MBSTATE_T.
25757         * modules/wcsnrtombs (Depends-on): Likewise.
25758         * modules/wcsrtombs (Depends-on): Likewise.
25759
25760 2009-12-24  Bruno Haible  <bruno@clisp.org>
25761
25762         binary-io: Avoid gcc warning due to SET_BINARY.
25763         * lib/binary-io.h (SET_BINARY): Cast the result to void.
25764         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
25765
25766 2009-12-24  Bruno Haible  <bruno@clisp.org>
25767
25768         Avoid future namespace pollution on glibc systems.
25769         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
25770         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
25771         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
25772         glibc systems.
25773
25774 2009-12-24  Bruno Haible  <bruno@clisp.org>
25775
25776         Refactor common macros used in tests.
25777         * tests/macros.h: New file.
25778         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
25779         and/or <stdlib.h>, if appropriate.
25780         (ASSERT, SIZEOF): Remove macros.
25781         * tests/test-areadlink-with-size.c: Likewise.
25782         * tests/test-areadlinkat.c: Likewise.
25783         * tests/test-areadlinkat-with-size.c: Likewise.
25784         * tests/test-argmatch.c: Likewise.
25785         * tests/test-argv-iter.c: Likewise.
25786         * tests/test-array-mergesort.c: Likewise.
25787         * tests/test-array_list.c: Likewise.
25788         * tests/test-array_oset.c: Likewise.
25789         * tests/test-avltree_list.c: Likewise.
25790         * tests/test-avltree_oset.c: Likewise.
25791         * tests/test-avltreehash_list.c: Likewise.
25792         * tests/test-base64.c: Likewise.
25793         * tests/test-binary-io.c: Likewise.
25794         * tests/test-bitrotate.c: Likewise.
25795         * tests/test-btowc.c: Likewise.
25796         * tests/test-byteswap.c: Likewise.
25797         * tests/test-c-ctype.c: Likewise.
25798         * tests/test-c-stack.c: Likewise.
25799         * tests/test-c-strcasecmp.c: Likewise.
25800         * tests/test-c-strcasestr.c: Likewise.
25801         * tests/test-c-strncasecmp.c: Likewise.
25802         * tests/test-c-strstr.c: Likewise.
25803         * tests/test-canonicalize-lgpl.c: Likewise.
25804         * tests/test-canonicalize.c: Likewise.
25805         * tests/test-carray_list.c: Likewise.
25806         * tests/test-ceilf1.c: Likewise.
25807         * tests/test-ceilf2.c: Likewise.
25808         * tests/test-ceill.c: Likewise.
25809         * tests/test-chown.c: Likewise.
25810         * tests/test-cloexec.c: Likewise.
25811         * tests/test-copy-acl.c: Likewise.
25812         * tests/test-copy-file.c: Likewise.
25813         * tests/test-count-one-bits.c: Likewise.
25814         * tests/test-dprintf-posix.c: Likewise.
25815         * tests/test-dup2.c: Likewise.
25816         * tests/test-dup3.c: Likewise.
25817         * tests/test-duplocale.c: Likewise.
25818         * tests/test-fbufmode.c: Likewise.
25819         * tests/test-fchdir.c: Likewise.
25820         * tests/test-fchownat.c: Likewise.
25821         * tests/test-fcntl-safer.c: Likewise.
25822         * tests/test-fcntl.c: Likewise.
25823         * tests/test-fdopendir.c: Likewise.
25824         * tests/test-fdutimensat.c: Likewise.
25825         * tests/test-fflush2.c: Likewise.
25826         * tests/test-file-has-acl.c: Likewise.
25827         * tests/test-filevercmp.c: Likewise.
25828         * tests/test-flock.c: Likewise.
25829         * tests/test-floorf1.c: Likewise.
25830         * tests/test-floorf2.c: Likewise.
25831         * tests/test-floorl.c: Likewise.
25832         * tests/test-fnmatch.c: Likewise.
25833         * tests/test-fopen.h: Likewise.
25834         * tests/test-fpending.c: Likewise.
25835         * tests/test-fprintf-posix.c: Likewise.
25836         * tests/test-fpurge.c: Likewise.
25837         * tests/test-freadable.c: Likewise.
25838         * tests/test-freadahead.c: Likewise.
25839         * tests/test-freading.c: Likewise.
25840         * tests/test-freadptr.c: Likewise.
25841         * tests/test-freadptr2.c: Likewise.
25842         * tests/test-freadseek.c: Likewise.
25843         * tests/test-freopen.c: Likewise.
25844         * tests/test-frexp.c: Likewise.
25845         * tests/test-frexpl.c: Likewise.
25846         * tests/test-fseek.c: Likewise.
25847         * tests/test-fseeko.c: Likewise.
25848         * tests/test-fstatat.c: Likewise.
25849         * tests/test-fstrcmp.c: Likewise.
25850         * tests/test-fsync.c: Likewise.
25851         * tests/test-ftell.c: Likewise.
25852         * tests/test-ftello.c: Likewise.
25853         * tests/test-func.c: Likewise.
25854         * tests/test-futimens.c: Likewise.
25855         * tests/test-fwritable.c: Likewise.
25856         * tests/test-fwriting.c: Likewise.
25857         * tests/test-getcwd.c: Likewise.
25858         * tests/test-getdate.c: Likewise.
25859         * tests/test-getdelim.c: Likewise.
25860         * tests/test-getdtablesize.c: Likewise.
25861         * tests/test-getgroups.c: Likewise.
25862         * tests/test-getline.c: Likewise.
25863         * tests/test-getndelim2.c: Likewise.
25864         * tests/test-glob.c: Likewise.
25865         * tests/test-hash.c: Likewise.
25866         * tests/test-i-ring.c: Likewise.
25867         * tests/test-iconv-utf.c: Likewise.
25868         * tests/test-iconv.c: Likewise.
25869         * tests/test-idpriv-drop.c: Likewise.
25870         * tests/test-idpriv-droptemp.c: Likewise.
25871         * tests/test-inet_ntop.c: Likewise.
25872         * tests/test-inet_pton.c: Likewise.
25873         * tests/test-isblank.c: Likewise.
25874         * tests/test-isfinite.c: Likewise.
25875         * tests/test-isinf.c: Likewise.
25876         * tests/test-isnan.c: Likewise.
25877         * tests/test-isnand.h: Likewise.
25878         * tests/test-isnanf.h: Likewise.
25879         * tests/test-isnanl.h: Likewise.
25880         * tests/test-lchown.c: Likewise.
25881         * tests/test-ldexpl.c: Likewise.
25882         * tests/test-link.c: Likewise.
25883         * tests/test-linkat.c: Likewise.
25884         * tests/test-linked_list.c: Likewise.
25885         * tests/test-linkedhash_list.c: Likewise.
25886         * tests/test-localename.c: Likewise.
25887         * tests/test-lseek.c: Likewise.
25888         * tests/test-lstat.c: Likewise.
25889         * tests/test-mbmemcasecmp.c: Likewise.
25890         * tests/test-mbmemcasecoll.c: Likewise.
25891         * tests/test-mbrtowc.c: Likewise.
25892         * tests/test-mbscasecmp.c: Likewise.
25893         * tests/test-mbscasestr1.c: Likewise.
25894         * tests/test-mbscasestr2.c: Likewise.
25895         * tests/test-mbscasestr3.c: Likewise.
25896         * tests/test-mbscasestr4.c: Likewise.
25897         * tests/test-mbschr.c: Likewise.
25898         * tests/test-mbscspn.c: Likewise.
25899         * tests/test-mbsinit.c: Likewise.
25900         * tests/test-mbsncasecmp.c: Likewise.
25901         * tests/test-mbsnrtowcs.c: Likewise.
25902         * tests/test-mbspbrk.c: Likewise.
25903         * tests/test-mbspcasecmp.c: Likewise.
25904         * tests/test-mbsrchr.c: Likewise.
25905         * tests/test-mbsrtowcs.c: Likewise.
25906         * tests/test-mbsspn.c: Likewise.
25907         * tests/test-mbsstr1.c: Likewise.
25908         * tests/test-mbsstr2.c: Likewise.
25909         * tests/test-mbsstr3.c: Likewise.
25910         * tests/test-memchr.c: Likewise.
25911         * tests/test-memchr2.c: Likewise.
25912         * tests/test-memcmp.c: Likewise.
25913         * tests/test-memmem.c: Likewise.
25914         * tests/test-memrchr.c: Likewise.
25915         * tests/test-mkdir.c: Likewise.
25916         * tests/test-mkdirat.c: Likewise.
25917         * tests/test-mkfifo.c: Likewise.
25918         * tests/test-mkfifoat.c: Likewise.
25919         * tests/test-mknod.c: Likewise.
25920         * tests/test-nanosleep.c: Likewise.
25921         * tests/test-nl_langinfo.c: Likewise.
25922         * tests/test-obstack-printf.c: Likewise.
25923         * tests/test-open.c: Likewise.
25924         * tests/test-openat.c: Likewise.
25925         * tests/test-pipe-filter-gi1.c: Likewise.
25926         * tests/test-pipe-filter-gi2-main.c: Likewise.
25927         * tests/test-pipe-filter-ii1.c: Likewise.
25928         * tests/test-pipe-filter-ii2-main.c: Likewise.
25929         * tests/test-pipe2.c: Likewise.
25930         * tests/test-popen.h: Likewise.
25931         * tests/test-posixtm.c: Likewise.
25932         * tests/test-pread.c: Likewise.
25933         * tests/test-printf-frexp.c: Likewise.
25934         * tests/test-printf-frexpl.c: Likewise.
25935         * tests/test-printf-posix.c: Likewise.
25936         * tests/test-priv-set.c: Likewise.
25937         * tests/test-quotearg.c: Likewise.
25938         * tests/test-random_r.c: Likewise.
25939         * tests/test-rawmemchr.c: Likewise.
25940         * tests/test-rbtree_list.c: Likewise.
25941         * tests/test-rbtree_oset.c: Likewise.
25942         * tests/test-rbtreehash_list.c: Likewise.
25943         * tests/test-readlink.c: Likewise.
25944         * tests/test-remove.c: Likewise.
25945         * tests/test-rename.c: Likewise.
25946         * tests/test-renameat.c: Likewise.
25947         * tests/test-rmdir.c: Likewise.
25948         * tests/test-round1.c: Likewise.
25949         * tests/test-roundf1.c: Likewise.
25950         * tests/test-roundl.c: Likewise.
25951         * tests/test-safe-alloc.c: Likewise.
25952         * tests/test-sameacls.c: Likewise.
25953         * tests/test-set-mode-acl.c: Likewise.
25954         * tests/test-setenv.c: Likewise.
25955         * tests/test-sigaction.c: Likewise.
25956         * tests/test-signbit.c: Likewise.
25957         * tests/test-sleep.c: Likewise.
25958         * tests/test-snprintf-posix.c: Likewise.
25959         * tests/test-snprintf.c: Likewise.
25960         * tests/test-sprintf-posix.c: Likewise.
25961         * tests/test-stat-time.c: Likewise.
25962         * tests/test-stat.c: Likewise.
25963         * tests/test-strcasestr.c: Likewise.
25964         * tests/test-strchrnul.c: Likewise.
25965         * tests/test-strerror.c: Likewise.
25966         * tests/test-striconv.c: Likewise.
25967         * tests/test-striconveh.c: Likewise.
25968         * tests/test-striconveha.c: Likewise.
25969         * tests/test-strsignal.c: Likewise.
25970         * tests/test-strstr.c: Likewise.
25971         * tests/test-strtod.c: Likewise.
25972         * tests/test-strverscmp.c: Likewise.
25973         * tests/test-symlink.c: Likewise.
25974         * tests/test-symlinkat.c: Likewise.
25975         * tests/test-trunc1.c: Likewise.
25976         * tests/test-trunc2.c: Likewise.
25977         * tests/test-truncf1.c: Likewise.
25978         * tests/test-truncf2.c: Likewise.
25979         * tests/test-truncl.c: Likewise.
25980         * tests/test-uname.c: Likewise.
25981         * tests/test-unlink.c: Likewise.
25982         * tests/test-unlinkat.c: Likewise.
25983         * tests/test-unsetenv.c: Likewise.
25984         * tests/test-usleep.c: Likewise.
25985         * tests/test-utimens.c: Likewise.
25986         * tests/test-utimensat.c: Likewise.
25987         * tests/test-vasnprintf-posix.c: Likewise.
25988         * tests/test-vasnprintf-posix2.c: Likewise.
25989         * tests/test-vasnprintf.c: Likewise.
25990         * tests/test-vasprintf-posix.c: Likewise.
25991         * tests/test-vasprintf.c: Likewise.
25992         * tests/test-vdprintf-posix.c: Likewise.
25993         * tests/test-vfprintf-posix.c: Likewise.
25994         * tests/test-vprintf-posix.c: Likewise.
25995         * tests/test-vsnprintf-posix.c: Likewise.
25996         * tests/test-vsnprintf.c: Likewise.
25997         * tests/test-vsprintf-posix.c: Likewise.
25998         * tests/test-wcrtomb.c: Likewise.
25999         * tests/test-wcsnrtombs.c: Likewise.
26000         * tests/test-wcsrtombs.c: Likewise.
26001         * tests/test-wctype.c: Likewise.
26002         * tests/test-wcwidth.c: Likewise.
26003         * tests/test-xfprintf-posix.c: Likewise.
26004         * tests/test-xmemdup0.c: Likewise.
26005         * tests/test-xprintf-posix.c: Likewise.
26006         * tests/test-xvasprintf.c: Likewise.
26007         * tests/unicase/test-locale-language.c: Likewise.
26008         * tests/unicase/test-mapping-part1.h: Likewise.
26009         * tests/unicase/test-predicate-part1.h: Likewise.
26010         * tests/unicase/test-u8-casecmp.c: Likewise.
26011         * tests/unicase/test-u8-casecoll.c: Likewise.
26012         * tests/unicase/test-u8-casefold.c: Likewise.
26013         * tests/unicase/test-u8-is-cased.c: Likewise.
26014         * tests/unicase/test-u8-is-casefolded.c: Likewise.
26015         * tests/unicase/test-u8-is-lowercase.c: Likewise.
26016         * tests/unicase/test-u8-is-titlecase.c: Likewise.
26017         * tests/unicase/test-u8-is-uppercase.c: Likewise.
26018         * tests/unicase/test-u8-tolower.c: Likewise.
26019         * tests/unicase/test-u8-totitle.c: Likewise.
26020         * tests/unicase/test-u8-toupper.c: Likewise.
26021         * tests/unicase/test-u16-casecmp.c: Likewise.
26022         * tests/unicase/test-u16-casecoll.c: Likewise.
26023         * tests/unicase/test-u16-casefold.c: Likewise.
26024         * tests/unicase/test-u16-is-cased.c: Likewise.
26025         * tests/unicase/test-u16-is-casefolded.c: Likewise.
26026         * tests/unicase/test-u16-is-lowercase.c: Likewise.
26027         * tests/unicase/test-u16-is-titlecase.c: Likewise.
26028         * tests/unicase/test-u16-is-uppercase.c: Likewise.
26029         * tests/unicase/test-u16-tolower.c: Likewise.
26030         * tests/unicase/test-u16-totitle.c: Likewise.
26031         * tests/unicase/test-u16-toupper.c: Likewise.
26032         * tests/unicase/test-u32-casecmp.c: Likewise.
26033         * tests/unicase/test-u32-casecoll.c: Likewise.
26034         * tests/unicase/test-u32-casefold.c: Likewise.
26035         * tests/unicase/test-u32-is-cased.c: Likewise.
26036         * tests/unicase/test-u32-is-casefolded.c: Likewise.
26037         * tests/unicase/test-u32-is-lowercase.c: Likewise.
26038         * tests/unicase/test-u32-is-titlecase.c: Likewise.
26039         * tests/unicase/test-u32-is-uppercase.c: Likewise.
26040         * tests/unicase/test-u32-tolower.c: Likewise.
26041         * tests/unicase/test-u32-totitle.c: Likewise.
26042         * tests/unicase/test-u32-toupper.c: Likewise.
26043         * tests/unicase/test-ulc-casecmp.c: Likewise.
26044         * tests/unicase/test-ulc-casecoll.c: Likewise.
26045         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26046         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
26047         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26048         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26049         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
26050         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
26051         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26052         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26053         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26054         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
26055         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26056         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26057         * tests/unictype/test-bidi_byname.c: Likewise.
26058         * tests/unictype/test-bidi_name.c: Likewise.
26059         * tests/unictype/test-bidi_of.c: Likewise.
26060         * tests/unictype/test-bidi_test.c: Likewise.
26061         * tests/unictype/test-block_list.c: Likewise.
26062         * tests/unictype/test-block_of.c: Likewise.
26063         * tests/unictype/test-block_test.c: Likewise.
26064         * tests/unictype/test-categ_and.c: Likewise.
26065         * tests/unictype/test-categ_and_not.c: Likewise.
26066         * tests/unictype/test-categ_byname.c: Likewise.
26067         * tests/unictype/test-categ_name.c: Likewise.
26068         * tests/unictype/test-categ_none.c: Likewise.
26069         * tests/unictype/test-categ_of.c: Likewise.
26070         * tests/unictype/test-categ_or.c: Likewise.
26071         * tests/unictype/test-categ_test_withtable.c: Likewise.
26072         * tests/unictype/test-combining.c: Likewise.
26073         * tests/unictype/test-decdigit.c: Likewise.
26074         * tests/unictype/test-digit.c: Likewise.
26075         * tests/unictype/test-mirror.c: Likewise.
26076         * tests/unictype/test-numeric.c: Likewise.
26077         * tests/unictype/test-pr_byname.c: Likewise.
26078         * tests/unictype/test-pr_test.c: Likewise.
26079         * tests/unictype/test-predicate-part1.h: Likewise.
26080         * tests/unictype/test-scripts.c: Likewise.
26081         * tests/unictype/test-sy_c_ident.c: Likewise.
26082         * tests/unictype/test-sy_java_ident.c: Likewise.
26083         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
26084         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
26085         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
26086         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
26087         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
26088         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
26089         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
26090         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
26091         * tests/uninorm/test-canonical-decomposition.c: Likewise.
26092         * tests/uninorm/test-compat-decomposition.c: Likewise.
26093         * tests/uninorm/test-composition.c: Likewise.
26094         * tests/uninorm/test-decomposing-form.c: Likewise.
26095         * tests/uninorm/test-decomposition.c: Likewise.
26096         * tests/uninorm/test-u8-nfc.c: Likewise.
26097         * tests/uninorm/test-u8-nfd.c: Likewise.
26098         * tests/uninorm/test-u8-nfkc.c: Likewise.
26099         * tests/uninorm/test-u8-nfkd.c: Likewise.
26100         * tests/uninorm/test-u8-normcmp.c: Likewise.
26101         * tests/uninorm/test-u8-normcoll.c: Likewise.
26102         * tests/uninorm/test-u16-nfc.c: Likewise.
26103         * tests/uninorm/test-u16-nfd.c: Likewise.
26104         * tests/uninorm/test-u16-nfkc.c: Likewise.
26105         * tests/uninorm/test-u16-nfkd.c: Likewise.
26106         * tests/uninorm/test-u16-normcmp.c: Likewise.
26107         * tests/uninorm/test-u16-normcoll.c: Likewise.
26108         * tests/uninorm/test-u32-nfc.c: Likewise.
26109         * tests/uninorm/test-u32-nfd.c: Likewise.
26110         * tests/uninorm/test-u32-nfkc.c: Likewise.
26111         * tests/uninorm/test-u32-nfkd.c: Likewise.
26112         * tests/uninorm/test-u32-normalize-big.c: Likewise.
26113         * tests/uninorm/test-u32-normcmp.c: Likewise.
26114         * tests/uninorm/test-u32-normcoll.c: Likewise.
26115         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
26116         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
26117         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
26118         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
26119         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
26120         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
26121         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26122         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26123         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
26124         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
26125         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
26126         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
26127         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
26128         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26129         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26130         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
26131         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
26132         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
26133         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
26134         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
26135         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26136         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26137         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
26138         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
26139         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
26140         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
26141         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
26142         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26143         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26144         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
26145         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
26146         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
26147         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
26148         * tests/uniwidth/test-u8-strwidth.c: Likewise.
26149         * tests/uniwidth/test-u8-width.c: Likewise.
26150         * tests/uniwidth/test-u16-strwidth.c: Likewise.
26151         * tests/uniwidth/test-u16-width.c: Likewise.
26152         * tests/uniwidth/test-u32-strwidth.c: Likewise.
26153         * tests/uniwidth/test-u32-width.c: Likewise.
26154         * tests/uniwidth/test-uc_width.c: Likewise.
26155         * tests/uniwidth/test-uc_width2.c: Likewise.
26156         * modules/acl-tests (Files): Add tests/macros.h.
26157         * modules/areadlink-tests (Files): Likewise.
26158         * modules/areadlink-with-size-tests (Files): Likewise.
26159         * modules/areadlinkat-tests (Files): Likewise.
26160         * modules/areadlinkat-with-size-tests (Files): Likewise.
26161         * modules/argmatch-tests (Files): Likewise.
26162         * modules/argv-iter-tests (Files): Likewise.
26163         * modules/array-list-tests (Files): Likewise.
26164         * modules/array-mergesort-tests (Files): Likewise.
26165         * modules/array-oset-tests (Files): Likewise.
26166         * modules/avltree-list-tests (Files): Likewise.
26167         * modules/avltree-oset-tests (Files): Likewise.
26168         * modules/avltreehash-list-tests (Files): Likewise.
26169         * modules/base64-tests (Files): Likewise.
26170         * modules/binary-io-tests (Files): Likewise.
26171         * modules/bitrotate-tests (Files): Likewise.
26172         * modules/btowc-tests (Files): Likewise.
26173         * modules/byteswap-tests (Files): Likewise.
26174         * modules/c-ctype-tests (Files): Likewise.
26175         * modules/c-stack-tests (Files): Likewise.
26176         * modules/c-strcase-tests (Files): Likewise.
26177         * modules/c-strcasestr-tests (Files): Likewise.
26178         * modules/c-strstr-tests (Files): Likewise.
26179         * modules/canonicalize-lgpl-tests (Files): Likewise.
26180         * modules/canonicalize-tests (Files): Likewise.
26181         * modules/carray-list-tests (Files): Likewise.
26182         * modules/ceilf-tests (Files): Likewise.
26183         * modules/ceill-tests (Files): Likewise.
26184         * modules/chown-tests (Files): Likewise.
26185         * modules/cloexec-tests (Files): Likewise.
26186         * modules/copy-file-tests (Files): Likewise.
26187         * modules/count-one-bits-tests (Files): Likewise.
26188         * modules/dprintf-posix-tests (Files): Likewise.
26189         * modules/dup2-tests (Files): Likewise.
26190         * modules/dup3-tests (Files): Likewise.
26191         * modules/duplocale-tests (Files): Likewise.
26192         * modules/fbufmode-tests (Files): Likewise.
26193         * modules/fchdir-tests (Files): Likewise.
26194         * modules/fcntl-safer-tests (Files): Likewise.
26195         * modules/fcntl-tests (Files): Likewise.
26196         * modules/fdopendir-tests (Files): Likewise.
26197         * modules/fdutimensat-tests (Files): Likewise.
26198         * modules/fflush-tests (Files): Likewise.
26199         * modules/filevercmp-tests (Files): Likewise.
26200         * modules/flock-tests (Files): Likewise.
26201         * modules/floorf-tests (Files): Likewise.
26202         * modules/floorl-tests (Files): Likewise.
26203         * modules/fnmatch-tests (Files): Likewise.
26204         * modules/fopen-safer-tests (Files): Likewise.
26205         * modules/fopen-tests (Files): Likewise.
26206         * modules/fpending-tests (Files): Likewise.
26207         * modules/fprintf-posix-tests (Files): Likewise.
26208         * modules/fpurge-tests (Files): Likewise.
26209         * modules/freadable-tests (Files): Likewise.
26210         * modules/freadahead-tests (Files): Likewise.
26211         * modules/freading-tests (Files): Likewise.
26212         * modules/freadptr-tests (Files): Likewise.
26213         * modules/freadseek-tests (Files): Likewise.
26214         * modules/freopen-tests (Files): Likewise.
26215         * modules/frexp-nolibm-tests (Files): Likewise.
26216         * modules/frexp-tests (Files): Likewise.
26217         * modules/frexpl-nolibm-tests (Files): Likewise.
26218         * modules/frexpl-tests (Files): Likewise.
26219         * modules/fseek-tests (Files): Likewise.
26220         * modules/fseeko-tests (Files): Likewise.
26221         * modules/fstrcmp-tests (Files): Likewise.
26222         * modules/fsync-tests (Files): Likewise.
26223         * modules/ftell-tests (Files): Likewise.
26224         * modules/ftello-tests (Files): Likewise.
26225         * modules/func-tests (Files): Likewise.
26226         * modules/futimens-tests (Files): Likewise.
26227         * modules/fwritable-tests (Files): Likewise.
26228         * modules/fwriting-tests (Files): Likewise.
26229         * modules/getcwd-tests (Files): Likewise.
26230         * modules/getdate-tests (Files): Likewise.
26231         * modules/getdelim-tests (Files): Likewise.
26232         * modules/getdtablesize-tests (Files): Likewise.
26233         * modules/getgroups-tests (Files): Likewise.
26234         * modules/getline-tests (Files): Likewise.
26235         * modules/getndelim2-tests (Files): Likewise.
26236         * modules/glob-tests (Files): Likewise.
26237         * modules/hash-tests (Files): Likewise.
26238         * modules/i-ring-tests (Files): Likewise.
26239         * modules/iconv-tests (Files): Likewise.
26240         * modules/iconv_open-utf-tests (Files): Likewise.
26241         * modules/idpriv-drop-tests (Files): Likewise.
26242         * modules/idpriv-droptemp-tests (Files): Likewise.
26243         * modules/inet_ntop-tests (Files): Likewise.
26244         * modules/inet_pton-tests (Files): Likewise.
26245         * modules/isblank-tests (Files): Likewise.
26246         * modules/isfinite-tests (Files): Likewise.
26247         * modules/isinf-tests (Files): Likewise.
26248         * modules/isnan-tests (Files): Likewise.
26249         * modules/isnand-nolibm-tests (Files): Likewise.
26250         * modules/isnand-tests (Files): Likewise.
26251         * modules/isnanf-nolibm-tests (Files): Likewise.
26252         * modules/isnanf-tests (Files): Likewise.
26253         * modules/isnanl-nolibm-tests (Files): Likewise.
26254         * modules/isnanl-tests (Files): Likewise.
26255         * modules/lchown-tests (Files): Likewise.
26256         * modules/ldexpl-tests (Files): Likewise.
26257         * modules/link-tests (Files): Likewise.
26258         * modules/linkat-tests (Files): Likewise.
26259         * modules/linked-list-tests (Files): Likewise.
26260         * modules/linkedhash-list-tests (Files): Likewise.
26261         * modules/localename-tests (Files): Likewise.
26262         * modules/lseek-tests (Files): Likewise.
26263         * modules/lstat-tests (Files): Likewise.
26264         * modules/mbmemcasecmp-tests (Files): Likewise.
26265         * modules/mbmemcasecoll-tests (Files): Likewise.
26266         * modules/mbrtowc-tests (Files): Likewise.
26267         * modules/mbscasecmp-tests (Files): Likewise.
26268         * modules/mbscasestr-tests (Files): Likewise.
26269         * modules/mbschr-tests (Files): Likewise.
26270         * modules/mbscspn-tests (Files): Likewise.
26271         * modules/mbsinit-tests (Files): Likewise.
26272         * modules/mbsncasecmp-tests (Files): Likewise.
26273         * modules/mbsnrtowcs-tests (Files): Likewise.
26274         * modules/mbspbrk-tests (Files): Likewise.
26275         * modules/mbspcasecmp-tests (Files): Likewise.
26276         * modules/mbsrchr-tests (Files): Likewise.
26277         * modules/mbsrtowcs-tests (Files): Likewise.
26278         * modules/mbsspn-tests (Files): Likewise.
26279         * modules/mbsstr-tests (Files): Likewise.
26280         * modules/memchr-tests (Files): Likewise.
26281         * modules/memchr2-tests (Files): Likewise.
26282         * modules/memcmp-tests (Files): Likewise.
26283         * modules/memmem-tests (Files): Likewise.
26284         * modules/memrchr-tests (Files): Likewise.
26285         * modules/mkdir-tests (Files): Likewise.
26286         * modules/mkfifo-tests (Files): Likewise.
26287         * modules/mkfifoat-tests (Files): Likewise.
26288         * modules/mknod-tests (Files): Likewise.
26289         * modules/nanosleep-tests (Files): Likewise.
26290         * modules/nl_langinfo-tests (Files): Likewise.
26291         * modules/obstack-printf-tests (Files): Likewise.
26292         * modules/open-tests (Files): Likewise.
26293         * modules/openat-tests (Files): Likewise.
26294         * modules/pipe-filter-gi-tests (Files): Likewise.
26295         * modules/pipe-filter-ii-tests (Files): Likewise.
26296         * modules/pipe2-tests (Files): Likewise.
26297         * modules/popen-safer-tests (Files): Likewise.
26298         * modules/popen-tests (Files): Likewise.
26299         * modules/posixtm-tests (Files): Likewise.
26300         * modules/pread-tests (Files): Likewise.
26301         * modules/printf-frexp-tests (Files): Likewise.
26302         * modules/printf-frexpl-tests (Files): Likewise.
26303         * modules/printf-posix-tests (Files): Likewise.
26304         * modules/priv-set-tests (Files): Likewise.
26305         * modules/quotearg-tests (Files): Likewise.
26306         * modules/random_r-tests (Files): Likewise.
26307         * modules/rawmemchr-tests (Files): Likewise.
26308         * modules/rbtree-list-tests (Files): Likewise.
26309         * modules/rbtree-oset-tests (Files): Likewise.
26310         * modules/rbtreehash-list-tests (Files): Likewise.
26311         * modules/readlink-tests (Files): Likewise.
26312         * modules/remove-tests (Files): Likewise.
26313         * modules/rename-tests (Files): Likewise.
26314         * modules/renameat-tests (Files): Likewise.
26315         * modules/rmdir-tests (Files): Likewise.
26316         * modules/round-tests (Files): Likewise.
26317         * modules/roundf-tests (Files): Likewise.
26318         * modules/roundl-tests (Files): Likewise.
26319         * modules/safe-alloc-tests (Files): Likewise.
26320         * modules/setenv-tests (Files): Likewise.
26321         * modules/sigaction-tests (Files): Likewise.
26322         * modules/signbit-tests (Files): Likewise.
26323         * modules/sleep-tests (Files): Likewise.
26324         * modules/snprintf-posix-tests (Files): Likewise.
26325         * modules/snprintf-tests (Files): Likewise.
26326         * modules/sprintf-posix-tests (Files): Likewise.
26327         * modules/stat-tests (Files): Likewise.
26328         * modules/stat-time-tests (Files): Likewise.
26329         * modules/strcasestr-tests (Files): Likewise.
26330         * modules/strchrnul-tests (Files): Likewise.
26331         * modules/strerror-tests (Files): Likewise.
26332         * modules/striconv-tests (Files): Likewise.
26333         * modules/striconveh-tests (Files): Likewise.
26334         * modules/striconveha-tests (Files): Likewise.
26335         * modules/strsignal-tests (Files): Likewise.
26336         * modules/strstr-tests (Files): Likewise.
26337         * modules/strtod-tests (Files): Likewise.
26338         * modules/strverscmp-tests (Files): Likewise.
26339         * modules/symlink-tests (Files): Likewise.
26340         * modules/symlinkat-tests (Files): Likewise.
26341         * modules/trunc-tests (Files): Likewise.
26342         * modules/truncf-tests (Files): Likewise.
26343         * modules/truncl-tests (Files): Likewise.
26344         * modules/uname-tests (Files): Likewise.
26345         * modules/unicase/cased-tests (Files): Likewise.
26346         * modules/unicase/ignorable-tests (Files): Likewise.
26347         * modules/unicase/locale-language-tests (Files): Likewise.
26348         * modules/unicase/tolower-tests (Files): Likewise.
26349         * modules/unicase/totitle-tests (Files): Likewise.
26350         * modules/unicase/toupper-tests (Files): Likewise.
26351         * modules/unicase/u8-casecmp-tests (Files): Likewise.
26352         * modules/unicase/u8-casecoll-tests (Files): Likewise.
26353         * modules/unicase/u8-casefold-tests (Files): Likewise.
26354         * modules/unicase/u8-is-cased-tests (Files): Likewise.
26355         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
26356         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
26357         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
26358         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
26359         * modules/unicase/u8-tolower-tests (Files): Likewise.
26360         * modules/unicase/u8-totitle-tests (Files): Likewise.
26361         * modules/unicase/u8-toupper-tests (Files): Likewise.
26362         * modules/unicase/u16-casecmp-tests (Files): Likewise.
26363         * modules/unicase/u16-casecoll-tests (Files): Likewise.
26364         * modules/unicase/u16-casefold-tests (Files): Likewise.
26365         * modules/unicase/u16-is-cased-tests (Files): Likewise.
26366         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
26367         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
26368         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
26369         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
26370         * modules/unicase/u16-tolower-tests (Files): Likewise.
26371         * modules/unicase/u16-totitle-tests (Files): Likewise.
26372         * modules/unicase/u16-toupper-tests (Files): Likewise.
26373         * modules/unicase/u32-casecmp-tests (Files): Likewise.
26374         * modules/unicase/u32-casecoll-tests (Files): Likewise.
26375         * modules/unicase/u32-casefold-tests (Files): Likewise.
26376         * modules/unicase/u32-is-cased-tests (Files): Likewise.
26377         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
26378         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
26379         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
26380         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
26381         * modules/unicase/u32-tolower-tests (Files): Likewise.
26382         * modules/unicase/u32-totitle-tests (Files): Likewise.
26383         * modules/unicase/u32-toupper-tests (Files): Likewise.
26384         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
26385         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
26386         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
26387         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
26388         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
26389         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
26390         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
26391         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
26392         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
26393         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
26394         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
26395         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
26396         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
26397         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
26398         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
26399         * modules/unictype/bidicategory-name-tests (Files): Likewise.
26400         * modules/unictype/bidicategory-of-tests (Files): Likewise.
26401         * modules/unictype/bidicategory-test-tests (Files): Likewise.
26402         * modules/unictype/block-list-tests (Files): Likewise.
26403         * modules/unictype/block-of-tests (Files): Likewise.
26404         * modules/unictype/block-test-tests (Files): Likewise.
26405         * modules/unictype/category-C-tests (Files): Likewise.
26406         * modules/unictype/category-Cc-tests (Files): Likewise.
26407         * modules/unictype/category-Cf-tests (Files): Likewise.
26408         * modules/unictype/category-Cn-tests (Files): Likewise.
26409         * modules/unictype/category-Co-tests (Files): Likewise.
26410         * modules/unictype/category-Cs-tests (Files): Likewise.
26411         * modules/unictype/category-L-tests (Files): Likewise.
26412         * modules/unictype/category-Ll-tests (Files): Likewise.
26413         * modules/unictype/category-Lm-tests (Files): Likewise.
26414         * modules/unictype/category-Lo-tests (Files): Likewise.
26415         * modules/unictype/category-Lt-tests (Files): Likewise.
26416         * modules/unictype/category-Lu-tests (Files): Likewise.
26417         * modules/unictype/category-M-tests (Files): Likewise.
26418         * modules/unictype/category-Mc-tests (Files): Likewise.
26419         * modules/unictype/category-Me-tests (Files): Likewise.
26420         * modules/unictype/category-Mn-tests (Files): Likewise.
26421         * modules/unictype/category-N-tests (Files): Likewise.
26422         * modules/unictype/category-Nd-tests (Files): Likewise.
26423         * modules/unictype/category-Nl-tests (Files): Likewise.
26424         * modules/unictype/category-No-tests (Files): Likewise.
26425         * modules/unictype/category-P-tests (Files): Likewise.
26426         * modules/unictype/category-Pc-tests (Files): Likewise.
26427         * modules/unictype/category-Pd-tests (Files): Likewise.
26428         * modules/unictype/category-Pe-tests (Files): Likewise.
26429         * modules/unictype/category-Pf-tests (Files): Likewise.
26430         * modules/unictype/category-Pi-tests (Files): Likewise.
26431         * modules/unictype/category-Po-tests (Files): Likewise.
26432         * modules/unictype/category-Ps-tests (Files): Likewise.
26433         * modules/unictype/category-S-tests (Files): Likewise.
26434         * modules/unictype/category-Sc-tests (Files): Likewise.
26435         * modules/unictype/category-Sk-tests (Files): Likewise.
26436         * modules/unictype/category-Sm-tests (Files): Likewise.
26437         * modules/unictype/category-So-tests (Files): Likewise.
26438         * modules/unictype/category-Z-tests (Files): Likewise.
26439         * modules/unictype/category-Zl-tests (Files): Likewise.
26440         * modules/unictype/category-Zp-tests (Files): Likewise.
26441         * modules/unictype/category-Zs-tests (Files): Likewise.
26442         * modules/unictype/category-and-not-tests (Files): Likewise.
26443         * modules/unictype/category-and-tests (Files): Likewise.
26444         * modules/unictype/category-byname-tests (Files): Likewise.
26445         * modules/unictype/category-name-tests (Files): Likewise.
26446         * modules/unictype/category-none-tests (Files): Likewise.
26447         * modules/unictype/category-of-tests (Files): Likewise.
26448         * modules/unictype/category-or-tests (Files): Likewise.
26449         * modules/unictype/category-test-withtable-tests (Files): Likewise.
26450         * modules/unictype/combining-class-tests (Files): Likewise.
26451         * modules/unictype/ctype-alnum-tests (Files): Likewise.
26452         * modules/unictype/ctype-alpha-tests (Files): Likewise.
26453         * modules/unictype/ctype-blank-tests (Files): Likewise.
26454         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
26455         * modules/unictype/ctype-digit-tests (Files): Likewise.
26456         * modules/unictype/ctype-graph-tests (Files): Likewise.
26457         * modules/unictype/ctype-lower-tests (Files): Likewise.
26458         * modules/unictype/ctype-print-tests (Files): Likewise.
26459         * modules/unictype/ctype-punct-tests (Files): Likewise.
26460         * modules/unictype/ctype-space-tests (Files): Likewise.
26461         * modules/unictype/ctype-upper-tests (Files): Likewise.
26462         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
26463         * modules/unictype/decimal-digit-tests (Files): Likewise.
26464         * modules/unictype/digit-tests (Files): Likewise.
26465         * modules/unictype/mirror-tests (Files): Likewise.
26466         * modules/unictype/numeric-tests (Files): Likewise.
26467         * modules/unictype/property-alphabetic-tests (Files): Likewise.
26468         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
26469         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
26470         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
26471         Likewise.
26472         * modules/unictype/property-bidi-block-separator-tests (Files):
26473         Likewise.
26474         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
26475         Likewise.
26476         * modules/unictype/property-bidi-common-separator-tests (Files):
26477         Likewise.
26478         * modules/unictype/property-bidi-control-tests (Files): Likewise.
26479         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
26480         Likewise.
26481         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
26482         Likewise.
26483         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
26484         Likewise.
26485         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
26486         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
26487         Likewise.
26488         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
26489         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
26490         Likewise.
26491         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
26492         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
26493         * modules/unictype/property-bidi-segment-separator-tests (Files):
26494         Likewise.
26495         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
26496         * modules/unictype/property-byname-tests (Files): Likewise.
26497         * modules/unictype/property-combining-tests (Files): Likewise.
26498         * modules/unictype/property-composite-tests (Files): Likewise.
26499         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
26500         * modules/unictype/property-dash-tests (Files): Likewise.
26501         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
26502         * modules/unictype/property-default-ignorable-code-point-tests (Files):
26503         Likewise.
26504         * modules/unictype/property-deprecated-tests (Files): Likewise.
26505         * modules/unictype/property-diacritic-tests (Files): Likewise.
26506         * modules/unictype/property-extender-tests (Files): Likewise.
26507         * modules/unictype/property-format-control-tests (Files): Likewise.
26508         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
26509         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
26510         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
26511         * modules/unictype/property-hex-digit-tests (Files): Likewise.
26512         * modules/unictype/property-hyphen-tests (Files): Likewise.
26513         * modules/unictype/property-id-continue-tests (Files): Likewise.
26514         * modules/unictype/property-id-start-tests (Files): Likewise.
26515         * modules/unictype/property-ideographic-tests (Files): Likewise.
26516         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
26517         * modules/unictype/property-ids-trinary-operator-tests (Files):
26518         Likewise.
26519         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
26520         * modules/unictype/property-iso-control-tests (Files): Likewise.
26521         * modules/unictype/property-join-control-tests (Files): Likewise.
26522         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
26523         * modules/unictype/property-line-separator-tests (Files): Likewise.
26524         * modules/unictype/property-logical-order-exception-tests (Files):
26525         Likewise.
26526         * modules/unictype/property-lowercase-tests (Files): Likewise.
26527         * modules/unictype/property-math-tests (Files): Likewise.
26528         * modules/unictype/property-non-break-tests (Files): Likewise.
26529         * modules/unictype/property-not-a-character-tests (Files): Likewise.
26530         * modules/unictype/property-numeric-tests (Files): Likewise.
26531         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
26532         * modules/unictype/property-other-default-ignorable-code-point-tests
26533         (Files): Likewise.
26534         * modules/unictype/property-other-grapheme-extend-tests (Files):
26535         Likewise.
26536         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
26537         * modules/unictype/property-other-id-start-tests (Files): Likewise.
26538         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
26539         * modules/unictype/property-other-math-tests (Files): Likewise.
26540         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
26541         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
26542         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
26543         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
26544         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
26545         * modules/unictype/property-private-use-tests (Files): Likewise.
26546         * modules/unictype/property-punctuation-tests (Files): Likewise.
26547         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
26548         * modules/unictype/property-radical-tests (Files): Likewise.
26549         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
26550         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
26551         * modules/unictype/property-space-tests (Files): Likewise.
26552         * modules/unictype/property-terminal-punctuation-tests (Files):
26553         Likewise.
26554         * modules/unictype/property-test-tests (Files): Likewise.
26555         * modules/unictype/property-titlecase-tests (Files): Likewise.
26556         * modules/unictype/property-unassigned-code-value-tests (Files):
26557         Likewise.
26558         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
26559         * modules/unictype/property-uppercase-tests (Files): Likewise.
26560         * modules/unictype/property-variation-selector-tests (Files): Likewise.
26561         * modules/unictype/property-white-space-tests (Files): Likewise.
26562         * modules/unictype/property-xid-continue-tests (Files): Likewise.
26563         * modules/unictype/property-xid-start-tests (Files): Likewise.
26564         * modules/unictype/property-zero-width-tests (Files): Likewise.
26565         * modules/unictype/scripts-tests (Files): Likewise.
26566         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
26567         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
26568         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
26569         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
26570         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
26571         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
26572         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
26573         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
26574         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
26575         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
26576         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
26577         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
26578         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
26579         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
26580         * modules/uninorm/composition-tests (Files): Likewise.
26581         * modules/uninorm/decomposing-form-tests (Files): Likewise.
26582         * modules/uninorm/decomposition-tests (Files): Likewise.
26583         * modules/uninorm/filter-tests (Files): Likewise.
26584         * modules/uninorm/nfc-tests (Files): Likewise.
26585         * modules/uninorm/nfd-tests (Files): Likewise.
26586         * modules/uninorm/nfkc-tests (Files): Likewise.
26587         * modules/uninorm/nfkd-tests (Files): Likewise.
26588         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
26589         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
26590         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
26591         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
26592         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
26593         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
26594         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
26595         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
26596         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
26597         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
26598         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
26599         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
26600         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
26601         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
26602         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
26603         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
26604         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
26605         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
26606         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
26607         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
26608         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
26609         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
26610         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
26611         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
26612         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
26613         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
26614         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
26615         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
26616         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
26617         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
26618         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
26619         * modules/uniwidth/u8-width-tests (Files): Likewise.
26620         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
26621         * modules/uniwidth/u16-width-tests (Files): Likewise.
26622         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
26623         * modules/uniwidth/u32-width-tests (Files): Likewise.
26624         * modules/uniwidth/width-tests (Files): Likewise.
26625         * modules/unlink-tests (Files): Likewise.
26626         * modules/unsetenv-tests (Files): Likewise.
26627         * modules/usleep-tests (Files): Likewise.
26628         * modules/utimens-tests (Files): Likewise.
26629         * modules/utimensat-tests (Files): Likewise.
26630         * modules/vasnprintf-posix-tests (Files): Likewise.
26631         * modules/vasnprintf-tests (Files): Likewise.
26632         * modules/vasprintf-posix-tests (Files): Likewise.
26633         * modules/vasprintf-tests (Files): Likewise.
26634         * modules/vdprintf-posix-tests (Files): Likewise.
26635         * modules/vfprintf-posix-tests (Files): Likewise.
26636         * modules/vprintf-posix-tests (Files): Likewise.
26637         * modules/vsnprintf-posix-tests (Files): Likewise.
26638         * modules/vsnprintf-tests (Files): Likewise.
26639         * modules/vsprintf-posix-tests (Files): Likewise.
26640         * modules/wcrtomb-tests (Files): Likewise.
26641         * modules/wcsnrtombs-tests (Files): Likewise.
26642         * modules/wcsrtombs-tests (Files): Likewise.
26643         * modules/wctype-tests (Files): Likewise.
26644         * modules/wcwidth-tests (Files): Likewise.
26645         * modules/xmemdup0-tests (Files): Likewise.
26646         * modules/xprintf-posix-tests (Files): Likewise.
26647         * modules/xvasprintf-tests (Files): Likewise.
26648
26649 2009-12-24  Eric Blake  <ebb9@byu.net>
26650
26651         test-nanosleep: fix typo
26652         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
26653         patch.
26654         Reported by Bruno Haible.
26655
26656 2009-12-24  Bruno Haible  <bruno@clisp.org>
26657
26658         Reduce namespace pollution on glibc systems.
26659         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
26660         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
26661         systems.
26662         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
26663         <getopt.h> on glibc systems.
26664         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
26665         systems.
26666         * lib/fcntl.c: Include <unistd.h> here instead.
26667
26668 2009-12-24  Bruno Haible  <bruno@clisp.org>
26669
26670         * lib/stdlib.in.h (includes): Fix typo in today's commit.
26671
26672 2009-12-24  Eric Blake  <ebb9@byu.net>
26673
26674         tests: add signature checks
26675         * tests/signature.h (SIGNATURE_CHECK): New file.
26676         * modules/atexit-tests (Files): Use it.
26677         * modules/btowc-tests (Files): Likewise.
26678         * modules/canonicalize-lgpl-tests (Files): Likewise.
26679         * modules/ceilf-tests (Files): Likewise.
26680         * modules/ceill-tests (Files): Likewise.
26681         * modules/chown-tests (Files): Likewise.
26682         * modules/dprintf-posix-tests (Files): Likewise.
26683         * modules/dup2-tests (Files): Likewise.
26684         * modules/dup3-tests (Files): Likewise.
26685         * modules/duplocale-tests (Files): Likewise.
26686         * modules/fchdir-tests (Files): Likewise.
26687         * modules/fcntl-tests (Files): Likewise.
26688         * modules/fdopendir-tests (Files): Likewise.
26689         * modules/fflush-tests (Files): Likewise.
26690         * modules/flock-tests (Files): Likewise.
26691         * modules/floorf-tests (Files): Likewise.
26692         * modules/floorl-tests (Files): Likewise.
26693         * modules/fnmatch-tests (Files): Likewise.
26694         * modules/fopen-tests (Files): Likewise.
26695         * modules/fprintf-posix-tests (Files): Likewise.
26696         * modules/freopen-tests (Files): Likewise.
26697         * modules/frexp-nolibm-tests (Files): Likewise.
26698         * modules/frexp-tests (Files): Likewise.
26699         * modules/frexpl-nolibm-tests (Files): Likewise.
26700         * modules/frexpl-tests (Files): Likewise.
26701         * modules/fseek-tests (Files): Likewise.
26702         * modules/fseeko-tests (Files): Likewise.
26703         * modules/fsync-tests (Files): Likewise.
26704         * modules/ftell-tests (Files): Likewise.
26705         * modules/ftello-tests (Files): Likewise.
26706         * modules/futimens-tests (Files): Likewise.
26707         * modules/getaddrinfo-tests (Files): Likewise.
26708         * modules/getcwd-tests (Files): Likewise.
26709         * modules/getdelim-tests (Files): Likewise.
26710         * modules/getdtablesize-tests (Files): Likewise.
26711         * modules/getgroups-tests (Files): Likewise.
26712         * modules/gethostname-tests (Files): Likewise.
26713         * modules/getline-tests (Files): Likewise.
26714         * modules/getopt-posix-tests (Files): Likewise.
26715         * modules/gettimeofday-tests (Files): Likewise.
26716         * modules/glob-tests (Files): Likewise.
26717         * modules/iconv-tests (Files): Likewise.
26718         * modules/inet_ntop-tests (Files): Likewise.
26719         * modules/inet_pton-tests (Files): Likewise.
26720         * modules/isblank-tests (Files): Likewise.
26721         * modules/lchown-tests (Files): Likewise.
26722         * modules/ldexpl-tests (Files): Likewise.
26723         * modules/link-tests (Files): Likewise.
26724         * modules/linkat-tests (Files): Likewise.
26725         * modules/lseek-tests (Files): Likewise.
26726         * modules/lstat-tests (Files): Likewise.
26727         * modules/mbrtowc-tests (Files): Likewise.
26728         * modules/mbsinit-tests (Files): Likewise.
26729         * modules/mbsnrtowcs-tests (Files): Likewise.
26730         * modules/mbsrtowcs-tests (Files): Likewise.
26731         * modules/memchr-tests (Files): Likewise.
26732         * modules/memcmp-tests (Files): Likewise.
26733         * modules/memmem-tests (Files): Likewise.
26734         * modules/memrchr-tests (Files): Likewise.
26735         * modules/mkdir-tests (Files): Likewise.
26736         * modules/mkfifo-tests (Files): Likewise.
26737         * modules/mkfifoat-tests (Files): Likewise.
26738         * modules/mknod-tests (Files): Likewise.
26739         * modules/nanosleep-tests (Files): Likewise.
26740         * modules/nl_langinfo-tests (Files): Likewise.
26741         * modules/obstack-printf-tests (Files): Likewise.
26742         * modules/open-tests (Files): Likewise.
26743         * modules/openat-tests (Files): Likewise.
26744         * modules/perror-tests (Files): Likewise.
26745         * modules/pipe2-tests (Files): Likewise.
26746         * modules/poll-tests (Files): Likewise.
26747         * modules/popen-tests (Files): Likewise.
26748         * modules/posix_spawn-tests (Files): Likewise.
26749         * modules/posix_spawnp-tests (Files): Likewise.
26750         * modules/pread-tests (Files): Likewise.
26751         * modules/printf-posix-tests (Files): Likewise.
26752         * modules/pty-tests (Files): Likewise.
26753         * modules/random_r-tests (Files): Likewise.
26754         * modules/rawmemchr-tests (Files): Likewise.
26755         * modules/readlink-tests (Files): Likewise.
26756         * modules/remove-tests (Files): Likewise.
26757         * modules/rename-tests (Files): Likewise.
26758         * modules/renameat-tests (Files): Likewise.
26759         * modules/rmdir-tests (Files): Likewise.
26760         * modules/round-tests (Files): Likewise.
26761         * modules/roundf-tests (Files): Likewise.
26762         * modules/roundl-tests (Files): Likewise.
26763         * modules/select-tests (Files): Likewise.
26764         * modules/setenv-tests (Files): Likewise.
26765         * modules/sigaction-tests (Files): Likewise.
26766         * modules/sleep-tests (Files): Likewise.
26767         * modules/snprintf-posix-tests (Files): Likewise.
26768         * modules/snprintf-tests (Files): Likewise.
26769         * modules/sprintf-posix-tests (Files): Likewise.
26770         * modules/stat-tests (Files): Likewise.
26771         * modules/strcasestr-tests (Files): Likewise.
26772         * modules/strchrnul-tests (Files): Likewise.
26773         * modules/strerror-tests (Files): Likewise.
26774         * modules/strsignal-tests (Files): Likewise.
26775         * modules/strstr-tests (Files): Likewise.
26776         * modules/strtod-tests (Files): Likewise.
26777         * modules/strverscmp-tests (Files): Likewise.
26778         * modules/symlink-tests (Files): Likewise.
26779         * modules/symlinkat-tests (Files): Likewise.
26780         * modules/times-tests (Files): Likewise.
26781         * modules/trunc-tests (Files): Likewise.
26782         * modules/truncf-tests (Files): Likewise.
26783         * modules/truncl-tests (Files): Likewise.
26784         * modules/tsearch-tests (Files): Likewise.
26785         * modules/uname-tests (Files): Likewise.
26786         * modules/unlink-tests (Files): Likewise.
26787         * modules/unsetenv-tests (Files): Likewise.
26788         * modules/usleep-tests (Files): Likewise.
26789         * modules/utimensat-tests (Files): Likewise.
26790         * modules/vasprintf-tests (Files): Likewise.
26791         * modules/vdprintf-posix-tests (Files): Likewise.
26792         * modules/vfprintf-posix-tests (Files): Likewise.
26793         * modules/vprintf-posix-tests (Files): Likewise.
26794         * modules/vsnprintf-posix-tests (Files): Likewise.
26795         * modules/vsnprintf-tests (Files): Likewise.
26796         * modules/vsprintf-posix-tests (Files): Likewise.
26797         * modules/wcrtomb-tests (Files): Likewise.
26798         * modules/wcsnrtombs-tests (Files): Likewise.
26799         * modules/wcsrtombs-tests (Files): Likewise.
26800         * modules/wcwidth-tests (Files): Likewise.
26801         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
26802         * tests/test-isinf.c (isinf): Likewise.
26803         * tests/test-isnan.c (isnan): Likewise.
26804         * tests/test-signbit.c (signbit): Likewise.
26805         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
26806         declaration, either as macro or with correct signature.
26807         (select): Ensure function under test is declared with correct
26808         signature in correct header.
26809         * tests/test-atexit.c (atexit): Likewise.
26810         * tests/test-btowc.c (btowc): Likewise.
26811         * tests/test-canonicalize-lgpl.c (realpath)
26812         (canonicalize_file_name): Likewise.
26813         * tests/test-ceilf1.c (ceilf): Likewise.
26814         * tests/test-ceill.c (ceill): Likewise.
26815         * tests/test-chown.c (chown): Likewise.
26816         * tests/test-dprintf-posix.c (dprintf): Likewise.
26817         * tests/test-dup2.c (dup2): Likewise.
26818         * tests/test-dup3.c (dup3): Likewise.
26819         * tests/test-duplocale.c (duplocale): Likewise.
26820         * tests/test-fchdir.c (fchdir): Likewise.
26821         * tests/test-fchownat.c (fchownat): Likewise.
26822         * tests/test-fcntl.c (fcntl): Likewise.
26823         * tests/test-fdopendir.c (fdopendir): Likewise.
26824         * tests/test-fflush.c (fflush): Likewise.
26825         * tests/test-flock.c (flock): Likewise.
26826         * tests/test-floorf1.c (floorf): Likewise.
26827         * tests/test-floorl.c (floorl): Likewise.
26828         * tests/test-fnmatch.c (fnmatch): Likewise.
26829         * tests/test-fopen.c (fopen): Likewise.
26830         * tests/test-fprintf-posix.c (fprintf): Likewise.
26831         * tests/test-freopen.c (freopen): Likewise.
26832         * tests/test-frexp.c (frexp): Likewise.
26833         * tests/test-frexpl.c (frexpl): Likewise.
26834         * tests/test-fseek.c (fseek): Likewise.
26835         * tests/test-fseeko.c (fseeko): Likewise.
26836         * tests/test-fstatat.c (fstatat): Likewise.
26837         * tests/test-fsync.c (fsync): Likewise.
26838         * tests/test-ftell.c (ftell): Likewise.
26839         * tests/test-ftello.c (ftello): Likewise.
26840         * tests/test-futimens.c (futimens): Likewise.
26841         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
26842         (gai_strerror): Likewise.
26843         * tests/test-getcwd.c (getcwd): Likewise.
26844         * tests/test-getdelim.c (getdelim): Likewise.
26845         * tests/test-getdtablesize.c (getdtablesize): Likewise.
26846         * tests/test-getgroups.c (getgroups): Likewise.
26847         * tests/test-gethostname.c (gethostname): Likewise.
26848         * tests/test-getline.c (getline): Likewise.
26849         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
26850         Likewise.
26851         * tests/test-gettimeofday.c (gettimeofday): Likewise.
26852         * tests/test-glob.c (glob, globfree): Likewise.
26853         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
26854         * tests/test-inet_ntop.c (inet_ntop): Likewise.
26855         * tests/test-inet_pton.c (inet_pton): Likewise.
26856         * tests/test-isblank.c (isblank): Likewise.
26857         * tests/test-lchown.c (lchown): Likewise.
26858         * tests/test-ldexpl.c (ldexpl): Likewise.
26859         * tests/test-link.c (link): Likewise.
26860         * tests/test-linkat.c (linkat): Likewise.
26861         * tests/test-lseek.c (lseek): Likewise.
26862         * tests/test-lstat.c (lstat): Likewise.
26863         * tests/test-mbrtowc.c (mbrtowc): Likewise.
26864         * tests/test-mbsinit.c (mbsinit): Likewise.
26865         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
26866         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
26867         * tests/test-memchr.c (memchr): Likewise.
26868         * tests/test-memcmp.c (memcmp): Likewise.
26869         * tests/test-memmem.c (memmem): Likewise.
26870         * tests/test-memrchr.c (memrchr): Likewise.
26871         * tests/test-mkdir.c (mkdir): Likewise.
26872         * tests/test-mkdirat.c (mkdirat): Likewise.
26873         * tests/test-mkfifo.c (mkfifo): Likewise.
26874         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
26875         * tests/test-mknod.c (mknod): Likewise.
26876         * tests/test-nanosleep.c (nanosleep): Likewise.
26877         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
26878         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
26879         Likewise.
26880         * tests/test-open.c (open): Likewise.
26881         * tests/test-openat.c (openat): Likewise.
26882         * tests/test-perror.c (perror): Likewise.
26883         * tests/test-pipe2.c (pipe2): Likewise.
26884         * tests/test-poll.c (poll): Likewise.
26885         * tests/test-popen.c (popen, pclose): Likewise.
26886         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
26887         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
26888         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
26889         (posix_spawn_file_actions_destroy)
26890         (posix_spawn_file_actions_addclose)
26891         (posix_spawn_file_actions_addopen)
26892         (posix_spawn_file_actions_adddup2): Likewise.
26893         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
26894         * tests/test-pread.c (pread): Likewise.
26895         * tests/test-printf-posix.c (printf): Likewise.
26896         * tests/test-pty.c (openpty, forkpty): Likewise.
26897         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
26898         (random_r): Likewise.
26899         * tests/test-rawmemchr.c (rawmemchr): Likewise.
26900         * tests/test-readlink.c (readlink): Likewise.
26901         * tests/test-remove.c (remove): Likewise.
26902         * tests/test-rename.c (rename): Likewise.
26903         * tests/test-renameat.c (renameat): Likewise.
26904         * tests/test-rmdir.c (rmdir): Likewise.
26905         * tests/test-round1.c (round): Likewise.
26906         * tests/test-roundf1.c (roundf): Likewise.
26907         * tests/test-roundl.c (roundl): Likewise.
26908         * tests/test-setenv.c (setenv): Likewise.
26909         * tests/test-sigaction.c (sigaction): Likewise.
26910         * tests/test-sleep.c (sleep): Likewise.
26911         * tests/test-snprintf.c (snprintf): Likewise.
26912         * tests/test-sprintf-posix.c (sprintf): Likewise.
26913         * tests/test-stat.c (stat): Likewise.
26914         * tests/test-stpncpy.c (stpncpy): Likewise.
26915         * tests/test-strcasestr.c (strcasestr): Likewise.
26916         * tests/test-strchrnul.c (strchrnul): Likewise.
26917         * tests/test-strerror.c (strerror): Likewise.
26918         * tests/test-strsignal.c (strsignal): Likewise.
26919         * tests/test-strstr.c (strstr): Likewise.
26920         * tests/test-strtod.c (strtod): Likewise.
26921         * tests/test-strverscmp.c (strverscmp): Likewise.
26922         * tests/test-symlink.c (symlink): Likewise.
26923         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
26924         * tests/test-times.c (times): Likewise.
26925         * tests/test-trunc1.c (trunc): Likewise.
26926         * tests/test-truncf1.c (truncf): Likewise.
26927         * tests/test-truncl.c (truncl): Likewise.
26928         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
26929         Likewise.
26930         * tests/test-uname.c (uname): Likewise.
26931         * tests/test-unlink.c (unlink): Likewise.
26932         * tests/test-unlinkat.c (unlinkat): Likewise.
26933         * tests/test-unsetenv.c (unsetenv): Likewise.
26934         * tests/test-usleep.c (usleep): Likewise.
26935         * tests/test-utimensat.c (utimensat): Likewise.
26936         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
26937         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
26938         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
26939         * tests/test-vprintf-posix.c (vprintf): Likewise.
26940         * tests/test-vsnprintf.c (vsnprintf): Likewise.
26941         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
26942         * tests/test-wcrtomb.c (wcrtomb): Likewise.
26943         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
26944         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
26945         * tests/test-wcwidth.c (wcwidth): Likewise.
26946
26947         build: pull in conditional headers during GNULIB_POSIXCHECK
26948         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
26949         definitions from any conditionally-included headers.
26950         * lib/stdlib.in.h (includes): Likewise.
26951         * lib/unistd.in.h (includes): Likewise.
26952
26953 2009-12-24  Bruno Haible  <bruno@clisp.org>
26954
26955         * tests/test-argv-iter.c: Include header file being tested immediately
26956         after config.h.
26957         * tests/test-base64.c: Likewise.
26958         * tests/test-flock.c: Likewise.
26959         * tests/test-fsync.c: Likewise.
26960         * tests/test-getdate.c: Likewise.
26961         * tests/test-getndelim2.c: Likewise.
26962         * tests/test-isfinite.c: Likewise.
26963         * tests/test-isinf.c: Likewise.
26964         * tests/test-strerror.c: Likewise.
26965         * tests/test-strsignal.c: Likewise.
26966
26967 2009-12-23  Eric Blake  <ebb9@byu.net>
26968
26969         unistd: work around cygwin bug
26970         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
26971         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
26972         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26973
26974 2009-12-23  Bruno Haible  <bruno@clisp.org>
26975
26976         localename: More tests.
26977         * tests/test-localename.c (SIZEOF): New macro.
26978         (categories): New variable.
26979         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
26980         test_locale_name_default): Add test w.r.t. thread locale.
26981         (test_locale_name_thread): New function.
26982         (main): Invoke it.
26983
26984         localename: Make aware of thread locale.
26985         * lib/localename.h (gl_locale_name_thread): New declaration.
26986         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
26987         behaviour with respect to thread locale.
26988         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
26989         <langinfo.h>, glthread/lock.h.
26990         (SIZE_BITS): New macro.
26991         (string_hash): New function.
26992         (struct hash_node): New type.
26993         (HASH_TABLE_SIZE): New macro.
26994         (struniq_hash_table, struniq_lock): New variables.
26995         (struniq): New function.
26996         (gl_locale_name_thread): New function.
26997         (gl_locale_name): Invoke it.
26998         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
26999         * modules/localename (Depends-on): Add lock.
27000         Reported by Mike Gran <spk121@yahoo.com>.
27001
27002 2009-12-23  Eric Blake  <ebb9@byu.net>
27003
27004         va-args: new module
27005         * modules/va-args: New file.
27006         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
27007         * MODULES.html.sh (Core language properties): Mention it.
27008
27009         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
27010         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
27011         named alias for __attribute__((__unused__)).
27012         * lib/chown.c: Update client.
27013         * lib/fchmodat.c: Likewise.
27014         * lib/fts.c: Likewise.
27015         * lib/getdate.y: Likewise.
27016         * lib/getgroups.c: Likewise.
27017         * lib/getopt.c: Likewise.
27018         * lib/getugroups.c: Likewise.
27019         * lib/mkdir.c: Likewise.
27020         * lib/mkfifo.c: Likewise.
27021         * lib/mkfifoat.c: Likewise.
27022         * lib/mknod.c: Likewise.
27023         * lib/mknodat.c: Likewise.
27024         * lib/readlink.c: Likewise.
27025         * lib/se-context.in.h: Likewise.
27026         * lib/se-selinux.in.h: Likewise.
27027         * lib/sockets.c: Likewise.
27028         * lib/symlink.c: Likewise.
27029         * lib/symlinkat.c: Likewise.
27030         * lib/unicodeio.c: Likewise.
27031         * lib/unistr.h: Likewise.
27032         * tests/test-areadlink.c: Likewise.
27033         * tests/test-areadlinkat.c: Likewise.
27034         * tests/test-filenamecat.c: Likewise.
27035         * tests/test-fseeko.c: Likewise.
27036         * tests/test-ftello.c: Likewise.
27037         * tests/test-getdate.c: Likewise.
27038         * tests/test-getgroups.c: Likewise.
27039         * tests/test-gethostname.c: Likewise.
27040         * tests/test-quotearg.c: Likewise.
27041         * tests/test-version-etc.c: Likewise.
27042         * tests/test-xalloc-die.c: Likewise.
27043         * tests/test-xfprintf-posix.c: Likewise.
27044         * tests/test-xprintf-posix.c: Likewise.
27045         * tests/test-xvasprintf.c: Likewise.
27046
27047         tests: avoid compiler warnings
27048         * tests/test-fcntl.c (main): Delete unused parameters.
27049         * tests/test-freopen-safer.c (main): Likewise.
27050         * tests/test-xalloc-die.c (main): Mark unused parameters.
27051         * tests/test-fseeko.c (main): Likewise.
27052         * tests/test-ftello.c (main): Likewise.
27053         * tests/test-nanosleep.c (main): Avoid declaration warning.
27054         * tests/test-sleep.c (main): Likewise.
27055         * tests/test-unsetenv.c (main): Silence warning about string
27056         literal.
27057         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27058
27059 2009-12-23  Bruno Haible  <bruno@clisp.org>
27060
27061         * tests/test-localename.c (test_locale_name): New function, extracted
27062         from main. Also test mixed situations.
27063         (test_locale_name_posix, test_locale_name_environ,
27064         test_locale_name_default): New functions.
27065         (main): Invoke them all.
27066         * modules/localename-tests (configure.ac): Test for newlocale.
27067
27068 2009-12-23  Bruno Haible  <bruno@clisp.org>
27069
27070         unistd: Ensure getcwd gets declared before being overridden.
27071         * lib/unistd.in.h: Conditionally include <io.h>.
27072
27073 2009-12-22  Bruno Haible  <bruno@clisp.org>
27074
27075         wchar: Diagnose broken combination of glibc and gcc versions and flags.
27076         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
27077         (gl_WCHAR_H): Invoke it.
27078         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
27079         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
27080         Reported by Karl Berry <karl@freefriends.org>.
27081
27082 2009-12-22  Eric Blake  <ebb9@byu.net>
27083
27084         math, unistd: avoid redundant includes
27085         * lib/math.in.h (isnan): No need to re-include <math.h>.
27086         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
27087
27088         getsubopt: work around cygwin bug
27089         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
27090         avoid conflicting with system getsubopt.
27091         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
27092         bug.
27093
27094         getopt: synchronize from glibc
27095         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
27096         parameter order.  Adjust all callers.
27097         (_getopt_internal_r, main): Adjust quoting in error messages.
27098         Drop considerations for outdated POSIX 1003.2 error message.
27099         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
27100         callers.
27101         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
27102
27103         test-getopt: test stderr behavior
27104         * modules/getopt-posix-tests (Depends-on): Add dup2.
27105         * tests/test-getopt.c (ASSERT): Avoid stderr.
27106         (main): Move stderr to a temporary file.
27107         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
27108         Instead, add parameter to inform caller if output occurred.
27109         (test_getopt): Adjust all existing tests to expect silence, and
27110         add new tests of leading ":".
27111         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27112         glibc shortcomings with leading "-:" or "+:" in optstring.
27113         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27114         Likewise.
27115         * doc/posix-functions/getopt.texi (getopt): Likewise.
27116
27117         test-getopt: enhance test
27118         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
27119         supports optind=0.
27120         * tests/test-getopt.c (OPTIND_MIN): Move...
27121         * tests/test-getopt.h (OPTIND_MIN): ...here.
27122         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
27123         Require that optind=0 works, since modern BSD supports it in
27124         addition to optreset, and since coreutils expects it.
27125         (test_getopt_long_only): New test.
27126         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27127         glibc shortcomings with 'W;', and enforcement of optind=0.
27128         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27129         Likewise.
27130
27131 2009-12-21  Bruno Haible  <bruno@clisp.org>
27132
27133         localename: Improvements for MacOS X and Cygwin.
27134         * lib/localename.h (gl_locale_name_environ): New declaration.
27135         * lib/localename.c (gl_locale_name_environ): New function, extracted from
27136         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
27137         (gl_locale_name_posix): Invoke it.
27138         (gl_locale_name_default): Add comments. Use Windows native API also on
27139         Cygwin.
27140
27141 2009-12-21  Bruno Haible  <bruno@clisp.org>
27142
27143         Update list of Win32 locale ids.
27144         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
27145         (LANG_SAMI): Renamed from LANG_SAAMI.
27146         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
27147         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
27148         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
27149         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
27150         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
27151         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
27152         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
27153         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
27154         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
27155         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
27156         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
27157         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
27158         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
27159         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
27160         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
27161         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
27162         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
27163         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
27164         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
27165         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
27166         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
27167         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
27168         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
27169         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
27170         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
27171         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
27172         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
27173         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
27174         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
27175         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
27176         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
27177         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
27178         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
27179         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
27180         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
27181         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
27182         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
27183         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
27184         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
27185         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
27186         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
27187         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
27188         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
27189         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
27190         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
27191         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
27192         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
27193         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
27194         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
27195         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
27196         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
27197         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
27198         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
27199         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
27200         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
27201         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
27202         Add more languages and countries for Sami, Sorbian. Add more countries
27203         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
27204         for Pashto. Change country for Syriac, Tswana.
27205
27206 2009-12-21  Eric Blake  <ebb9@byu.net>
27207
27208         test-utimens: avoid spurious failure
27209         * tests/test-chown.h (nap): Factor...
27210         * tests/nap.h: ...into new file.
27211         * tests/test-lchown.h (nap): Avoid duplication.
27212         * tests/test-utimens-common.h (nap): Use shared implementation,
27213         necessary on file systems with 1-second resolution.
27214         * modules/chown-tests (Files): Include new file.
27215         * modules/fdutimensat-tests (Files): Likewise.
27216         * modules/futimens-tests (Files): Likewise.
27217         * modules/lchown-tests (Files): Likewise.
27218         * modules/openat-tests (Files): Likewise.
27219         * modules/utimens-tests (Files): Likewise.
27220         * modules/utimensat-tests (Files): Likewise.
27221
27222 2009-12-19  Eric Blake  <ebb9@byu.net>
27223
27224         futimens, utimensat: work around Linux bug
27225         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
27226         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27227         * lib/utimensat.c (rpl_utimensat): Work around it.
27228         * lib/futimens.c (rpl_futimens): Adjust comment.
27229
27230         utimens: work around Linux ctime bug
27231         * lib/utimens.c (detect_ctime_bug): New helper function.
27232         (update_timespec): Differentiate between workaround needed for
27233         this bug vs. what is needed for systems that lack utimensat.
27234         (fdutimens, lutimens): Work around bug.
27235
27236         utimens: check for ctime update
27237         * tests/test-utimens-common.h (check_ctime): Define.
27238         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
27239         * tests/test-futimens.h (test_futimens): Likewise.
27240         * tests/test-lutimens.h (test_lutimens): Likewise.
27241         * doc/posix-functions/futimens.texi (futimens): Document the bug.
27242         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27243
27244 2009-12-19  Bruno Haible  <bruno@clisp.org>
27245
27246         dprintf-posix: Check against memory leak fixed on 2009-12-15.
27247         * tests/test-dprintf-posix2.sh: New file.
27248         * tests/test-dprintf-posix2.c: New file.
27249         * modules/dprintf-posix-tests (Files): Add them.
27250         (configure.ac): Check for getrlimit and setrlimit.
27251         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
27252
27253 2009-12-19  Bruno Haible  <bruno@clisp.org>
27254
27255         fprintf-posix: Check against memory leak fixed on 2009-12-15.
27256         * tests/test-fprintf-posix3.sh: New file.
27257         * tests/test-fprintf-posix3.c: New file.
27258         * modules/fprintf-posix-tests (Files): Add them.
27259         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
27260
27261 2009-12-19  Eric Blake  <ebb9@byu.net>
27262
27263         dirfd: fix prototype
27264         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
27265         * lib/dirfd.c (dirfd): Likewise.
27266
27267         canonicalize: reduce memory usage
27268         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
27269         allocation to size.
27270         Reported by Solar Designer <solar@openwall.com>.
27271
27272 2009-12-19  Bruno Haible  <bruno@clisp.org>
27273
27274         New module attribute 'Applicability'.
27275         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
27276         * gnulib-tool: New option --extract-applicability.
27277         (func_usage): Document it.
27278         (sed_extract_prog): Recognize it.
27279         (func_get_applicability): New function.
27280         (func_import): Generalize handling of 'link-warning' module.
27281         * modules/link-warning (Applicability): New section.
27282         * modules/arg-nonnull (Applicability): New section.
27283         Repoted by Simon Josefsson <simon@josefsson.org>.
27284
27285 2009-12-19  Bruno Haible  <bruno@clisp.org>
27286
27287         fflush: tweak
27288         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
27289         * lib/fseeko.c (rpl_fseeko): Likewise.
27290
27291 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
27292
27293         * lib/gl_list.h: Fix typo in comment.
27294
27295 2009-12-16  Eric Blake  <ebb9@byu.net>
27296
27297         fcntl: use to simplify other modules
27298         * modules/cloexec (Depends-on): Add fcntl.
27299         * modules/fchdir (Depends-on): Likewise.
27300         * modules/fd-safer-flag (Depends-on): Likewise.
27301         * modules/unistd-safer (Depends-on): Likewise.
27302         * modules/dup3 (configure.ac): Set module indicator.
27303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
27304         missing.
27305         * lib/fchdir.c (_gl_register_dup): Fix comment.
27306         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
27307         * lib/dup-safer.c (dup_safer): Likewise.
27308         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
27309         * lib/dup3.c (dup3): Likewise.
27310         * tests/test-fchdir.c (main): Enhance test.
27311         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
27312
27313         fcntl: port portions of fcntl to mingw
27314         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
27315         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
27316         replacement for mingw.
27317         * modules/fcntl (Description): Update.
27318         (Depends-on): Add dup2.
27319         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
27320         * modules/fcntl-h (Makefile.am): Substitute it.
27321         * lib/fcntl.in.h (fcntl): Update declaration.
27322         (F_DUPFD, F_GETFD): New macros, when needed.
27323         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27324         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
27325         * tests/test-fcntl.c (check_flags, main): Enhance test for items
27326         we now guarantee.
27327
27328         fcntl: work around cygwin bug in F_DUPFD
27329         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
27330         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
27331         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
27332         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
27333         * doc/posix-functions/fcntl.texi (fcntl): Document it.
27334
27335         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
27336         * modules/fcntl (Files): List new files.
27337         (configure.ac): Run a test.
27338         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
27339         * lib/fcntl.c (rpl_fcntl): Likewise.
27340         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
27341         (gl_FCNTL_H): Always replace fcntl.h.
27342         * modules/fcntl-h (Makefile.am): Substitute witnesses.
27343         * lib/fcntl.in.h (fcntl): Declare replacement.
27344         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
27345         needed, plus a witness.
27346         * doc/posix-functions/fcntl.texi (fcntl): Document this.
27347         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
27348         * tests/test-fcntl.c: New file.
27349         * modules/fcntl-tests: Likewise.
27350
27351         binary-io: avoid potential compilation warning
27352         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
27353         directives.
27354
27355         fflush: avoid compilation error on NetBSD
27356         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
27357         between off_t and fpos_t, since the latter is sometimes a struct.
27358         * lib/fseeko.c (rpl_fseeko): Likewise.
27359         Reported by Alexander Nasonov <alnsn@yandex.ru>.
27360
27361 2009-12-15  Eric Blake  <ebb9@byu.net>
27362
27363         fcntl-h, stdio, sys_ioctl: fix declarations
27364         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
27365         function must not take arguments.
27366         * lib/sys_ioctl.in.h (ioctl): Likewise.
27367         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
27368         (open): Add a link warning.
27369
27370 2009-12-15  Jim Meyering  <meyering@redhat.com>
27371
27372         areadlink, areadlink-with-size: relax license to LGPLv2+
27373         * modules/areadlink (License): Relax to LGPLv2+.
27374         * modules/areadlink-with-size (License): Likewise.
27375
27376 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
27377             Bruno Haible  <bruno@clisp.org>
27378
27379         *printf: Fix memory leak.
27380         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
27381         * lib/vfprintf.c (vfprintf): Likewise.
27382         * lib/dprintf.c (dprintf): Likewise.
27383         * lib/vdprintf.c (vdprintf): Likewise.
27384
27385 2009-12-14  Eric Blake  <ebb9@byu.net>
27386
27387         accept4: adjust module dependencies
27388         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
27389
27390         utimens: one more try at avoiding compiler warning
27391         * lib/utimens.c (lutimens): Lower scope of result.
27392
27393 2009-12-13  Bruno Haible  <bruno@clisp.org>
27394
27395         Move the malloc checking from module 'list' to new module 'xlist'.
27396         * modules/xlist: New file.
27397         * lib/gl_xlist.h: New file.
27398         * lib/gl_xlist.c: New file.
27399         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
27400         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
27401         gl_list_add_last, gl_list_add_before, gl_list_add_after,
27402         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
27403         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
27404         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
27405         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
27406         gl_sortedlist_nx_add): New declarations.
27407         (struct gl_list_implementation): Rename and change methods accordingly.
27408         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
27409         (gl_list_nx_create): Renamed from gl_list_create.
27410         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
27411         (gl_list_nx_set_at): Renamed from gl_list_set_at.
27412         (gl_list_nx_add_first): Renamed from gl_list_add_first.
27413         (gl_list_nx_add_last): Renamed from gl_list_add_last.
27414         (gl_list_nx_add_before): Renamed from gl_list_add_before.
27415         (gl_list_nx_add_after): Renamed from gl_list_add_after.
27416         (gl_list_nx_add_at): Renamed from gl_list_add_at.
27417         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
27418         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
27419         gl_list_create_empty.
27420         (gl_list_nx_create): Renamed from gl_list_create.
27421         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
27422         (gl_list_nx_set_at): Renamed from gl_list_set_at.
27423         (gl_list_nx_add_first): Renamed from gl_list_add_first.
27424         (gl_list_nx_add_last): Renamed from gl_list_add_last.
27425         (gl_list_nx_add_before): Renamed from gl_list_add_before.
27426         (gl_list_nx_add_after): Renamed from gl_list_add_after.
27427         (gl_list_nx_add_at): Renamed from gl_list_add_at.
27428         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
27429         * lib/gl_array_list.c: Don't include xalloc.h.
27430         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
27431         NULL upon out-of-memory.
27432         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
27433         out-of-memory.
27434         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
27435         Change return type to 'int'.
27436         (gl_array_nx_set_at): Renamed from gl_array_set_at.
27437         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
27438         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
27439         upon out-of-memory.
27440         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
27441         upon out-of-memory.
27442         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
27443         upon out-of-memory.
27444         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
27445         upon out-of-memory.
27446         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
27447         out-of-memory.
27448         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
27449         Update.
27450         (gl_array_list_implementation): Update.
27451         * lib/gl_carray_list.c: Don't include xalloc.h.
27452         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
27453         Return NULL upon out-of-memory.
27454         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
27455         out-of-memory.
27456         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
27457         Change return type to 'int'.
27458         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
27459         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
27460         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
27461         upon out-of-memory.
27462         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
27463         upon out-of-memory.
27464         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
27465         out-of-memory.
27466         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
27467         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
27468         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
27469         Update.
27470         (gl_carray_list_implementation): Update.
27471         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
27472         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
27473         gl_linked_create_empty. Return NULL upon out-of-memory.
27474         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
27475         out-of-memory.
27476         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
27477         Change return type to 'int'. Return -1 upon out-of-memory.
27478         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
27479         out-of-memory.
27480         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
27481         upon out-of-memory.
27482         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
27483         upon out-of-memory.
27484         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
27485         NULL upon out-of-memory.
27486         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
27487         upon out-of-memory.
27488         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
27489         out-of-memory.
27490         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
27491         Update.
27492         * lib/gl_linked_list.c: Don't include xalloc.h.
27493         (gl_linked_list_implementation): Update.
27494         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
27495         (add_to_bucket): Change return type to 'int'.
27496         (gl_linkedhash_list_implementation): Update.
27497         * lib/gl_anytree_list1.h (free_subtree): New function.
27498         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
27499         gl_tree_create_empty. Return NULL upon out-of-memory.
27500         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
27501         Change return type to 'int'. Return -1 upon out-of-memory.
27502         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
27503         out-of-memory.
27504         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
27505         (gl_tree_remove_node): New function, moved here from
27506         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
27507         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
27508         Update.
27509         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
27510         malloc, not xmalloc. Return NULL upon out-of-memory.
27511         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27512         out-of-memory.
27513         (gl_tree_remove_node_from_tree): New function, extracted from
27514         gl_tree_remove_node.
27515         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27516         upon out-of-memory.
27517         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27518         out-of-memory.
27519         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27520         upon out-of-memory.
27521         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27522         upon out-of-memory.
27523         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27524         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
27525         not xmalloc. Return NULL upon out-of-memory.
27526         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27527         out-of-memory.
27528         (gl_tree_remove_node_from_tree): New function, extracted from
27529         gl_tree_remove_node.
27530         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27531         upon out-of-memory.
27532         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27533         out-of-memory.
27534         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27535         upon out-of-memory.
27536         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27537         upon out-of-memory.
27538         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27539         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
27540         gl_anytree_list1.h before gl_anyavltree_list2.h.
27541         (gl_avltree_list_implementation): Update.
27542         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
27543         gl_anytree_list1.h before gl_anyavltree_list2.h.
27544         (gl_rbtree_list_implementation): Update.
27545         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
27546         Change return type to 'int'. Return -1 upon out-of-memory. Use
27547         __builtin_expect.
27548         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
27549         (gl_avltreehash_list_implementation): Update.
27550         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
27551         (gl_rbtreehash_list_implementation): Update.
27552         * modules/array-list (Depends-on): Remove xalloc.
27553         * modules/carray-list (Depends-on): Likewise.
27554         * modules/linked-list (Depends-on): Likewise.
27555         * modules/linkedhash-list (Depends-on): Likewise.
27556         * modules/avltree-list (Depends-on): Likewise.
27557         * modules/rbtree-list (Depends-on): Likewise.
27558         * modules/avltreehash-list (Depends-on): Likewise.
27559         * modules/rbtreehash-list (Depends-on): Likewise.
27560
27561         * modules/xsublist: New file.
27562         * lib/gl_xsublist.h: New file.
27563         * lib/gl_xsublist.c: New file.
27564         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
27565         (gl_sublist_nx_create): New declaration.
27566         * lib/gl_sublist.c: Don't include xalloc.h.
27567         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
27568         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
27569         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
27570         Change return type to 'int'. Return -1 upon out-of-memory.
27571         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
27572         upon out-of-memory.
27573         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
27574         NULL upon out-of-memory.
27575         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
27576         upon out-of-memory.
27577         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
27578         NULL upon out-of-memory.
27579         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
27580         NULL upon out-of-memory.
27581         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
27582         upon out-of-memory.
27583         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
27584         (gl_sublist_list_implementation): Update.
27585         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
27586         upon out-of-memory.
27587         * modules/sublist (Depends-on): Remove xalloc.
27588
27589         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
27590         * tests/test-carray_list.c: Likewise.
27591         * tests/test-linked_list.c: Likewise.
27592         * tests/test-linkedhash_list.c: Likewise.
27593         * tests/test-avltree_list.c: Likewise.
27594         * tests/test-rbtree_list.c: Likewise.
27595         * tests/test-avltreehash_list.c: Likewise.
27596         * tests/test-rbtreehash_list.c: Likewise.
27597         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
27598         * modules/carray-list-tests (Makefile.am): Likewise.
27599         * modules/linked-list-tests (Makefile.am): Likewise.
27600         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27601         * modules/avltree-list-tests (Makefile.am): Likewise.
27602         * modules/rbtree-list-tests (Makefile.am): Likewise.
27603         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27604         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27605
27606         * NEWS: Mention the changes.
27607
27608         * lib/clean-temp.c: Include gl_xlist.h.
27609         * modules/clean-temp (Depends-on): Add xlist.
27610
27611         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
27612         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
27613
27614         * tests/test-array_oset.c: Include gl_xlist.h.
27615         * modules/array-oset-tests (Depends-on): Add xlist.
27616
27617         Reported by José E. Marchesi <jemarch@gnu.org>.
27618
27619 2009-12-13  Bruno Haible  <bruno@clisp.org>
27620
27621         Move the malloc checking from module 'oset' to new module 'xoset'.
27622         * modules/xoset: New file.
27623         * lib/gl_xoset.h: New file.
27624         * lib/gl_xoset.c: New file.
27625         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
27626         declarations.
27627         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
27628         (struct gl_oset_implementation): Rename and change methods accordingly.
27629         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
27630         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
27631         'int'. Mark as __warn_unused_result__.
27632         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
27633         gl_oset_create_empty.
27634         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
27635         'int'.
27636         * lib/gl_array_oset.c: Don't include xalloc.h.
27637         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
27638         malloc, not xmalloc.
27639         (grow): Change return type to 'int'. Don't call xalloc_die.
27640         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
27641         to 'int'.
27642         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
27643         'int'.
27644         (gl_array_oset_implementation): Update.
27645         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
27646         gl_tree_create_empty.
27647         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
27648         'int'.
27649         * lib/gl_avltree_oset.c: Don't include xalloc.h.
27650         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
27651         xmalloc.
27652         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
27653         not xmalloc.
27654         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
27655         xmalloc.
27656         (gl_avltree_oset_implementation): Update.
27657         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
27658         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
27659         xmalloc.
27660         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
27661         not xmalloc.
27662         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
27663         xmalloc.
27664         (gl_rbtree_oset_implementation): Update.
27665         * modules/array-oset (Depends-on): Remove xalloc.
27666         * modules/avltree-oset (Depends-on): Likewise.
27667         * modules/rbtree-oset (Depends-on): Likewise.
27668         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
27669         * tests/test-avltree_oset.c: Likewise.
27670         * tests/test-rbtree_oset.c: Likewise.
27671         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
27672         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
27673         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27674         * NEWS: Mention the change.
27675
27676 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
27677
27678         maint.mk: allow a project to override release-prep commands
27679         * top/maint.mk (alpha, beta, stable): Move release-preparatory
27680         commands into a new rule.
27681         (release-prep): New rule.
27682         (release-prep-hook): New overridable variable.
27683
27684 2009-12-13  Bruno Haible  <bruno@clisp.org>
27685
27686         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
27687
27688 2009-12-13  Jim Meyering  <meyering@redhat.com>
27689
27690         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
27691         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
27692
27693 2009-12-12  Bruno Haible  <bruno@clisp.org>
27694
27695         duplocale: Tweak.
27696         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
27697
27698 2009-12-12  Karl Berry  <karl@gnu.org>
27699
27700         * config/srclist.txt (strtoll.c): tab changes, no more sync.
27701
27702 2009-12-12  Bruno Haible  <bruno@clisp.org>
27703
27704         * m4/po.m4: Undo incorrect untabification.
27705
27706 2009-12-12  Bruno Haible  <bruno@clisp.org>
27707
27708         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
27709         * modules/c-strtod (Depends-on): Add locale.
27710         * modules/c-strtold (Depends-on): Likewise.
27711
27712 2009-12-12  Bruno Haible  <bruno@clisp.org>
27713
27714         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
27715
27716 2009-12-11  Eric Blake  <ebb9@byu.net>
27717
27718         setenv: relax requirement in light of POSIX ruling
27719         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
27720         not NULL.
27721         * tests/test-setenv.c (main): Relax test.
27722         * tests/test-unsetenv.c (main): Likewise.
27723         * doc/posix-functions/setenv.texi (setenv): Document this.
27724         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
27725
27726 2009-12-11  Bruno Haible  <bruno@clisp.org>
27727
27728         New module 'fd-safer-flag'.
27729         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
27730         * lib/dup-safer.c (dup_safer_flag): Remove function.
27731         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
27732         * lib/fd-safer.c (fd_safer_flag): Remove function.
27733         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
27734         * modules/cloexec (configure.ac): Drop indicator macro.
27735         * modules/fd-safer-flag: New file.
27736         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
27737         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
27738         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
27739
27740 2009-12-11  Bruno Haible  <bruno@clisp.org>
27741
27742         Tests for module 'nl_langinfo'.
27743         * modules/nl_langinfo-tests: New file.
27744         * tests/test-nl_langinfo.sh: New file.
27745         * tests/test-nl_langinfo.c: New file.
27746
27747         New module 'nl_langinfo'.
27748         * lib/nl_langinfo.c: New file.
27749         * m4/nl_langinfo.m4: New file.
27750         * modules/nl_langinfo: New file.
27751         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
27752
27753 2009-12-11  Bruno Haible  <bruno@clisp.org>
27754
27755         Tests for module 'langinfo'.
27756         * modules/langinfo-tests: New file.
27757         * tests/test-langinfo.c: New file.
27758
27759         New module 'langinfo'.
27760         * lib/langinfo.in.h: New file.
27761         * m4/langinfo_h.m4: New file.
27762         * modules/langinfo: New file.
27763         * doc/posix-headers/langinfo.texi: Mention the new module.
27764
27765 2009-12-11  Bruno Haible  <bruno@clisp.org>
27766
27767         * lib/config.charset: Untabify.
27768
27769 2009-12-11  Bruno Haible  <bruno@clisp.org>
27770
27771         * modules/unistd-safer (configure.ac): Drop indicator macro.
27772
27773 2009-12-11  Bruno Haible  <bruno@clisp.org>
27774
27775         Move pipe2-safer code to its own file.
27776         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
27777         * lib/pipe-safer.c (pipe2_safer): Remove function.
27778         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
27779         (Makefile.am): Add it to lib_SOURCES.
27780
27781 2009-12-10  Bruno Haible  <bruno@clisp.org>
27782
27783         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
27784
27785 2009-12-10  Bruno Haible  <bruno@clisp.org>
27786
27787         Declare which arguments expect non-NULL values, for GCC and clang.
27788         * build-aux/arg-nonnull.h: New file.
27789         * modules/arg-nonnull: New file.
27790         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
27791         (inet_ntop, inet_pton): Use it.
27792         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
27793         (closedir, dirfd, opendir, scandir, alphasort): Use it.
27794         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
27795         (open, openat): Use it.
27796         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
27797         (fnmatch): Use it.
27798         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
27799         (getopt, getopt_long, getopt_long_only): Use it.
27800         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
27801         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
27802         Use it.
27803         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
27804         (iconv_open): Use it.
27805         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
27806         (strtoimax, strtoumax): Use it.
27807         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
27808         (duplocale): Use it.
27809         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
27810         (frexp, frexpl): Use it.
27811         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
27812         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
27813         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
27814         (tsearch, tfind, tdelete, twalk): Use it.
27815         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
27816         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
27817         sigpending): Use it.
27818         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
27819         (posix_spawn, posix_spawnp, posix_spawnattr_init,
27820         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
27821         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
27822         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
27823         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
27824         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
27825         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
27826         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
27827         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
27828         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
27829         Use it.
27830         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
27831         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
27832         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
27833         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
27834         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
27835         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
27836         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
27837         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
27838         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
27839         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
27840         strtoull, unsetenv): Use it.
27841         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
27842         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
27843         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
27844         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
27845         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
27846         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
27847         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
27848         (strcasecmp, strncasecmp): Use it.
27849         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
27850         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
27851         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
27852         rpl_setsockopt): Use it.
27853         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
27854         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
27855         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
27856         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
27857         (gettimeofday): Use it.
27858         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
27859         (times): Use it.
27860         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
27861         (uname): Use it.
27862         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
27863         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
27864         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
27865         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
27866         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
27867         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
27868         unlinkat, write): Use it.
27869         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
27870         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
27871         * lib/argv-iter.h: Include arg-nonnull.h.
27872         (_ATTRIBUTE_NONNULL_): Remove macro.
27873         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
27874         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
27875         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
27876         optimization.
27877         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
27878         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
27879         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
27880         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
27881         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
27882         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
27883         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
27884         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
27885         * modules/arpa_inet (Depends-on): Add arg-nonnull.
27886         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
27887         * modules/dirent (Depends-on): Add arg-nonnull.
27888         (Makefile.am): Insert arg-nonnull.h into dirent.h.
27889         * modules/fcntl-h (Depends-on): Add arg-nonnull.
27890         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
27891         * modules/fnmatch (Depends-on): Add arg-nonnull.
27892         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
27893         * modules/getopt-posix (Depends-on): Add arg-nonnull.
27894         (Makefile.am): Insert arg-nonnull.h into getopt.h.
27895         * modules/glob (Depends-on): Add arg-nonnull.
27896         (Makefile.am): Insert arg-nonnull.h into glob.h.
27897         * modules/iconv_open (Depends-on): Add arg-nonnull.
27898         (Makefile.am): Insert arg-nonnull.h into iconv.h.
27899         * modules/inttypes (Depends-on): Add arg-nonnull.
27900         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
27901         * modules/locale (Depends-on): Add arg-nonnull.
27902         (Makefile.am): Insert arg-nonnull.h into locale.h.
27903         * modules/math (Depends-on): Add arg-nonnull.
27904         (Makefile.am): Insert arg-nonnull.h into math.h.
27905         * modules/netdb (Depends-on): Add arg-nonnull.
27906         (Makefile.am): Insert arg-nonnull.h into netdb.h.
27907         * modules/search (Depends-on): Add arg-nonnull.
27908         (Makefile.am): Insert arg-nonnull.h into search.h.
27909         * modules/signal (Depends-on): Add arg-nonnull.
27910         (Makefile.am): Insert arg-nonnull.h into signal.h.
27911         * modules/spawn (Depends-on): Add arg-nonnull.
27912         (Makefile.am): Insert arg-nonnull.h into spawn.h.
27913         * modules/stdio (Depends-on): Add arg-nonnull.
27914         (Makefile.am): Insert arg-nonnull.h into stdio.h.
27915         * modules/stdlib (Depends-on): Add arg-nonnull.
27916         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
27917         * modules/string (Depends-on): Add arg-nonnull.
27918         (Makefile.am): Insert arg-nonnull.h into string.h.
27919         * modules/strings (Depends-on): Add arg-nonnull.
27920         (Makefile.am): Insert arg-nonnull.h into strings.h.
27921         * modules/sys_socket (Depends-on): Add arg-nonnull.
27922         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
27923         * modules/sys_stat (Depends-on): Add arg-nonnull.
27924         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
27925         * modules/sys_time (Depends-on): Add arg-nonnull.
27926         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
27927         * modules/sys_times (Depends-on): Add arg-nonnull.
27928         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
27929         * modules/sys_utsname (Depends-on): Add arg-nonnull.
27930         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
27931         * modules/time (Depends-on): Add arg-nonnull.
27932         (Makefile.am): Insert arg-nonnull.h into time.h.
27933         * modules/unistd (Depends-on): Add arg-nonnull.
27934         (Makefile.am): Insert arg-nonnull.h into unistd.h.
27935         * modules/wchar (Depends-on): Add arg-nonnull.
27936         (Makefile.am): Insert arg-nonnull.h into wchar.h.
27937         * modules/argv-iter (Depends-on): Add arg-nonnull.
27938         * tests/test-canonicalize.c (null_ptr): New function.
27939         (main): Use it.
27940         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
27941         (main): Use it.
27942         * tests/test-memmem.c (null_ptr): New function.
27943         (main): Use it.
27944         Reported by Jim Meyering.
27945
27946 2009-12-10  Bruno Haible  <bruno@clisp.org>
27947
27948         Use spaces for indentation, not tabs.
27949         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27950         * m4/*.m4: Untabify.
27951         * build-aux/*.h: Untabify.
27952         * tests/**/*.[hc]: Untabify.
27953         * README: New section "Indent with spaces, not TABs", based on
27954         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
27955         * NEWS: Mention the change.
27956
27957 2009-12-10  Bruno Haible  <bruno@clisp.org>
27958
27959         pty test: Fix link error.
27960         * modules/pty-tests (Makefile.am): Add the default LDADD value to
27961         test_pty_LDADD.
27962
27963 2009-12-07  Simon Josefsson  <simon@josefsson.org>
27964
27965         * modules/pty: New file.
27966         * modules/pty-tests: New file.
27967         * m4/pty.m4: New file.
27968         * tests/test-pty.c: New file.
27969         * doc/glibc-headers/pty.texi: Modified.
27970         * doc/glibc-functions/forkpty.texi: Modified.
27971         * doc/glibc-functions/openpty.texi: Modified.
27972
27973 2009-12-10  Bruno Haible  <bruno@clisp.org>
27974
27975         Avoid syntax error in C++ mode.
27976         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
27977
27978 2009-12-10  Bruno Haible  <bruno@clisp.org>
27979
27980         Use sed with option -e.
27981         * gnulib-tool (func_version, func_emit_copyright_notice,
27982         func_emit_initmacro_end, func_import, func_create_testdir): Pass
27983         option -e to sed.
27984         * modules/link-warning (Makefile.am): Likewise.
27985
27986 2009-12-10  Jim Meyering  <meyering@redhat.com>
27987
27988         mgetgroups: do not write bytes beyond end of malloc'd buffer
27989         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
27990         username, we call getgroups with a one-element-shorter buffer,
27991         but still told it the length was original, max_n_groups.
27992
27993 2009-12-09  Eric Blake  <ebb9@byu.net>
27994
27995         cloexec: relax license
27996         * modules/cloexec (Maintainer): Add myself.
27997         (License): Use LGPL, not GPL.
27998
27999         link-warning: optimize generation
28000         * modules/link-warning (Makefile.am): Reduce process usage.
28001
28002 2009-12-09  Bruno Haible  <bruno@clisp.org>
28003
28004         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
28005         workaround was added on 2009-11-17.
28006
28007 2009-12-09  Jim Meyering  <meyering@redhat.com>
28008             Bruno Haible  <bruno@clisp.org>
28009
28010         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
28011         * modules/link-warning (Makefile.am): Make the comment-removing sed
28012         command more robust in the face of bootstrap-prepended comment lines.
28013
28014 2009-12-09  Bruno Haible  <bruno@clisp.org>
28015
28016         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
28017         most one group.
28018
28019 2009-12-09  Simon Josefsson <simon@josefsson.org>
28020             Bruno Haible  <bruno@clisp.org>
28021
28022         * build-aux/link-warning.h: Add copyright notice.
28023         * modules/link-warning (Makefile.am): Generate link-warning.h from
28024         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
28025         * NEWS: Mention change in link-warning module.
28026         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
28027         * modules/dirent (Makefile.am): Add dependency to dirent.h.
28028         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
28029         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
28030         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
28031         * modules/math (Makefile.am): Add dependency to math.h.
28032         * modules/search (Makefile.am): Add dependency to search.h.
28033         * modules/signal (Makefile.am): Add dependency to signal.h.
28034         * modules/spawn (Makefile.am): Add dependency to spawn.h.
28035         * modules/stdio (Makefile.am): Add dependency to stdio.h.
28036         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
28037         * modules/string (Makefile.am): Add dependency to string.h.
28038         * modules/strings (Makefile.am): Add dependency to strings.h.
28039         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
28040         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
28041         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
28042         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
28043         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
28044         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
28045         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
28046         * modules/unistd (Makefile.am): Add dependency to unistd.h.
28047         * modules/wchar (Makefile.am): Add dependency to wchar.h.
28048
28049 2009-12-09  Bruno Haible  <bruno@clisp.org>
28050
28051         fchdir: Optimize away rpl_fstat when possible.
28052         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
28053         REPLACE_OPEN_DIRECTORY.
28054         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
28055
28056 2009-12-09  Bruno Haible  <bruno@clisp.org>
28057
28058         * lib/fchdir.c: Update comment.
28059
28060 2009-12-09  Bruno Haible  <bruno@clisp.org>
28061
28062         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
28063
28064 2009-12-08  Eric Blake  <ebb9@byu.net>
28065
28066         fchdir: avoid memory leak on re-registration.
28067         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
28068
28069 2009-12-08  Jim Meyering  <meyering@redhat.com>
28070
28071         init.sh: avoid Solaris 10 /bin/sh portability problem
28072         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
28073         sourced script:
28074           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
28075           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
28076           bar
28077         tests/init.sh relied on that, accepting a --set-path=DIR argument,
28078         and two tests used that idiom.
28079         * tests/init.sh: Update suggested usage comments.
28080         (path_prepend_): New function, to be used in place
28081         of the --src-path=DIR option.
28082         (setup_): Move PATH-prepending code into path_prepend_.
28083         * tests/test-pread.sh: Adapt to new usage.
28084         * tests/test-xalloc-die.sh: Likewise.
28085
28086 2009-12-08  Simon Josefsson  <simon@josefsson.org>
28087
28088         * doc/gnulib.texi (Glibc pty.h): Add.
28089         * doc/glibc-functions/forkpty.texi: Add.
28090         * doc/glibc-functions/openpty.texi: Add.
28091         Suggested by Bruno Haible.
28092
28093 2009-12-08  Eric Blake  <ebb9@byu.net>
28094
28095         fchdir: fix logic bugs
28096         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
28097         * tests/test-fchdir.c (main): Enhance test.
28098         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
28099         is in use.
28100
28101         dup2: fix logic bugs
28102         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
28103         REPLACE_DUP2 to decide when rpl_dup2 is needed.
28104         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
28105         exists.
28106         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
28107
28108 2009-12-07  Eric Blake  <ebb9@byu.net>
28109
28110         unlink: fix m4 detection
28111         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
28112
28113         unistd-safer: add unit test
28114         * modules/unistd-safer-tests: New file.
28115         * tests/test-dup-safer.c: Likewise.
28116         * tests/test-cloexec.c (setmode): Avoid compiler warning.
28117         * tests/test-dup2.c (setmode): Likewise.
28118         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
28119
28120         cloexec: preserve text vs. binary across dup_cloexec
28121         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
28122         mode.
28123         * modules/dup2-tests (Depends-on): Add binary-io.
28124         * modules/cloexec-tests (Depends-on): Likewise.
28125         * tests/test-dup2.c (setmode, is_mode): New helpers.
28126         (main): Add tests that translation mode is preserved.
28127         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
28128         Reported by Bruno Haible.
28129
28130         mgetgroups: reduce duplicate listings
28131         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
28132         resulting array.
28133         * tests/test-chown.h (test_chown): Simplify client.
28134         * tests/test-lchown.h (test_lchown): Likewise.
28135
28136 2009-12-06  Bruno Haible  <bruno@clisp.org>
28137
28138         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
28139         value.
28140
28141 2009-12-06  Bruno Haible  <bruno@clisp.org>
28142
28143         * lib/progname.c: Include stdio.h, stdlib.h.
28144         (set_program_name): Reject a NULL argument.
28145
28146 2009-12-05  Eric Blake  <ebb9@byu.net>
28147
28148         pipe2-safer: new module
28149         * modules/pipe2-safer: New file.
28150         * lib/unistd-safer.h (pipe2_safer): New prototype.
28151         * lib/unistd--.h (pipe2): New wrapper.
28152         * lib/pipe-safer.c (pipe2_safer): New function.
28153         * modules/pipe (Depends-on): Add pipe2-safer.
28154         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
28155
28156         stdlib-safer: preserve cloexec flag for mkostemp[s]
28157         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
28158         fd_safer_flag.
28159
28160         unistd-safer: allow preservation of cloexec status via flag
28161         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
28162         prototypes.
28163         * lib/dup-safer.c (dup_safer_flag): New function.
28164         * lib/fd-safer.c (fd_safer_flag): Likewise.
28165         * modules/cloexec (configure.ac): Set witness.
28166
28167         test-dup2: enhance test
28168         * modules/dup2-tests (Depends-on): Add cloexec.
28169         * tests/test-dup2.c (main): Enhance test.
28170
28171         cloexec: add dup_cloexec
28172         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
28173         header and comments.
28174         * lib/cloexec.c (set_cloexec_flag): Add comments.
28175         (dup_cloexec): New function, with mingw implementation borrowed
28176         from...
28177         * lib/w32spawn.h (dup_noinherit): ...here.
28178         * modules/execute (Depends-on): Add cloexec.
28179         * modules/pipe (Depends-on): Likewise.
28180         * modules/cloexec (Depends-on): Add dup2.
28181         * modules/cloexec-tests (Files): New file.
28182         * tests/test-cloexec.c: Likewise.
28183
28184         test-xalloc-die: fix test for mingw
28185         * modules/xalloc-die-tests (Files): Add tests/init.sh.
28186         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
28187         directory and .exe suffix off argv[0] output.
28188
28189         test-fseeko: fix test for mingw
28190         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
28191         than undefining fseek, so test will pass on mingw.
28192
28193 2009-12-05  Bruno Haible  <bruno@clisp.org>
28194
28195         * lib/progname.h (set_program_name): Clarify specification.
28196         * lib/progname.c (set_program_name): Likewise.
28197         Reported by Jim Meyering.
28198
28199 2009-12-05  Jim Meyering  <meyering@redhat.com>
28200
28201         maint.mk: backslash-escape parens in default regexp
28202         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
28203         backslash-escape the literal parentheses.
28204
28205         maint.mk: news-date-check: use grep -E
28206         * top/maint.mk (today): Define a Make variable, not a...
28207         (news-date-check): ...shell variable.
28208         (news-date-regexp): Use the Make variable.
28209         Use grep's -E option.  Change the failing diagnostic to mention
28210         the variable, $(news-date-regexp).
28211
28212 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
28213
28214         maintainer-makefile: allow customization of NEWS entry format
28215         * top/maint.mk (news-date-regexp): New overridable variable.
28216         (news-date-check): Use it.
28217
28218 2009-12-04  Eric Blake  <ebb9@byu.net>
28219
28220         mgetgroups: add xgetgroups, and avoid ENOSYS failures
28221         * lib/mgetgroups.h (xgetgroups): New prototype.
28222         * lib/mgetgroups.c (xgetgroups): New wrapper.
28223         (mgetgroups): Handle ENOSYS.
28224         * modules/mgetgroups (Depends-on): Add realloc.
28225         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
28226
28227         mgetgroups: avoid argument promotion issues with -1
28228         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
28229         for invalid gid_t.
28230         * tests/test-chown.h (getegid, test_chown): Likewise.
28231         * tests/test-lchown.h (getegid, test_lchown): Likewise.
28232
28233 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
28234
28235         exclude: Fix header file problems.
28236         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
28237
28238 2009-12-01  Jim Meyering  <meyering@redhat.com>
28239
28240         fts: fts_open: do not let an empty string cause immediate failure
28241         This is required in support of GNU rm, for which the command
28242         "rm A '' B" must process and remove both A and B, in spite of
28243         the empty string argument.
28244         * lib/fts.c (fts_open): Do not let the presence of an empty string
28245         cause fts_open to fail immediately.  Most fts-using tools must be
28246         able to process all arguments, in order, and can be expected to
28247         diagnose such arguments themselves.
28248
28249 2009-11-30  Eric Blake  <ebb9@byu.net>
28250
28251         utimens: fix compilation error
28252         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
28253         Declare variable at right scope.
28254
28255 2009-11-29  Jim Meyering  <meyering@redhat.com>
28256
28257         bootstrap: handle perl-5.11's changed --version output
28258         * build-aux/bootstrap (get_version): Handle perl separately,
28259         since perl-5.11's --version output is different.
28260
28261 2009-11-28  Jim Meyering  <meyering@redhat.com>
28262
28263         userspec: depend on the inttostr module, too
28264         * modules/userspec (Depends-on): Add inttostr.
28265
28266         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
28267         * lib/userspec.c (parse_with_separator): Do not accept a user ID
28268         number of MAXUID when it evaluates to (uid_t) -1.
28269         Likewise for group ID.  Reported by Matt McCutchen in
28270         <http://savannah.gnu.org/bugs/?28113>
28271
28272         userspec: reformat to use spaces, not TABs
28273         * lib/userspec.c: Expand TABs to spaces.
28274         Add Emacs' "indent-tabs-mode: nil" hint.
28275
28276 2009-11-27  Eric Blake  <ebb9@byu.net>
28277
28278         getopt-gnu: flush out another BSD bug
28279         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
28280         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
28281         flush out BSD bug.
28282         * tests/test-getopt.h (test_getopt): End lists with NULL.
28283         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28284         (test_getopt_long_posix): Enhance test.
28285         * modules/getopt-posix-tests (Depends-on): Add stdbool.
28286         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
28287         getopt-gnu.
28288         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28289         Likewise.
28290
28291 2009-11-27  Simon Josefsson  <simon@josefsson.org>
28292
28293         * modules/idpriv-droptemp-tests (Notice): Fix text.
28294
28295 2009-11-27  Jim Meyering  <meyering@redhat.com>
28296
28297         test-xalloc-die: avoid spurious failure due to libtool argv difference
28298         In a libtool-enabled project, this test would fail due to a difference
28299         in the emitted program name, e.g.,
28300         -test-xalloc-die: memory exhausted
28301         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
28302         Use program to avoid that.
28303         * modules/xalloc-die-tests (Depends-on): Add progname.
28304         * tests/test-xalloc-die.c: Include progname.h".
28305         (program_name): Remove decl.
28306         (main): Call set_program_name.
28307         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
28308
28309 2009-11-26  Richard Jones  <rjones@redhat.com>
28310
28311         w32sock: leave win32 error in place.
28312         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
28313
28314 2009-11-26  Eric Blake  <ebb9@byu.net>
28315
28316         init.sh: suggest to use skip_ and fail_ functions in comments
28317         * tests/init.sh: Add a sentence.
28318
28319 2009-11-25  Bruno Haible  <bruno@clisp.org>
28320
28321         init.sh: add documentation in comments
28322         * tests/init.sh: Add some developer and user documentation.
28323
28324 2009-11-26  Jim Meyering  <meyering@redhat.com>
28325
28326         init.sh: accommodate even those who specify bogus srcdir manually
28327         * tests/init.sh: Normally, srcdir is guaranteed by automake and
28328         configure-time tests to be sanitized, so that there is no need to
28329         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
28330         (with no double quotes) suffices.  However, since tests may be
28331         invoked manually, and since you may explicitly set srcdir to the
28332         name of a directory containing spaces, do quote its uses here.
28333         * tests/test-pread.sh: Likewise.
28334         Suggested by Bruno Haible.
28335
28336         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
28337         * tests/test-pread.sh: Write no data into the pipe, because
28338         test-pread actually reads none.  This avoids a diagnostic,
28339         "bash: echo: write error: Broken pipe", that arises in the unusual
28340         event something is ignoring SIGPIPE, and might be interpreted
28341         as some sort of failure.  Reported by Bruno Haible.
28342
28343 2009-11-25  Jim Meyering  <meyering@redhat.com>
28344
28345         test-pread: cover failure with ESPIPE and EINVAL
28346         * tests/test-pread.c (main): Test for failure, too.
28347         * tests/test-pread.sh: Invoke with stdin on a pipe.
28348         Suggested by Eric Blake.
28349
28350         pread: improvement and fix
28351         * modules/pread (Depends-on): Depend on lseek, for portability to
28352         e.g., mingw.  Suggested by Eric Blake.
28353         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
28354
28355         unistd.in.h: correct declaration of pread
28356         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
28357         Reported by Richard W.M. Jones.
28358
28359         test-pread.sh: distribute the test script
28360         * modules/pread-tests (Files): Include test-pread.sh.
28361
28362         test-pread.sh: clean up
28363         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
28364         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
28365         That is unnecessary, since it's always ".".
28366         Suggestion from Eric Blake.
28367
28368         test-pread.sh: make executable
28369         * tests/test-pread.sh: Set executable bit.
28370         Reported by Eric Blake.
28371
28372         correct typo in test-pread.sh
28373         * tests/test-pread.sh: Add #! line.
28374
28375         test pread
28376         * tests/test-pread.c: New file.
28377         * tests/test-pread.sh: Likewise.
28378         * modules/pread-tests: Likewise.
28379
28380         pread: new module
28381         * modules/pread: New file.
28382         * lib/unistd.in.h (pread): Define/declare.
28383         * lib/pread.c (pread): New file.
28384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
28385         * modules/unistd (Makefile.am): Substitute witnesses.
28386         * doc/posix-functions/pread.texi (pread): Update.
28387         * MODULES.html.sh: Add pread.
28388
28389 2009-11-25  Jim Meyering  <meyering@redhat.com>
28390
28391         tests/init.sh: new file to be used via most *.sh tests
28392         * tests/init.sh: New file.
28393
28394 2009-11-25  Eric Blake  <ebb9@byu.net>
28395
28396         utimens: work around older Linux failure with symlinks
28397         * lib/utimens.c (lutimensat_works_really): New variable.
28398         (fdutimens, lutimens): Use it to manage kernels that support
28399         nanosecond times on files, but not on symlinks.
28400         Reported by OndÅ™ej Vašík.
28401
28402         utimes: fix configure grammar
28403         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
28404
28405 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
28406
28407         regex: Fix fastmap for multibyte character ranges.
28408         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
28409         characters when a multibyte character range is included.
28410
28411 2009-11-22  Andy Wingo  <wingo@pobox.com>
28412
28413         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
28414         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
28415
28416 2009-11-24  Bruno Haible  <bruno@clisp.org>
28417
28418         doc: Most *_l functions exist in MacOS X 10.5.
28419         * doc/posix-functions/duplocale.texi: Update platforms list.
28420         * doc/posix-functions/freelocale.texi: Likewise.
28421         * doc/posix-functions/newlocale.texi: Likewise.
28422         * doc/posix-functions/uselocale.texi: Likewise.
28423         * doc/posix-functions/isalnum_l.texi: Likewise.
28424         * doc/posix-functions/isalpha_l.texi: Likewise.
28425         * doc/posix-functions/isblank_l.texi: Likewise.
28426         * doc/posix-functions/iscntrl_l.texi: Likewise.
28427         * doc/posix-functions/isdigit_l.texi: Likewise.
28428         * doc/posix-functions/isgraph_l.texi: Likewise.
28429         * doc/posix-functions/islower_l.texi: Likewise.
28430         * doc/posix-functions/isprint_l.texi: Likewise.
28431         * doc/posix-functions/ispunct_l.texi: Likewise.
28432         * doc/posix-functions/isspace_l.texi: Likewise.
28433         * doc/posix-functions/isupper_l.texi: Likewise.
28434         * doc/posix-functions/iswalnum_l.texi: Likewise.
28435         * doc/posix-functions/iswalpha_l.texi: Likewise.
28436         * doc/posix-functions/iswblank_l.texi: Likewise.
28437         * doc/posix-functions/iswcntrl_l.texi: Likewise.
28438         * doc/posix-functions/iswctype_l.texi: Likewise.
28439         * doc/posix-functions/iswdigit_l.texi: Likewise.
28440         * doc/posix-functions/iswgraph_l.texi: Likewise.
28441         * doc/posix-functions/iswlower_l.texi: Likewise.
28442         * doc/posix-functions/iswprint_l.texi: Likewise.
28443         * doc/posix-functions/iswpunct_l.texi: Likewise.
28444         * doc/posix-functions/iswspace_l.texi: Likewise.
28445         * doc/posix-functions/iswupper_l.texi: Likewise.
28446         * doc/posix-functions/iswxdigit_l.texi: Likewise.
28447         * doc/posix-functions/isxdigit_l.texi: Likewise.
28448         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
28449         * doc/posix-functions/strcasecmp_l.texi: Likewise.
28450         * doc/posix-functions/strcoll_l.texi: Likewise.
28451         * doc/posix-functions/strfmon_l.texi: Likewise.
28452         * doc/posix-functions/strftime_l.texi: Likewise.
28453         * doc/posix-functions/strncasecmp_l.texi: Likewise.
28454         * doc/posix-functions/strxfrm_l.texi: Likewise.
28455         * doc/posix-functions/tolower_l.texi: Likewise.
28456         * doc/posix-functions/toupper_l.texi: Likewise.
28457         * doc/posix-functions/towctrans_l.texi: Likewise.
28458         * doc/posix-functions/towlower_l.texi: Likewise.
28459         * doc/posix-functions/towupper_l.texi: Likewise.
28460         * doc/posix-functions/wcscoll_l.texi: Likewise.
28461         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
28462         * doc/posix-functions/wctrans_l.texi: Likewise.
28463         * doc/posix-functions/wctype_l.texi: Likewise.
28464         * doc/glibc-functions/strptime_l.texi: Likewise.
28465         * doc/glibc-functions/strtod_l.texi: Likewise.
28466         * doc/glibc-functions/strtof_l.texi: Likewise.
28467         * doc/glibc-functions/strtol_l.texi: Likewise.
28468         * doc/glibc-functions/strtold_l.texi: Likewise.
28469         * doc/glibc-functions/strtoll_l.texi: Likewise.
28470         * doc/glibc-functions/strtoul_l.texi: Likewise.
28471         * doc/glibc-functions/strtoull_l.texi: Likewise.
28472         * doc/glibc-functions/wcsftime_l.texi: Likewise.
28473         * doc/glibc-functions/wcstod_l.texi: Likewise.
28474         * doc/glibc-functions/wcstof_l.texi: Likewise.
28475         * doc/glibc-functions/wcstol_l.texi: Likewise.
28476         * doc/glibc-functions/wcstold_l.texi: Likewise.
28477         * doc/glibc-functions/wcstoll_l.texi: Likewise.
28478         * doc/glibc-functions/wcstoul_l.texi: Likewise.
28479         * doc/glibc-functions/wcstoull_l.texi: Likewise.
28480
28481 2009-11-24  Bruno Haible  <bruno@clisp.org>
28482
28483         duplocale: Fix logic bug.
28484         * lib/duplocale.c: Don't include <langinfo.h>.
28485         (_NL_LOCALE_NAME): Remove macro.
28486         (rpl_duplocale): Use setlocale instead of nl_langinfo.
28487         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
28488
28489 2009-11-23  Jim Meyering  <meyering@redhat.com>
28490
28491         test-update-copyright: don't hard-code /usr/bin/perl
28492         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
28493         perl to print the current year.  Gilles Espinasse reported that
28494         the replaced use of perl was hard-coded as /usr/bin/perl.
28495
28496 2009-11-23  Bruno Haible  <bruno@clisp.org>
28497
28498         duplocale: Add support for glibc 2.3.x.
28499         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
28500
28501 2009-11-22  Bruno Haible  <bruno@clisp.org>
28502
28503         vasnprintf: Tiny optimization.
28504         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
28505         MacOS X.
28506
28507 2009-11-22  Bruno Haible  <bruno@clisp.org>
28508
28509         Tests for module 'duplocale'.
28510         * modules/duplocale-tests: New file.
28511         * tests/test-duplocale.c: New file.
28512
28513         New module 'duplocale'.
28514         * m4/duplocale.m4: New file.
28515         * lib/locale.in.h (duplocale): New declaration.
28516         * lib/duplocale.c: New file.
28517         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
28518         gl_LOCALE_H_DEFAULTS): New macros.
28519         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
28520         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
28521         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
28522         REPLACE_DUPLOCALE.
28523         * modules/duplocale: New file.
28524         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
28525
28526 2009-11-22  Bruno Haible  <bruno@clisp.org>
28527
28528         * modules/locale-tests (configure.ac): Test for newlocale function.
28529         * tests/test-locale.c: When the system has extended locale functions,
28530         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
28531
28532         locale: Make locale_t available when possible.
28533         * lib/locale.in.h: Include <xlocale.h> when it exists.
28534         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
28535         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
28536         * modules/locale (Depends-on): Add extensions.
28537         (Makefile.am): Also substitute HAVE_XLOCALE_H.
28538         * doc/posix-headers/locale.texi: Document the problem with locale_t.
28539
28540 2009-11-22  Bruno Haible  <bruno@clisp.org>
28541
28542         Add comments.
28543         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
28544         invocation.
28545         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
28546         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
28547         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28548
28549 2009-11-22  Bruno Haible  <bruno@clisp.org>
28550
28551         error: account for the possibility of freopen (stdout).
28552         * lib/error.c: Include <unistd.h>.
28553         (flush_stdout): New function, extracted from error and error_at_line.
28554         Determine stdout's fd dynamically.
28555         (error, error_at_line): Invoke flush_stdout.
28556         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
28557         * modules/error (Depends-on): Add unistd.
28558
28559 2009-11-22  Bruno Haible  <bruno@clisp.org>
28560
28561         diffseq: Add comment.
28562         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
28563
28564 2009-11-22  Jim Meyering  <meyering@redhat.com>
28565
28566         c-stack: avoid defining an unused static function
28567         * lib/c-stack.c (find_stack_direction): Do not define this function
28568         when it will not be used.
28569
28570         diffseq: avoid spurious gcc warnings
28571         * lib/diffseq.h (IF_LINT2): Define.
28572         (compareseq): Use it to initialize two members of "part".
28573         This avoids two used-uninitialized warnings.
28574
28575 2009-11-21  Jim Meyering  <meyering@redhat.com>
28576
28577         c-stack: avoid "ignoring return value of `write'" warning
28578         * lib/c-stack.c: Include "ignore-value.h".
28579         (die): Explicitly ignore each write return value.
28580         * modules/c-stack (Depends-on): Add ignore-value.
28581
28582 2009-11-21  Bruno Haible  <bruno@clisp.org>
28583
28584         diffseq: reduce scope of variable 'best'.
28585         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
28586         variable, earlier used for two different purposes.
28587
28588 2009-11-21  Jim Meyering  <meyering@redhat.com>
28589
28590         diffseq: remove useless assignment to "best"
28591         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
28592         assignment.  At that point "best" is already guaranteed to be zero.
28593
28594 2009-11-20  Eric Blake  <ebb9@byu.net>
28595
28596         build: mention ftp redirector in release announcements
28597         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
28598         values that used to come from cfg.mk; mention FTP redirect URL.
28599         * build-aux/announce-gen: Mention the mirror list.
28600         Suggested by Karl Berry.
28601
28602         nanosleep: improve port to mingw
28603         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
28604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
28605         LIB_NANOSLEEP, but only when needed.
28606         * modules/select (Link): Document LIBSOCKET.
28607         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
28608         enough.
28609
28610         nanosleep: work around cygwin bug
28611         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
28612         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
28613         bug.
28614         (getnow): Delete, not needed.
28615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
28616         LIB_CLOCK_GETTIME.
28617         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
28618         clock-time, gettime.
28619         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
28620         bug.
28621         * modules/nanosleep-tests: New test.
28622         * tests/test-nanosleep.c: New file.
28623
28624         sleep: work around cygwin bug
28625         * lib/sleep.c (rpl_sleep): Work around the bug.
28626         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
28627         (gl_PREREQ_SLEEP): Delete unused macro.
28628         * modules/sleep (Depends-on): Add verify.
28629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28630         * modules/unistd (Makefile.am): Substitute witness.
28631         * lib/unistd.in.h (sleep): Update prototype.
28632         * doc/posix-functions/sleep.texi (sleep): Document the bug.
28633         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
28634         * modules/sleep-tests (Depends-on): Check for alarm.
28635
28636 2009-11-20  Jim Meyering  <meyering@redhat.com>
28637
28638         maint.mk: improve sc_prohibit_magic_number_exit
28639         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
28640         so it does not match uses like System.exit(1).
28641         Add comments showing how to correct all offenders.
28642
28643 2009-11-19  Eric Blake  <ebb9@byu.net>
28644
28645         xalloc-die-tests: add missing library
28646         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
28647
28648         test-xvasprintf: silence compiler warnings
28649         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
28650         empty string from gcc.
28651
28652 2009-11-19  Jim Meyering  <meyering@redhat.com>
28653
28654         xfreopen: new module, from coreutils
28655         * modules/xfreopen: New module.
28656         * lib/xfreopen.c: New file.
28657         * lib/xfreopen.h: New file.
28658         * MODULES.html.sh (File stream based Input/Output"): Add it.
28659
28660 2009-11-19  Eric Blake  <ebb9@byu.net>
28661
28662         manywarnings: depend on warnings
28663         * modules/manywarnings (Depends-on): Add warnings.
28664
28665         build: avoid compiler warnings
28666         * lib/select.c (rpl_select): Delete unused variable.
28667         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
28668
28669 2009-11-18  Eric Blake  <ebb9@byu.net>
28670
28671         tests: avoid false negative with --with-packager
28672         * tests/test-version-etc.sh: Discard packager information.
28673         * tests/test-argp-version-etc-1.sh: Likewise.
28674         Reported by Mike Frysinger.
28675
28676         utimens: fix regression on Solaris
28677         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
28678         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
28679         can only change fd timestamps via futimesat.  Instead, use an
28680         additional witness macro to avoid BSD bug.
28681         Reported by Jim Meyering.
28682
28683 2009-11-17  Eric Blake  <ebb9@byu.net>
28684
28685         usleep: use it to simplify tests
28686         * modules/stat-time-tests (Depends-on): Add usleep.
28687         (configure.ac): Drop usleep check.
28688         * modules/chown-tests (Depends-on, configure.ac): Likewise.
28689         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
28690         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
28691         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
28692         * modules/openat-tests (Depends-on, configure.ac): Likewise.
28693         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
28694         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
28695         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
28696         Likewise.
28697         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
28698         * tests/test-lchown.h (nap): Likewise.
28699         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
28700         * tests/test-stat-time.c (nap): Likewise.
28701         * tests/test-utimens-common.h (nap): Update comments.
28702
28703         usleep: new module
28704         * modules/usleep: New file.
28705         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
28706         * lib/usleep.c (usleep): Likewise.
28707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
28708         * modules/unistd (Makefile.am): Substitute witnesses.
28709         * lib/unistd.in.h (usleep): Add declaration.
28710         * doc/pastposix-functions/usleep.texi (usleep): Document this.
28711         * MODULES.html.sh (Date and time): Likewise.
28712         * modules/usleep-tests (Depends-on): New test.
28713         * tests/test-usleep.c: New file.
28714
28715         chown: work around OpenBSD bug
28716         * lib/chown.c (rpl_chown): Work around the bug.
28717         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
28718         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
28719         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
28720         * modules/chown (Depends-on): Add stdbool.
28721         * modules/lchown (Depends-on): Likewise.
28722         * doc/posix-functions/chown.texi (chown): Document the bug.
28723         * doc/posix-functions/lchown.texi (lchown): Likewise.
28724         * tests/test-lchown.h (test_chown): Relax test.
28725
28726         mkstemp: avoid conflict with C++ keyword template
28727         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
28728         * lib/mkostemp.c (mkostemp): Likewise.
28729         * lib/mkostemps.c (mkostemps): Likewise.
28730         * lib/mkstemp.c (mkstemp): Likewise.
28731         * lib/mkstemps.c (mkstemps): Likewise.
28732
28733         xalloc-die-tests: optimize
28734         * tests/test-xalloc-die.sh: Reduce number of processes.
28735
28736 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28737
28738         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
28739         patch from ludo@gnu.org (Ludovic Courtès).
28740
28741 2009-11-17  Jim Meyering  <meyering@redhat.com>
28742
28743         version-etc: use proper license string
28744         * modules/version-etc (License): Use LGPL, not LGPLv3+.
28745         * modules/version-etc-fsf: Likewise.
28746
28747 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28748
28749         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
28750         printed to stdout.  Deal with EOL differences.
28751
28752 2009-11-17  Eric Blake  <ebb9@byu.net>
28753
28754         unsetenv: work around Solaris bug
28755         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
28756         * lib/unsetenv.c (rpl_unsetenv): Work around it.
28757         Reported by Jim Meyering.
28758
28759         vasnprintf: avoid compiler warnings
28760         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
28761         variables.
28762         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
28763
28764 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28765
28766         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
28767         settings since xalloc-die is no longer the self test,
28768         xalloc-die.sh is.
28769
28770 2009-11-17  Jim Meyering  <meyering@redhat.com>
28771
28772         test-xalloc-die.sh: make the code agree with the commit log
28773         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
28774         at the end, just in case you happen to have a test-xalloc-die
28775         program in some other PATH directory.
28776
28777         test-xalloc-die.sh: fix a portability bug
28778         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
28779         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
28780         Otherwise, argv[0] (as often seen in diagnostics) would be too
28781         system-dependent, sometimes with, and sometimes without the leading "./".
28782
28783         version-etc-fsf: relax license to LGPLv3+
28784         * modules/version-etc-fsf (License): Relax license.
28785
28786 2009-11-16  Eric Blake  <ebb9@byu.net>
28787
28788         xalloc-die-tests: avoid printing null pointer
28789         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
28790         shell script.
28791         * tests/test-xalloc-die.c (program_name): Declare.
28792         * tests/test-xalloc-die.sh (tmpfiles): New file.
28793
28794         setenv, unsetenv: work around various bugs
28795         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
28796         (setenv) [HAVE_SETENV]: Work around bugs.
28797         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
28798         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
28799         for bugs.
28800         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
28801         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
28802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
28803         * modules/stdlib (Makefile.am): Update substitutions.
28804         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
28805         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
28806         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
28807         * modules/setenv-tests: New test.
28808         * modules/unsetenv-tests: Likewise.
28809         * tests/test-setenv.c: New file.
28810         * tests/test-unsetenv.c: Likewise.
28811
28812 2009-11-16  Jim Meyering  <meyering@redhat.com>
28813
28814         version-etc: relax license to LGPLv3+
28815         * modules/version-etc (License): Relax license.
28816
28817         better AC_REQUIRE expanded-before-required-warning avoidance
28818         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
28819         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
28820         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
28821         which is no longer needed.
28822
28823 2009-11-16  Eric Blake  <ebb9@byu.net>
28824
28825         test-freading: clean up temporary file
28826         * tests/test-freading.c (main): Remove file on success, and use
28827         ASSERT more liberally.
28828         Reported by Jim Meyering.
28829
28830 2009-11-16  Jim Meyering  <meyering@redhat.com>
28831
28832         avoid new AC_REQUIRE expanded-before-required warnings
28833         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
28834         merely using it.
28835         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
28836         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
28837
28838 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28839
28840         * tests/test-xalloc-die.c: New file.
28841         * modules/xalloc-die-tests: New file.
28842         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
28843         XFAIL_TESTS so it can be appended by modules.
28844
28845 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28846
28847         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
28848         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
28849
28850 2009-11-14  Eric Blake  <ebb9@byu.net>
28851
28852         fnmatch: avoid compiler warning
28853         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
28854         to silence compiler warning about mismatch signedness in ?:.
28855         Reported by Robert Millan.
28856
28857         intprops: add double-inclusion guard
28858         * lib/intprops.h: Allow idempotent includes.
28859         Suggested by Bruce Korb.
28860
28861         openat: detect Solaris fchownat bug
28862         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
28863         penalizing glibc chownat when only lchownat is broken.
28864         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
28865         trailing slash bugs.
28866         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
28867         * modules/openat-tests (Files): Include more files.
28868         (Depends-on): Add mgetgroups, sleep, stat-time.
28869         (configure.ac): Add additional checks.
28870         (Makefile.am): Build new test.
28871         * tests/test-fchownat.c: New file.
28872
28873         lchown: detect Solaris and FreeBSD bug
28874         * lib/lchown.c (rpl_lchown): Work around bug.
28875         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
28876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28877         * modules/unistd (Makefile.am): Populate it.
28878         * lib/unistd.in.h (lchown): Update declaration.
28879         * doc/posix-functions/lchown.texi (lchown): Document the bug.
28880         * modules/lchown-tests: New file.
28881         * tests/test-lchown.h (test_lchown): Likewise.
28882         * tests/test-lchown.c (main): Likewise.
28883
28884         chown: detect Solaris and FreeBSD bug
28885         * lib/chown.c (rpl_chown): Work around bug.
28886         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
28887         (gl_PREREQ_CHOWN): Delete.
28888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28889         * modules/unistd (Makefile.am): Populate it.
28890         * lib/unistd.in.h (chown): Update declaration.
28891         * lib/lchown.c (chown): Update client.
28892         * modules/lchown (Depends-on): Add lstat.
28893         * doc/posix-functions/chown.texi (chown): Document the bug.
28894         * doc/posix-functions/getgroups.texi (getgroups): Document
28895         getgroups pitfall.
28896         * modules/chown-tests: New file.
28897         * tests/test-chown.h (test_chown): Likewise.
28898         * tests/test-chown.c (main): Likewise.
28899
28900 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
28901
28902         gnulib-tool: correctly detect absence of m4 directories
28903         * gnulib-tool: Avoid extra newline on data passed to wc -l.
28904
28905 2009-11-14  Jim Meyering  <meyering@redhat.com>
28906
28907         maint.mk: Prohibit inclusion of "xalloc.h" without use.
28908         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28909
28910 2009-11-14  John W. Eaton  <jwe@gnu.org>
28911
28912         strftime.h: wrap funtion declaration in extern "C" block
28913         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
28914
28915 2009-11-13  Eric Blake  <ebb9@byu.net>
28916
28917         getgroups: avoid compiler warning
28918         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
28919
28920         getgroups: work around FreeBSD bug
28921         * lib/getgroups.c (rpl_getgroups): Work around the bug.
28922         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
28923         * doc/posix-functions/getgroups.texi (getgroups): Document it.
28924         * tests/test-getgroups.c (main): Fix buffer overrun.
28925
28926         getgroups: avoid compilation failure
28927         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
28928         * modules/getgroups (Depends-on): Add stdint.
28929
28930 2009-11-13  Jim Meyering  <meyering@redhat.com>
28931
28932         test-getgroups: avoid compilation failure
28933         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
28934
28935 2009-11-13  Eric Blake  <ebb9@byu.net>
28936
28937         mgetgroups: new module, taken from coreutils
28938         * modules/mgetgroups: New file.
28939         * lib/mgetgroups.h: Likewise.
28940         * lib/mgetgroups.c (mgetgroups): Likewise.
28941         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
28942         * MODULES.html.sh (Users and groups): Mention it.
28943
28944         getgroups: don't expose GETGROUPS_T to user
28945         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
28946         an element at a time if GETGROUPS_T is wrong size.
28947         * lib/getugroups.h (getugroups): Change signature.
28948         * lib/unistd.in.h (getgroups): Likewise.
28949         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
28950         signature needs fixing.
28951         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
28952         AC_TYPE_GETGROUPS.
28953         * modules/group-member (Depends-on): Add getgroups.
28954         * lib/group-member.c (group_info, get_group_info): Use gid_t.
28955         (group_member): Rely on getgroups replacement.
28956         * lib/getugroups.c (getugroups): Use gid_t.
28957         * tests/test-getgroups.c (main): Likewise.
28958         * NEWS: Mention the signature change.
28959         * doc/posix-functions/getgroups.texi (getgroups): Mention the
28960         problem with signature.
28961         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
28962         GETGROUPS_T is still useful for setgroups.
28963
28964         getgroups, getugroups: provide stubs for mingw
28965         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
28966         * lib/getugroups.c (getugroups): Likewise.
28967         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
28968         function.  Modernize replacement scheme.
28969         (gl_PREREQ_GETGROUPS): Delete.
28970         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
28971         * modules/getgroups (configure.ac): Declare witness.
28972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28973         * modules/unistd (Depends-on): Substitute witness.
28974         * lib/unistd.in.h (getgroups): Declare replacement.
28975
28976         getgroups: avoid calling exit
28977         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
28978         drop xalloc.
28979         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
28980         dependencies.
28981         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
28982         exiting, in the rare case of malloc failure.
28983
28984         getgroups: fix logic error
28985         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
28986         has more than 20 groups.
28987         * modules/getgroups-tests: New test.
28988         * tests/test-getgroups.c: New file.
28989
28990 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28991
28992         * tests/test-base64.c: Improve.
28993
28994 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28995
28996         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
28997         Blake <ebb9@byu.net>.
28998
28999 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29000
29001         * tests/test-xvasprintf.c: Add %s%s related checks.
29002
29003 2009-11-12  Eric Blake  <ebb9@byu.net>
29004
29005         version-etc: match standards.texi style
29006         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
29007         and use <> only for URLs.
29008
29009 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
29010
29011         fts: do not fail on a submount during traversal
29012         * lib/fts.c (fts_build): Read the stat info again after opening
29013         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
29014         Original report at http://bugzilla.redhat.com/501848.
29015
29016 2009-11-12  Jim Meyering  <meyering@redhat.com>
29017
29018         bootstrap: sync from coreutils
29019         * build-aux/bootstrap (bootstrap_epilogue): New function.
29020         Use git_modules_config in one more place.  This make bootstrap's
29021         --gnulib-srcdir option more useful for testing.
29022
29023         bootstrap: generalize autoheader check
29024         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
29025         AC_CONFIG_HEADERS.
29026
29027 2009-11-11  Eric Blake  <ebb9@byu.net>
29028
29029         mkfifoat: use new modules for Solaris and BSD bugs
29030         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
29031         * lib/mkfifoat.c (mknodat): Split...
29032         * lib/mknodat.c (mknodat): ...into new file.
29033         * modules/mkfifoat (Files): Ship new file.
29034         (Depends-on): Add mkfifo, mknod.
29035         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
29036         (Depends-on): Add symlink.
29037         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
29038         redundant with test_mkfifo.h.
29039         (do_mkfifoat, do_mknodat): New helpers.
29040
29041         mknod: new module
29042         * modules/mknod: New file.
29043         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
29044         * lib/mknod.c (mknod): Likewise.
29045         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29046         defaults.
29047         * modules/sys_stat (Makefile.am): Substitute them.
29048         * lib/sys_stat.in.h (mknod): Declare replacement.
29049         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29050         Document it.
29051         * doc/posix-functions/mknod.texi (mknod): Likewise.
29052         * modules/mknod-tests: New test.
29053         * tests/test-mknod.c: Likewise.
29054
29055         mkfifo: new module
29056         * modules/mkfifo: New file.
29057         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
29058         * lib/mkfifo.c (mkfifo): Likewise.
29059         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29060         defaults.
29061         * modules/sys_stat (Makefile.am): Substitute them.
29062         * lib/sys_stat.in.h (mkfifo): Declare replacement.
29063         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29064         Document it.
29065         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
29066         * modules/mkfifo-tests: New test.
29067         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
29068         from test-mkfifoat.c.
29069         * tests/test-mkfifo.c: New file.
29070
29071         readlink: detect FreeBSD bug
29072         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
29073         slash on symlink.
29074         * doc/posix-functions/readlink.texi (readlink): Document the bug.
29075         * tests/test-readlink.h (test_readlink): Enhance test.
29076
29077         symlink: detect FreeBSD bug
29078         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
29079         slash on symlink.
29080         * doc/posix-functions/symlink.texi (symlink): Document the bug.
29081         * tests/test-symlink.h (test_symlink): Enhance test.
29082
29083 2009-11-10  Eric Blake  <ebb9@byu.net>
29084
29085         link: detect FreeBSD bug
29086         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
29087         symlink.
29088         * doc/posix-functions/link.texi (link): Document the bug.
29089         * tests/test-link.h (test_link): Enhance test.
29090         * tests/test-linkat.c (main): Update caller.
29091
29092         unlink, remove: detect FreeBSD bug
29093         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
29094         slash on symlink.
29095         * doc/posix-functions/unlink.texi (unlink): Document the bug.
29096         * doc/posix-functions/remove.texi (remove): Likewise.
29097         * tests/test-unlink.h (test_unlink): Enhance test.
29098         * tests/test-remove.c (main): Likewise.
29099
29100 2009-11-09  Eric Blake  <ebb9@byu.net>
29101
29102         rename: detect FreeBSD bug
29103         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
29104         slash on symlink.
29105         * modules/renameat-tests (Depends-on): Add filenamecat.
29106         * tests/test-rename.h (test_rename): Allow one more errno.
29107         * tests/test-renameat.c (main): Likewise.
29108         * doc/posix-functions/rename.texi (rename): Document the bug.
29109
29110         open: detect FreeBSD bug
29111         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
29112         symlink.
29113         * doc/posix-functions/open.texi (open): Document the bug.
29114         * doc/posix-functions/utimes.texi (utimes): Likewise.
29115         * tests/test-open.h (test_open): Add parameters, and test symlink
29116         handling.
29117         * tests/test-open.c (main): Adjust caller.
29118         * tests/test-fcntl-safer.c (main): Likewise.
29119         * modules/open-tests (Depends-on): Add stdbool, symlink.
29120         * modules/fcntl-safer-tests (Depends-on): Likewise.
29121         * tests/test-openat.c (main): Add test-open tests.
29122
29123         stat: detect FreeBSD bug
29124         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
29125         symlink.
29126         * doc/posix-functions/stat.texi (stat): Document the bug.
29127         * tests/test-stat.h (test_stat_func): Add argument.
29128         * tests/test-stat.c (main): Adjust caller.
29129         * tests/test-fstatat.c (main): Likewise.
29130         * modules/stat-tests (Depends-on): Add stdbool, symlink.
29131         Reported by Jim Meyering.
29132
29133 2009-11-09  James Youngman  <jay@gnu.org>
29134
29135         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
29136         * lib/strftime.c: Correct placement of #include "ignore-value.h".
29137
29138 2009-11-08  Jim Meyering  <meyering@redhat.com>
29139
29140         utimens: remove invalid futimesat call
29141         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
29142         It used the file descriptor of the target file as the DIR_FD
29143         parameter and NULL as the file name.  That caused failure with
29144         errno == EFAULT on FreeBSD-8.0-rc2
29145
29146 2009-11-07  Eric Blake  <ebb9@byu.net>
29147
29148         fflush, freadseek: use fseeko, not fseek
29149         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
29150         (clear_ungetc_buffer): Avoid potential problems on large files.
29151         * lib/freadseek.c (freadseek): Likewise.
29152         * modules/freadseek (Depends-on): Add fseeko.
29153         * modules/fseek (configure.ac): Set a witness.
29154         * tests/test-fflush.c (main): Use fseeko.
29155         * tests/test-fpurge.c (fseek): Disable link warning.
29156         * tests/test-freadable.c (fseek): Likewise.
29157         * tests/test-freading.c (fseek): Likewise.
29158         * tests/test-fseeko.c (fseek): Likewise.
29159         * tests/test-ftell.c (fseek): Likewise.
29160         * tests/test-ftello.c (fseek): Likewise.
29161         * tests/test-fwritable.c (fseek): Likewise.
29162         * tests/test-fwriting.c (fseek): Likewise.
29163
29164 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29165
29166         * modules/memchr (Depends-on): Drop getpagesize dependency.
29167
29168 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29169
29170         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
29171         Reported by Ludovic Courtès.
29172         * build-aux/pmccabe2html: Improve example usage.
29173         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
29174
29175 2009-11-06  Jim Meyering  <meyering@redhat.com>
29176
29177         do-release-commit-and-tag: New module.
29178         Automate the release-commit and tag process.
29179         * build-aux/do-release-commit-and-tag: New script, from coreutils.
29180         * modules/do-release-commit-and-tag: New file.
29181         * MODULES.html.sh (Support for maintaining and releasing): Add it.
29182
29183 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29184
29185         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
29186         because test-select.c uses inet_pton.
29187
29188 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29189
29190         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
29191         GETADDRINFO_LIB.  Bump serial number.
29192         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
29193         Suggested by Eric Blake <ebb9@byu.net>.
29194
29195 2009-11-05  Eric Blake  <ebb9@byu.net>
29196
29197         strtod: detect darwin bug
29198         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
29199         Reported by Leo Davis.
29200
29201         freopen-safer: new module
29202         * modules/freopen-safer: New module.
29203         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
29204         * lib/freopen-safer.c (freopen_safer): New file.
29205         * lib/stdio-safer.h (freopen_safer): New declaration.
29206         * lib/stdio--.h (freopen): New override.
29207         * MODULES.html.sh (File stream based Input/Output): Mention it.
29208         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
29209         freopen-safer module.
29210         * doc/posix-functions/stderr.texi (stderr): Likewise.
29211         * doc/posix-functions/stdin.texi (stdin): Likewise.
29212         * doc/posix-functions/stdout.texi (stdout): Likewise.
29213         * modules/freopen-safer-tests: New test.
29214         * tests/test-reopen-safer.c: New file.
29215
29216 2009-11-05  Jim Meyering  <meyering@redhat.com>
29217
29218         maint.mk: Prohibit inclusion of "close-stream.h" without use.
29219         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
29220
29221 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29222
29223         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
29224
29225 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29226
29227         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
29228
29229 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29230
29231         Fix link error.
29232         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
29233         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29234
29235 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29236
29237         * tests/test-func.c: Also test value of __func__.
29238
29239 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29240
29241         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
29242         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
29243
29244 2009-11-05  Bruno Haible  <bruno@clisp.org>
29245
29246         Fix link error.
29247         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
29248         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29249         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
29250
29251 2009-11-05  Bruno Haible  <bruno@clisp.org>
29252
29253         Tests for module 'inet_pton'.
29254         * modules/inet_pton-tests: New file.
29255         * tests/test-inet_pton.c: New file.
29256
29257 2009-11-05  Bruno Haible  <bruno@clisp.org>
29258
29259         Tests for module 'inet_ntop'.
29260         * modules/inet_ntop-tests: New file.
29261         * tests/test-inet_ntop.c: New file.
29262
29263 2009-11-04  Eric Blake  <ebb9@byu.net>
29264
29265         stdlib-safer: wrap all mkstemp variants
29266         * modules/mkostemp (configure.ac): Set witness.
29267         * modules/mkostemps (configure.ac): Likewise.
29268         * modules/mkstemps (configure.ac): Likewise.
29269         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
29270         (mkstemps_safer): Wrap more functions.
29271         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
29272         wrapping.
29273         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
29274         (mkstemps_safer): Implement the wrappers.
29275
29276         mkstemps, mkostemps: new modules
29277         * modules/mkostemps: New module.
29278         * modules/mkstemps: Likewise.
29279         * lib/mkostemps.c (mkostemps): New file.
29280         * lib/mkstemps.c (mkstemps): Likewise.
29281         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
29282         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
29283         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
29284         * modules/stdlib (Makefile.am): Substitute them.
29285         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
29286         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
29287         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29288         * doc/gnulib.texi (Glibc stdlib.h): Include them.
29289         * MODULES.html.sh (File system functions): Mention them.
29290
29291         tempname: resync from glibc
29292         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
29293         same values for __GT_FILE as glibc.  Abort even when assertions
29294         are disabled.
29295         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
29296         match its value otherwise.  Allow idempotent inclusion.
29297         * lib/mkdtemp.c (mkdtemp): Adjust caller.
29298         * lib/mkostemp.c (mkostemp): Likewise.
29299         * lib/mkstemp.c (mkstemp): Likewise.
29300         * lib/tmpfile.c (tmpfile): Likewise.
29301         * NEWS: Document this.
29302
29303         utimens: fix use of futimens on older Linux
29304         * lib/utimens.c (fdutimens): Use updated, rather than original,
29305         timespec to avoid bug in older Linux kernel.
29306         Reported by Simon Josefsson.
29307
29308 2009-11-04  Bruno Haible  <bruno@clisp.org>
29309
29310         Make num_processors more flexible and consistent.
29311         * lib/nproc.h (enum nproc_query): New type.
29312         (num_processors): Add a 'query' argument.
29313         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
29314         (num_processors): Add a 'query' argument. Test the value of the
29315         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
29316         mingw, count the number of CPUs available for the current process.
29317         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
29318         Check for sched_getaffinity and sched_getaffinity_np.
29319         * modules/nproc (Depends-on): Add c-ctype, extensions.
29320         * NEWS: Mention the change.
29321
29322 2009-11-03  Bruno Haible  <bruno@clisp.org>
29323
29324         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
29325
29326 2009-11-03  Jim Meyering  <meyering@redhat.com>
29327
29328         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
29329         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
29330         if it is defined.
29331
29332 2009-11-02  Eric Blake  <ebb9@byu.net>
29333
29334         mktime, timegm: share common declaration
29335         * lib/mktime-internal.h: New file.
29336         * lib/mktime.c: Use it rather than open-coding a declaration.
29337         * lib/timegm.c: Likewise.
29338         * modules/mktime (Files): Ship it.
29339         * modules/timegm (Files): Likewise.
29340         Suggested by Bruno Haible.
29341
29342         test-update-copyright: update test to match script changes
29343         * tests/test-update-copyright.sh: Avoid hard-coding perl
29344         location.  Don't update *.bak created by earlier runs.
29345
29346 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
29347             Simon Josefsson  <simon@josefsson.org>
29348             Bruno Haible  <bruno@clisp.org>
29349
29350         Fix link error on Solaris 8.
29351         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
29352         also in libnsl. Define also INET_PTON_LIB.
29353         * modules/inet_pton (Link): New section.
29354
29355 2009-11-02  Simon Josefsson  <simon@josefsson.org>
29356             Bruno Haible  <bruno@clisp.org>
29357
29358         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
29359         * modules/inet_ntop (Link): New section.
29360         Reported by Boyan Kasarov <bkasarov@gmail.com>.
29361
29362 2009-11-02  Eric Blake  <ebb9@byu.net>
29363
29364         maint: avoid compiler warnings in m4 macros
29365         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
29366         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
29367
29368 2009-11-02  Simon Josefsson  <simon@josefsson.org>
29369
29370         * m4/pmccabe2html.m4: Remove file.
29371         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
29372         function.  Change maintainer.
29373         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
29374         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
29375         Courtès).
29376
29377 2009-10-31  Eric Blake  <ebb9@byu.net>
29378
29379         fseeko: fix m4 regression
29380         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
29381         regression from 2009-10-27.
29382         Reported by Ralf Wildenhues.
29383
29384 2009-10-31  Jim Meyering  <meyering@redhat.com>
29385
29386         inttostr: aesthetics and improved (compile-time) safety
29387         Define inttype_is_signed rather than inttype_is_unsigned,
29388         since the sole use is via "#if inttype_is_signed".
29389         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
29390         inttype_is_unsigned.
29391         * lib/offtostr.c (inttype_is_signed): Likewise.
29392         * lib/uinttostr.c (inttype_is_signed): Likewise.
29393         * lib/umaxtostr.c (inttype_is_signed): Likewise.
29394         * lib/inttostr.c (inttostr): Use verify to cross-check the
29395         inttype_is_signed value and the signedness of the actual type.
29396         * modules/inttostr (Depends-on): Add verify.
29397
29398 2009-10-30  Eric Blake  <ebb9@byu.net>
29399
29400         build: avoid compiler warnings
29401         * lib/fchmodat.c (lchmod): Mark unused variables.
29402         * lib/getopt.c (_getopt_initialize): Likewise.
29403         * lib/mktime.c (__mktime_internal): Provide prototype.
29404         * lib/inttostr.c (inttostr): Avoid compiler warning even with
29405         older gcc that do not understand #pragma GCC diagnostic.
29406         * lib/uinttostr.c (inttype_is_unsigned): Define.
29407         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
29408
29409 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
29410
29411         stat: fix compilation on AIX
29412         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
29413         only see struct stat64.
29414
29415 2009-10-30  Eric Blake  <ebb9@byu.net>
29416
29417         exclude: make more robust
29418         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
29419         rather than masking a coding bug.
29420         Suggested by Bruno Haible.
29421
29422 2009-10-30  Jim Meyering  <meyering@redhat.com>
29423
29424         perl scripts: remove #!/usr/bin/perl in favor of more portable...
29425         Rather than putting #!/usr/bin/perl on the first line,
29426         start with a variant of what's recommended by "man perlrun" that
29427         invokes the first "perl" program from your shell's search path.
29428         * build-aux/gitlog-to-changelog: Replace #!... as above.
29429         Add a "Local Variables" perl mode setting.
29430         Prompted by a patch from Ludovic Courtès.
29431         Improved by Eric Blake.
29432         * build-aux/useless-if-before-free: Likewise.
29433         * build-aux/announce-gen: Likewise.
29434         * build-aux/update-copyright: Likewise.
29435
29436 2009-10-29  Eric Blake  <ebb9@byu.net>
29437
29438         filenamecat-lgpl: adjust clients
29439         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
29440         filenamecat.
29441         * modules/renameat (Depends-on): Likewise.
29442
29443         filenamecat: split into filenamecat-lgpl
29444         * modules/filenamecat-lgpl: New module.
29445         * modules/filenamecat (Files): Move library-safe files into
29446         filenamecat-lgpl.
29447         (Depends-on): Add filenamecat-lgpl.
29448         (configure.ac): Declare witness.
29449         * lib/filenamecat.h (file_name_concat): Only declare when using
29450         GPL module.
29451         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
29452         Move...
29453         * lib/filenamecat-lgpl.c: ...into new file.
29454         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
29455         (gl_FILE_NAME_CONCAT): Use it.
29456         * MODULES.html.sh (File system functions): Mention new module.
29457
29458         argp: avoid memory leak
29459         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
29460         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
29461         base_name, since the latter malloc()s and can call exit().
29462         Leak introduced 2006-07-03.
29463
29464         dirname-lgpl: adjust clients that don't need full dirname
29465         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
29466         * modules/filenamecat (Depends-on): Likewise.
29467         * modules/linkat (Depends-on): Likewise.
29468         * modules/mkancesdirs (Depends-on): Likewise.
29469         * modules/mkdir (Depends-on): Likewise.
29470         * modules/openat (Depends-on): Likewise.
29471         * modules/savewd (Depends-on): Likewise.
29472         * modules/rename (Depends-on): Likewise.
29473         (License): Relax license.
29474         * modules/mkdir-tests (Depends-on): Drop progname.
29475         (Makefile.am): Delete unneeded LDADD.
29476         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
29477
29478         dirname: split into dirname-lgpl
29479         * modules/dirname-lgpl: New module.
29480         * modules/dirname (Files): Move library-safe files into
29481         dirname-lgpl.
29482         (Depends-on): Add dirname-lgpl.
29483         (configure.ac): Declare witness.
29484         * modules/double-slash-root (License): Relax license.
29485         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
29486         module.
29487         * lib/dirname.c (dir_len, mdir_name): Move...
29488         * lib/dirname-lgpl.c: ...into new file.
29489         * lib/basename.c (last_component, base_len): Move...
29490         * lib/basename-lgpl.c: ...into new file.
29491         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
29492         (gl_DIRNAME): Use it.
29493         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
29494         Mention new module.
29495         * modules/dirname-tests (Depends-on): Add progname.
29496         * tests/test-dirname.c (program_name): Delete.
29497
29498         mkdir: make safe for libraries
29499         * modules/mkdir (Depends-on): Drop xalloc.
29500         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
29501         exit.
29502
29503         tests: avoid some compiler warnings
29504         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
29505         literals.
29506         * tests/test-memchr.c (main): Avoid type mismatch.
29507         * tests/test-arpa_inet.c (main): Avoid unused parameters.
29508         * tests/test-base64.c (main): Likewise.
29509         * tests/test-getdelim.c (main): Likewise.
29510         * tests/test-gethostname.c (main): Likewise.
29511         * tests/test-getline.c (main): Likewise.
29512         * tests/test-netinet_in.c (main): Likewise.
29513         * tests/test-select.c (open_server_socket, main): Likewise.
29514         * tests/test-select-stdin.c (main): Likewise.
29515         * tests/test-sockets.c (main): Likewise.
29516         * tests/test-strsignal.c (main): Likewise.
29517         * tests/test-sys_select.c (main): Likewise.
29518         * tests/test-sys_socket.c (main): Likewise.
29519         * tests/test-u64.c (main): Likewise.
29520         * tests/test-xfprintf-posix.c (main): Likewise.
29521         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
29522
29523         sockets: avoid compiler warning
29524         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
29525
29526         maint: detect usage(1) and other suspicious exits
29527         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
29528
29529 2009-10-29  Jim Meyering  <meyering@redhat.com>
29530
29531         timespec: long-to-int truncation could make timespec_cmp malfunction
29532         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
29533         a multiple of 2^32 nanoseconds as no difference.
29534
29535 2009-10-28  Jim Meyering  <meyering@redhat.com>
29536
29537         fprintftime: wrap macro code argument in "do {...} while(0)"
29538         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
29539         cpy macro must be a statement that can be followed by a semicolon.
29540         Now that the else clause contains a comment and is hence longer
29541         than one line, I require curly braces.  That in turn requires
29542         that we wrap this code block in the standard do...while(0).
29543
29544         fprintftime: remove stray semicolon from previous change
29545         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
29546
29547         fprintftime: avoid a warning about ignored fwrite return value
29548         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
29549         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
29550         that is unsafe.
29551         * modules/fprintftime (Depends-on): Add ignore-value.
29552
29553         exclude: avoid an unwarranted warning
29554         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
29555
29556 2009-10-27  Eric Blake  <ebb9@byu.net>
29557
29558         fseek: avoid compilation failure when fflush is replaced
29559         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
29560         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
29561         module is in use.
29562         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
29563         module is not in use; since REPLACE_FSEEK worked otherwise.
29564         (GNULIB_FTELLO): Likewise for ftell.
29565         Reported by Ian Beckwith and others.
29566
29567 2009-10-27  Bruno Haible  <bruno@clisp.org>
29568
29569         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
29570         Reported by Jim Meyering.
29571
29572 2009-10-27  Jim Meyering  <jim@meyering.net>
29573             Bruno Haible  <bruno@clisp.org>
29574
29575         Avoid warning despite dropping the return value of fwrite.
29576         * lib/unicodeio.c: Include ignore-value.h.
29577         (fwrite_success_callback): Explicitly ignore fwrite's return value.
29578         * modules/unicodeio (Depends-on): Add ignore-value.
29579
29580 2009-10-26  Eric Blake  <ebb9@byu.net>
29581
29582         areadlinkat: fix fallback path
29583         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
29584         pointer and zero.
29585
29586 2009-10-22  Pádraig Brady  <P@draigBrady.com>
29587
29588         Use a better IO block size for modern systems
29589         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
29590         * lib/md2.c: Likewise.
29591         * lib/md4.c: Likewise.
29592         * lib/md5.c: Likewise.
29593         * lib/sha1.c: Likewise.
29594         * lib/sha256.c: Likewise.
29595         * lib/sha512.c: Likewise.
29596
29597 2009-10-22  Eric Blake  <ebb9@byu.net>
29598
29599         tests: avoid several compiler warnings
29600         * tests/test-getcwd.c (main): Avoid buffer underflow.
29601         * tests/test-getdate.c (main): String literals are not safe with
29602         putenv, so use setenv.  Declare unused argument.
29603         * modules/getdate-tests (Depends-on): Add setenv.
29604         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
29605         problems with string literals in char *.
29606         * tests/test-hash.c (main): Avoid shadowing declaration.
29607         (insert_new): Treat string literals as char const *.
29608         * tests/test-getopt.h (test_getopt): Likewise.
29609         (getopt_loop): Alter types to minimize casting elsewhere.
29610         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
29611         (test_getopt_long_posix): Likewise.
29612         (do_getopt_long): Add wrapper to minimize casting.
29613         * tests/test-atexit.c (clear_temp_file): Use void.
29614         * tests/test-areadlink-with-size.c (main): Declare unused
29615         arguments.
29616         * tests/test-areadlink.c (main): Likewise.
29617         * tests/test-areadlinkat-with-size.c (main): Likewise.
29618         * tests/test-areadlinkat.c (main): Likewise.
29619         * tests/test-canonicalize-lgpl.c (main): Likewise.
29620         * tests/test-canonicalize.c (main): Likewise.
29621         * tests/test-dirent-safer.c (main): Likewise.
29622         * tests/test-dirname.c (main): Likewise.
29623         * tests/test-dup2.c (main): Likewise.
29624         * tests/test-fchdir.c (main): Likewise.
29625         * tests/test-fcntl-h.c (main): Likewise.
29626         * tests/test-fcntl-safer.c (main): Likewise.
29627         * tests/test-fdopendir.c (main): Likewise.
29628         * tests/test-fdutimensat.c (main): Likewise.
29629         * tests/test-fflush.c (main): Likewise.
29630         * tests/test-filenamecat.c (main): Likewise.
29631         * tests/test-filevercmp.c (main): Likewise.
29632         * tests/test-fopen-safer.c (main): Likewise.
29633         * tests/test-fopen.c (main): Likewise.
29634         * tests/test-fpending.c (main): Likewise.
29635         * tests/test-fpurge.c (main): Likewise.
29636         * tests/test-freading.c (main): Likewise.
29637         * tests/test-fstatat.c (main): Likewise.
29638         * tests/test-fsync.c (main): Likewise.
29639         * tests/test-futimens.c (main): Likewise.
29640         * tests/test-getndelim2.c (main): Likewise.
29641         * tests/test-gettimeofday.c (main): Likewise.
29642         * tests/test-getopt.c (main): Likewise.
29643         * tests/test-i-ring.c (main): Likewise.
29644         * tests/test-inttypes.c (main): Likewise.
29645         * tests/test-link.c (main): Likewise.
29646         * tests/test-lstat.c (main): Likewise.
29647         * tests/test-math.c (main): Likewise.
29648         * tests/test-md5.c (main): Likewise.
29649         * tests/test-memchr2.c (main): Likewise.
29650         * tests/test-memrchr.c (main): Likewise.
29651         * tests/test-mkdir.c (main): Likewise.
29652         * tests/test-mkdirat.c (main): Likewise.
29653         * tests/test-mkfifoat.c (main): Likewise.
29654         * tests/test-open.c (main): Likewise.
29655         * tests/test-openat-safer.c (main): Likewise.
29656         * tests/test-openat.c (main): Likewise.
29657         * tests/test-quotearg.c (main): Likewise.
29658         * tests/test-rawmemchr.c (main): Likewise.
29659         * tests/test-readlink.c (main): Likewise.
29660         * tests/test-remove.c (main): Likewise.
29661         * tests/test-rename.c (main): Likewise.
29662         * tests/test-renameat.c (main): Likewise.
29663         * tests/test-rmdir.c (main): Likewise.
29664         * tests/test-sha1.c (main): Likewise.
29665         * tests/test-signal.c (main): Likewise.
29666         * tests/test-sigaction.c (main): Likewise.
29667         * tests/test-stat.c (main): Likewise.
29668         * tests/test-stat-time.c (main): Likewise.
29669         * tests/test-stddef.c (main): Likewise.
29670         * tests/test-stdint.c (main): Likewise.
29671         * tests/test-stdio.c (main): Likewise.
29672         * tests/test-stdlib.c (main): Likewise.
29673         * tests/test-strchrnul.c (main): Likewise.
29674         * tests/test-strerror.c (main): Likewise.
29675         * tests/test-string.c (main): Likewise.
29676         * tests/test-strtod.c (main): Likewise.
29677         * tests/test-strverscmp.c (main): Likewise.
29678         * tests/test-symlink.c (main): Likewise.
29679         * tests/test-symlinkat.c (main): Likewise.
29680         * tests/test-sys_stat.c (main): Likewise.
29681         * tests/test-sys_time.c (main): Likewise.
29682         * tests/test-time.c (main): Likewise.
29683         * tests/test-unistd.c (main): Likewise.
29684         * tests/test-unlink.c (main): Likewise.
29685         * tests/test-unlinkat.c (main): Likewise.
29686         * tests/test-utimens.c (main): Likewise.
29687         * tests/test-utimensat.c (main): Likewise.
29688         * tests/test-version-etc.c (main): Likewise.
29689         * tests/test-wchar.c (main): Likewise.
29690         * tests/test-wctype.c (main): Likewise.
29691         * tests/test-xprintf-posix.c (main): Likewise.
29692         * tests/test-posixtm.c (main): Likewise.
29693         (STREQ): Delete unused macro.
29694         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
29695         shadowed variables.
29696         * tests/test-memchr.c (main): Likewise.
29697
29698 2009-10-21  Eric Blake  <ebb9@byu.net>
29699
29700         areadlinkat: avoid failure on older glibc
29701         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
29702         rather than mis-comparing 0 against FUNC_RESULT of char*.
29703
29704 2009-10-21  Bruno Haible  <bruno@clisp.org>
29705
29706         * modules/stpncpy (License): Relicense under LGPLv2+.
29707         Reported by David Lutterkort <lutter@redhat.com>.
29708
29709 2009-10-20  Eric Blake  <ebb9@byu.net>
29710
29711         utimensat: work around Solaris 9 bug
29712         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
29713         has trailing slash bugs.
29714         * tests/test-lutimens.h (test_lutimens): Enhance test.
29715         * tests/test-utimens.h (test_utimens): Likewise.
29716         * doc/posix-functions/utime.texi (utime): Enhance documentation.
29717         * doc/posix-functions/utimes.texi (utimes): Likewise.
29718         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29719         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
29720         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
29721         * doc/posix-functions/futimens.texi (futimens): Likewise.
29722
29723         fdutimensat: new module
29724         * modules/fdutimensat: New file.
29725         * lib/fdutimensat.c (fdutimensat): Likewise.
29726         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
29727         * MODULES.html.sh (File system functions): Mention module.
29728         * modules/fdutimensat-tests: New test.
29729         * tests/test-fdutimensat.c: Likewise.
29730
29731         doc: regenerate INSTALL
29732         * doc/INSTALL: Reflect recent autoconf update.
29733         * doc/INSTALL.ISO: Likewise.
29734         * doc/INSTALL.UTF-8: Likewise.
29735
29736 2009-10-20  Pádraig Brady  <P@draigBrady.com>
29737
29738         acl: warn if ACL support is not detected
29739         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
29740
29741 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
29742
29743         * lib/nproc.h: Add extern "C" block for C++.
29744
29745 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
29746             Bruno Haible  <bruno@clisp.org>
29747
29748         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
29749         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
29750         * doc/posix-functions/isalpha.texi: Likewise.
29751         * doc/posix-functions/isblank.texi: Likewise.
29752         * doc/posix-functions/iscntrl.texi: Likewise.
29753         * doc/posix-functions/isdigit.texi: Likewise.
29754         * doc/posix-functions/isgraph.texi: Likewise.
29755         * doc/posix-functions/islower.texi: Likewise.
29756         * doc/posix-functions/isprint.texi: Likewise.
29757         * doc/posix-functions/ispunct.texi: Likewise.
29758         * doc/posix-functions/isspace.texi: Likewise.
29759         * doc/posix-functions/isupper.texi: Likewise.
29760         * doc/posix-functions/isxdigit.texi: Likewise.
29761
29762 2009-10-18  Bruno Haible  <bruno@clisp.org>
29763
29764         Tests for module 'isblank'.
29765         * modules/isblank-tests: New file.
29766         * tests/test-isblank.c: New file.
29767
29768         New module 'isblank'.
29769         * lib/isblank.c: New file.
29770         * m4/isblank.m4: New file.
29771         * modules/isblank: New file.
29772         * doc/posix-functions/isblank.texi: Mention the new module.
29773
29774 2009-10-18  Bruno Haible  <bruno@clisp.org>
29775
29776         New module 'ctype'.
29777         * lib/ctype.in.h: New file.
29778         * m4/ctype.m4: New file.
29779         * modules/ctype: New file.
29780         * doc/posix-headers/ctype.texi: Mention the new module.
29781
29782 2009-10-18  Jim Meyering  <meyering@redhat.com>
29783
29784         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
29785         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
29786         right after its initialization, rather than farther down.
29787         Keeping these in close proximity makes it easier to ensure
29788         that each such variable is initialized.  E.g.,
29789
29790             LIB_CLOCK_GETTIME=
29791             AC_SUBST([LIB_CLOCK_GETTIME])
29792
29793         This change also increments these serial numbers.
29794         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
29795         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29796         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29797
29798 2009-10-18  Bruno Haible  <bruno@clisp.org>
29799
29800         Don't let environment variables perturb build.
29801         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
29802         (gl_PREREQ_GETHRXTIME): ... not here.
29803
29804 2009-10-18  Bruno Haible  <bruno@clisp.org>
29805
29806         Avoid symlink attack in localcharset module.
29807         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
29808         (O_NOFOLLOW): Define fallback.
29809         (get_charset_aliases): Don't open the file if it is a symbolic link.
29810         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
29811         gl_FCNTL_H.
29812         (gl_FCNTL_H): Require it.
29813         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
29814         * modules/localcharset (Files): Add m4/fcntl_h.m4.
29815         Reported by Fergal Glynn <fglynn@veracode.com>.
29816
29817 2009-10-18  Bruno Haible  <bruno@clisp.org>
29818
29819         Implement nproc for mingw.
29820         * lib/nproc.c: Include <windows.h>
29821         (num_processors): On native Windows platforms, try GetSystemInfo.
29822
29823 2009-10-18  Bruno Haible  <bruno@clisp.org>
29824
29825         Implement nproc for IRIX.
29826         * lib/nproc.c: Include <sys/sysmp.h>.
29827         (num_processors): On IRIX systems, try sysmp.
29828         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
29829
29830 2009-10-18  Bruno Haible  <bruno@clisp.org>
29831
29832         Implement nproc for HP-UX.
29833         * lib/nproc.c: Include <sys/pstat.h>
29834         (num_processors): On HP-UX systems, try pstat_getdynamic.
29835         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
29836         pstat_getdynamic.
29837
29838 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
29839             Bruno Haible  <bruno@clisp.org>
29840
29841         Implement nproc for NetBSD, OpenBSD.
29842         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
29843         (ARRAY_SIZE): New macro.
29844         (num_processors): On BSD systems, try sysctl of HW_NCPU.
29845         * m4/nproc.m4: New file.
29846         * modules/nproc (Files): Add m4/nproc.m4.
29847         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
29848         (Makefile.am): Instead, augment lib_SOURCES.
29849
29850 2009-10-18  Bruno Haible  <bruno@clisp.org>
29851
29852         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
29853         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
29854         sys/param.h.
29855
29856 2009-10-16  Eric Blake  <ebb9@byu.net>
29857
29858         utimensat: new module
29859         * modules/utimensat: New file.
29860         * lib/utimensat.c (utimensat): Likewise.
29861         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29862         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
29863         so we can work around Linux bugs.
29864         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29865         * modules/sys_stat (Makefile.am): Substitute them.
29866         * lib/sys_stat.in.h (utimensat): Declare it.
29867         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29868         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29869         * modules/utimensat-tests: New test.
29870         * tests/test-utimensat.c: Likewise.
29871
29872         utimens: let lutimens work on non-symlinks
29873         * lib/utimens.c (lutimens): Fall back to utimens rather than
29874         failing with ENOSYS, when file is not a symlink.
29875         (utimens): Reduce redirection.
29876         * tests/test-lutimens.h (test_lutimens): Update test to cover
29877         non-symlinks.
29878         * tests/test-utimens.h (test_utimens): Update test to cover
29879         symlinks.
29880         * tests/test-utimens.c (main): Update caller.
29881
29882         utimens: cache whether utimensat syscall works
29883         * lib/utimens.c (utimensat_works_really): New cache variable.
29884         (fdutimens, lutimens): Use it to avoid failing syscall.
29885
29886         test-stat-time, test-utimens: improve portability
29887         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
29888         ext4 on alpha, and for cygwin.
29889         * tests/test-utimens-common.h: New file.
29890         (nap): Factor delays into single function.
29891         * tests/test-lutimens.h (test_lutimens): Use new header.
29892         * tests/test-futimens.h (test_futimens): Likewise.
29893         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
29894         timestamps to occur from same machine, as was done previously for
29895         test_utimens.
29896         * modules/utimens-tests (Files): Ship new file.
29897         * modules/futimens-tests (Files): Likewise.
29898         Reported in part by Jim Meyering.
29899
29900         sys_stat: sort replacement declarations
29901         * lib/sys_stat.in.h: Sort declarations.
29902         * lib/futimens.c (futimens): Fix typo.
29903
29904 2009-10-15  Jim Meyering  <meyering@redhat.com>
29905
29906         don't let environment settings perturb build
29907         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
29908         could cause a configure-time and/or build-time malfunction.
29909         Typically, a configure-time function-in-library test is performed
29910         via code like this:
29911
29912           LIB_VAR=
29913           AC_SUBST([LIB_VAR])
29914           prefix_saved_LIBS=$LIBS
29915             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
29916                        [test "$ac_cv_search_FUNC" = "none required" ||
29917                         LIB_VAR=$ac_cv_search_FUNC])
29918           LIBS=$prefix_saved_LIBS
29919
29920         However, in each of the files affected by this change, the LIB_VAR=
29921         initialization was omitted.  Thus, when set in the environment, its
29922         value would propagate into generated Makefiles when FUNC is not found
29923         in LIB_NAME.
29924         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
29925         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29926         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29927
29928 2009-10-14  Eric Blake  <ebb9@byu.net>
29929
29930         fchdir: avoid infinite recursion in mingw
29931         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
29932         recursing.
29933
29934         test-stat-time: port to mingw
29935         * tests/test-stat-time.c (force_unlink): Return a value.
29936         (test_ctime) [W32]: Fix compilation error.
29937         (nap): Don't call usleep with too large an argument.  Use
29938         force_unlink.
29939         * doc/pastposix-functions/usleep.texi (usleep): Document the
29940         portability issue.
29941
29942 2009-10-13  Jim Meyering  <meyering@redhat.com>
29943
29944         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
29945         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
29946         * modules/pipe-filter-ii: Likewise.
29947         * modules/sys_socket-tests: Likewise.
29948         * modules/tsearch-tests: Likewise.
29949         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
29950         (check): Depend on it.
29951
29952 2009-10-12  Eric Blake  <ebb9@byu.net>
29953
29954         utimens-tests: port to NFS file systems
29955         * tests/test-utimens.h (test_utimens): Refactor utimecmp
29956         comparisons to avoid spurious failures from timestamp drift
29957         between NFS machines.
29958
29959 2009-10-12  Eric Blake  <ebb9@byu.net>
29960
29961         stat-time-tests: minor cleanups
29962         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
29963         * tests/test-stat-time.c (nap): Separate assignment from call.
29964         Suggested by Paolo Bonzini and Bruno Haible.
29965
29966         sys_stat: guarantee struct timespec
29967         * lib/sys_stat.in.h (includes): Always include <time.h>
29968         * modules/sys_stat (Depends-on): Add time.
29969         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
29970         mode_t permission values.
29971         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
29972         get at subsecond timestamps.
29973
29974 2009-10-10  Eric Blake  <ebb9@byu.net>
29975
29976         futimens: new module
29977         * modules/futimens: New file.
29978         * lib/futimens.c (futimens): Likewise.
29979         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
29980         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
29981         we can work around Linux bugs.
29982         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29983         * modules/sys_stat (Makefile.am): Substitute them.
29984         * lib/sys_stat.in.h (futimens): Declare it.
29985         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29986         * doc/posix-functions/futimens.texi (futimens): Likewise.
29987         * modules/futimens-tests: New test.
29988         * tests/test-futimens.c: Likewise.
29989
29990         utimens: introduce fdutimens
29991         * lib/utimens.h (fdutimens): New prototype.
29992         * lib/utimens.c (gl_futimens): Move guts...
29993         (fdutimens): ...to new interface.
29994         * tests/test-utimens.c (do_fdutimens): Use it.
29995
29996         utimens: add UTIME_NOW and UTIME_OMIT support
29997         * lib/utimens.c (validate_timespec, update_timespec): New helper
29998         functions.
29999         (gl_futimens, lutimens): Use them.
30000         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
30001         stdbool, sys_stat.
30002         (Link): Mention resulting library dependency.
30003         * modules/utimecmp (Link): Likewise.
30004         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
30005         (Makefile.am): Pick up library dependency.
30006         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
30007         definition.
30008         * tests/test-sys_stat.c: Test the definitions.
30009         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
30010         * NEWS: Document library dependency.
30011
30012         utimecmp: support symlink timestamps
30013         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
30014         hashing when possible.  Use pathconf when available.
30015         (SYSCALL_RESOLUTION): Recognize tighter resolution.
30016         * modules/utimecmp (Depends-on): Add lstat.
30017
30018         utimens: add lutimens interface
30019         * lib/utimens.c (lutimens): New function.
30020         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
30021         * lib/utimens.h (lutimens): Declare new interface.
30022         * tests/test-utimens.c (main): Enhance test.
30023         * tests/test-lutimens.h (test_lutimens): New file.
30024         * modules/utimens-tests (Files): Distribute it.
30025         (Depends-on): Add symlink.
30026         (configure.ac): Check for usleep.
30027
30028         utimens: validate futimens usage
30029         * lib/utimens.c (gl_futimens): Require valid fd up front, using
30030         fewer syscalls on failure later on.  Avoid compiler warning on
30031         mingw.
30032         * modules/utimens (Depends-on): Add dup2.
30033
30034         utimens: add test
30035         * modules/utimens-tests: New test.
30036         * tests/test-utimens.h: New file.
30037         * tests/test-futimens.h: Likewise.
30038         * tests/test-utimens.c: Likewise.
30039
30040         doc: mention timestamp portability issues
30041         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
30042         instead.
30043         * doc/posix-functions/utime.texi (utime): Likewise.
30044         * doc/posix-functions/utimes.texi (utimes): Likewise.
30045         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
30046         instead.
30047         * doc/posix-functions/futimens.texi (futimens): Mention utimens
30048         module.
30049         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30050         Mention weakness with symlink timestamps.
30051         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
30052         to utimensat/futimens instead.
30053         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
30054
30055         test-dup2: enhance test
30056         * tests/test-dup2.c (main): Also check AT_FDCWD.
30057
30058         test-stat-time: avoid more spurious failures
30059         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
30060         xfs; and avoid race if the two timestamps cross quantization edge.
30061
30062         relocatable: prefer 'file system' over 'filesystem'
30063         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
30064         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
30065         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
30066         * doc/relocatable.texi (Enabling Relocatability): Likewise.
30067         * lib/relocatable.c (compute_curr_prefix): Likewise.
30068
30069 2009-10-10  Jim Meyering  <meyering@redhat.com>
30070
30071         stat-time-tests: check for the usleep function
30072         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
30073
30074 2009-10-10  Bruno Haible  <bruno@clisp.org>
30075
30076         * modules/xnanosleep: Put the Link section after the Include section.
30077
30078 2009-10-09  Eric Blake  <ebb9@byu.net>
30079
30080         dup2: work around FreeBSD 6.1 bug
30081         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
30082         * doc/posix-functions/dup2.texi (dup2): Document it.
30083         Reported by Nelson H. F. Beebe and Jim Meyering.
30084
30085         test-stat-time: port to buggy NFS clients
30086         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
30087         (test_ctime): Also skip test if mtime and ctime are skewed.
30088
30089         maint: prefer 'file system' over 'filesystem'
30090         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30091         * doc/posix-functions/lstat.texi (lstat): Likewise.
30092         * lib/file-has-acl.c (file_has_acl): Likewise.
30093         * lib/fwriteerror.c [TEST]: Likewise.
30094         * tests/test-areadlink.h (test_areadlink): Likewise.
30095         * tests/test-areadlinkat-with-size.c (main): Likewise.
30096         * tests/test-areadlinkat.c (main): Likewise.
30097         * tests/test-canonicalize-lgpl.c (main): Likewise.
30098         * tests/test-canonicalize.c (main): Likewise.
30099         * tests/test-fstatat.c (main): Likewise.
30100         * tests/test-linkat.c (main): Likewise.
30101         * tests/test-lstat.h (test_lstat_func): Likewise.
30102         * tests/test-mkdir.h (test_mkdir): Likewise.
30103         * tests/test-readlink.h (test_readlink): Likewise.
30104         * tests/test-remove.c (main): Likewise.
30105         * tests/test-rename.h (test_rename): Likewise.
30106         * tests/test-renameat.c (main): Likewise.
30107         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30108         * tests/test-symlink.h (test_symlink): Likewise.
30109         * tests/test-symlinkat.c (main): Likewise.
30110         * tests/test-unlink.h (test_unlink_func): Likewise.
30111         * tests/test-unlinkat.c (main): Likewise.
30112
30113         maint: make realtime library usage explicit
30114         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
30115         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
30116         * modules/settime (Link): Likewise.
30117         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
30118
30119         test-stat-time: speed up execution
30120         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
30121         warning on mingw.
30122         (nap): New helper function.
30123         (prepare_test): Use it to reduce sleep time.
30124         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
30125         execution.
30126         * modules/stat-time-tests (configure.ac): Check for usleep.
30127
30128 2009-10-09  Jim Meyering  <meyering@redhat.com>
30129
30130         selinux-h: always use getfilecon wrappers
30131         * lib/getfilecon.c: New file.
30132         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
30133         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
30134         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
30135         (fgetfilecon): Provide a stub.
30136         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
30137         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
30138         file unconditionally.
30139         When <selinux/selinux.h> is found, arrange to use wrappers.
30140         * modules/selinux-h (Files): Add getfilecon.c.
30141         (Makefile.am): Substitute include-next-related bits
30142         into the now-always-generated selinux/selinux.h file.
30143         * doc/glibc-functions/lgetfilecon.texi: New file.
30144         * doc/glibc-functions/fgetfilecon.texi: New file.
30145         * doc/glibc-functions/getfilecon.texi: New file.
30146         * doc/glibc-functions/getfilecon-desc.texi: New file.
30147         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
30148         which to pull in the new files.
30149         * MODULES.html.sh (Misc): Add selinux-h.
30150
30151 2009-10-08  Jim Meyering  <meyering@redhat.com>
30152
30153         unistd: fix comment typo
30154         * lib/unistd.in.h (euidaccess): Fix a comment typo.
30155
30156 2009-10-08  Eric Blake  <ebb9@byu.net>
30157
30158         areadlink: use SIZE_MAX consistently
30159         * modules/areadlink (Depends-on): Add stdint.
30160         * modules/areadlink-with-size (Depends-on): Likewise.
30161         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
30162         gives NULL; drop sys/types, since unistd gives size_t; and add
30163         stdint for SIZE_MAX.
30164         (SIZE_MAX): Rely on headers.
30165         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
30166         and add stdint.
30167         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
30168         (SIZE_MAX): Likewise.
30169         (INITIAL_BUF_SIZE): Turn into enum.
30170         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
30171
30172 2009-10-08  Jim Meyering  <meyering@redhat.com>
30173
30174         areadlinkat: avoid compilation failure
30175         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
30176         Fix typo in comment.
30177
30178 2009-10-07  Eric Blake  <ebb9@byu.net>
30179
30180         areadlinkat-with-size: new module
30181         * modules/areadlinkat-with-size: New module.
30182         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
30183         * lib/areadlink.h (areadlinkat): Declare it.
30184         * MODULES.html.sh (File system functions): Mention it.
30185         * modules/areadlinkat-with-size-tests: New test.
30186         * tests/test-areadlinkat-with-size.c: New file.
30187
30188         xreadlinkat: new module
30189         * modules/xreadlinkat: New module.
30190         * lib/xreadlinkat.c (xreadlinkat): New file.
30191         * lib/xreadlink.h (xreadlinkat): Declare it.
30192         * MODULES.html.sh (File system functions): Mention it.
30193
30194         areadlinkat: new module
30195         * lib/at-func.c (FUNC_FAIL): New define.
30196         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
30197         * modules/areadlinkat: New module.
30198         * lib/linkat.c (areadlinkat): Move...
30199         * lib/areadlinkat.c (areadlinkat): ...to new file.
30200         * lib/areadlink.h (areadlinkat): Declare it.
30201         * modules/linkat (Depends-on): Add areadlinkat.
30202         * MODULES.html.sh (File system functions): Mention it.
30203         * modules/areadlinkat-tests: New test.
30204         * tests/test-areadlinkat.c: New file.
30205
30206         areadlink, areadlink-with-size: add tests
30207         * modules/areadlink-tests: New test.
30208         * modules/areadlink-with-size-tests: Likewise.
30209         * tests/test-areadlink.h: New file.
30210         * tests/test-areadlink.c: Likewise.
30211         * tests/test-areadlink-with-size.c: Likewise.
30212
30213         maint: minor cleanups
30214         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
30215         _UNUSED_PARAMETER_ instead.
30216         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
30217         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
30218         * modules/linkat-tests (Files): Distribute test-link.h.
30219
30220         openat, utimens: whitespace cleanup
30221         * lib/openat.c: Prefer space throughout, rather than mix of 8
30222         spaces vs. tabs.
30223         * lib/at-func.c: Likewise.
30224         * lib/utimens.c: Likewise.
30225
30226         openat: avoid using wrong fd
30227         * lib/openat.c (openat_permissive): Reject user's fd if saving the
30228         working directory chooses same fd.
30229         * lib/at-func.c (AT_FUNC_NAME): Likewise.
30230
30231         mkdir, mkdirat: fix cygwin 1.5.x bug
30232         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
30233         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
30234         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
30235         bug.
30236         (gl_PREREQ_MKDIR): Delete unused macro.
30237         * modules/mkdir (Files): Track file rename.
30238         (configure.ac): Update macro name.
30239         * modules/openat (Depends-on): Add mkdir.
30240         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
30241
30242         mkdir, mkdirat: add tests
30243         * modules/mkdir-tests: New test.
30244         * tests/test-mkdir.h: New file.
30245         * tests/test-mkdir.c: Likewise.
30246         * tests/test-mkdirat.c: Likewise.
30247         * modules/openat-tests (Files): Add new files.
30248         (Makefile.am): Run new test.
30249
30250 2009-10-06  Eric Blake  <ebb9@byu.net>
30251
30252         doc: tweak *at function documentation
30253         * doc/posix-functions/faccessat.texi (faccessat): Mention
30254         known issue with replacement.
30255         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
30256         * doc/posix-functions/linkat.texi (linkat): Likewise.
30257         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30258         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30259         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30260         * doc/posix-functions/renameat.texi (renameat): Likewise.
30261         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30262
30263         openat: fix GNU/Hurd bug in unlinkat
30264         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
30265         broken.
30266         * doc/posix-functions/unlink.texi (unlink): Document this.
30267         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
30268
30269         fdopendir: fix GNU/Hurd bug
30270         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
30271         allowing non-directory fds.
30272         * lib/fdopendir.c (rpl_fdopendir): Work around it.
30273         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30274         * modules/dirent (Makefile.am): Substitute it.
30275         * lib/dirent.in.h (fdopendir): Declare replacement.
30276         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
30277         * tests/test-fdopendir.c (main): Test something other than
30278         /dev/null, since on Hurd that behaves like a directory.
30279
30280         test-symlink: port to GNU/Hurd
30281         * tests/test-symlink.h (test_symlink): Relax expected errno.
30282
30283         doc: tweak more cygwin information
30284         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
30285         now compatible with glibc.
30286         * doc/posix-functions/getopt.texi (getopt): Likewise.
30287
30288         getopt-gnu: add another test
30289         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
30290         guarantee behavior relied on by m4.
30291         * tests/test-getopt.c (main): Use it.
30292         * modules/getopt-posix-tests (Depends-on): Add setenv.
30293         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
30294
30295         getopt: fix compilation on darwin
30296         * lib/getopt.in.h (includes): Leave breadcrumbs during system
30297         include.
30298         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
30299         Reported by Ludovic Courtès.
30300
30301 2009-10-06  Bruno Haible  <bruno@clisp.org>
30302
30303         * modules/size_max (Description): Discourage its use.
30304         Reported by Simon Josefsson.
30305
30306 2009-10-06  Jim Meyering  <meyering@redhat.com>
30307
30308         linkat: avoid compilation failure
30309         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
30310
30311 2009-10-05  Eric Blake  <ebb9@byu.net>
30312
30313         linkat: support Linux 2.6.17
30314         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
30315         linkat on Linux, but allow cache variable override.
30316         * lib/linkat.c (rpl_linkat): Define override.
30317         * modules/linkat (Depends-on): Add symlinkat.
30318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
30319         * modules/unistd (Makefile.am): Substitute it.
30320         * lib/unistd.in.h (linkat): Declare replacement.
30321         Reported by Pádraig Brady.
30322
30323         quotearg: port test to systems with C.UTF-8 locale
30324         * tests/test-quotearg.c (struct result_strings): Add another
30325         member, differentiating between C.ASCII and C.UTF-8 handling.
30326         (compare_strings): Add parameter.
30327         (main): Adjust all callers.
30328
30329         getopt: avoid clash with FreeBSD _getopt_internal
30330         * lib/getopt.in.h (_getopt_internal): Override the name.
30331         * lib/getopt_int.h (includes): Pick up any overrides.
30332         Reported by Reuben Thomas.
30333
30334         hash: allow C89 compilation
30335         * lib/hash.c (check_tuning): Move declaration before statement.
30336         Reported by Reuben Thomas.
30337
30338 2009-10-05  Karl Berry  <karl@gnu.org>
30339
30340         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
30341
30342 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
30343             Bruno Haible  <bruno@clisp.org>
30344
30345         * lib/uname.c (uname): Use a table-driven algorithm to compute
30346         Windows NT versions.
30347
30348 2009-10-04  Bruno Haible  <bruno@clisp.org>
30349
30350         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
30351         program_invocation_short_name.
30352         * modules/progname (configure.ac): Test for presence of
30353         program_invocation_short_name.
30354         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30355
30356 2009-10-04  Bruno Haible  <bruno@clisp.org>
30357
30358         * lib/progname.c (set_program_name): Fix comment.
30359         Reported by Jim Meyering.
30360
30361 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
30362             Bruno Haible  <bruno@clisp.org>
30363
30364         * lib/uname.c: Include <string.h>.
30365         (uname): Do only one call to GetVersionEx in the common case.
30366
30367 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
30368             Bruno Haible  <bruno@clisp.org>
30369
30370         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
30371         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
30372         (uname): Add support for Windows CE and various non-x86 CPU types.
30373
30374 2009-10-03  Bruno Haible  <bruno@clisp.org>
30375
30376         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
30377         invocation to tests/configure.ac.
30378         Reported by Ian Beckwith <ianb@erislabs.net>.
30379
30380 2009-10-02  Eric Blake  <ebb9@byu.net>
30381
30382         fchdir: avoid compiler warning
30383         * lib/fchdir.c (canonicalize_file_name)
30384         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
30385
30386         test-open: support mingw errno values
30387         * tests/test-open.h (test_open): Relax test.
30388         * tests/test-fopen.h (test_fopen): Likewise.
30389         * tests/test-openat-safer.c (main): Likewise.
30390
30391         open: fix opening directory on mingw
30392         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
30393
30394         test-open: on GNU/Hurd, /dev/null is a directory
30395         * tests/test-fopen.h (main): Rename...
30396         (test_fopen): ...to this.  Use a guaranteed non-directory when
30397         confirming open behavior on trailing slash.
30398         * tests/test-openat-safer.c (main): Likewise.
30399         * tests/test-open.h (main): Likewise....
30400         (test_open): ...to this.
30401         * tests/test-fopen.c (main): Adjust caller.
30402         * tests/test-fopen-safer.c (main): Likewise.
30403         * tests/test-open.c (main): Likewise.
30404         * tests/test-fcntl-safer.c (main): Likewise.
30405         Reported by Samuel Thibault.
30406
30407         rename, fchdir: don't ignore chdir failure
30408         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
30409         * lib/rename.c (rpl_rename) [W32]: Likewise.
30410         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
30411         an empty destination directory if source cannot be renamed,
30412         although there is still possibility for failure.
30413         * doc/posix-functions/rename.texi (rename): Document the race.
30414         Reported by Jim Meyering.
30415
30416         maint: cleanup whitespace in recent commits
30417         * lib/rename.c (rpl_rename): Remove tabs.
30418         * tests/test-link.h (test_link): Likewise.
30419         * lib/fchdir.c (get_name): Likewise.
30420         Reported by Jim Meyering.
30421
30422 2009-10-02  Ben Pfaff  <blp@gnu.org>
30423
30424         relocatable-prog-wrapper: Add missing dependency on
30425         double-slash-root.
30426         * modules/relocatable-prog-wrapper: Add dependency.
30427         Reported by Ian Beckwith <ianb@erislabs.net>.
30428
30429 2009-10-02  Eric Blake  <ebb9@byu.net>
30430
30431         renameat: fix Solaris bugs
30432         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
30433         needed fixing.
30434         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
30435         * modules/stdio (Makefile.am): Substitute it.
30436         * lib/stdio.in.h (renameat): Declare replacement.
30437         * lib/renameat.c (rpl_renameat): Implement fix.
30438
30439         renameat: new module
30440         * modules/renameat: New file.
30441         * lib/renameat.c (renameat): Likewise.
30442         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
30443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
30444         * modules/stdio (Makefile.am): Substitute them.
30445         * lib/stdio.in.h (renameat): Declare it.
30446         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30447         * doc/posix-functions/renameat.texi (renameat): Likewise.
30448         * modules/renameat-tests: New test.
30449         * tests/test-renameat.c: Likewise.
30450
30451         rename: fix mingw bugs
30452         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
30453         directory overwrite bugs.
30454
30455         rename: fix another cygwin 1.5 bug
30456         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
30457         checks.
30458         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
30459         unnecessary cygwin workarounds.  Also work around bug with moving
30460         full directory onto an empty one.
30461         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
30462
30463         rename-dest-slash: merge into rename module
30464         * modules/rename-dest-slash (Status): Mark obsolete.
30465         (Depends-on): Add rename.
30466         (Files): Let rename do it all.
30467         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
30468         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
30469         * m4/rename-dest-slash.m4: ...so this file can be deleted.
30470         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
30471         * lib/rename.c (rpl_rename): Update comments.
30472
30473         rename: fix cygwin 1.5.x bugs
30474         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
30475         * lib/rename.c (rpl_rename): Work around them.
30476         * modules/rename (Depends-on): Add same-inode.
30477
30478         rename: fix Solaris 10 bug
30479         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
30480         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
30481         was the only bug.
30482
30483         rename: fix Solaris 9 bug
30484         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
30485         on non-directory.  Avoid calling exit.
30486         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
30487         strdup.
30488         * modules/rename-tests (Depends-on): Drop lstat.
30489         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
30490         (gl_PREREQ_RENAME): Delete unused macro.
30491
30492         rename-dest-slash: fix NetBSD bug
30493         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
30494         links.
30495         * modules/rename-dest-slash (Depends-on): Add same-inode.
30496
30497         rename-tests: new test, exposes several platform bugs
30498         * modules/rename-tests: New file.
30499         * tests/test-rename.h: Likewise.
30500         * tests/test-rename.c: Likewise.
30501         * doc/posix-functions/rename.texi (rename): Improve documentation,
30502         including bugs that will eventually be fixed in gnulib.
30503
30504 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
30505
30506         * lib/uname.c: Include <stdlib.h>
30507         (uname): Assume version info is available.
30508
30509 2009-10-02  Jim Meyering  <meyering@redhat.com>
30510
30511         gnu-web-doc-update: correct --help output
30512         * build-aux/gnu-web-doc-update: Make --help output relevant.
30513
30514         gnu-web-doc-update: add standard options
30515         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
30516
30517         gnu-web-doc-update: New module.
30518         Use this script to automatically update the on-line web documentation
30519         for your GNU project at http://www.gnu.org/software/$pkg/manual/
30520         * modules/gnu-web-doc-update: New file, from coreutils.
30521         * build-aux/gnu-web-doc-update: New script.
30522
30523 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
30524
30525         link: LoadLibrary is not needed.
30526         * lib/link.c: Use GetModuleHandle.
30527
30528 2009-10-01  Eric Blake  <ebb9@byu.net>
30529
30530         getopt: bump serial number
30531         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
30532         change.
30533
30534         tests: tighten link, rmdir, and remove tests
30535         * tests/test-link.h (includes): No need to use <config.h> here.
30536         Clean up if directory hard link was created, otherwise test for
30537         trailing '.'.
30538         * tests/test-linkat.c (main): Simplify.
30539         * tests/test-remove.c (main): Enhance test for trailing '.'.
30540         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30541
30542 2009-10-01  Jim Meyering  <meyering@redhat.com>
30543
30544         maint.mk: requiring "make major" was annoying, for a "minor" release.
30545         What is intended is "stable", to contrast with alpha and beta,
30546         so require "make stable", not "make major".
30547         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
30548         (get_tool_versions): Likewise.
30549         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
30550
30551 2009-09-30  Ben Pfaff  <blp@gnu.org>
30552
30553         Fix broken build of replacement for Windows tmpfile().
30554         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
30555         flags argument added along with the 'mkostemp' module.
30556
30557 2009-09-28  Bruno Haible  <bruno@clisp.org>
30558
30559         Avoid identifier clash with POSIX function 'remove' defined as a macro.
30560         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
30561         to 'remove_elt'.
30562         (gl_list_remove): Update.
30563         * lib/gl_list.c (gl_list_remove): Update.
30564         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
30565         to 'remove_elt'.
30566         (gl_oset_remove): Update.
30567         * lib/gl_list.c (gl_oset_remove): Update.
30568         Reported by Eric Blake.
30569
30570 2009-09-28  Eric Blake  <ebb9@byu.net>
30571
30572         doc: mention yet more cygwin 1.7 status
30573         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
30574         cygwin.
30575         * doc/glibc-functions/execvpe.texi (execvpe): New file.
30576         * doc/gnulib.texi (Glibc unistd.h): Mention it.
30577
30578         argp: fix test failure
30579         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
30580         that are not upper-case.  Pass correct range to tolower.
30581
30582 2009-09-27  Jim Meyering  <meyering@redhat.com>
30583
30584         test-yesno: work around sparc-dash here-document infelicity
30585         Without this change, the literal \177 byte in a here document
30586         would make dash 0.5.5.1-3 access uninitialized memory.
30587         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
30588         Instead, use a marker, "@", and filter through tr to create the desired
30589         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
30590
30591 2009-09-27  Bruno Haible  <bruno@clisp.org>
30592
30593         Disable untested support for new flavours of ACLs on AIX.
30594         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
30595         progress.
30596         * lib/set-mode-acl.c (qset_acl): Likewise.
30597
30598 2008-12-07  Bruno Haible  <bruno@clisp.org>
30599
30600         Add support for new flavours of ACLs on AIX. (Untested.)
30601         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
30602         (file_has_acl): Add support for newer AIX.
30603         * lib/set-mode-acl.c (qset_acl): Likewise.
30604         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
30605         Rainer Tammer <tammer@tammer.net>.
30606
30607 2009-09-26  Eric Blake  <ebb9@byu.net>
30608
30609         argp: fix compilation of getopt
30610         * lib/getopt.in.h (includes): Use different guard than glibc.
30611         Reported by Sergey Poznyakoff.
30612
30613         doc: mention more cygwin 1.7 status
30614         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
30615         bug.
30616         * doc/posix-functions/execl.texi (execl): Likewise.
30617         * doc/posix-functions/execle.texi (execle): Likewise.
30618         * doc/posix-functions/execlp.texi (execlp): Likewise.
30619         * doc/posix-functions/execv.texi (execv): Likewise.
30620         * doc/posix-functions/execve.texi (execve): Likewise.
30621         * doc/posix-functions/execvp.texi (execvp): Likewise.
30622         * doc/glibc-functions/canonicalize_file_name.texi
30623         (canonicalize_file_name): Cygwin 1.7 now provides this.
30624         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
30625         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
30626         on AT_SYMLINK_NOFOLLOW.
30627
30628 2009-09-24  Eric Blake  <ebb9@byu.net>
30629
30630         test-linkat: make test more robust
30631         * tests/test-linkat.c (main): Avoid collision with EEXIST.
30632
30633         getopt: fix inclusion guards for cygwin
30634         * modules/getopt-posix (Depends-on): Add include-next.
30635         (Makefile.am): Substitute more items in replacement header.
30636         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
30637         <getopt.h>.
30638         * lib/getopt.in.h (includes): Use split inclusion guard, and
30639         prefer <getopt.h> over include <unistd.h> when one is present.
30640         (option): Also override name of 'struct option'.
30641
30642         same-inode: revert prior change; it is not yet ready
30643         * NEWS: Undo mention of this change.
30644         * lib/same-inode.h (same-inode.h): Undo tri-state change.
30645         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
30646         * lib/cycle-check.c (cycle_check): Likewise.
30647         * lib/same.c (same_name): Likewise.
30648         * lib/at-func2.c (at_func2): Likewise.
30649
30650 2009-09-23  Eric Blake  <ebb9@byu.net>
30651
30652         linkat: new module
30653         * modules/linkat: New file.
30654         * lib/at-func2.c (at_func2): Likewise.
30655         * lib/linkat.c (linkat): Likewise.
30656         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
30657         * lib/openat-priv.h (at_func2): Add declaration.
30658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30659         * modules/unistd (Makefile.am): Substitute them.
30660         * lib/unistd.in.h (linkat): Declare it.
30661         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30662         * doc/posix-functions/linkat.texi (linkat): Likewise.
30663         * doc/posix-functions/link.texi (link): Tweak wording.
30664         * tests/test-link.c (main): Move guts...
30665         * tests/test-link.h (test_link): ...into new file.
30666         * modules/linkat-tests: New test.
30667         * tests/test-linkat.c: Likewise.
30668         * modules/link-tests (Files): Ship new file.
30669         (Depends-on): Add stdbool.
30670
30671         dirname: add library-safe mdir_name
30672         * lib/dirname.h (mdir_name): New prototype.
30673         * lib/dirname.c (dir_name): Move guts...
30674         (mdir_name): ...to new function that avoids xalloc_die.
30675
30676         fchdir: another mingw fix
30677         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
30678         * lib/fchdir.c (get_name): New helper method; skips canonicalize
30679         on mingw (where it has not yet been ported), and make it optional
30680         elsewhere.
30681         (_gl_register_fd): Use it.
30682
30683         same-inode: make SAME_INODE tri-state, to port to mingw
30684         * NEWS: Mention this change.
30685         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
30686         st_ino always being 0.
30687         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
30688         * lib/cycle-check.c (cycle_check): Likewise.
30689         * lib/same.c (same_name): Likewise.
30690
30691         lstat: avoid mingw compilation error
30692         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
30693         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
30694         lstat ourselves.
30695         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
30696         was adequate.
30697         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
30698         the checks for lstat.
30699         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
30700
30701         link: fix test failure on Solaris 9
30702         * lib/link.c (rpl_link): Don't assume link will catch bogus
30703         trailing slash on source.
30704
30705         test-symlinkat: enhance test
30706         * tests/test-readlink.c (main): Move guts...
30707         * tests/test-readlink.h (test_readlink): ...into new file.
30708         * tests/test-symlink.c (main): Move guts...
30709         * tests/test-symlink.h (test_symlink): ...into new file.
30710         * tests/test-symlinkat.c (main): Use new files for further
30711         coverage.
30712         (do_symlink, do_readlink): New helper functions.
30713         * modules/symlink-tests (Files): Ship new file.
30714         (Depends-on): Add stdbool.
30715         * modules/readlink-tests (Files): Ship new file.
30716         (Depends-on): Add stdbool.
30717         * modules/symlinkat-tests (Files): Use new files.
30718
30719 2009-09-23  Eric Blake  <ebb9@byu.net>
30720
30721         readlink: document portability issue with symlink length
30722         * doc/posix-functions/lstat.texi (lstat): Mention that some file
30723         systems have bogus st_size on symlinks, and mention the
30724         areadlink-with-size module.
30725         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30726         * doc/posix-functions/readlink.texi (readlink): Mention the
30727         areadlink module, and ERANGE failure.
30728         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30729         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
30730
30731         readlink: fix Solaris 9 bug with trailing slash
30732         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
30733         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
30734         * doc/posix-functions/readlink.texi (readlink): Document this.
30735         * modules/readlink-tests: New test.
30736         * tests/test-readlink.c: Likewise.
30737
30738         readlink: fix cygwin 1.5.x bug with return type
30739         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
30740         * lib/unistd.in.h (readlink): Use ssize_t.
30741         * lib/readlink.c (readlink): Likewise.
30742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30743         * modules/unistd (Makefile.am): Substitute it.
30744         * lib/unistd.in.h (readlink): Declare replacement.
30745         * doc/posix-functions/readlink.texi (readlink): Document this.
30746
30747         symlink: use throughout gnulib
30748         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
30749         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
30750         symlink is not used.
30751         * modules/symlinkat (Depends-on): Add symlink.
30752         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30753         * modules/canonicalize-tests (Depends-on): Likewise.
30754         * modules/lstat-tests (Depends-on): Likewise.
30755         * modules/openat-tests (Depends-on): Likewise.
30756         * modules/remove-tests (Depends-on): Likewise.
30757         * modules/rmdir-tests (Depends-on): Likewise.
30758         * modules/unlink-tests (Depends-on): Likewise.
30759         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
30760         * tests/test-canonicalize.c (symlink): Likewise.
30761         * tests/test-fstatat.c (symlink): Likewise.
30762         * tests/test-lstat.c (symlink): Likewise.
30763         * tests/test-remove.c (symlink): Likewise.
30764         * tests/test-rmdir.c (symlink): Likewise.
30765         * tests/test-unlink.c (symlink): Likewise.
30766         * tests/test-unlinkat.c (symlink): Likewise.
30767
30768         symlink: new module, for Solaris 9 bug
30769         * modules/symlink: New file.
30770         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
30771         * lib/symlink.c: Likewise.
30772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
30773         * modules/unistd (Makefile.am): Substitute them.
30774         * lib/unistd.in.h (symlink): Declare replacement.
30775         * MODULES.html.sh (File system functions): Mention it.
30776         * doc/posix-functions/symlink.texi (symlink): Likewise.
30777         * modules/symlink-tests: New test.
30778         * tests/test-symlink.c: Likewise.
30779
30780 2009-09-23  Bruno Haible  <bruno@clisp.org>
30781
30782         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
30783         when needed.
30784         Test case: gnulib-tool --import --with-tests atexit inttypes.
30785         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
30786
30787 2009-09-23  Bruno Haible  <bruno@clisp.org>
30788
30789         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
30790         subcommand, not in a subshell.
30791
30792 2009-09-22  Eric Blake  <ebb9@byu.net>
30793
30794         unistd: sort replacement declarations
30795         * lib/unistd.in.h: Sort declarations.
30796
30797         open, openat: minor optimization
30798         * lib/open.c (open): If open succeeded, len is non-zero.
30799         * lib/openat.c (rpl_openat): Likewise.
30800
30801         link-follow: ensure correct result
30802         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
30803         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
30804         distinguish between possible failures.
30805
30806 2009-09-21  Eric Blake  <ebb9@byu.net>
30807
30808         fts: avoid compiler warning
30809         * lib/fts.c (dirent_inode_sort_may_be_useful)
30810         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
30811
30812 2009-09-19  Bruno Haible  <bruno@clisp.org>
30813
30814         * lib/progreloc.c (canonicalize_file_name): New declaration.
30815
30816 2009-09-19  Eric Blake  <ebb9@byu.net>
30817
30818         link: fix quoting
30819         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
30820
30821         openat: fix openat bugs on Solaris 9
30822         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
30823         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
30824         * modules/openat (Depends-on): Add open.
30825         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
30826         * modules/fcntl-h (Makefile.am): Substitute it.
30827         * lib/fcntl.in.h (openat): Declare replacement.
30828         * doc/posix-functions/openat.texi (openat): Document this.
30829
30830         openat: move fstatat and unlinkat into correct files
30831         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
30832         compiled.
30833         * lib/openat.c (fstatat, unlinkat): Move...
30834         * lib/fstatat.c (fstatat): ...into correct files.
30835         * lib/unlinkat.c (unlinkat): Likewise.
30836
30837         openat: fix unlinkat bugs on Solaris 9
30838         * lib/unlinkat.c (unlinkat): New file.
30839         * modules/openat (Depends-on): Add unlink.
30840         (Files): Distribute it.
30841         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
30842         trailing slash behavior is broken.
30843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30844         * modules/unistd (Makefile.am): Substitute it.
30845         * lib/unistd.in.h (unlinkat): Declare replacement.
30846         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
30847
30848         openat: fix fstatat bugs on Solaris 9
30849         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
30850         stat.
30851         * doc/posix-functions/fstatat.texi (fstatat): Document this.
30852
30853         test-unlinkat: enhance test, to expose Solaris 9 bug
30854         * tests/test-unlink.c (main): Factor guts...
30855         * tests/test-unlink.h (test_rmdir_func): ...into new file.
30856         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
30857         * tests/test-rmdir.c (main): Adjust caller.
30858         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
30859         (unlinker): New helper function.
30860         (rmdirat): Enhance check.
30861         * modules/rmdir-tests (Depends-on): Add stdbool.
30862         * modules/unlink-tests (Depends-on): Likewise.
30863         (Files): Add test-unlink.h.
30864         * modules/openat-tests (Files): Likewise.
30865         (Depends-on): Add unlinkdir.
30866
30867         test-fstatat: new test, to expose Solaris 9 bugs
30868         * tests/test-stat.c (main): Factor guts...
30869         * tests/test-stat.h (test_stat_func): ...into new file.
30870         * tests/test-lstat.c (main): Factor guts...
30871         * tests/test-lstat.h (test_lstat_func): ...into new file.
30872         * tests/test-fstatat.c: New file.
30873         * modules/stat-tests (Files): Add test-stat.h.
30874         * modules/lstat-tests (Files): Add test-lstat.h.
30875         (Depends-on): Add stdbool.
30876         * modules/openat-tests (Depends-on): Add pathmax.
30877         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
30878         (Makefile.am): Run new test.
30879
30880         remove: new module, for mingw and Solaris 9 bugs
30881         * modules/remove: New file.
30882         * lib/remove.c: Likewise.
30883         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
30884         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
30885         * modules/stdio (Makefile.am): Use them.
30886         * lib/stdio.in.h (remove): Declare replacement.
30887         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30888         * doc/posix-functions/remove.texi (remove): Likewise.
30889         * modules/remove-tests: New test.
30890         * tests/test-remove.c: Likewise.
30891
30892         unlink: new module, for Solaris 9 bug
30893         * modules/unlink: New file.
30894         * lib/unlink.c: Likewise.
30895         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
30896         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30897         * modules/unistd (Makefile.am): Use them.
30898         * lib/unistd.in.h (stat): Declare replacement.
30899         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30900         * doc/posix-functions/unlink.texi (unlink): Likewise.
30901         * modules/unlink-tests: New test.
30902         * tests/test-unlink.c: Likewise.
30903
30904         lstat: fix Solaris 9 bug
30905         * lib/lstat.c (lstat): Also check for trailing slash on
30906         non-symlink, non-directories.  Use stat module to simplify logic.
30907         * doc/posix-functions/lstat.texi (lstat): Document it.
30908         * modules/lstat-tests (Depends-on): Add errno, same-inode.
30909         (configure.ac): Check for symlink.
30910         * tests/test-lstat.c (main): Add more tests.
30911
30912         stat: add as dependency to other modules
30913         * modules/chown (Depends-on): Add stat.
30914         * modules/euidaccess (Depends-on): Likewise.
30915         * modules/fchdir (Depends-on): Likewise.
30916         * modules/isdir (Depends-on): Likewise.
30917         * modules/link (Depends-on): Likewise.
30918         * modules/lstat (Depends-on): Likewise.
30919         * modules/mkdir-p (Depends-on): Likewise.
30920         * modules/modechange (Depends-on): Likewise.
30921         * modules/open (Depends-on): Likewise.
30922         * modules/readlink (Depends-on): Likewise.
30923         * modules/same (Depends-on): Likewise.
30924
30925         stat: fix Solaris 9 bug
30926         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
30927         slash.
30928         * lib/stat.c (rpl_stat): Work around it.
30929         * doc/posix-functions/stat.texi (stat): Update documentation.
30930
30931         stat: new module, for mingw bug
30932         * modules/stat: New file.
30933         * lib/stat.c: Likewise.
30934         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
30935         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30936         * modules/sys_stat (Makefile.am): Use them.
30937         * lib/sys_stat.in.h (stat): Declare replacement.
30938         * lib/openat.c (fstatat): Deal with lstat and stat being function
30939         macros.
30940         * modules/openat (Depends-on): Add inline.
30941         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30942         * doc/posix-functions/stat.texi (stat): Likewise.
30943         * modules/stat-tests: New test.
30944         * tests/test-stat.c: Likewise.
30945
30946 2009-09-19  Jim Meyering  <meyering@redhat.com>
30947
30948         syntax-check: detect unnecessary inclusion of canonicalize.h
30949         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
30950
30951 2009-09-19  Eric Blake  <ebb9@byu.net>
30952
30953         canonicalize-lgpl: adjust clients to use correct header
30954         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30955         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
30956         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
30957         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
30958         * lib/progreloc.c (includes): Likewise.
30959
30960 2009-09-19  Jim Meyering  <meyering@redhat.com>
30961
30962         test-posixtm.c: correct a comment
30963         * tests/test-posixtm.c: Correct first-line comment.
30964         Spotted by Eric Blake.
30965
30966 2009-09-16  Jim Meyering  <meyering@redhat.com>
30967
30968         posixtm-tests: make T const-correct; add a test case
30969         * tests/test-posixtm.c (T): Declare const.
30970         Add a test for -(2^31+1).
30971         Remove useless can-succeed-only-in-2002 test.
30972
30973         posixtm-tests: adjust the sole failing test
30974         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
30975         expected output matches what mktime now produces.  Cross-checked via
30976         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
30977
30978         posixtm: move #ifdef'd tests into a new module
30979         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
30980         * tests/test-posixtm.c: ... this new file.
30981         * modules/posixtm-tests: New module.
30982
30983 2009-09-19  Eric Blake  <ebb9@byu.net>
30984
30985         openat: simplify use of at-func.c
30986         * lib/at-func.c (includes): Include prerequisites here, to
30987         simplify requirements on client files.
30988         * lib/openat-priv.h: Add double-inclusion guard.
30989         * lib/faccessat.c (includes): Simplify.
30990         * lib/fchmodat.c (includes): Likewise.
30991         * lib/fchownat.c (includes): Likewise.
30992         * lib/mkdirat.c (includes): Likewise.
30993         * lib/mkfifoat.c (includes): Likewise.
30994         * lib/symlinkat.c (includes): Likewise.
30995
30996         openat: allow return of fd 0
30997         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
30998         * modules/save-cwd (Depends-on): Replace fcntl-safer with
30999         unistd-safer.
31000         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
31001         <fcntl.h>; this module does not leak fds.
31002         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
31003         must be allowed to return 0, leaving openat_safer to add the
31004         safety.
31005         (openat_permissive): Avoid writing to just-opened fd 2 if
31006         restoring the current directory fails.
31007         * lib/openat-die.c (openat_restore_fail): Add comment.
31008         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
31009         (save_cwd): Guarantee safe fd, but without use of open_safer.
31010         * tests/test-openat.c: New test.
31011         * modules/openat-tests (Files, Makefile.am): Distribute and build
31012         new file.
31013
31014         relocatable-prog-wrapper: fix build
31015         * modules/relocatable-prog-wrapper (Files): Update name of
31016         canonicalize m4 file, broken on 2009-09-17.
31017         Reported by emad hajjar <aleppos@hotmail.com>.
31018
31019 2009-09-19  Bruno Haible  <bruno@clisp.org>
31020
31021         * lib/safe-alloc.h: Use the standard header with GPL copyright.
31022         * lib/safe-alloc.c: Likewise.
31023         Reported by Ian Beckwith <ianb@erislabs.net>.
31024
31025 2009-09-18  Bruno Haible  <bruno@clisp.org>
31026
31027         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
31028         Reported by <erobles@sensacd.com.mx>.
31029
31030 2009-09-17  Eric Blake  <ebb9@byu.net>
31031
31032         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
31033         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
31034         slashes when checking if last component is missing.
31035         * tests/test-canonicalize.c (main): Test this.
31036
31037         canonicalize, canonicalize-lgpl: honor // if distinct from /
31038         * modules/canonicalize (Files): Add double-slash-root.m4.
31039         * modules/canonicalize-lgpl (Files): Likewise.
31040         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31041         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
31042         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
31043         fallback definition.
31044         (canonicalize_filename_mode): Use it to protect //.
31045         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
31046         (__realpath): Likewise.
31047         * tests/test-canonicalize.c (main): Test this.
31048         * tests/test-canonicalize-lgpl.c (main): Likewise.
31049         * modules/canonicalize-tests (Depends-on): Add same-inode.
31050         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31051
31052         canonicalize-lgpl: fix glibc bug with trailing slash
31053         * m4/canonicalize-lgpl.m4: Move contents...
31054         * m4/canonicalize.m4: ...here.
31055         (gl_CANONICALIZE_LGPL): Factor realpath check...
31056         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
31057         glibc 2.3.5 bug, fixed 2005-04-27.
31058         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
31059         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
31060         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
31061         * modules/canonicalize-lgpl (Files): Manage file rename.
31062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31063         * modules/stdlib (Makefile.am): Substitute witness.
31064         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
31065         is needed.
31066         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
31067         replacement is required.
31068         * lib/canonicalize.c (canonicalize_file_name): Likewise.
31069         * doc/glibc-functions/canonicalize_file_name.texi
31070         (canonicalize_file_name): Document this.
31071         * doc/posix-functions/realpath.texi (realpath): Likewise.
31072
31073         canonicalize-lgpl: reject non-directory with trailing slash
31074         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
31075         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
31076         catches failures in glibc 2.3.5.
31077         * tests/test-canonicalize.c (main): Likewise.
31078
31079         canonicalize-lgpl: use native realpath if it works
31080         * lib/canonicalize-lgpl.c (realpath): Guard with
31081         FUNC_REALPATH_WORKS.
31082         * lib/stdlib.in.h (realpath): Make declaration optional based on
31083         HAVE_REALPATH.
31084         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
31085         native realpath works.
31086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31087         * modules/stdlib (Makefile.am): Substitute witness.
31088
31089         canonicalize, canonicalize-lgpl: use <stdlib.h>
31090         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
31091         (Include): Mention <stdlib.h>.
31092         (configure.ac): Mention functions we provide.
31093         * modules/canonicalize (configure.ac): Likewise.
31094         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
31095         realpath if canonicalize_file_name is missing.
31096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
31097         * modules/stdlib (Makefile.am): Substitute witnesses.
31098         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
31099         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
31100         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
31101         * NEWS: Document this.
31102         * doc/glibc-functions/canonicalize_file_name.texi
31103         (canonicalize_file_name): Likewise.
31104         * doc/posix-functions/realpath.texi (realpath): Likewise.
31105         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
31106
31107         test-canonicalize: consolidate into single C program
31108         * tests/test-canonicalize.sh: Delete; move setup into...
31109         * tests/test-canonicalize.c (main): ...the program, making it
31110         easier to run in debugger.  Add some tests.
31111         * modules/canonicalize-tests (Files): Remove unused file.
31112         (Depends-on): Add progname.
31113         (configure.ac, Makefile.am): Simplify.
31114
31115         test-canonicalize-lgpl: consolidate into single C program
31116         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
31117         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
31118         easier to run in debugger.  Add some tests.
31119         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
31120         (configure.ac, Makefile.am): Simplify.
31121
31122         canonicalize: avoid resolvepath
31123         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
31124         unnecessary checks.
31125         * lib/canonicalize.c (includes): Simplify.
31126         (canonicalize_file_name): Drop resolvepath implementation.
31127         * modules/canonicalize (Depends-on): Drop filenamecat.
31128
31129         canonicalize: don't lose errno
31130         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
31131         over calls to free.
31132
31133         canonicalize: simplify errno handling
31134         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
31135         assignment.
31136
31137         canonicalize, canonicalize-lgpl: update module dependencies
31138         * modules/canonicalize (Depends-on): Add extensions, lstat,
31139         pathmax, stdlib.
31140         (Files): Drop pathmax.h.
31141         (configure.ac): Adjust macro name.
31142         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
31143         lstat, stdlib, sys_stat.
31144         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
31145         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
31146         extensions.
31147         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
31148         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
31149         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
31150         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
31151         declaration, if available.
31152         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
31153         we can rely on the readlink module.
31154         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
31155         (includes): Use <unistd.h> unconditionally.
31156
31157 2009-09-17  Eric Blake  <ebb9@byu.net>
31158
31159         maint: make Include sections of modules consistent
31160         * modules/alloca: Use only header name; no need to list #include.
31161         * modules/alloca-opt: Likewise.
31162         * modules/arpa_inet: Likewise.
31163         * modules/canon-host: Likewise.
31164         * modules/configmake: Likewise.
31165         * modules/dirent: Likewise.
31166         * modules/eealloc: Likewise.
31167         * modules/environ: Likewise.
31168         * modules/fchdir: Likewise.
31169         * modules/fcntl: Likewise.
31170         * modules/fcntl-h: Likewise.
31171         * modules/gethrxtime: Likewise.
31172         * modules/gettime: Likewise.
31173         * modules/ignore-value: Likewise.
31174         * modules/inet_ntop: Likewise.
31175         * modules/inet_pton: Likewise.
31176         * modules/inttypes: Likewise.
31177         * modules/isnand-nolibm: Likewise.
31178         * modules/isnanf-nolibm: Likewise.
31179         * modules/mbchar: Likewise.
31180         * modules/mbfile: Likewise.
31181         * modules/mbiter: Likewise.
31182         * modules/mbuiter: Likewise.
31183         * modules/netdb: Likewise.
31184         * modules/netinet_in: Likewise.
31185         * modules/nproc: Likewise.
31186         * modules/pagealign_alloc: Likewise.
31187         * modules/poll: Likewise.
31188         * modules/printf-frexp: Likewise.
31189         * modules/pthread: Likewise.
31190         * modules/putenv: Likewise.
31191         * modules/random_r: Likewise.
31192         * modules/relocatable-prog: Likewise.
31193         * modules/search: Likewise.
31194         * modules/select: Likewise.
31195         * modules/selinux-h: Likewise.
31196         * modules/settime: Likewise.
31197         * modules/signal: Likewise.
31198         * modules/size_max: Likewise.
31199         * modules/socklen: Likewise.
31200         * modules/ssize_t: Likewise.
31201         * modules/stdarg: Likewise.
31202         * modules/stdbool: Likewise.
31203         * modules/stddef: Likewise.
31204         * modules/stdint: Likewise.
31205         * modules/stdio: Likewise.
31206         * modules/stdlib: Likewise.
31207         * modules/string: Likewise.
31208         * modules/strings: Likewise.
31209         * modules/sys_file: Likewise.
31210         * modules/sys_ioctl: Likewise.
31211         * modules/sys_select: Likewise.
31212         * modules/sys_socket: Likewise.
31213         * modules/sys_stat: Likewise.
31214         * modules/sys_time: Likewise.
31215         * modules/sys_times: Likewise.
31216         * modules/sys_utsname: Likewise.
31217         * modules/sys_wait: Likewise.
31218         * modules/sysexits: Likewise.
31219         * modules/time: Likewise.
31220         * modules/times: Likewise.
31221         * modules/tmpfile: Likewise.
31222         * modules/trim: Likewise.
31223         * modules/unistd: Likewise.
31224         * modules/wchar: Likewise.
31225         * modules/wctype: Likewise.
31226
31227 2009-09-17  Bruno Haible  <bruno@clisp.org>
31228
31229         Make getdate.y compile on QNX and NetBSD 5 / i386.
31230         * m4/getdate.m4 (gl_GETDATE): Conditionally define
31231         TIME_T_FITS_IN_LONG_INT.
31232         * lib/getdate.y (long_time_t): New type.
31233         (relative_time): Change type of 'seconds' field to long_time_t.
31234         (get_date): Update types of local variables. Check against overflow
31235         during conversion from long_time_t to time_t.
31236         Reported by Matt Kraai <kraai@ftbfs.org>
31237         and Hasso Tepper <hasso@netbsd.org>.
31238
31239 2009-09-17  Bruno Haible  <bruno@clisp.org>
31240
31241         * modules/COPYING: Update copyright years.
31242         * modules/README: Likeiwse.
31243         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
31244         Reported by Ian Beckwith <ianb@erislabs.net>.
31245
31246 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
31247
31248         * users.txt: Update references for gnuit package.
31249
31250 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
31251
31252         * m4/getdelim.m4: Fix typo in copyright line.
31253
31254 2009-09-17  Bruno Haible  <bruno@clisp.org>
31255
31256         * lib/atoll.c: Use the standard header with GPL copyright.
31257         * lib/argz.in.h: Likewise.
31258         * lib/glob.c: Likewise.
31259         * lib/glob-libc.h: Likewise.
31260         * lib/random_r.c: Likewise.
31261         * lib/siglist.h: Likewise.
31262         * lib/strsignal.c: Likewise.
31263         Reported by Ian Beckwith <ianb@erislabs.net>.
31264
31265 2009-09-17  Eric Blake  <ebb9@byu.net>
31266
31267         rmdir: ensure correct dependency order
31268         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
31269
31270 2009-09-17  Bruno Haible  <bruno@clisp.org>
31271
31272         Disable assertion that fails on NetBSD 5 / i386.
31273         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
31274         Reported by Sam Steingold <sds@gnu.org>
31275         and Hasso Tepper <hasso@netbsd.org>.
31276
31277 2009-09-16  Eric Blake  <ebb9@byu.net>
31278
31279         unlinkdir: port to mingw
31280         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
31281         on which no one can unlink a directory.
31282
31283         stdlib: sort witness names
31284         * modules/stdlib (Makefile.am): Sort replacements.
31285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
31286         * lib/stdlib.in.h: Likewise.
31287
31288         parse-duration-tests: avoid link failure
31289         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
31290         LIBINTL.
31291         Reported by Tom G. Christensen.
31292
31293         openat-tests: ensure unlinkat behaves like rmdir
31294         * tests/test-rmdir.c (main): Factor guts...
31295         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
31296         * modules/rmdir-tests (Files): Ship new file.
31297         * modules/openat-tests: New test.
31298         * tests/test-unlinkat.c: Likewise.
31299
31300         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
31301         * modules/rmdir-errno (Status, Notice): Now obsolete.
31302
31303         rmdir: work around cygwin 1.5.x and mingw bugs
31304         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
31305         * lib/rmdir.c (rmdir): Work around it.
31306         * modules/rmdir (Status, Notice): No longer obsolete.
31307         (Files): Add dos.m4.
31308         (Depends-on): Add unistd.
31309         (configure.ac): Set witnesses.
31310         (License): Relax to LGPLv2+.
31311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
31312         * modules/unistd (Makefile.am): Substitute witnesses.
31313         * lib/unistd.in.h (rmdir): Declare replacement.
31314         * doc/posix-functions/rmdir.texi (rmdir): Document this.
31315         * modules/rmdir-tests: New tests.
31316         * tests/test-rmdir.c: Likewise.
31317
31318 2009-09-15  Eric Blake  <ebb9@byu.net>
31319
31320         fchdir: improve use of replacement functions
31321         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
31322         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
31323         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
31324         REPLACE_CLOSEDIR.
31325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
31326         * modules/sys_stat (Makefile.am): Substitute correct witness.
31327         * modules/dirent (Makefile.am): Likewise.
31328         * modules/unistd (Makefile.am): Likewise.
31329         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
31330         * lib/unistd.in.h (dup): Likewise.
31331         * lib/sys_stat.in.h (fstat): Likewise.
31332
31333         maint: ignore gnulib-tool temp files
31334         * .gitignore: Ignore files created during gnulib-tool --test.
31335
31336 2009-09-13  Jim Meyering  <meyering@redhat.com>
31337
31338         posixtm: don't reject a time that specify "60" as the number of seconds
31339         * lib/posixtm.c (posixtime): The code to reject invalid dates
31340         would also reject a time specified with the .60 suffix.
31341         But POSIX allows that, in order to accommodate leap seconds.
31342         So don't reject it.
31343         (main): Adjust tests accordingly.
31344         * modules/posixtm (Depends-on): Add stpcpy.
31345
31346 2009-09-11  Jim Meyering  <meyering@redhat.com>
31347
31348         announce-gen: include [$release_type] in emitted Subject:
31349         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
31350         e.g., [stable] in the emitted Subject: line.
31351
31352 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31353
31354         Remove obsolete macros from several modules.
31355         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
31356         obsolete Autoconf macros with their modern counterparts.
31357         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
31358         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
31359         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
31360         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
31361         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
31362         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
31363         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
31364         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31365         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
31366         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
31367         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
31368         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
31369         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
31370         * m4/sockets.m4 (gl_SOCKETS): Likewise.
31371         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
31372         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
31373         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31374         * m4/time_r.m4 (gl_TIME_R): Likewise.
31375         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
31376         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
31377         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31378
31379         Fix copyright header in build-aux scripts.
31380         * build-aux/git-version-gen: Fix copyright header to match GPLv3
31381         recommendation.
31382         * build-aux/ncftpput-ftp: Likewise.
31383         * build-aux/update-copyright: Likewise.
31384
31385 2009-09-09  Eric Blake  <ebb9@byu.net>
31386
31387         test-link: allow Linux choice of errno
31388         * tests/test-link.c (main): Relax test for alternate error.
31389
31390         strndup: fix improper m4 caching
31391         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
31392         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
31393         (gl_PREREQ_STRNDUP): Delete.
31394         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
31395         * modules/string (Makefile.am): Substitute it.
31396         * lib/string.in.h (strndup): Modernize prototype.
31397
31398         getcwd: port to mingw
31399         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
31400         different from the POSIX assumptions made throughout the getcwd
31401         module; fortunately, the mingw getcwd does not need replacement.
31402         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
31403         * modules/getcwd-tests: New test.
31404         * tests/test-getcwd.c: Likewise.
31405
31406         link: fix platform bugs
31407         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
31408         * lib/link.c (link): Work around them.  Fix related mingw bug.
31409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
31410         * modules/unistd (Makefile.am): Substitute it.
31411         * lib/unistd.in.h (link): Declare replacement.
31412         * doc/posix-functions/link.texi (link): Document this.
31413         * modules/link (Depends-on): Add strdup-posix, sys_stat.
31414
31415         test-link: consolidate into single C program, test more cases
31416         * tests/test-link.sh: Delete.
31417         * tests/test-link.c: Test more error conditions.  Exposes bugs on
31418         at least Cygwin and Solaris.
31419         * modules/link-tests (Files): Remove unused file.
31420         (Depends-on): Add errno, sys_stat.
31421         (Makefile.am): Simplify.
31422
31423 2009-09-08  Bruno Haible  <bruno@clisp.org>
31424
31425         Work around towlower, towupper bug on mingw.
31426         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
31427         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
31428         * doc/posix-functions/towlower.texi: Mention the mingw bug.
31429         * doc/posix-functions/towupper.texi: Likewise.
31430         Reported by Eric Blake.
31431
31432 2009-09-08  Jim Meyering  <meyering@redhat.com>
31433
31434         build: don't try to run autoheader if we don't use it
31435         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
31436         is not used in configure.ac.
31437
31438 2009-09-08  Eric Blake  <ebb9@byu.net>
31439
31440         euidaccess: fix compilation error
31441         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
31442
31443         rawmemchr: relax license
31444         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
31445         okay.
31446         Reported by Jim Meyering.
31447
31448         mkfifoat: new module
31449         * modules/mkfifoat: New file.
31450         * lib/mkfifoat.c: Likewise.
31451         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
31452         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31453         * modules/sys_stat (Makefile.am): Use them.
31454         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
31455         * MODULES.html.sh (File system functions): Mention module.
31456         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
31457         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
31458         * modules/mkfifoat-tests: New test.
31459         * tests/test-mkfifoat.c: Likewise.
31460
31461         strchrnul: relax license
31462         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
31463         okay.
31464         Reported by Jim Meyering.
31465
31466 2009-09-08  Eric Blake  <ebb9@byu.net>
31467
31468         fstatat: fix compilation on Solaris
31469         * lib/fstatat.c (includes): Add fcntl.h.
31470         Reported by Pádraig Brady.
31471
31472 2009-09-07  Eric Blake  <ebb9@byu.net>
31473
31474         rename: modernize replacement
31475         * modules/rename (Depends-on): Add stdio.
31476         (configure.ac): Declare witness.
31477         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
31478         stdio take care of replacement.
31479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
31480         * modules/stdio (Makefile.am): Substitute them.
31481         * lib/stdio.in.h (rename): Declare replacement.
31482         * lib/rename.c (includes): Allow cross-compilation to non-windows
31483         machines.
31484         * doc/posix-functions/rename.texi (rename): Improve
31485         documentation.
31486
31487         stdio: sort witness names
31488         * modules/stdio (Makefile.am): Sort replacements.
31489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31490         * lib/stdio.in.h: Likewise.
31491
31492         getcwd: minor cleanups
31493         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
31494         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
31495
31496         openat: provide more convenience names
31497         * modules/faccessat (configure.ac): Add C witness.
31498         * lib/unistd.in.h (readlinkat): Fix typo.
31499         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
31500         convenience wrappers.
31501         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
31502         wrappers in syntax checks.
31503
31504 2009-09-06  Eric Blake  <ebb9@byu.net>
31505
31506         doc: fix comments in recent patches
31507         * lib/faccessat.c: Mention correct function.
31508         * lib/fchmodat.c: Likewise.
31509         * lib/fchownat.c: Likewise.
31510         * lib/symlinkat.c: Likewise.
31511         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
31512         constants.
31513
31514         faccessat, symlinkat: continue cleanup of previous patch
31515         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
31516         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31517         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
31518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
31519         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
31520         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
31521         set.
31522
31523 2009-09-06  Bruno Haible  <bruno@clisp.org>
31524
31525         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
31526         (fstatat): Declare if GNULIB_FSTATAT is set.
31527         (mkdirat): Declare if GNULIB_MKDIRAT is set.
31528         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
31529         (unlinkat): Declare if GNULIB_UNLINKAT is set.
31530         * modules/fcntl-h (Files): Remove m4/openat.m4.
31531         * modules/sys_stat (Files): Remove m4/openat.m4.
31532         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
31533         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
31534         * modules/unistd (Files): Remove m4/openat.m4.
31535         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
31536         GNULIB_OPENAT.
31537         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
31538         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
31539         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
31540         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
31541         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
31542         gl_OPENAT_DEFAULTS.
31543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
31544         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
31545         Don't require gl_OPENAT_DEFAULTS.
31546         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
31547         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
31548         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
31549         (gl_OPENAT_DEFAULTS): Remove macro.
31550
31551 2009-09-06  Bruno Haible  <bruno@clisp.org>
31552
31553         * modules/openat (configure.ac): Remove unneeded witness.
31554
31555 2009-09-06  Bruno Haible  <bruno@clisp.org>
31556
31557         Set errno to ENOSYS when a function is entirely unsupported.
31558         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
31559         EOPNOTSUPP.
31560         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31561         * modules/chown (Depends-on): Remove errno.
31562
31563 2009-09-06  Bruno Haible  <bruno@clisp.org>
31564
31565         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
31566
31567 2009-09-06  Bruno Haible  <bruno@clisp.org>
31568
31569         * lib/sys_stat.in.h: Fix preprocessor command indentation.
31570
31571 2009-09-06  Ben Pfaff  <blp@gnu.org>
31572             Bruno Haible  <bruno@clisp.org>
31573
31574         Work around a glibc bug in strtok_r.
31575         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
31576         Undefine if UNDEFINE_STRTOK_R is set.
31577         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
31578         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31579         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
31580         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
31581         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
31582         UNDEFINE_STRTOK_R.
31583         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
31584
31585 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
31586
31587         exclude: minor fix
31588         * lib/exclude.c: Include wctype.h
31589
31590 2009-09-06  Akim Demaille  <demaille@gostai.com>
31591
31592         bootstrap: improve error message
31593         * build-aux/bootstrap (find_tool): Upon failure, report the list
31594         of candidates.
31595         Honor the initial value of the envvar.
31596
31597 2009-09-05  Eric Blake  <ebb9@byu.net>
31598
31599         symlinkat: new module
31600         * modules/symlinkat: New file.
31601         * lib/symlinkat.c: Likewise.
31602         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
31603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31604         * modules/unistd (Makefile.am): Use them.
31605         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
31606         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
31607         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
31608         * MODULES.html.sh (File system functions): Mention module.
31609         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31610         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31611         * modules/symlinkat-tests: New test.
31612         * tests/test-symlinkat.c: Likewise.
31613
31614         test-openat-safer: add more checks
31615         * tests/test-openat-safer.c (main): Check more code paths.
31616
31617 2009-09-05  Jim Meyering  <meyering@redhat.com>
31618
31619         syntax-check: detect unnecessary inclusion of openat.h
31620         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
31621
31622 2009-09-05  Bruno Haible  <bruno@clisp.org>
31623
31624         Support towlower, towupper.
31625         * doc/posix-functions/towlower.texi: Mention module wctype.
31626         * doc/posix-functions/towupper.texi: Likewise.
31627         * lib/wctype.in.h (towlower, towupper): New functions.
31628         * tests/test-wctype.c: Include stdio.h, stdlib.h.
31629         (ASSERT): New macro.
31630         (e): New variable.
31631         (main): Test also towlower, towupper. Test WEOF argument.
31632         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31633
31634 2009-09-05  Bruno Haible  <bruno@clisp.org>
31635
31636         Fix conversion behaviour when the input is invalid.
31637         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
31638         mark occurring in first pass of indirect conversion.
31639         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
31640         input.
31641         Found by clang's static analyzer.
31642
31643 2009-09-05  Bruno Haible  <bruno@clisp.org>
31644
31645         * tests/test-striconveh.c (main): Test indirect conversion on platforms
31646         where direct conversion is possible.
31647
31648 2009-09-04  Eric Blake  <ebb9@byu.net>
31649
31650         openat: fail with ENOENT on empty name
31651         * lib/openat-proc.c (openat_proc_name): Special-case the empty
31652         buffer.
31653
31654         link-follow: fix logic bug in prior patch
31655         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
31656         reversed sense of yes and no in prior patch.  Avoid confusing
31657         compilation failure with desired semantics.
31658
31659         link-follow: accomodate mingw and cross-compilation
31660         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
31661         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
31662         cross-compilation results to -1, to make linkat easier to
31663         implement when cross-compiling.  Trivially support mingw.
31664         * modules/link-follow (configure.ac): Call new name.
31665         * NEWS: Mention this.
31666
31667 2009-09-03  Eric Blake  <ebb9@byu.net>
31668
31669         faccessat: compile replacement
31670         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
31671         needed.
31672
31673         fts: fix compilation error
31674         * lib/fts.c (includes): Re-add "openat.h", for
31675         openat_needs_fchdir.
31676
31677         faccessat: new module
31678         * modules/faccessat: New file.
31679         * lib/faccessat.c: Likewise.
31680         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31682         * modules/unistd (Makefile.am): Use it.
31683         * lib/unistd.in.h (faccessat): Declare it.
31684         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
31685         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
31686         * MODULES.html.sh (File system functions): Mention it.
31687         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
31688         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31689
31690         euidaccess: prefer POSIX over non-standard implementation
31691         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
31692         * lib/euidaccess.c (euidaccess): Use it if available.
31693
31694         openat: make template easier to use
31695         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
31696         AT_FUNC_F2 to be undefined.
31697         (VALIDATE_FLAG): New macro; use it to reject bad flags.
31698         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
31699         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
31700         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
31701         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
31702         Likewise.
31703         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
31704         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
31705         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
31706         Likewise.
31707
31708         openat: declare in POSIX headers
31709         * NEWS: Mention this.
31710         * modules/openat (configure.ac): Declare witnesses.
31711         (Depends-on): Add fcntl-h, sys_stat, unistd.
31712         (Include): Mention correct headers.
31713         * modules/fcntl-h (Depends-on): Add link-warning.
31714         (Files): Add openat.m4.
31715         (Makefile.am): Substitute witnesses.
31716         * modules/sys_stat (Files, Makefile.am): Likewise.
31717         * modules/unistd (Files, Makefile.am): Likewise.
31718         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
31719         (gl_OPENAT_DEFAULTS): New macro.
31720         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
31721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
31722         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
31723         (SYS_STAT_H): Remove unused variable.
31724         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
31725         * lib/fcntl--.h (includes): Remove unneeded header.
31726         * lib/openat-safer.c (includes): Likewise.
31727         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
31728         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
31729         appropriate headers.
31730         (__OPENAT_PREFIX): Delete.
31731         * lib/fcntl.in.h (openat): Provide declaration.
31732         (AT_FDCWD): Fix Solaris bug.
31733         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
31734         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
31735         * lib/fchmodat.c (includes):  Adjust to find declaration.
31736         * lib/fchownat.c (includes): Likewise.
31737         * lib/mkdirat.c (includes): Likewise.
31738         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
31739         still visible.
31740
31741 2009-09-02  Eric Blake  <ebb9@byu.net>
31742
31743         errno: use consistently
31744         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
31745         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
31746         * lib/canonicalize.c (ELOOP): Likewise.
31747         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
31748         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
31749         * lib/lchown.c (EOPNOTSUPP): Likewise.
31750         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
31751         * lib/savewd.c (ESTALE): Likewise.
31752         * lib/settime.c (ENOSYS): Likewise.
31753         * lib/utimens.c (ENOSYS): Likewise.
31754         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
31755         * lib/chdir-safer.c (ELOOP): Likewise.
31756         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
31757         * modules/c-stack (Depends-on): Add errno.
31758         * modules/canonicalize (Depends-on): Likewise.
31759         * modules/chdir-safer (Depends-on): Likewise.
31760         * modules/fdopendir (Depends-on): Likewise.
31761         * modules/inet_ntop (Depends-on): Likewise.
31762         * modules/inet_pton (Depends-on): Likewise.
31763         * modules/lchown (Depends-on): Likewise.
31764         * modules/openat (Depends-on): Likewise.
31765         * modules/savewd (Depends-on): Likewise.
31766         * modules/settime (Depends-on): Likewise.
31767         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
31768
31769         fts: avoid leaking fds
31770         * modules/fts (Depends-on): Add cloexec.
31771         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
31772         flag.
31773
31774         fts: make directory fds more robust
31775         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
31776         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
31777
31778         backupfile, chdir-long, fts, savedir: make safer
31779         * lib/backupfile.c (includes): Use "dirent--.h", since
31780         numbered_backup can write to stderr during readdir.
31781         * lib/savedir.c (includes): Likewise.
31782         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
31783         emulation can write to stderr on failure.
31784         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
31785         * lib/getcwd.c: Document why opendir_safer is unused.
31786         * lib/glob.c: Likewise.
31787         * lib/scandir.c: Likewise.
31788         * lib/openat-proc.c: Likewise, for open_safer.
31789         * modules/backupfile (Depends-on): Add dirent-safer.
31790         * modules/savedir (Depends-on): Likewise.
31791         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
31792         * modules/chdir-long (Depends-on): Add openat-safer.
31793
31794         openat-safer: new module
31795         * modules/openat-safer: New file.
31796         * lib/openat-safer.c: Likewise.
31797         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
31798         * lib/fcntl-safer.h (openat_safer): Declare.
31799         * lib/fcntl--.h (openat): Override.
31800         * MODULES.html.sh (File descriptor based I/O): Mention it.
31801         * lib/openat.h: Add double-inclusion guards.
31802         * lib/openat.c (includes): Only include "fcntl-safer.h", not
31803         "fcntl--.h", so we can implement openat.
31804         * modules/openat-safer-tests: New test.
31805         * tests/test-openat-safer.c: New file.
31806
31807         dirent-safer: new module
31808         * modules/dirent-safer: New file.
31809         * lib/dirent--.h: Likewise.
31810         * lib/dirent-safer.h: Likewise.
31811         * lib/opendir-safer.c: Likewise.
31812         * m4/dirent-safer.m4: Likewise.
31813         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
31814         * modules/dirent-safer-tests: New test.
31815         * tests/test-dirent-safer.c: New file.
31816         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
31817
31818         fdopendir: optimize on mingw
31819         * lib/unistd.in.h (_gl_directory_name): New prototype.
31820         * lib/fchdir.c (_gl_directory_name): Implement it.
31821         (fchdir): Use it to simplify implementation.
31822         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
31823         fchdir, when available, to avoid calling [f]chdir().
31824
31825         fdopendir: split into its own module
31826         * lib/openat.c (fdopendir): Move...
31827         * lib/fdopendir.c: ...into new file.
31828         * modules/fdopendir: New module.
31829         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
31830         * modules/openat (Depends-on): Add fdopendir.
31831         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
31832         fdopendir here.
31833         * modules/savedir (Depends-on): Only need fdopendir, not full
31834         openat.
31835         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
31836         * lib/openat.h (fdopendir): Drop prototype.
31837         * lib/dirent.in.h (fdopendir): Provide prototype.
31838         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
31839         * modules/dirent (Makefile.am): Substitute them.
31840         * MODULES.html.sh (File system functions): Mention it.
31841         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
31842         * modules/fdopendir-tests: New file.
31843         * tests/test-fdopendir.c: Likewise.
31844
31845         fchdir: use more consistent macro convention
31846         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
31847         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
31848         REPLACE_FCHDIR, rather than relying on config.h macros.
31849         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
31850         inside a single make-time REPLACE_FCHDIR block, rather than using
31851         the config.h FCHDIR_REPLACEMENT.
31852         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
31853         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
31854         Manage fstat replacement.
31855         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
31856         REPLACE_FCHDIR.
31857         * modules/sys_stat (Files): Add m4/unistd_h.m4.
31858         (Makefile.am): Substitute REPLACE_FCHDIR.
31859         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
31860         FCHDIR_REPLACEMENT.
31861         * lib/dup-safer.c (dup_safer): Likewise.
31862         * lib/dup2.c (rpl_dup2): Likewise.
31863         * lib/dup3.c (rpl_dup3): Likewise.
31864         * lib/open.c (rpl_open): Likewise.
31865
31866         fchdir: simplify error handling, and support dup3
31867         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
31868         stdbool, malloc-posix, realloc-posix.
31869         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
31870         (ensure_dirs_slot): Return false on allocation failure.
31871         (rpl_dup2): Delete.
31872         (_gl_register_dup): New function.
31873         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
31874         (_gl_register_fd): Close fd on allocation failure.
31875         * lib/fcntl.in.h (_gl_register_fd): Update signature.
31876         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
31877         prototype.
31878         (rpl_dup2_fchdir): Delete prototype.
31879         * lib/open.c (open): Update caller.
31880         * lib/dup2.c (dup2): Track fchdir metadata.
31881         * lib/dup3.c (dup3): Likewise.
31882         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
31883         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
31884
31885 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31886
31887         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
31888         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
31889         don't pass arguments to AC_OUTPUT.
31890
31891 2009-09-02  Bruno Haible  <bruno@clisp.org>
31892
31893         * modules/mkdtemp (License): Relicense under LGPLv2+.
31894         Reported by Paolo Bonzini.
31895
31896 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31897
31898         Replace uses of obsolete autoconf macros in Jim's modules.
31899         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
31900         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
31901         can evoke a warning from autoconf when run with -Wobsolete
31902         enabled.  They were declared obsolete for good reasons (see
31903         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
31904         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
31905         should not continue using the deprecated macros.
31906         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
31907         obsolete Autoconf macros with modern counterparts.
31908         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31909         * m4/dos.m4 (gl_AC_DOS): Likewise.
31910         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
31911         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
31912         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
31913         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
31914         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
31915         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
31916         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
31917         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
31918         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
31919         Likewise.
31920         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
31921         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
31922         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
31923         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
31924         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31925         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
31926
31927 2009-09-01  Eric Blake  <ebb9@byu.net>
31928
31929         fchdir: fix off-by-one bug in previous patch
31930         * lib/fchdir.c (rpl_fstat): Use correct bounds.
31931         (_gl_unregister_fd): Delete useless if.
31932
31933 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
31934
31935         maint.mk: sort the list of syntax-check rules
31936         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
31937         easier to get a sense of progress when the rules are run sequentially
31938         and take a long time.
31939
31940 2009-09-01  Simon Josefsson  <simon@josefsson.org>
31941
31942         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
31943         * modules/netinet_in: Likewise.
31944         * modules/sys_file: Likewise.
31945         * modules/sys_ioctl: Likewise.
31946         * modules/sys_select: Likewise.
31947         * modules/sys_socket: Likewise.
31948         * modules/sys_stat: Likewise.
31949         * modules/sys_time: Likewise.
31950         * modules/sys_times: Likewise.
31951         * modules/sys_utsname: Likewise.
31952         * modules/sys_wait: Likewise.
31953
31954 2009-09-01  Jim Meyering  <meyering@redhat.com>
31955
31956         fts: help ensure that return values are not ignored
31957         * lib/fts_.h (__GNUC_PREREQ): Define.
31958         (__attribute_warn_unused_result__): Define.
31959         (fts_children, fts_close, fts_open, fts_read): Declare with
31960         __attribute_warn_unused_result__.
31961
31962         fts: fts_close now fails also when closing a dir file descriptor fails
31963         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
31964         and propagate to caller, along with errno.
31965
31966         announce-gen: correct formatting in --help output
31967         * build-aux/announce-gen (usage): Move the one-line description in
31968         --help output "up", to where it belongs, just after Usage:.
31969
31970 2009-08-31  Eric Blake  <ebb9@byu.net>
31971
31972         fchdir: port to mingw
31973         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
31974         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
31975         opened, then use a substitute.
31976         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
31977         replacement.
31978         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
31979         (_gl_register_fd): No need to check stat if open already filters
31980         all directories.
31981         (fchdir): Fix error condition to match POSIX.
31982         * modules/fchdir (Depends-on): Add sys_stat.
31983         * doc/posix-functions/open.texi (open): Document the limitation.
31984         * modules/fchdir-tests: New file.
31985         * tests/test-fchdir.c: Likewise.
31986
31987         canonicalize: allow cross-testing from cygwin to mingw
31988         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
31989         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
31990         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
31991         Likewise.
31992         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
31993         target does not support symlinks.
31994         * tests/test-canonicalize-lgpl.sh: Likewise.
31995
31996         chown: avoid compilation warning on mingw
31997         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
31998         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
31999         mingw.
32000         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
32001         * modules/chown (Depends-on): Add errno.
32002
32003 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
32004
32005         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
32006         command.
32007
32008 2009-08-31  Jim Meyering  <meyering@redhat.com>
32009
32010         canonicalize: remove useless initialization
32011         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
32012         initialization of local, "end".
32013
32014 2009-08-30  Bruno Haible  <bruno@clisp.org>
32015
32016         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
32017         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
32018         ENOSYS.
32019
32020 2009-08-30  Bruno Haible  <bruno@clisp.org>
32021
32022         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
32023         /usr/xpg4/bin/tr when it exists.
32024         * tests/test-pipe-filter-gi1.sh: Likewise.
32025
32026 2009-08-30  Bruno Haible  <bruno@clisp.org>
32027
32028         Work around deficient /usr/bin/id program on Solaris.
32029         * tests/test-file-has-acl.sh (ID): New variable.
32030         * tests/test-set-mode-acl.sh (ID): Likewise.
32031         * tests/test-copy-acl.sh (ID): Likewise.
32032         * tests/test-copy-file.sh (ID): Likewise.
32033
32034 2009-08-30  Bruno Haible  <bruno@clisp.org>
32035
32036         New module 'xstriconveh'.
32037         * lib/xstriconveh.h: New file.
32038         * lib/xstriconveh.c: New file.
32039         * modules/xstriconveh: New file.
32040
32041 2009-08-30  Bruno Haible  <bruno@clisp.org>
32042
32043         Make it easier to use mem_cd_iconveh.
32044         * lib/striconveh.h (iconveh_t): New type.
32045         (iconveh_open, iconveh_close): New declarations.
32046         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32047         with a single 'const iconveh_t *' argument.
32048         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
32049         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32050         with a single 'const iconveh_t *' argument.
32051         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
32052         * tests/test-striconveh.c (main): Update.
32053         * NEWS: Mention the change.
32054
32055 2009-08-30  Bruno Haible  <bruno@clisp.org>
32056
32057         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
32058         problem.
32059
32060 2009-08-30  Bruno Haible  <bruno@clisp.org>
32061
32062         Work around iconv_open problem on Solaris.
32063         * lib/iconv_open-solaris.gperf: New file.
32064         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
32065         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
32066         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
32067         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
32068         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
32069         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
32070
32071 2009-08-29  Jim Meyering  <meyering@redhat.com>
32072
32073         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
32074         * top/maint.mk (cvs-check): Remove target; it was just an alias
32075         to the better-named vc-diff-check.
32076         (maintainer-distcheck): Remove rule.  It was used only from
32077         the (alpha/beta/major) target, and all of its commands but one
32078         were coreutils-specific.
32079         (vc-dist): Remove rule.
32080         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
32081         Run vc-diff-check, not vc-dist.
32082         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
32083
32084 2009-08-27  Bruno Haible  <bruno@clisp.org>
32085
32086         * tests/test-bitrotate.c (main): Remove test that uses a shift count
32087         of 0.
32088
32089 2009-08-27  Bruno Haible  <bruno@clisp.org>
32090
32091         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
32092         compilers.
32093         * doc/func.texi: Document the SunPRO C bug.
32094
32095 2009-08-27  Bruno Haible  <bruno@clisp.org>
32096
32097         Fix link error on Solaris.
32098         * tests/test-parse-duration.c (xstrdup): Remove function.
32099
32100 2009-08-26  Pádraig Brady  <P@draigbrady.com>
32101
32102         ignore-value: handle pointer types, too
32103         * lib/ignore-value.h (__attribute__): Remove definition.
32104         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
32105         of a more concise and more-often effective "(void) i" statement.
32106         (ignore_ptr): New function to suppress warnings from functions that
32107         return pointers, and to make it explicit that one function doesn't
32108         handle all cases.
32109
32110 2009-08-25  Bruno Haible  <bruno@clisp.org>
32111
32112         dup2: work around a Linux bug.
32113         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
32114         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
32115         * doc/posix-functions/dup2.texi: Mention the Linux bug.
32116         Reported by Simon Josefsson.
32117
32118 2009-08-25  Jim Meyering  <meyering@redhat.com>
32119
32120         libguestfs uses gnulib
32121         * users.txt: Add libguestfs.
32122
32123 2009-08-24  Eric Blake  <ebb9@byu.net>
32124
32125         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
32126         * lib/pipe2.c (includes): Add binary-io.h.
32127         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
32128
32129 2009-08-24  Bruno Haible  <bruno@clisp.org>
32130
32131         Tolerate declared but missing accept4 syscall.
32132         * lib/accept4.c (accept4): Invoke original accept4 function first, if
32133         available.
32134         * lib/sys_socket.in.h (accept4): If the function is already present,
32135         override it.
32136         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
32137         * modules/accept4 (Makefile.am): Compile accept4.c always.
32138         Reported by Paolo Bonzini and Eric Blake.
32139
32140 2009-08-23  Bruno Haible  <bruno@clisp.org>
32141
32142         New module 'accept4'.
32143         * lib/sys_socket.in.h (accept4): New declaration.
32144         * lib/accept4.c: New file.
32145         * m4/accept4.m4: New file.
32146         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
32147         GNULIB_ACCEPT4, HAVE_ACCEPT4.
32148         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
32149         HAVE_ACCEPT4.
32150         * modules/accept4: New file.
32151         * doc/glibc-functions/accept4.texi: Mention the new module.
32152
32153 2009-08-24  Jim Meyering  <meyering@redhat.com>
32154
32155         progname: also set global program_invocation_name, when possible
32156         Before this change, a libtool-enabled program that calls glibc's
32157         error function would report the program name as
32158         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
32159         * modules/progname (configure.ac): Check for a declaration of
32160         program_invocation_name.
32161         * lib/progname.c:  Include <errno.h>.
32162         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
32163         Set program_invocation_name.
32164
32165 2009-08-23  Bruno Haible  <bruno@clisp.org>
32166
32167         * lib/dup3.c: Include <string.h>.
32168
32169 2009-08-23  Bruno Haible  <bruno@clisp.org>
32170
32171         * lib/dup3.c (dup3): Test only once whether the system actually exists.
32172         * lib/pipe2.c (pipe2): Likewise.
32173         Suggested by Eric Blake.
32174
32175 2009-08-23  Bruno Haible  <bruno@clisp.org>
32176
32177         Tolerate declared but missing dup3 syscall.
32178         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
32179         * lib/unistd.in.h (dup3): If the function is already present,
32180         override it.
32181         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
32182         * modules/dup3 (Makefile.am): Compile dup3.c always.
32183         Reported by Paolo Bonzini.
32184
32185 2009-08-23  Bruno Haible  <bruno@clisp.org>
32186
32187         Tolerate declared but missing pipe2 syscall.
32188         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
32189         available.
32190         * lib/unistd.in.h (pipe2): If the function is already present,
32191         override it.
32192         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
32193         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
32194         Reported by Paolo Bonzini.
32195
32196 2009-08-23  Bruno Haible  <bruno@clisp.org>
32197
32198         * lib/pipe2.c (pipe2): Move #ifs inside function.
32199
32200 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32201
32202         quotearg: document limitations of quote_these_too
32203         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
32204         those limitations are created.
32205         * lib/quotearg.h (set_char_quoting): Document that digits and
32206         letters that are special after backslash are not permitted.
32207         (quotearg_char): Cross-reference set_char_quoting documentation.
32208
32209 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
32210
32211         quotearg: implement custom_quoting_style
32212         * lib/quotearg.c: (struct quoting_options): Add left_quote and
32213         right_quote fields.
32214         (set_custom_quoting): New public function.
32215         (quotearg_buffer_restyled): Add left_quote and right_quote
32216         arguments, handle them very much like locale quoting, and update
32217         all uses.
32218         (quotearg_n_custom): New public function.
32219         (quotearg_n_custom_mem): New public function.
32220         (quotearg_custom): New public function.
32221         (quotearg_custom_mem): New public function.
32222         * lib/quotearg.h: Prototype and document new public functions.
32223         (enum quoting_style): For escape_quoting_style and
32224         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
32225         ignored even though they're otherwise like c_quoting_style.
32226         Add custom_quoting_style member and document with comparison to
32227         clocale_quoting_style.
32228         * tests/test-quotearg.c (custom_quotes): New array.
32229         (custom_results): New array.
32230         (main): Extend to test custom quoting.
32231
32232 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32233
32234         quotearg: fix right quote escaping when it's in quote_these_too
32235         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
32236         quote, be sure to prepend only one backslash.
32237         * tests/test-quotearg.c (use_quote_double_quotes): New function.
32238         (main): Test it.
32239
32240 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32241
32242         quotearg-tests: test escaping of embedded locale quotes
32243         * tests/test-quotearg.c (struct result_strings): Add member for
32244         new input.
32245         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
32246         (inputs): Add new input.
32247         (results_g): Add expected results.
32248         (flag_results): Likewise.
32249         (locale_results): Likewise.
32250         (compare_strings): Check those.
32251
32252 2009-08-23  Bruno Haible  <bruno@clisp.org>
32253
32254         Tests for module 'dup3'.
32255         * modules/dup3-tests: New file.
32256         * tests/test-dup3.c: New file.
32257
32258         New module 'dup3'.
32259         * lib/unistd.in.h (dup3): New declaration.
32260         * lib/dup3.c: New file.
32261         * m4/dup3.m4: New file.
32262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
32263         HAVE_DUP3.
32264         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
32265         * modules/dup3: New file.
32266         * doc/glibc-functions/dup3.texi: Mention the new module.
32267
32268 2009-08-23  Bruno Haible  <bruno@clisp.org>
32269
32270         Tweak the dup2 test.
32271         * tests/test-dup2.c (main): Create the test file empty. Verify that an
32272         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
32273         the test file is still empty. Fix argument order of lseek.
32274
32275 2009-08-23  Bruno Haible  <bruno@clisp.org>
32276
32277         Avoid test link errors when the modules getopt-gnu, gettext are used.
32278         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
32279         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32280
32281 2009-08-23  Bruno Haible  <bruno@clisp.org>
32282
32283         Fix getdtablesize() on mingw.
32284         * lib/getdtablesize.c (getdtablesize): Implement differently.
32285         * lib/unistd.in.h (getdtablesize): Improve comment.
32286
32287 2009-08-23  Bruno Haible  <bruno@clisp.org>
32288
32289         New module 'mkostemp'.
32290         Based on Ulrich Drepper's 2007-08-10 change in glibc.
32291         * lib/stdlib.in.h (mksotemp): New declaration.
32292         * lib/mkostemp.c: New file, from glibc with modifications.
32293         * lib/tempname.h (GT_FILE): Remove outdated comment.
32294         (gen_tempname): Add flags argument.
32295         * lib/tempname.c (__GT_BIGFILE): Remove macro.
32296         (__GT_FILE): Map to 1.
32297         (small_open, large_open): Remove macros.
32298         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
32299         * lib/mkstemp.c (mkstemp): Update.
32300         * lib/mkdtemp.c (mkdtemp): Likewise.
32301         * m4/mkostemp.m4: New file.
32302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
32303         HAVE_MKOSTEMP.
32304         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
32305         HAVE_MKOSTEMP.
32306         * modules/mkostemp: New file, based on modules/mkstemp.
32307         * doc/glibc-functions/mkostemp.texi: Mention the new module.
32308         * NEWS: Mention the change.
32309
32310 2009-08-23  Bruno Haible  <bruno@clisp.org>
32311
32312         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
32313         Reported by Eric Blake.
32314
32315 2009-08-23  Bruno Haible  <bruno@clisp.org>
32316
32317         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
32318         Reported by Eric Blake.
32319
32320 2009-08-23  Bruno Haible  <bruno@clisp.org>
32321
32322         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
32323         * modules/pipe2 (Depends-on): Likewise.
32324
32325 2009-08-23  Eric Blake  <ebb9@byu.net>
32326
32327         fcntl-h: add O_TTY_INIT support
32328         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
32329         * tests/test-fcntl-h.c (o): Test it.
32330         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
32331
32332         fcntl-h: rename from fcntl, in preparation for fcntl(2)
32333         * modules/fcntl: Move <fcntl.h> header replacement...
32334         * modules/fcntl-h: ...to new name, so as not to collide with
32335         like-named function.
32336         * tests/test-fcntl.c: Rename...
32337         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
32338         * modules/fcntl-tests: Rename...
32339         * modules/fcntl-h-tests: ...to this.  Update test file name.
32340         * modules/chdir-long (Depends-on): Update clients.
32341         * modules/chdir-safer (Depends-on): Likewise.
32342         * modules/fcntl-safer (Depends-on): Likewise.
32343         * modules/fts (Depends-on): Likewise.
32344         * modules/mkancesdirs (Depends-on): Likewise.
32345         * modules/mkdir-p (Depends-on): Likewise.
32346         * modules/open (Depends-on): Likewise.
32347         * modules/savewd (Depends-on): Likewise.
32348         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
32349         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
32350
32351 2009-08-22  Bruno Haible  <bruno@clisp.org>
32352
32353         * modules/binary-io (License): Relicense under LGPL.
32354         * modules/pipe2 (License): Likewise.
32355
32356 2009-08-22  Bruno Haible  <bruno@clisp.org>
32357
32358         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
32359         return value.
32360         * lib/pipe-filter-gi.c (filter_init): Likewise.
32361         Reported by Eric Blake.
32362
32363 2009-08-22  Bruno Haible  <bruno@clisp.org>
32364
32365         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
32366         * modules/pipe (Depends-on): Add pipe2.
32367
32368 2009-08-22  Bruno Haible  <bruno@clisp.org>
32369
32370         Tests for module 'pipe2'.
32371         * modules/pipe2-tests: New file.
32372         * tests/test-pipe2.c: New file.
32373
32374         New module 'pipe2'.
32375         * lib/unistd.in.h (pipe2): New declaration.
32376         * lib/pipe2.c: New file.
32377         * m4/pipe2.m4: New file.
32378         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
32379         HAVE_PIPE2.
32380         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
32381         * modules/pipe2: New file.
32382         * doc/glibc-functions/pipe2.texi: Mention the new module.
32383
32384 2009-08-22  Bruno Haible  <bruno@clisp.org>
32385
32386         Reference some new glibc functions.
32387         * doc/glibc-functions/accept4.texi: New file.
32388         * doc/glibc-functions/dup3.texi: New file.
32389         * doc/glibc-functions/mkostemp.texi: New file.
32390         * doc/glibc-functions/pipe2.texi: New file.
32391         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
32392         (Glibc sys/socket.h): Refer to accept4.
32393         (Glibc unistd.h): Refer to dup3, pipe2.
32394         Reported by Eric Blake.
32395
32396 2009-08-22  Jim Meyering  <meyering@redhat.com>
32397             Bruno Haible  <bruno@clisp.org>
32398
32399         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
32400         This makes it so packages using automake-1.11's silent-rules option
32401         can print e.g., a single "GEN    configmake.h" line, rather than
32402         the 30+ statements that perform the job.  If you want to see the
32403         actual commands, you can still run "make V=1".
32404         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
32405         so that make output is abbreviated when those variables are defined
32406         appropriately.
32407         * modules/argz: Likewise.
32408         * modules/arpa_inet: Likewise.
32409         * modules/byteswap: Likewise.
32410         * modules/configmake: Likewise.
32411         * modules/dirent: Likewise.
32412         * modules/errno: Likewise.
32413         * modules/fcntl: Likewise.
32414         * modules/float: Likewise.
32415         * modules/fnmatch: Likewise.
32416         * modules/getopt-posix: Likewise.
32417         * modules/glob: Likewise.
32418         * modules/iconv_open: Likewise.
32419         * modules/inttypes: Likewise.
32420         * modules/localcharset: Likewise.
32421         * modules/locale: Likewise.
32422         * modules/math: Likewise.
32423         * modules/netdb: Likewise.
32424         * modules/netinet_in: Likewise.
32425         * modules/poll: Likewise.
32426         * modules/posix_spawnp-tests: Likewise.
32427         * modules/sched: Likewise.
32428         * modules/search: Likewise.
32429         * modules/selinux-h: Likewise.
32430         * modules/signal: Likewise.
32431         * modules/spawn: Likewise.
32432         * modules/stdarg: Likewise.
32433         * modules/stdbool: Likewise.
32434         * modules/stddef: Likewise.
32435         * modules/stdint: Likewise.
32436         * modules/stdio: Likewise.
32437         * modules/stdlib: Likewise.
32438         * modules/string: Likewise.
32439         * modules/strings: Likewise.
32440         * modules/sys_file: Likewise.
32441         * modules/sys_ioctl: Likewise.
32442         * modules/sys_select: Likewise.
32443         * modules/sys_socket: Likewise.
32444         * modules/sys_stat: Likewise.
32445         * modules/sys_time: Likewise.
32446         * modules/sys_times: Likewise.
32447         * modules/sys_utsname: Likewise.
32448         * modules/sys_wait: Likewise.
32449         * modules/sysexits: Likewise.
32450         * modules/time: Likewise.
32451         * modules/unistd: Likewise.
32452         * modules/wchar: Likewise.
32453         * modules/wctype: Likewise.
32454
32455 2009-08-22  Jim Meyering  <meyering@redhat.com>
32456
32457         announce-gen: detect write failure
32458         * build-aux/announce-gen: Add Coda at end.
32459         Remove equivalent-but-more-verbose block at top.
32460
32461 2009-08-19  Akim Demaille  <demaille@gostai.com>
32462
32463         bootstrap: --help to stdout.
32464         * bootstrap (usage): Don't send --help to stderr.
32465         Use a here doc instead of a long string.
32466
32467 2009-08-21  Eric Blake  <ebb9@byu.net>
32468
32469         test-popen-safer: split from test-popen
32470         * tests/test-popen.c (main): Move...
32471         * tests/test-popen.h: ...into new file.
32472         * tests/test-popen-safer2.c: New file.
32473         * modules/popen-tests (Files): Add test-popen.h.
32474         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
32475         Suggested by Bruno Haible.
32476
32477         test-fcntl-safer: split from test-open
32478         * tests/test-open.c (main): Move...
32479         * tests/test-open.h: ...into new file.
32480         * tests/test-fcntl-safer.c: New file.
32481         * modules/open-tests (Files): Add test-open.h.
32482         * modules/fcntl-safer-tests: New file.
32483         Suggested by Bruno Haible.
32484
32485         test-fopen-safer: split from test-fopen
32486         * tests/test-fopen.c (main): Move...
32487         * tests/test-fopen.h: ...into new file.
32488         * tests/test-fopen-safer.c: New file.
32489         * modules/fopen-tests (Files): Add test-fopen.h.
32490         * modules/fopen-safer-tests: New file.
32491         Suggested by Bruno Haible.
32492
32493 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
32494
32495         popen-safer: test O_CLOEXEC at run-time.
32496         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
32497
32498 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
32499
32500         fcntl: move more flags to the header
32501         * lib/cloexec.c: Do not define FD_CLOEXEC here.
32502         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
32503         * lib/fcntl.in.h: Do both things here.
32504
32505 2009-08-21  Jim Meyering  <meyering@redhat.com>
32506
32507         consistently remove $@-t before redirecting to it
32508         * modules/argz: Remove $@-t and $@ before redirecting to the former.
32509         * modules/alloca-opt: Likewise.
32510         * modules/byteswap: Likewise.
32511         * modules/fnmatch: Likewise.
32512         * modules/getopt-posix: Likewise.
32513         * modules/glob: Likewise.
32514         * modules/poll: Likewise.
32515         * modules/posix_spawnp-tests: Likewise.
32516         * modules/sys_socket: Likewise.
32517         * modules/sysexits: Likewise.
32518
32519 2009-08-21  Eric Blake  <ebb9@byu.net>
32520
32521         popen: simplify access to original popen
32522         * lib/popen.c (rpl_popen): No need to worry about popen being a
32523         macro.
32524         Reported by Bruno Haible.
32525
32526 2009-08-20  Eric Blake  <ebb9@byu.net>
32527
32528         build: avoid some compiler warnings
32529         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
32530         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
32531         type.
32532         (new_exclude_segment, excluded_file_pattern_p)
32533         (excluded_file_name_p): Reduce scope.
32534         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
32535         old-style declaration.
32536
32537 2009-08-20  Simon Josefsson  <simon@josefsson.org>
32538
32539         * tests/test-exclude1.sh: Handle Windows EOL.
32540         * tests/test-exclude2.sh: Likewise.
32541         * tests/test-exclude3.sh: Likewise.
32542         * tests/test-exclude4.sh: Likewise.
32543         * tests/test-exclude5.sh: Likewise.
32544         * tests/test-exclude6.sh: Likewise.
32545         * tests/test-exclude7.sh: Likewise.
32546
32547 2009-08-19  Akim Demaille  <demaille@gostai.com>
32548
32549         bootstrap: find sha1sum when named gsha1sum.
32550         * bootstrap (find_tool): New.
32551         ($SHA1SUM): New.
32552         Use it.
32553
32554 2009-08-20  Jim Meyering  <meyering@redhat.com>
32555
32556         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
32557         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
32558         expression that converts "." in a file name to "\." in the resulting
32559         regexp.  Start with a dummy statement, so that prior shell variable
32560         definitions are expanded portably.  Reported by Simon Josefsson.
32561
32562 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
32563
32564         Fix polling for writeability of a screen buffer.
32565         * lib/poll.c: Distinguish input and screen buffers for the
32566         Win32 implementation.
32567         * lib/select.c: Likewise.
32568
32569 2009-08-19  Eric Blake  <ebb9@byu.net>
32570
32571         popen-safer: prevent popen from clobbering std descriptors
32572         * modules/popen-safer: New file.
32573         * lib/popen-safer.c: Likewise.
32574         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
32575         * lib/stdio--.h (popen): Provide override.
32576         * lib/stdio-safer.h (popen_safer): Provide declaration.
32577         * tests/test-popen.c (includes): Partially test this.
32578         * modules/popen-safer-tests: New file, for more tests.
32579         * tests/test-popen-safer.c: Likewise.
32580         * MODULES.html.sh (file stream based Input/Output): Mention it.
32581
32582         tests: test some of the *-safer modules
32583         * modules/fopen-safer (Depends-on): Add fopen.
32584         * modules/fcntl-safer (Depends-on): Add fcntl.
32585         * modules/stdlib-safer (Depends-on): Add stdlib.
32586         (configure.ac): Set indicator.
32587         * modules/unistd-safer (configure.ac): Likewise.
32588         * modules/tmpfile-safer (configure.ac): Likewise.
32589         (Depends-on): Add tmpfile.
32590         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
32591         active.
32592         * tests/test-fopen.c (includes): Test safer versions when they are
32593         in use.
32594         * tests/test-open.c (includes): Likewise.
32595
32596         popen: fix cygwin 1.5 bug when stdin closed
32597         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
32598         * modules/popen: New file.
32599         * modules/popen-tests: Likewise.
32600         * tests/test-popen.c: Likewise.
32601         * m4/popen.m4: Likewise.
32602         * lib/popen.c: Likewise.
32603         * lib/stdio.in.h (popen): New declaration.
32604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
32605         * modules/stdio (Makefile.am): Likewise.
32606         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
32607
32608 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
32609
32610         maint.mk: give full control over update-copyright exclusions
32611         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
32612         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
32613         (update-copyright): Don't force inclusion of top-level
32614         ChangeLog.  Don't force exclusion of all COPYING files, but make
32615         them the default exclusion instead.
32616
32617 2009-08-16  Bruno Haible  <bruno@clisp.org>
32618
32619         Fix test failures on Solaris 10.
32620         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
32621         tests when Solaris iconv() is used.
32622         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
32623         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
32624         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
32625         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
32626         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
32627
32628 2009-08-16  Bruno Haible  <bruno@clisp.org>
32629
32630         Fix test failures on Solaris 10.
32631         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
32632         'tr' program and pass it as first argument.
32633         * tests/test-pipe-filter-gi1.sh: Likewise.
32634         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
32635         program as first argument.
32636         * tests/test-pipe-filter-gi1.c (main): Likewise.
32637
32638 2009-08-16  Eric Blake  <ebb9@byu.net>
32639
32640         fpurge: fix previous commits
32641         * modules/fpurge (Makefile.am): Make replacement conditional,
32642         partially reverting 2007-04-29 change; missed in previous
32643         attempt.
32644         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
32645         is missing.
32646
32647 2009-08-16  Bruno Haible  <bruno@clisp.org>
32648
32649         Clarify fpurge's effect on the file position.
32650         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
32651         * tests/test-fpurge.c (main): Make a second pass for checking the file
32652         position.
32653
32654 2009-08-16  Bruno Haible  <bruno@clisp.org>
32655
32656         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
32657         declaration of fpurge is missing.
32658         * tests/test-fpurge.c (main): Check that the file has not more contents
32659         than expected. Close the file before removing it.
32660
32661 2009-08-15  Eric Blake  <ebb9@byu.net>
32662
32663         fpurge: don't wrap working cygwin implementation
32664         * lib/fpurge.c (fpurge): Fix comment typo.
32665         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
32666         1.7 to avoid replacement.
32667         * tests/test-fpurge.c (main): Enhance test.
32668
32669 2009-08-15  Eric Blake  <ebb9@byu.net>
32670         and Jim Meyering  <meyering@redhat.com>
32671
32672         test-update-copyright: skip if perl is insufficient
32673         * tests/test-update-copyright.sh: Failure to run maintainer tool
32674         should not cause testsuite failure on cygwin 1.5.
32675
32676 2009-08-14  Eric Blake  <ebb9@byu.net>
32677
32678         doc: mention more functions added in cygwin 1.7.0
32679         * doc/posix-headers/limits.texi (limits.h): Update for recent
32680         cygwin additions.
32681         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
32682         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
32683         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
32684         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
32685         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
32686
32687 2009-08-14  Eric Blake  <ebb9@byu.net>
32688
32689         maint.mk: simplify update-copyright rule
32690         * top/maint.mk (update-copyright-local): Delete, and document how
32691         to do it in cfg.mk instead.
32692         (update-copyright-exclude-regexp): Delete, and document how to do
32693         it in .x-update-copyright instead.
32694         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
32695         exclude ChangeLog.
32696
32697 2009-08-14  Bruno Haible  <bruno@clisp.org>
32698
32699         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
32700
32701 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32702
32703         maint.mk: support update-copyright-env
32704         * top/maint.mk (update-copyright-env): Define place-holder.
32705         (update-copyright): Expand $(update-copyright-env) before
32706         invoking update-copyright.
32707
32708 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32709
32710         update-copyright: implement forced reformatting
32711         * build-aux/update-copyright: Implement and document
32712         UPDATE_COPYRIGHT_FORCE.
32713         * tests/test-update-copyright.sh: Test it.
32714
32715 2009-08-14  Eric Blake  <ebb9@byu.net>
32716         and Bruno Haible  <bruno@clisp.org>
32717
32718         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
32719         * tests/test-locale.c: Revert previous patch related to NULL.
32720         * tests/test-stdio.c: Likewise.
32721         * tests/test-stdlib.c: Likewise.
32722         * tests/test-string.c: Likewise.
32723         * tests/test-unistd.c: Likewise.
32724         * modules/time-tests (Depends-on): Add verify.
32725         * modules/wchar-tests (Depends-on): Likewise.
32726         * tests/test-time.c: Test for NULL compliance.
32727         * tests/test-wchar.c: Likewise.
32728         * modules/locale (Depends-on): Add stddef.
32729         * modules/stdio (Depends-on): Likewise.
32730         * modules/stdlib (Depends-on): Likewise.
32731         * modules/string (Depends-on): Likewise.
32732         * modules/time (Depends-on): Likewise.
32733         * modules/unistd (Depends-on): Likewise.
32734         * modules/wchar (Depends-on): Likewise.
32735         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
32736         * lib/stdlib.in.h (includes): Likewise.
32737         * lib/string.in.h (includes): Likewise.
32738         * lib/time.in.h (includes): Likewise.
32739         * lib/unistd.in.h (includes): Likewise.
32740         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
32741         replaced.
32742         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32743         * m4/stddef_h.m4: New file.
32744         * modules/stddef: Likewise.
32745         * lib/stddef.in.h: Likewise.
32746         * modules/stddef-tests: Likewise.
32747         * tests/test-stddef.c: Likewise.
32748         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
32749         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
32750         * doc/posix-headers/locale.texi (locale.h): Likewise.
32751         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
32752         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
32753         * doc/posix-headers/string.texi (string.h): Likewise.
32754         * doc/posix-headers/time.texi (time.h): Likewise.
32755         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
32756         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
32757
32758 2009-08-14  Eric Blake  <ebb9@byu.net>
32759
32760         doc: improve git diff of texinfo files
32761         * .gitattributes: Add rule for *.texi files, with hint on how to
32762         use it.
32763         Copied from m4, and based on a report by Bruno Haible.
32764
32765 2009-08-14  Bruno Haible  <bruno@clisp.org>
32766
32767         Disable multithread support by default on Cygwin 1.5.x for real.
32768         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
32769
32770 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32771
32772         update-copyright: much ado about intervals
32773         * build-aux/update-copyright: Implement and document
32774         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
32775         of copyright year intervals.
32776         Also, document UPDATE_COPYRIGHT_YEAR.
32777         * tests/test-update-copyright.sh: Test it.
32778
32779         update-copyright: convert 2-digit to 4-digit years
32780         * build-aux/update-copyright: Implement and document.
32781         * tests/test-update-copyright.sh: Update.
32782
32783 2009-08-14  Jim Meyering  <meyering@redhat.com>
32784
32785         test-exclude: avoid coreutils "make check" failure
32786         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
32787         just as in test-argmatch.c.
32788
32789 2009-08-13  Eric Blake  <ebb9@byu.net>
32790
32791         test-dup2: fix bad assumption
32792         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
32793         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
32794
32795         test-version-etc: fix CRLF portability issue
32796         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
32797         recognize \r.
32798         * tests/test-argp-version-etc-1.sh: Likewise.
32799
32800         getopt: update client modules
32801         * modules/argp (Depends-on): Use getopt-gnu.
32802         * modules/git-merge-changelog (Depends-on): Likewise.
32803         * modules/long-options (Depends-on): Likewise.
32804         * modules/xstrtol (Depends-on): Likewise.
32805
32806 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32807
32808         * tests/test-version-etc.sh: Don't fail on different
32809         project/version.  Don't fail on CRLF differences.  Rewrite to use
32810         multiple -e instead of multiple sed forks, suggested by Eric Blake
32811         <ebb9@byu.net>.
32812         * tests/test-argp-version-etc-1.sh: Likewise.
32813
32814 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32815
32816         * tests/test-version-etc.sh: Don't fail on different
32817         project/version.
32818
32819 2009-08-12  Bruno Haible  <bruno@clisp.org>
32820
32821         Tests for modules 'getopt-posix', 'getopt-gnu'.
32822         * modules/getopt-posix-tests: New file.
32823         * tests/test-getopt.c: New file.
32824         * tests/test-getopt.h: New file.
32825         * tests/test-getopt_long.h: New file.
32826
32827         New modules 'getopt-posix', 'getopt-gnu'.
32828         * modules/getopt-gnu: New file, renamed from modules/getopt.
32829         * modules/getopt-posix: New file.
32830         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
32831         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
32832         (gl_GETOPT): Remove macro.
32833         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
32834         Disable the test against BSD systems that declare optreset. Test
32835         against mingw bug. Test against lack of support of optional arguments
32836         on many platforms.
32837         * doc/glibc-headers/getopt.texi: Update module name and list of
32838         relevant platforms.
32839         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
32840         'getopt-gnu' and more portability problems.
32841         * NEWS: Mention the changes.
32842
32843 2009-08-12  Bruno Haible  <bruno@clisp.org>
32844
32845         Ensure that optarg etc. get declared by <unistd.h>.
32846         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
32847         AC_USE_SYSTEM_EXTENSIONS.
32848         * modules/getopt (Depends-on): Add 'extensions'.
32849
32850 2009-08-12  Bruno Haible  <bruno@clisp.org>
32851
32852         Avoid test link errors.
32853         * modules/pipe-filter-ii-tests (Makefile.am): Define
32854         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
32855         * modules/pipe-filter-gi-tests (Makefile.am): Define
32856         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
32857         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32858
32859 2009-08-12  Bruno Haible  <bruno@clisp.org>
32860
32861         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
32862         gl_GETOPT_SUBSTITUTE before.
32863         (gl_GETOPT): Use it.
32864         * m4/argp.m4 (gl_ARGP): Update.
32865         Reported by Sergey Poznyakoff.
32866
32867         * m4/getopt.m4: Reorder macros.
32868         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
32869         (gl_GETOPT_SUBSTITUTE): Remove macro.
32870
32871 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32872
32873         Minor improvement in gitlog-to-changelog
32874
32875         * build-aux/gitlog-to-changelog: New option `--format' makes
32876         output format string configurable.
32877
32878 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32879
32880         Optimize exclude: use hash tables for non-wildcard patterns.
32881
32882         * lib/exclude.c: Include hash.h and mbuiter.h
32883         (struct exclude_pattern, exclude_segment): New data types.
32884         (struct exclude): Rewrite.
32885         (fnmatch_pattern_has_wildcards): New function.
32886         (new_exclude_segment, free_exclude_segment): New functions.
32887         (excluded_file_pattern_p, excluded_file_name_p): New functions.
32888         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
32889         * lib/exclude.h (is_fnmatch_pattern): New prototype.
32890         * modules/exclude: Depend on hash and mbuiter.
32891
32892         * modules/exclude-tests: New file.
32893         * tests/test-exclude.c: New file.
32894         * tests/test-exclude1.sh: New file.
32895         * tests/test-exclude2.sh: New file.
32896         * tests/test-exclude3.sh: New file.
32897         * tests/test-exclude4.sh: New file.
32898         * tests/test-exclude5.sh: New file.
32899         * tests/test-exclude6.sh: New file.
32900         * tests/test-exclude7.sh: New file.
32901
32902 2009-08-12  Bruno Haible  <bruno@clisp.org>
32903
32904         Ensure that getopt() gets declared by <unistd.h>.
32905         * lib/unistd.in.h: Conditionally include getopt.h.
32906         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
32907         Set GNULIB_UNISTD_H_GETOPT.
32908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32909         GNULIB_UNISTD_H_GETOPT.
32910         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
32911
32912 2009-08-12  Bruno Haible  <bruno@clisp.org>
32913
32914         Clarify logic.
32915         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
32916         gl_replace_getopt instead of GETOPT_H.
32917
32918 2009-08-12  Bruno Haible  <bruno@clisp.org>
32919
32920         * m4/getopt.m4: Add comments.
32921
32922 2009-08-12  Bruno Haible  <bruno@clisp.org>
32923
32924         Disable multithread support by default on Cygwin 1.5.x.
32925         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
32926         set gl_use_threads=no if not specified otherwise.
32927
32928 2009-08-11  Bruno Haible  <bruno@clisp.org>
32929
32930         Avoid compilation error on NetBSD 5.0.
32931         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
32932         * tests/test-stdio.c: Likewise.
32933         * tests/test-stdlib.c: Likewise.
32934         * tests/test-string.c: Likewise.
32935         * tests/test-unistd.c: Likewise.
32936         Reported by Greg Troxel <gdt@ir.bbn.com>
32937         at <https://savannah.gnu.org/support/?106973>.
32938
32939 2009-08-11  Bruno Haible  <bruno@clisp.org>
32940
32941         * modules/dup2-tests (Depends-on): Remove close.
32942
32943         Undo 2009-07-19 commit.
32944         * modules/acl-tests (Depends-on): Remove close.
32945         * modules/binary-io-tests (Depends-on): Likewise.
32946         * modules/closein-tests (Depends-on): Likewise.
32947         * modules/flock-tests (Depends-on): Likewise.
32948         * modules/fsync-tests (Depends-on): Likewise.
32949         * modules/lseek-tests (Depends-on): Likewise.
32950         * modules/pipe-tests (Depends-on): Likewise.
32951         * modules/posix_spawn-tests (Depends-on): Likewise.
32952         * modules/posix_spawnp-tests (Depends-on): Likewise.
32953         * modules/stat-time-tests (Depends-on): Likewise.
32954         * modules/yesno-tests (Depends-on): Likewise.
32955
32956 2009-08-10  Bruno Haible  <bruno@clisp.org>
32957
32958         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
32959
32960 2009-08-10  Bruno Haible  <bruno@clisp.org>
32961
32962         Fix a gcc warning.
32963         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
32964
32965 2009-08-10  Bruno Haible  <bruno@clisp.org>
32966
32967         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
32968         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
32969         not only the first time.
32970         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
32971         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
32972         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
32973         is 1, not only the the first time.
32974
32975 2009-08-10  Bruno Haible  <bruno@clisp.org>
32976
32977         Make it possible to use module 'gethostname' without module 'close'.
32978         * lib/unistd.in.h (close): Evoke a link error only if
32979         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32981         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32982         * modules/unistd (Makefile.am): Substitute
32983         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32984         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
32985         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32986         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32987         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32988         * modules/sys_ioctl (Makefile.am): Substitute
32989         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32990         * modules/socket (configure.ac): On native Windows, set
32991         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
32992         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32993         Reported by Sam Steingold <sds@gnu.org>.
32994
32995 2009-08-10  Bruno Haible  <bruno@clisp.org>
32996
32997         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
32998         * modules/ioctl (configure.ac): Likewise.
32999
33000 2009-08-10  Bruno Haible  <bruno@clisp.org>
33001
33002         Avoid collision between gnulib wrapper and libintl wrapper.
33003         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
33004         already defined in intl/printf.c.
33005         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
33006         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
33007
33008 2009-08-09  Bruno Haible  <bruno@clisp.org>
33009
33010         Make <sys/select.h> really self-contained, also on Solaris 10.
33011         * lib/sys_select.in.h: Include <string.h>.
33012         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
33013         Solaris 10 problem.
33014         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
33015         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
33016         Reported by Jim Meyering.
33017
33018 2009-08-09  Bruno Haible  <bruno@clisp.org>
33019
33020         Avoid warnings from 'aclocal' that are due to a use of macro name
33021         AM_XGETTEXT_OPTION that is not defined in automake.
33022         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
33023         automake.
33024         * modules/error (configure.ac): Likewise.
33025         * modules/propername (configure.ac): Likewise.
33026         * modules/vasprintf (configure.ac): Likewise.
33027         * modules/verror (configure.ac): Likewise.
33028         * modules/xprintf (configure.ac): Likewise.
33029         * modules/xvasprintf (configure.ac): Likewise.
33030
33031 2009-08-08  Bruno Haible  <bruno@clisp.org>
33032
33033         Avoid compilation error in C++ mode.
33034         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
33035         Reported by Sam Steingold <sds@gnu.org>.
33036
33037 2009-08-08  Bruno Haible  <bruno@clisp.org>
33038
33039         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
33040         for the various Unix platforms.
33041         * doc/posix-headers/limits.texi: Update platforms list regarding
33042         HOST_NAME_MAX.
33043         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33044
33045 2009-08-07  Jim Meyering  <meyering@redhat.com>
33046
33047         selinux-at: fix typo in a comment
33048         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
33049         Spotted by Paolo Bonzini.
33050
33051         selinux-at: remove redundant m4 code, add documentation
33052         * modules/selinux-at (configure.ac): Remove redundant code.
33053         LIB_SELINUX is already set via the dependent module, selinux-h.
33054         (Include): Add quotes around selinux-at.h.
33055         * lib/selinux-at.h: Add documentation.
33056         Reported by Bruno Haible in
33057         http://marc.info/?l=gnulib-bug&m=124958988300749
33058
33059 2009-08-07  Bruno Haible  <bruno@clisp.org>
33060
33061         Avoid link error on MacOS X 10.3 and 10.4.
33062         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
33063         on non-ELF systems.
33064         * lib/argp-pv.c (argp_program_version): Likewise.
33065         Reported by Simon Josefsson.
33066
33067 2009-08-07  Simon Josefsson  <simon@josefsson.org>
33068
33069         * tests/test-version-etc.sh: Use $EXEEXT.
33070
33071 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
33072
33073         update-copyright: update documentation to point to maint.mk
33074         * build-aux/update-copyright: Here.
33075
33076 2009-08-06  Jim Meyering  <meyering@redhat.com>
33077
33078         maint.mk: support update-copyright-local
33079         * top/maint.mk (update-copyright-local): Define place-holder.
33080         (update-copyright): Depend on $(update-copyright-local).
33081
33082 2009-08-06  Jim Meyering  <meyering@redhat.com>
33083
33084         selinux-at: new module
33085         Initially written for coreutils, this module will soon be
33086         used by findutils, too.
33087         * MODULES.html.sh [Misc]: Add selinux-at.
33088         * lib/selinux-at.h: New file, from coreutils.
33089         * lib/selinux-at.c: Likewise.
33090         * modules/selinux-at: Likewise.
33091         (License): Change from LGPL to GPL, since it depends
33092         on the GPL'd openat module.
33093
33094         doc: update README
33095         * README: Remove references to cogito.
33096         Remove cvs-repo-updating instructions from 2007.
33097         Don't imply that CVS is better if you have limited disk space.
33098
33099 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33100
33101         update-copyright: support C-style comments
33102         * build-aux/update-copyright: Implement and document.
33103         * tests/test-update-copyright.sh: Test.
33104
33105 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33106
33107         update-copyright: support omitted "(C)"
33108         * build-aux/update-copyright: Implement and document.  Also,
33109         allow variable whitespace before "(C)".
33110         * tests/test-update-copyright.sh: Test.
33111
33112 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33113
33114         update-copyright: don't trip on non-FSF copyright statements
33115         * build-aux/update-copyright: Fix so that the first correctly
33116         formatted FSF copyright statement is recognized no matter what
33117         appears before it.  Update documentation.
33118         * tests/test-update-copyright.sh: Test that.
33119
33120 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33121
33122         update-copyright: clean up code a little
33123         * build-aux/update-copyright: Append "_re" to the name of any
33124         variable holding a regular expression.
33125         Replace "old" and "new" with "stmt" in variable names.
33126         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
33127         handled correctly.
33128         Format code more consistently.
33129
33130 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33131
33132         update-copyright-tests: improve portability
33133         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
33134         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
33135
33136 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33137
33138         update-copyright: support @copyright{} and &copy;
33139         * build-aux/update-copyright: Implement and document.
33140         * tests/test-update-copyright.sh: Test.
33141
33142 2009-08-04  Jim Meyering  <meyering@redhat.com>
33143
33144         update-copyright-tests: correctly test EOL=\r\n handling
33145         * tests/test-update-copyright.sh: Put \r at the end of some lines
33146         for the dos-eol tests.  Based on a patch by Joel E. Denny.
33147
33148         maint.mk: make update-copyright exclusion list more configurable
33149         * top/maint.mk (update-copyright): Default to excluding COPYING,
33150         but allow an override, in case someone does want to update that file.
33151
33152         maint.mk: don't update copyright date in COPYING
33153         * top/maint.mk (update-copyright): Exclude COPYING.
33154
33155         maint.mk: add a copyright-updating rule
33156         * top/maint.mk (update-copyright): New rule.
33157         Derived from coreutils/Makefile.am.
33158
33159         update-copyright: rename some variables
33160         * build-aux/update-copyright: Rename a few variables for clarity.
33161         Tweak syntax.  List Joel E. Denny as coauthor.
33162
33163 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33164
33165         update-copyright: fix bug for 2-digit last year and add tests
33166         * build-aux/update-copyright: Fix bug.
33167         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
33168         specified.
33169         * modules/update-copyright-tests: New
33170         * tests/test-update-copyright.sh: New.
33171
33172 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33173
33174         update-copyright: handle leading tabs in line prefix
33175         * build-aux/update-copyright: Count leading tabs as 8 spaces
33176         when computing margin.  This helps with the formatting of
33177         ChangeLogs, for example.
33178         Fix documentation a little.
33179
33180 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33181
33182         update-copyright: support EOL=\r\n
33183         * build-aux/update-copyright: Implement that.
33184
33185 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33186
33187         update-copyright: automatically format copyright statements
33188         * build-aux/update-copyright: Implement that.
33189         Also, be a little more predictable and safer by always failing
33190         when the full copyright format is not perfectly recognized as an
33191         unbroken whole.  Discussed at
33192         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
33193         Rewrite documentation.
33194
33195 2009-08-03  Bruno Haible  <bruno@clisp.org>
33196
33197         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
33198
33199 2009-08-02  Bruno Haible  <bruno@clisp.org>
33200
33201         Tests for module 'uname'.
33202         * modules/uname-tests: New file.
33203         * tests/test-uname.c: New file.
33204
33205         New module 'uname'.
33206         * lib/uname.c: New file.
33207         * m4/uname.m4: New file.
33208         * modules/uname: New file.
33209         * doc/posix-functions/uname.texi: Mention the new module.
33210
33211 2009-08-02  Bruno Haible  <bruno@clisp.org>
33212
33213         Tests for module 'sys_utsname'.
33214         * modules/sys_utsname-tests: New file.
33215         * tests/test-sys_utsname.c: New file.
33216
33217         New module 'sys_utsname'.
33218         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
33219         * m4/sys_utsname_h.m4: New file.
33220         * modules/sys_utsname: New file.
33221         * doc/posix-headers/sys_utsname.texi: Mention the new module.
33222
33223 2009-08-02  Bruno Haible  <bruno@clisp.org>
33224
33225         Implicitly initialize the sockets library.
33226         * lib/gethostname.c: Include sockets.h.
33227         (rpl_gethostname): Invoke gl_sockets_startup.
33228         * lib/socket.c: Include sockets.h.
33229         (rpl_socket): Invoke gl_sockets_startup.
33230         * modules/gethostname (Depends-on): Add sockets.
33231         * modules/socket (Depends-on): Likewise.
33232         * tests/test-poll.c: Don't include sockets.h.
33233         (main): Don't invoke gl_sockets_startup.
33234         * tests/test-select.c: Don't include sockets.h.
33235         (main): Don't invoke gl_sockets_startup.
33236
33237 2009-08-02  Bruno Haible  <bruno@clisp.org>
33238
33239         Allow multiple calls to gl_sockets_startup.
33240         * lib/sockets.c (initialized_sockets_version): New variable.
33241         (gl_sockets_startup): Do nothing if already called for this or a higher
33242         version.
33243         (gl_sockets_cleanup): Reset initialized_sockets_version.
33244
33245 2009-08-03  Simon Josefsson  <simon@josefsson.org>
33246
33247         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
33248         different project/version.
33249
33250 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
33251             Bruno Haible  <bruno@clisp.org>
33252
33253         Tests for module 'pipe-filter-gi'.
33254         * modules/pipe-filter-gi-tests: New file.
33255         * tests/test-pipe-filter-gi1.sh: New file.
33256         * tests/test-pipe-filter-gi1.c: New file.
33257         * tests/test-pipe-filter-gi2.sh: New file.
33258         * tests/test-pipe-filter-gi2-main.c: New file.
33259         * tests/test-pipe-filter-gi2-child.c: New file.
33260
33261         New module 'pipe-filter-gi'.
33262         * lib/pipe-filter-gi.c: New file.
33263         * modules/pipe-filter-gi: New file.
33264
33265 2009-08-02  Bruno Haible  <bruno@clisp.org>
33266             Paolo Bonzini  <bonzini@gnu.org>
33267
33268         Tests for module 'pipe-filter-ii'.
33269         * modules/pipe-filter-ii-tests: New file.
33270         * tests/test-pipe-filter-ii1.sh: New file.
33271         * tests/test-pipe-filter-ii1.c: New file.
33272         * tests/test-pipe-filter-ii2.sh: New file.
33273         * tests/test-pipe-filter-ii2-main.c: New file.
33274         * tests/test-pipe-filter-ii2-child.c: New file.
33275
33276         New module 'pipe-filter-ii'.
33277         * lib/pipe-filter.h: New file.
33278         * lib/pipe-filter-ii.c: New file.
33279         * lib/pipe-filter-aux.h: New file.
33280         * modules/pipe-filter-ii: New file.
33281
33282 2009-08-02  Simon Josefsson  <simon@josefsson.org>
33283
33284         * lib/gc-libgcrypt.c: Change copyright to FSF.
33285         * lib/gc-gnulib.c: Likewise.
33286
33287 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
33288
33289         * lib/gethostname.c: Include limits.h.
33290
33291 2009-08-02  Simon Josefsson  <simon@josefsson.org>
33292             Bruno Haible  <bruno@clisp.org>
33293
33294         Ensure HOST_NAME_MAX as part of the gethostname module.
33295         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
33296         define also HOST_NAME_MAX.
33297         * tests/test-gethostname.c: Include <limits.h>.
33298         (main): Check also HOST_NAME_MAX.
33299         * doc/posix-headers/limits.texi: Document the mingw problem.
33300
33301 2009-08-02  Bruno Haible  <bruno@clisp.org>
33302
33303         * lib/gethostname.c (gethostname): Fix handling of large len argument.
33304         Add comments.
33305
33306 2009-03-31  Simon Josefsson  <simon@josefsson.org>
33307
33308         * lib/gethostname.c: Add Windows wrapper.
33309         * m4/gethostname.m4: Look for gethostname in -lws2_32.
33310         * modules/gethostname: Depend on sys_socket & errno, for also
33311         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
33312         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
33313
33314 2009-07-31  Jim Meyering  <meyering@redhat.com>
33315
33316         getloadavg: fix symbol name in comment
33317         * lib/getloadavg.c: Correct a typo I introduced when adding
33318         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
33319         Matt Kraai spotted the problem.
33320
33321 2009-07-29  Matt Kraai  <mkraai@beckman.com>
33322
33323         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
33324         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
33325         code also if ! defined N_NAME_POINTER.
33326         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
33327         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
33328         but the n_name member is a 12-byte array.
33329
33330 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
33331
33332         update-copyright: generalize comment handling
33333         * build-aux/update-copyright: Handle copyright statements
33334         within more comment styles.
33335         Document usage.
33336         Report any file with an external copyright holder or parse failure.
33337
33338 2009-07-29  Jim Meyering  <meyering@redhat.com>
33339
33340         mktime: correct setting of REPLACE_MKTIME
33341         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
33342
33343         update-copyright: new module
33344         * modules/update-copyright: New file.
33345         * build-aux/update-copyright: New file.
33346         * MODULES.html.sh (maint+release support): Add update-copyright.
33347
33348 2009-07-27  Bruno Haible  <bruno@clisp.org>
33349
33350         Fix compilation error when <ctime> is used and mktime is replaced.
33351         * lib/time.in.h (mktime): New declaration.
33352         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
33353         REPLACE_MKTIME instead of defining mktime in config.h.
33354         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
33355         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
33356         Reported by Ross McFarland <rwmcfa1@neces.com>.
33357
33358 2009-07-27  Bruno Haible  <bruno@clisp.org>
33359
33360         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
33361         Reported by Matt Kraai <mkraai@beckman.com>.
33362
33363 2009-07-25  Jim Meyering  <meyering@redhat.com>
33364
33365         maint.mk: avoid warnings about missing files
33366         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
33367         diagnostic when .prev-version does not exist.
33368         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
33369         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
33370         nonexistent cfg.mk.
33371         Suggestions from Simon Josefsson.
33372
33373 2009-07-25  Bruno Haible  <bruno@clisp.org>
33374
33375         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
33376         defined as macros. Needed on QNX 6.4.1.
33377         Reported by Matt Kraai <mkraai@beckman.com>.
33378
33379 2009-07-23  Jim Meyering  <meyering@redhat.com>
33380
33381         maint.mk: invoke "make dist" with a working value of XZ_OPT
33382         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
33383
33384 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
33385
33386         Make fseeko.c compile on QNX.
33387         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
33388
33389 2009-07-22  Peter Simons  <simons@cryp.to>
33390
33391         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
33392         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
33393         * lib/md4.h: Likewise.
33394         * lib/md5.h: Likewise.
33395         * lib/sha1.h: Likewise.
33396         * lib/sha256.h: Likewise.
33397         * lib/sha512.h: Likewise.
33398
33399         tests-sha1: don't assign literal string to 'char *' variable
33400         * tests/test-sha1.c (main): Declare locals with "const" to match
33401         attributes of the right hand side.
33402
33403 2009-07-21  Eric Blake  <ebb9@byu.net>
33404
33405         dup2: fix more mingw problems
33406         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
33407         fd to itself.
33408         * doc/posix-functions/dup2.texi (dup2): Document the bug.
33409         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
33410         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
33411         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
33412         care of mingw bugs.
33413
33414 2009-07-21  Jim Meyering  <meyering@redhat.com>
33415
33416         vc-list-files: avoid failure when /bin/sh is dash
33417         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
33418         On some Debian based systems, /bin/sh is a symlink to dash, and running
33419         this command would omit the "/" following each 'tests' prefix:
33420           dash -x build-aux/vc-list-files -C . tests
33421         That is because bash and dash work differently:
33422           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
33423           bash ok
33424           dash odd
33425
33426 2009-07-21  Eric Blake  <ebb9@byu.net>
33427
33428         dup2-tests: test previous patch
33429         * modules/dup2-tests: New file.
33430         * tests/test-dup2.c: Likewise.
33431         * tests/test-open.c (main): Avoid unspecified behavior.
33432         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
33433         test.
33434
33435         dup2: work around mingw and cygwin 1.5 bug
33436         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
33437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33438         * modules/unistd (Makefile.am): Substitute it.
33439         * lib/unistd.in.h (dup2): Declare the replacement.
33440         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
33441         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
33442         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
33443         * modules/execute (Depends-on): Add dup2.
33444         * modules/fseterr (Depends-on): Likewise.
33445         * modules/pipe (Depends-on): Likewise.
33446         * modules/posix_spawn-internal (Depends-on): Likewise.
33447
33448 2009-07-21  Bruno Haible  <bruno@clisp.org>
33449
33450         * modules/.gitattributes: New file.
33451
33452 2009-07-20  Bruno Haible  <bruno@clisp.org>
33453
33454         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
33455         (main): Use it.
33456
33457 2009-07-20  Eric Blake  <ebb9@byu.net>
33458
33459         test-pipe: make a bit more robust.
33460         * tests/test-pipe.c (myerr): Allow error messages regardless of
33461         what we do to stderr.
33462         (test_pipe): Rearrange to avoid deadlock.
33463         (child_main): Try a larger read, to ensure we avoided deadlock.
33464         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
33465         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
33466         if misused.
33467
33468 2009-07-19  Jim Meyering  <meyering@redhat.com>
33469
33470         fts: avoid false-positive cycle-detection
33471         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
33472         for each new command line argument.
33473
33474 2009-07-19  Bruno Haible  <bruno@clisp.org>
33475
33476         Fix build error on mingw with the modules sys_select and unistd.
33477         * modules/acl-tests (Depends-on): Add close.
33478         * modules/binary-io-tests (Depends-on): Likewise.
33479         * modules/closein-tests (Depends-on): Likewise.
33480         * modules/flock-tests (Depends-on): Likewise.
33481         * modules/fsync-tests (Depends-on): Likewise.
33482         * modules/lseek-tests (Depends-on): Likewise.
33483         * modules/pipe-tests (Depends-on): Likewise.
33484         * modules/posix_spawn-tests (Depends-on): Likewise.
33485         * modules/posix_spawnp-tests (Depends-on): Likewise.
33486         * modules/stat-time-tests (Depends-on): Likewise.
33487         * modules/yesno-tests (Depends-on): Likewise.
33488
33489 2009-07-19  Bruno Haible  <bruno@clisp.org>
33490
33491         Unify conditionals.
33492         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
33493         macros, not at the compiler macros.
33494         * lib/pipe.c: Likewise.
33495         * lib/execute.c: Likewise.
33496         * lib/spawni.c: Likewise.
33497
33498 2009-07-19  Bruno Haible  <bruno@clisp.org>
33499
33500         Fix handling of closed stdin/stdout/stderr on mingw.
33501         * lib/w32spawn.h: Include unistd.h.
33502         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
33503         file descriptor with O_NOINHERIT flag.
33504         (fd_safer_noinherit): New function, based on fd-safer.c.
33505         (dup_safer_noinherit): New function, based on dup-safer.c.
33506         (undup_safer_noinherit): New function.
33507         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
33508         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
33509         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
33510         instead of fd_safer.
33511         * tests/test-pipe.c: Include <windows.h>.
33512         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
33513         result.
33514
33515         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
33516         from main.
33517         (test_pipe): Pass an extra argument for disambiguation.
33518         (main): Invoke parent_main or child_main.
33519
33520         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
33521         consistently.
33522
33523 2009-07-18  Eric Blake  <ebb9@byu.net>
33524
33525         test-pipe: fix mingw build
33526         * tests/test-pipe.c (main): Avoid fcntl on mingw.
33527
33528 2009-07-18  Bruno Haible  <bruno@clisp.org>
33529
33530         * modules/pipe-tests (Makefile.am): Fix typo.
33531
33532 2009-07-18  Eric Blake  <ebb9@byu.net>
33533
33534         error: fix mingw build
33535         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
33536         Reported by Bruno Haible.
33537
33538         error: avoid undefined use of stdout
33539         * lib/error.c (error, error_at_line): Check that fd 1 is open
33540         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
33541         is handling faults and the close_stdout module wants to report the
33542         detection of closed stdout as an error.
33543
33544 2009-07-17  Eric Blake  <ebb9@byu.net>
33545
33546         pipe: be robust in face of closed fds
33547         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
33548         should cause child to misbehave.
33549         * modules/pipe-tests: New module.
33550         * tests/test-pipe.c: New file.
33551         * tests/test-pipe.sh: New file.
33552         Reported by Akim Demaille.
33553
33554 2009-07-14  Bruno Haible  <bruno@clisp.org>
33555
33556         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
33557         Reported by anonymous kc.
33558
33559 2009-07-07  Jim Meyering  <meyering@redhat.com>
33560
33561         maint.mk: don't look for translatable strings in *.m4 or *.mk
33562         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
33563         when searching for translatable strings.
33564
33565 2009-07-05  Jim Meyering  <meyering@redhat.com>
33566
33567         remove superfluous parentheses in STREQ definition
33568         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
33569         * lib/getugroups.c (STREQ): Likewise.
33570         * lib/fnmatch.c (STREQ): Likewise.
33571         Spotted by Bruno Haible.
33572
33573 2009-07-04  Jim Meyering  <meyering@redhat.com>
33574
33575         argv-iter: new module
33576         * MODULES.html.sh: Add argv-iter.
33577         * lib/argv-iter.c, lib/argv-iter.h: New files.
33578         * modules/argv-iter: New file.
33579         * modules/argv-iter-tests: New file.
33580         * tests/test-argv-iter.c: Test it.
33581
33582 2009-07-04  Bruno Haible  <bruno@clisp.org>
33583
33584         Fix assertion.
33585         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
33586         contains more exact copies of a given entry than file2, leave the extra
33587         copies unpaired rather than aborting.
33588         Reported by Eric Blake.
33589
33590 2009-07-02  Bruno Haible  <bruno@clisp.org>
33591
33592         Speedup git-merge-changelog for git cherry-pick.
33593         * lib/git-merge-changelog.c (struct entries_mapping): New type.
33594         (entries_mapping_get): New function, extracted from compute_mapping.
33595         (entries_mapping_reverse_get): New function.
33596         (compute_mapping): Add a 'full' argument. Return the result in a
33597         'struct entries_mapping'.
33598         (main): Update. Access the mappings through entries_mapping_get.
33599         Reported by Eric Blake.
33600
33601 2009-07-02  Bruno Haible  <bruno@clisp.org>
33602
33603         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
33604         best_i.
33605
33606 2009-07-02  Bruno Haible  <bruno@clisp.org>
33607
33608         Speed up approximate search for matching ChangeLog entries.
33609         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
33610         argument. Call fstrcmp_bounded instead of fstrcmp.
33611         (compute_mapping, try_split_merged_entry, main): Update callers.
33612
33613 2009-07-02  Bruno Haible  <bruno@clisp.org>
33614
33615         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
33616
33617 2009-06-30  Bruno Haible  <bruno@clisp.org>
33618
33619         Reduce the number of uc_is_cased calls.
33620         * lib/unicase.h (casing_suffix_context_t): Add
33621         'first_char_except_ignorable' field.
33622         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
33623         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
33624         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
33625         Update initializer.
33626         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
33627         case-ignorable characters.
33628         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
33629         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
33630         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
33631         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
33632         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
33633
33634 2009-06-30  Bruno Haible  <bruno@clisp.org>
33635
33636         Tests for module 'unicase/ignorable'.
33637         * modules/unicase/ignorable-tests: New file.
33638         * tests/unicase/test-ignorable.c: New file, generated by
33639         gen-uni-tables.
33640
33641         Tests for module 'unicase/cased'.
33642         * modules/unicase/cased-tests: New file.
33643         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
33644         * tests/unicase/test-predicate-part1.h: New file, derived from
33645         tests/unictype/test-predicate-part1.h.
33646         * tests/unicase/test-predicate-part2.h: New file, same as
33647         tests/unictype/test-predicate-part2.h.
33648
33649         Fix evaluation of "Before C" condition of FINAL_SIGMA.
33650         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
33651         (output_casing_properties): New function.
33652         (main): Call it.
33653         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
33654         * lib/unicase/cased.c: Include unictype/bitmap.h.
33655         (uc_is_cased): Define through a bitmap lookup.
33656         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
33657         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
33658         (uc_is_case_ignorable): Define through a bitmap lookup.
33659         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
33660         lib/unictype/bitmap.h.
33661         (Depends-on): Add inline. Clean up.
33662         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
33663         lib/unictype/bitmap.h.
33664         (Depends-on): Add inline. Clean up.
33665         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
33666         recognition.
33667         * tests/unicase/test-u16-tolower.c (main): Likewise.
33668         * tests/unicase/test-u32-tolower.c (main): Likewise.
33669
33670 2009-06-30  Bruno Haible  <bruno@clisp.org>
33671
33672         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
33673         * lib/unicase/u16-casemap.c: Likewise.
33674         * lib/unicase/u32-casemap.c: Likewise.
33675
33676 2009-06-29  Bruno Haible  <bruno@clisp.org>
33677
33678         Define u32_casefold as a wrapper around u32_ct_casefold.
33679         * lib/unicase/u32-casefold.c: Update.
33680         * modules/unicase/u32-casefold (Depends-on): Add
33681         unicase/u32-ct-casefold, unicase/empty-prefix-context,
33682         unicase/empty-suffix-context. Clean up.
33683
33684         Define u16_casefold as a wrapper around u16_ct_casefold.
33685         * lib/unicase/u16-casefold.c: Update.
33686         * modules/unicase/u16-casefold (Depends-on): Add
33687         unicase/u16-ct-casefold, unicase/empty-prefix-context,
33688         unicase/empty-suffix-context. Clean up.
33689
33690         Define u8_casefold as a wrapper around u8_ct_casefold.
33691         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
33692         * lib/unicase/u8-casefold.c: Update.
33693         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
33694         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33695
33696         Define u32_totitle as a wrapper around u32_ct_totitle.
33697         * lib/unicase/u32-totitle.c: Update.
33698         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
33699         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33700
33701         Define u16_totitle as a wrapper around u16_ct_totitle.
33702         * lib/unicase/u16-totitle.c: Update.
33703         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
33704         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33705
33706         Define u8_totitle as a wrapper around u8_ct_totitle.
33707         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
33708         functions.
33709         (FUNC): Delegate to U_CT_TOTITLE.
33710         * lib/unicase/u8-totitle.c: Update.
33711         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
33712         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33713
33714         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
33715         invocation.
33716         * modules/unicase/u32-tolower (Depends-on): Add
33717         unicase/empty-prefix-context, unicase/empty-suffix-context.
33718
33719         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
33720         invocation.
33721         * modules/unicase/u16-tolower (Depends-on): Add
33722         unicase/empty-prefix-context, unicase/empty-suffix-context.
33723
33724         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
33725         * modules/unicase/u8-tolower (Depends-on): Add
33726         unicase/empty-prefix-context, unicase/empty-suffix-context.
33727
33728         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
33729         invocation.
33730         * modules/unicase/u32-toupper (Depends-on): Add
33731         unicase/empty-prefix-context, unicase/empty-suffix-context.
33732
33733         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
33734         invocation.
33735         * modules/unicase/u16-toupper (Depends-on): Add
33736         unicase/empty-prefix-context, unicase/empty-suffix-context.
33737
33738         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
33739         * modules/unicase/u8-toupper (Depends-on): Add
33740         unicase/empty-prefix-context, unicase/empty-suffix-context.
33741
33742         New module 'unicase/u32-ct-casefold'.
33743         * lib/unicase/u32-ct-casefold.c: New file.
33744         * modules/unicase/u32-ct-casefold: New file.
33745
33746         New module 'unicase/u16-ct-casefold'.
33747         * lib/unicase/u16-ct-casefold.c: New file.
33748         * modules/unicase/u16-ct-casefold: New file.
33749
33750         New module 'unicase/u8-ct-casefold'.
33751         * lib/unicase/u8-ct-casefold.c: New file.
33752         * lib/unicase/u-ct-casefold.h: New file, derived from
33753         lib/unicase/u-casefold.h.
33754         * modules/unicase/u8-ct-casefold: New file.
33755
33756         New module 'unicase/u32-ct-totitle'.
33757         * lib/unicase/u32-ct-totitle.c: New file.
33758         * modules/unicase/u32-ct-totitle: New file.
33759
33760         New module 'unicase/u16-ct-totitle'.
33761         * lib/unicase/u16-ct-totitle.c: New file.
33762         * modules/unicase/u16-ct-totitle: New file.
33763
33764         New module 'unicase/u8-ct-totitle'.
33765         * lib/unicase/u8-ct-totitle.c: New file.
33766         * lib/unicase/u-ct-totitle.h: New file, derived from
33767         lib/unicase/u-totitle.h.
33768         * modules/unicase/u8-ct-totitle: New file.
33769
33770         New module 'unicase/u32-ct-tolower'.
33771         * lib/unicase/u32-ct-tolower.c: New file.
33772         * modules/unicase/u32-ct-tolower: New file.
33773
33774         New module 'unicase/u16-ct-tolower'.
33775         * lib/unicase/u16-ct-tolower.c: New file.
33776         * modules/unicase/u16-ct-tolower: New file.
33777
33778         New module 'unicase/u8-ct-tolower'.
33779         * lib/unicase/u8-ct-tolower.c: New file.
33780         * modules/unicase/u8-ct-tolower: New file.
33781
33782         New module 'unicase/u32-ct-toupper'.
33783         * lib/unicase/u32-ct-toupper.c: New file.
33784         * modules/unicase/u32-ct-toupper: New file.
33785
33786         New module 'unicase/u16-ct-toupper'.
33787         * lib/unicase/u16-ct-toupper.c: New file.
33788         * modules/unicase/u16-ct-toupper: New file.
33789
33790         New module 'unicase/u8-ct-toupper'.
33791         * lib/unicase/u8-ct-toupper.c: New file.
33792         * modules/unicase/u8-ct-toupper: New file.
33793
33794         Add context arguments to u*_casemap functions.
33795         * lib/unicase/unicasemap.h: Include unicase.h.
33796         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
33797         suffix_context arguments.
33798         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
33799         functions.
33800         (FUNC): Add prefix_context and suffix_context arguments. Use
33801         uc_is_cased and uc_is_case_ignorable.
33802         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
33803         * lib/unicase/u16-casemap.c: Likewise.
33804         * lib/unicase/u32-casemap.c: Likewise.
33805         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
33806         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33807         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
33808         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33809         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
33810         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33811
33812         New module 'unicase/u32-suffix-context'.
33813         * lib/unicase/u32-suffix-context.c: New file.
33814         * modules/unicase/u32-suffix-context: New file.
33815
33816         New module 'unicase/u16-suffix-context'.
33817         * lib/unicase/u16-suffix-context.c: New file.
33818         * modules/unicase/u16-suffix-context: New file.
33819
33820         New module 'unicase/u8-suffix-context'.
33821         * lib/unicase/u8-suffix-context.c: New file.
33822         * lib/unicase/u-suffix-context.h: New file.
33823         * modules/unicase/u8-suffix-context: New file.
33824
33825         New module 'unicase/empty-suffix-context'.
33826         * lib/unicase/empty-suffix-context.c: New file.
33827         * modules/unicase/empty-suffix-context: New file.
33828
33829         New module 'unicase/u32-prefix-context'.
33830         * lib/unicase/u32-prefix-context.c: New file.
33831         * modules/unicase/u32-prefix-context: New file.
33832
33833         New module 'unicase/u16-prefix-context'.
33834         * lib/unicase/u16-prefix-context.c: New file.
33835         * modules/unicase/u16-prefix-context: New file.
33836
33837         New module 'unicase/u8-prefix-context'.
33838         * lib/unicase/u8-prefix-context.c: New file.
33839         * lib/unicase/u-prefix-context.h: New file.
33840         * lib/unicase/context.h: New file.
33841         * modules/unicase/u8-prefix-context: New file.
33842
33843         New module 'unicase/empty-prefix-context'.
33844         * lib/unicase/empty-prefix-context.c: New file.
33845         * modules/unicase/empty-prefix-context: New file.
33846
33847         New module 'unicase/ignorable'.
33848         * lib/unicase/ignorable.c: New file.
33849         * modules/unicase/ignorable: New file.
33850
33851         New module 'unicase/cased'.
33852         * lib/unicase/caseprop.h: New file.
33853         * lib/unicase/cased.c: New file.
33854         * modules/unicase/cased: New file.
33855
33856         New functions for case mapping of substrings.
33857         * lib/unicase.h (casing_prefix_context_t): New type.
33858         (unicase_empty_prefix_context): New variable.
33859         (u8_casing_prefix_context, u16_casing_prefix_context,
33860         u32_casing_prefix_context, u8_casing_prefixes_context,
33861         u16_casing_prefixes_context, u32_casing_prefixes_context): New
33862         declarations.
33863         (casing_suffix_context_t): New type.
33864         (unicase_empty_suffix_context): New variable.
33865         (u8_casing_suffix_context, u16_casing_suffix_context,
33866         u32_casing_suffix_context, u8_casing_suffixes_context,
33867         u16_casing_suffixes_context, u32_casing_suffixes_context,
33868         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
33869         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
33870         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
33871         declarations.
33872
33873 2009-06-28  Jim Meyering  <meyering@redhat.com>
33874
33875         boostrap: indent only with spaces
33876         * build-aux/bootstrap: Indent only with spaces, never TABs.
33877
33878         bootstrap: split long lines
33879         * build-aux/bootstrap: Keep line length < 80.
33880
33881         bootstrap: sync from coreutils
33882         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
33883         just as autoreconf does.  Verify a list of prerequisite
33884         package-name,version-number pairs if defined in bootstrap.conf.
33885         Refer to README-prereq, if prerequisites are not satisfied.
33886
33887 2009-06-27  Eric Blake  <ebb9@byu.net>
33888
33889         tests: add test for bogus NULL definition
33890         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
33891         * tests/test-stdlib.c: Likewise.
33892         * tests/test-string.c: Likewise.
33893         * tests/test-locale.c: Likewise.
33894         * tests/test-unistd.c: Likewise.
33895         * modules/stdio-tests (Depends-on): Add verify.
33896         * modules/stdlib-tests (Depends-on): Likewise.
33897         * modules/string-tests (Depends-on): Likewise.
33898         * modules/locale-tests (Depends-on): Likewise.
33899         * modules/unistd-tests (Depends-on): Likewise.
33900
33901 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
33902
33903         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
33904         self-explaining comment.
33905         * m4/selinux-selinux-h: Update serial.
33906         (gl_LIBSELINUX): New macro, adding a warning for missing development
33907         packages to code extracted from...
33908         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
33909         Add warning for missing development packages here, too.
33910
33911 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
33912
33913         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
33914
33915 2009-06-25  Eric Blake  <ebb9@byu.net>
33916
33917         version-etc: fix regression
33918         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
33919         gcc.
33920         (version_etc): Use it, to catch bugs with trailing NULL.
33921         * lib/version-etc.c (version_etc_arn): Delete unused argument.
33922         (version_etc_va): Fix logic bug.
33923         * modules/version-etc-tests: Add test.
33924         * tests/test-version-etc.c: New file.
33925         * tests/test-version-etc.sh: Likewise.
33926
33927 2009-06-25  Sam Steingold  <sds@gnu.org>
33928
33929         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
33930         mbtowc declaration.
33931
33932 2009-06-25  Eric Blake  <ebb9@byu.net>
33933
33934         fpurge: migrate into <stdio.h>
33935         * lib/fpurge.h: Delete...
33936         * lib/stdio.in.h (fpurge): ...and declare here, instead.
33937         * lib/fpurge.c (fpurge): Change declaring header.
33938         * modules/fpurge (Files): Drop deleted file.
33939         (Depends-on): Add stdio.
33940         (configure.ac): Set witness.
33941         * modules/stdio (Makefile.am): Support fpurge macros.
33942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33943         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
33944         * lib/fflush.c: Update client.
33945         * tests/test-fpurge.c: Likewise.
33946         * NEWS: Mention the change.
33947
33948 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33949
33950         * lib/argp-version-etc.c (program_authors): Add const
33951         qualifier.
33952         * lib/version-etc.c: Fix typos in the comments.
33953         * modules/argp-version-etc: Depends on version-etc.
33954
33955 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33956
33957         argp-version-etc: new module.
33958
33959         * lib/argp-version-etc.c: New file.
33960         * lib/argp-version-etc.h: New file.
33961         * modules/argp-version-etc: New file.
33962         * modules/argp-version-etc-tests: New file.
33963         * tests/test-argp-version-etc.c: New test.
33964         * tests/test-argp-version-etc-1.sh: New test.
33965
33966 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33967
33968         Provide additional interfaces and documentation for version-etc
33969         module.
33970
33971         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
33972         interfaces.
33973         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
33974         prototypes.
33975
33976 2009-06-24  Bruno Haible  <bruno@clisp.org>
33977
33978         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
33979         HAVE_LIB${NAME} macro.
33980         Reported by Sam Steingold <sds@gnu.org>.
33981
33982 2009-06-23  Simon Josefsson  <simon@josefsson.org>
33983
33984         * modules/hash-tests (test_hash_LDADD): Link to libintl when
33985         needed.
33986
33987 2009-06-21  Bruno Haible  <bruno@clisp.org>
33988
33989         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
33990         work.
33991         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
33992         together with LIB${NAME}, LTLIB${NAME}.
33993         Reported by Sam Steingold <sds@gnu.org>.
33994
33995 2009-06-20  Jim Meyering  <meyering@redhat.com>
33996
33997         tests: make sc_require_test_exit_idiom more generic
33998         * top/maint.mk (Exit_witness_file): New overridable variable.
33999         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
34000         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
34001
34002 2009-06-19  Jim Meyering  <meyering@redhat.com>
34003
34004         hash: reverse order of src/dst parameters in an internal interface
34005         * lib/hash.c (transfer_entries): Reverse order of parameters to
34006         put DST before SRC.  Adjust callers.
34007
34008         tests: test-hash: avoid wholesale duplication
34009         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
34010         Instead, use a loop and add a single conditional.
34011
34012         tests: test-hash: allow seed selection via a command line argument
34013         * tests/test-hash.c (get_seed): New function.
34014         (main): Use it.
34015
34016 2009-06-19  Eric Blake  <ebb9@byu.net>
34017
34018         hash: avoid memory leak on allocation failure
34019         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
34020         failure.  Factor repeated algorithm...
34021         (transfer_entries): ...into new helper routine.
34022         (hash_delete): React to hash_rehash return value.
34023
34024         hash: reduce memory pressure in hash_rehash no-op case
34025         * lib/hash.c (next_prime): Avoid overflow.
34026         (hash_initialize): Factor bucket size computation...
34027         (compute_bucket_size): ...into new helper function.
34028         (hash_rehash): Use new function and open coding to reduce memory
34029         pressure, and avoid a memory leak in USE_OBSTACK code.
34030         Reported by Jim Meyering.
34031
34032 2009-06-18  Eric Blake  <ebb9@byu.net>
34033
34034         hash: make rotation more obvious
34035         * modules/hash (Depends-on): Add bitrotate and stdint.
34036         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
34037         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
34038         (SIZE_MAX): Rely on headers for definition.
34039         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
34040         (raw_hasher): Use rotr_sz.
34041         Suggested by Jim Meyering.
34042
34043         hash: fix memory leak in last patch
34044         * lib/hash.c (hash_rehash): Avoid memory leak.
34045
34046         hash: avoid no-op rehashing
34047         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
34048
34049         hash: provide default callback functions
34050         * lib/hash.c (raw_hasher, raw_comparator): New functions.
34051         (hash_initialize): Use them as defaults.
34052         * tests/test-hash.c (main): Test this.
34053
34054         hash: minor optimization
34055         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
34056         when possible.
34057         (hash_initialize): Document this promise.
34058         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
34059         * tests/test-hash.c (hash_compare_strings): Test this.
34060
34061 2009-06-18  Bruno Haible  <bruno@clisp.org>
34062
34063         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
34064         going to be replaced anyway.
34065
34066 2009-06-18  Bruno Haible  <bruno@clisp.org>
34067
34068         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
34069         in one place.
34070         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
34071         be replaced anyway.
34072
34073 2009-06-18  Eric Blake  <ebb9@byu.net>
34074
34075         hash: check for resize before insertion
34076         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
34077         threshold before insertion, so that a pathological hash_rehash
34078         that fills every bucket can still trigger another rehash.
34079
34080 2009-06-18  Jim Meyering  <meyering@redhat.com>
34081
34082         hash-tests: add a loop around the small tests
34083         * tests/test-hash.c (main): Repeat small tests with selected
34084         small initial table sizes.
34085
34086 2009-06-17  Eric Blake  <ebb9@byu.net>
34087
34088         hash: minor cleanups
34089         * lib/hash.h (hash_entry): Make opaque, by moving...
34090         * lib/hash.c (hash_entry): ...here.
34091         (hash_insert): Clarify restrictions on what can be inserted.
34092         (hash_get_next): Clarify when it is safe to remove an element
34093         during traversal.
34094         (check_tuning): Skip verification when tuning is known safe.
34095         (hash_initialize): Clarify restrictions on tuning.
34096
34097 2009-06-17  Jim Meyering  <jim@meyering.net>
34098         and Eric Blake  <ebb9@byu.net>
34099
34100         hash-tests: new module
34101         * modules/hash-tests: New file.
34102         * tests/test-hash.c: New file.
34103
34104 2009-06-17  Eric Blake  <ebb9@byu.net>
34105
34106         strstr-simple: document new module
34107         * MODULES.html.sh: Document new module.
34108
34109         strstr, strcasestr: replace on platforms with broken memchr
34110         * modules/strstr: Split into...
34111         * modules/strstr-simple: ...new module that does not care about
34112         performance, but does care about glibc bug.
34113         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
34114         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
34115         if platform memchr is broken, per Debian bug 521737.
34116         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
34117         memchr.
34118         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
34119         * doc/posix-functions/strstr.texi (strstr): Document the fix.
34120         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
34121         * modules/mountlist (Depends-on): Add strstr-simple.
34122         * modules/gen-uni-tables (Depends-on): Likewise.
34123         * modules/argz (Depends-on): Add strstr.
34124
34125 2009-06-17  Bruno Haible  <bruno@clisp.org>
34126
34127         * modules/posix_spawn-internal (Depends-on): Add errno.
34128
34129 2009-06-17  Bruno Haible  <bruno@clisp.org>
34130
34131         Define missing ESTALE on Interix 3.5.
34132         * lib/errno.in.h (ESTALE): Assign a value if missing.
34133         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
34134         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
34135         missing.
34136         * doc/posix-headers/errno.texi: Mention the Interix bug.
34137         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
34138
34139 2009-06-15  Eric Blake  <ebb9@byu.net>
34140
34141         memchr, memchr2: add valgrind exception
34142         * lib/memchr.valgrind: New file.
34143         * lib/memchr2.valgrind: New file.
34144         * modules/memchr (Files): Distribute valgrind file.
34145         * modules/memchr2 (Files): Likewise.
34146
34147         docs: memchr is no longer obsolete
34148         * MODULES.html.sh: Move memchr from obsolete to string.h section.
34149         * lib/string.in.h (memchr): Simplify logic.
34150
34151 2009-06-14  Jim Meyering  <meyering@redhat.com>
34152
34153         link-follow: fix the "checking..." message to not mention trailing slash
34154         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
34155         never considered trailing slashes.
34156
34157 2009-06-14  Bruno Haible  <bruno@clisp.org>
34158
34159         * m4/memchr.m4: Mention also the bug on IA-64.
34160         * doc/posix-functions/memchr.texi: Likewise.
34161
34162 2009-06-12  Eric Blake  <ebb9@byu.net>
34163
34164         memchr: detect broken x86_64 and alpha implementations
34165         * modules/memchr-tests (Depends-on): Move mmap detection...
34166         * modules/memchr (Depends-on): ...here.
34167         (configure.ac): Set indicator.
34168         * lib/string.in.h (memchr): Declare replacement.
34169         * modules/string (Makefile.am): Trigger replacement.
34170         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
34171         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
34172         bugs.
34173         * doc/posix-functions/memchr.texi (memchr): Document the bug.
34174         * modules/getpagesize (License): Relax license.
34175
34176 2009-06-11  Bruno Haible  <bruno@clisp.org>
34177
34178         * lib/idpriv.h: Add more references.
34179
34180 2009-06-08  Bruno Haible  <bruno@clisp.org>
34181
34182         Tests for module 'idpriv-droptemp'.
34183         * modules/idpriv-droptemp-tests: New file.
34184         * tests/test-idpriv-droptemp.sh: New file.
34185         * tests/test-idpriv-droptemp.su.sh: New file.
34186         * tests/test-idpriv-droptemp.c: New file.
34187
34188         New module 'idpriv-droptemp'.
34189         * lib/idpriv-droptemp.c: New file.
34190         * modules/idpriv-droptemp: New file.
34191
34192 2009-06-08  Bruno Haible  <bruno@clisp.org>
34193
34194         Tests for module 'idpriv-drop'.
34195         * modules/idpriv-drop-tests: New file.
34196         * tests/test-idpriv-drop.sh: New file.
34197         * tests/test-idpriv-drop.su.sh: New file.
34198         * tests/test-idpriv-drop.c: New file.
34199
34200         New module 'idpriv-drop'.
34201         * lib/idpriv.h: New file.
34202         * lib-idpriv-drop.c: New file.
34203         * m4/idpriv.m4: New file.
34204         * modules/idpriv-drop: New file.
34205
34206 2009-06-08  Bruno Haible  <bruno@clisp.org>
34207
34208         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
34209         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34210         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34211         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34212         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34213         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34214         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34215
34216 2009-06-08  Eric Blake  <ebb9@byu.net>
34217
34218         test-strstr: use memory fence, when possible
34219         * tests/test-strstr.c (main): Use memory fence, in order to be
34220         more likely to trigger Debian bug 521737.
34221         * modules/strstr-tests (Files): Pull in additional files.
34222
34223         memchr: no longer obsolete, for wider field testing
34224         * modules/memchr (Status, Notice): Delete, this module is no
34225         longer obsolete.
34226         * modules/vasnprintf (Depends-on): Add memchr.
34227
34228 2009-06-07  Jim Meyering  <meyering@redhat.com>
34229
34230         hash: declare some functions with the warn_unused_result attribute
34231         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
34232
34233 2009-06-07  Bruno Haible  <bruno@clisp.org>
34234
34235         * tests/test-alignof.c: Don't test int64_t if it does not exist.
34236         Reported by Eric Blake.
34237
34238 2009-06-06  Eric Blake  <ebb9@byu.net>
34239
34240         test-alignof: fix typo with long double
34241         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
34242         compiler error.
34243
34244 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
34245
34246         Escape non-texinfo { and }s.
34247         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
34248         markup error.
34249
34250 2009-06-04  Jim Meyering  <meyering@redhat.com>
34251
34252         gitlog-to-changelog: don't infloop on an empty commit log
34253         * build-aux/gitlog-to-changelog: Warn about an empty log message.
34254         Reported by Boris Petersen <transacid@centerim.org>.
34255
34256 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
34257
34258         version-etc: extend for packagers
34259         Add three new configure options, intended for packagers:
34260           --with-packager="packager name"
34261           --with-packager-version="packager-specific version"
34262           --with-packager-bug-reports="packager bug reporting"
34263         An example with coreutils:
34264           $ ./configure \
34265             --with-packager=Gentoo \
34266             --with-packager-bug-report=http://bugs.gentoo.org/ \
34267             --with-packager-version="patchset 1.6"
34268           $ ./src/ls --version | head -n2
34269           ls (GNU coreutils) 7.1-dirty
34270           Packaged by Gentoo (patchset 1.6)
34271         Note that the bug reporting info via --help doesn't show up because
34272         coreutils uses its own custom emit_bug_reporting_address() implementation
34273         in src/system.h.  If it didn't, it'd look like:
34274           $ ./src/ls --help | tail -n4
34275           Report bugs to <bug-coreutils@gnu.org>.
34276           Report Gentoo bugs to <http://bugs.gentoo.org/>.
34277           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
34278           General help using GNU software: <http://www.gnu.org/gethelp/>.
34279         * lib/version-etc.c: Print new information, if provided.
34280         * m4/version-etc.m4: New file.
34281         * modules/version-etc (Files): Add m4/version-etc.m4.
34282         (configure.ac): Add gl_VERSION_ETC.
34283
34284 2009-05-31  Bruno Haible  <bruno@clisp.org>
34285
34286         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
34287         and 'int64_t'.
34288         * modules/alignof-tests (Dependencies): Add stdint.
34289         Reported by Eric Blake.
34290
34291 2009-05-31  Bruno Haible  <bruno@clisp.org>
34292
34293         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
34294         restriction due to compiler bugs.
34295         Reported by Eric Blake.
34296
34297 2009-05-31  Simon Josefsson  <simon@josefsson.org>
34298             Bruno Haible  <bruno@clisp.org>
34299
34300         Fix test-alignof failure.
34301         * lib/alignof.h (alignof_slot): New macro.
34302         (alignof_type): New macro, with the same semantics as the previous
34303         'alignof'.
34304         (alignof): Alias to alignof_slot.
34305         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
34306         check that the results are usable as constant expressions.
34307
34308 2009-05-31  Bruno Haible  <bruno@clisp.org>
34309
34310         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
34311         * tests/test-memchr.c (main): Check that memchr does not read past the
34312         first occurrence of the byte.
34313         * tests/test-strstr.c (main): Update comment.
34314         Suggested by Eric Blake.
34315
34316 2009-05-30  Bruno Haible  <bruno@clisp.org>
34317
34318         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
34319         detail how to use dumpbin.
34320         Reported by David Byron <dbyron@dbyron.com>.
34321
34322 2009-06-02  Simon Josefsson  <simon@josefsson.org>
34323
34324         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
34325
34326 2009-06-02  Simon Josefsson  <simon@josefsson.org>
34327
34328         * m4/manywarnings.m4: Add GCC 4.4 warnings.
34329
34330 2009-05-28  Bruno Haible  <bruno@clisp.org>
34331
34332         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
34333         build-aux/ files.
34334
34335 2009-05-28  Simon Josefsson  <simon@josefsson.org>
34336
34337         * gnulib-tool (func_import): Transform license on build-aux/ files too.
34338
34339 2009-05-27  Simon Josefsson  <simon@josefsson.org>
34340
34341         * gnulib-tool (sed_transform_main_lib_file)
34342         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
34343         regexps.
34344
34345 2009-05-26  Simon Josefsson  <simon@josefsson.org>
34346
34347         * tests/test-strstr.c: Add another self-test.
34348         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
34349         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
34350
34351 2009-05-23  Bruno Haible  <bruno@clisp.org>
34352
34353         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
34354         change.
34355
34356 2009-05-21  Bruno Haible  <bruno@clisp.org>
34357
34358         Simplify use of mode_t varargs.
34359         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
34360         uses 'mode_t' or 'int'.
34361         * lib/openat.c (openat): Likewise.
34362         * lib/open-safer.c (open_safer): Likewise.
34363         * m4/mode_t.m4: New file.
34364         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
34365         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
34366         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
34367         * modules/open (Files): Add m4/mode_t.m4.
34368         * modules/openat (Files): Likewise.
34369         * modules/fcntl-safer (Files): Likewise.
34370         Suggested by Eric Blake.
34371
34372 2009-05-21  Pádraig Brady  <P@draigbrady.com>
34373
34374         * doc/glibc-functions/fallocate.texi: New file.
34375         * doc/gnulib.texi: Include it.
34376
34377 2009-05-21  Eric Blake  <ebb9@byu.net>
34378             Bruno Haible  <bruno@clisp.org>
34379
34380         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
34381         invocations.
34382         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34383
34384 2009-05-21  Eric Blake  <ebb9@byu.net>
34385             Bruno Haible  <bruno@clisp.org>
34386
34387         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
34388         include_next. Fix of 2008-11-20 commit.
34389         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
34390         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
34391         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
34392         NEXT_MATH_H.
34393         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
34394         instead of NEXT_MATH_H.
34395
34396 2009-05-21  Bruno Haible  <bruno@clisp.org>
34397
34398         Avoid redefinition warnings for SIZE_MAX.
34399         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
34400         Reported by Simon Josefsson.
34401
34402 2009-05-21  Bruno Haible  <bruno@clisp.org>
34403
34404         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
34405         AC_CACHE_VAL.
34406
34407 2009-05-20  Bruno Haible  <bruno@clisp.org>
34408
34409         Make zeroptr.h work on mingw.
34410         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
34411         mprotect.
34412         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
34413         * modules/memchr2-tests (configure.ac): Likewise.
34414         * modules/memcmp-tests (configure.ac): Likewise.
34415         * modules/memmem-tests (configure.ac): Likewise.
34416         * modules/memrchr-tests (configure.ac): Likewise.
34417         Reported by Simon Josefsson.
34418
34419 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34420
34421         * tests/test-glob.c: Include string.h for strcmp prototype.
34422
34423 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34424
34425         * modules/getdelim (Depends-on): Add explicit stdint, although it
34426         was implicitly already pulled in via realloc-posix.
34427         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
34428
34429 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34430
34431         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
34432         G. Christensen" <tgc@jupiterrise.com>.
34433         * m4/sys_socket_h.m4: Check for sa_family_t.
34434         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
34435         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
34436         * tests/test-sys_socket.c: Check that sa_family_t works.
34437
34438 2009-05-18  Eric Blake  <ebb9@byu.net>
34439
34440         maint.mk: allow gnulib_dir in VPATH build
34441         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
34442
34443 2009-05-15  Jim Meyering  <meyering@redhat.com>
34444
34445         maint.mk: Give gnulib_dir a default definition.
34446         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
34447         Thus, most packages no longer need to specify this variable in cfg.mk
34448
34449 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
34450
34451         rename.m4: fix typos that would make non-mingw cross-configure fail
34452         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
34453
34454 2009-05-13  Eric Blake  <ebb9@byu.net>
34455
34456         mmap-anon: avoid out-of-order autoconf expansion
34457         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
34458         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
34459         * modules/memchr-tests (Depends-on): Add extensions.
34460         * modules/memchr2-tests (Depends-on): Add extensions.
34461         * modules/memcmp-tests (Depends-on): Add extensions.
34462         * modules/memmem-tests (Depends-on): Add extensions.
34463         * modules/memrchr-tests (Depends-on): Add extensions.
34464
34465 2009-05-13  Bruno Haible  <bruno@clisp.org>
34466
34467         Make some tests ISO C 99 compliant.
34468         * tests/zerosize-ptr.h: New file.
34469         * tests/test-memchr.c: Include zerosize-ptr.h.
34470         (main): Use a zero-size object pointer instead of NULL.
34471         * tests/test-memchr2.c: Include zerosize-ptr.h.
34472         (main): Use a zero-size object pointer instead of NULL.
34473         * tests/test-memcmp.c: Include zerosize-ptr.h.
34474         (main): Use a zero-size object pointer instead of NULL.
34475         * tests/test-memmem.c: Include zerosize-ptr.h.
34476         (main): Use a zero-size object pointer instead of NULL.
34477         * tests/test-memrchr.c: Include zerosize-ptr.h.
34478         (main): Use a zero-size object pointer instead of NULL.
34479         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
34480         m4/mmap-anon.m4.
34481         (Depends-on): Add getpagesize.
34482         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34483         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
34484         m4/mmap-anon.m4.
34485         (Depends-on): Add getpagesize.
34486         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34487         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
34488         m4/mmap-anon.m4.
34489         (Depends-on): Add getpagesize.
34490         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34491         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
34492         m4/mmap-anon.m4.
34493         (Depends-on): Add getpagesize.
34494         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34495         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
34496         m4/mmap-anon.m4.
34497         (Depends-on): Add getpagesize.
34498         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34499
34500 2009-05-12  Bruno Haible  <bruno@clisp.org>
34501
34502         Tests for module 'alignof'.
34503         * modules/alignof-tests: New file.
34504         * tests/test-alignof.c: New file.
34505
34506 2009-05-12  Bruno Haible  <bruno@clisp.org>
34507
34508         Fix alignof macro.
34509         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
34510         vendor compilers that are always correct.
34511
34512 2009-05-12  Bruno Haible  <bruno@clisp.org>
34513
34514         Make the MAP_ANONYMOUS detection work on HP-UX 11.
34515         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
34516         not whether its fully works.
34517
34518 2009-05-12  Bruno Haible  <bruno@clisp.org>
34519
34520         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
34521
34522 2009-05-12  Jim Meyering  <meyering@redhat.com>
34523
34524         * top/maint.mk: Adjust backslash alignment.
34525
34526 2009-05-11  Simon Josefsson  <simon@josefsson.org>
34527
34528         * top/maint.mk: Make $(srcdir)/build-aux configurable.
34529
34530 2009-05-11  Eric Blake  <ebb9@byu.net>
34531
34532         argp: avoid undefined behavior
34533         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
34534         macros.
34535
34536 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34537
34538         * tests/test-vc-list-files-git.sh: Do git config of user.email and
34539         user.name to prevent git commit from complaining.
34540
34541 2009-05-10  Bruno Haible  <bruno@clisp.org>
34542
34543         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
34544         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
34545         it rewrites every file name only once.
34546         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
34547
34548 2009-05-08  Bruno Haible  <bruno@clisp.org>
34549
34550         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
34551         instead of 'max'.
34552
34553 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34554
34555         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
34556         sockaddr_storage test.
34557
34558 2009-05-07  Simon Josefsson  <simon@josefsson.org>
34559
34560         * modules/sys_socket (Makefile.am): Substitute
34561         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
34562         * m4/sys_socket_h.m4: Check for sockaddr_storage.
34563         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
34564         * tests/test-sys_socket.c: Check sockaddr_storage.
34565
34566 2009-05-08  Bruno Haible  <bruno@clisp.org>
34567
34568         New module 'alignof'.
34569         * lib/alignof.h: New file.
34570         * modules/alignof: New file.
34571
34572 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34573             Bruno Haible  <bruno@clisp.org>
34574
34575         Fix test-file-has-acl on FreeBSD.
34576         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
34577         mask is implicitly added.
34578         * tests/test-file-has-acl.c: Include <signal.h>.
34579         (main): Terminate the test after 5 seconds.
34580         * modules/acl-tests (configure.ac): Check for alarm function.
34581
34582 2009-05-04  Bruno Haible  <bruno@clisp.org>
34583
34584         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
34585         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
34586         * modules/errno (configure.ac): Drop AC_REQUIRE.
34587         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
34588         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
34589
34590 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34591
34592         * modules/glob-tests: New module.
34593         * tests/test-glob.c: Add.
34594
34595 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34596
34597         * modules/fnmatch-tests: New module.
34598         * tests/test-fnmatch.c: Add.
34599
34600 2009-05-04  Eric Blake  <ebb9@byu.net>
34601
34602         maint: make the new no-submodule-changes rule VPATH-safe
34603         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
34604
34605 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34606             Bruno Haible  <bruno@clisp.org>
34607
34608         acl: Fix infinite loop on FreeBSD.
34609         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
34610         of return value from acl_get_entry.
34611         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
34612         Likewise.
34613
34614 2009-05-03  Bruno Haible  <bruno@clisp.org>
34615
34616         * lib/acl-internal.h (acl_entries): Clarify return value.
34617         * lib/acl_entries.c (acl_entries): Likewise.
34618
34619 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34620
34621         Bug fix in acl module.
34622         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
34623
34624 2009-05-03  Bruno Haible  <bruno@clisp.org>
34625
34626         Create gperf-generated file in the source dir, not in the build dir.
34627         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
34628         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
34629         * modules/unicase/locale-language (unicase/locale-languages.h):
34630         Likewise.
34631         * modules/unicase/special-casing (unicase/special-casing-table.h):
34632         Likewise.
34633         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
34634         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
34635         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
34636         Reported by Ralf Wildenhues.
34637
34638 2009-05-03  Bruno Haible  <bruno@clisp.org>
34639
34640         * modules/fnmatch (Description, configure.ac): Taken from
34641         fnmatch-posix.
34642         * modules/fnmatch-posix: Turn into a symbolic reference to the
34643         'fnmatch' module, and deprecate.
34644         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
34645
34646 2009-05-03  Bruno Haible  <bruno@clisp.org>
34647
34648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
34649         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
34650         Reported by Ralf Wildenhues.
34651
34652 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34653
34654         * m4/fnmatch.m4: Fix fnmatch re-define.
34655
34656 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34657
34658         priv-set: new module and tests; adapt write-any-file
34659         * lib/priv-set.c: New file.
34660         * lib/priv-set.h: New file.
34661         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
34662         * lib/write-any-file.c: Simplify by using priv-set module.
34663         * m4/priv-set.m4: New file.
34664         * modules/priv-set: New file.
34665         * modules/unlinkdir: Add dependency on priv-set module.
34666         * modules/write-any-file: Likewise.
34667
34668         Tests for module 'priv-set'.
34669         * modules/priv-set-tests: New file.
34670         * tests/test-priv-set.c: New file.
34671
34672 2009-05-03  Jim Meyering  <meyering@redhat.com>
34673             Bruno Haible  <bruno@clisp.org>
34674
34675         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
34676         use the converted UTF-8 variant of the name instead.
34677
34678 2009-05-03  Jim Meyering  <meyering@redhat.com>
34679
34680         tests: tighten some getdate tests
34681         * tests/test-getdate.c (main): Tighten tests: require equality,
34682         not just greater than.  Set TZ envvar to UTC0.
34683
34684 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
34685
34686         getdate: correctly interpret "next monday" when run on a Monday
34687         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
34688         that e.g., "next tues" (when run on a tuesday) results in a date
34689         that is one week in the future, and not today's date.
34690         I.e., add a week when the wday is the same as the current one.
34691         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
34692         and earlier by Martin Bernreuther and Jan Minář.
34693         * tests/test-getdate.c (main): Check that "next DAY" is always in
34694         the future and that "last DAY" is always in the past.
34695
34696 2009-05-02  Jim Meyering  <meyering@redhat.com>
34697
34698         build: ensure that a release build fails when a submodule is unclean
34699         * top/maint.mk (no-submodule-changes): New rule.
34700         (alpha beta major): Depend on it.
34701
34702 2009-05-02  Bruno Haible  <bruno@clisp.org>
34703
34704         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
34705         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
34706         shell variable gl_fnmatch_required to detect which variant is
34707         requested.
34708         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
34709         gl_FUNC_FNMATCH_POSIX.
34710         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
34711         exclude fnmatch-posix.
34712
34713 2009-05-02  Bruno Haible  <bruno@clisp.org>
34714
34715         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
34716         * modules/mbsrtowcs (License): Change to LGPLv2+.
34717         * modules/strnlen1 (License): Likewise.
34718         Reported by Simon Josefsson.
34719
34720 2009-05-02  Bruno Haible  <bruno@clisp.org>
34721
34722         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
34723         "cross".
34724         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
34725         gnulib-tool was called with option --source-base=lib.
34726
34727 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34728
34729         Use automake *-local hooks without commands, for extensibility.
34730         * modules/localcharset (Makefile.am): Rename install-exec-local
34731         rule to install-exec-localcharset, and make it a prerequisite of
34732         install-exec-local.  Likewise, rename the uninstall-local rule to
34733         uninstall-localcharset, and make it a prerequisite of the former.
34734
34735 2009-05-01  Bruno Haible  <bruno@clisp.org>
34736
34737         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
34738         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34739         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
34740         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
34741         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
34742         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34743         m4/locale-zh.m4, m4/codeset.m4.
34744
34745         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34746         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
34747         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34748         m4/locale-zh.m4.
34749
34750         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
34751         REPLACE_WCRTOMB if mbstate_t must be replaced.
34752         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
34753         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
34754
34755 2009-05-01  Bruno Haible  <bruno@clisp.org>
34756
34757         Avoid compiler warnings when redefining macros defined by <libintl.h>.
34758         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
34759         dngettext, dcngettext, textdomain, bindtextdomain,
34760         bind_textdomain_codeset): Undefine before redefining.
34761
34762 2009-04-30  Bruno Haible  <bruno@clisp.org>
34763
34764         Fix bug introduced on 2009-04-25.
34765         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
34766         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
34767         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
34768         is defined.
34769         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
34770         is defined.
34771         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
34772         is defined.
34773         Reported by Elbert_Pol <elbert.pol@gmail.com>.
34774
34775 2009-04-28  Bruno Haible  <bruno@clisp.org>
34776
34777         Comment tweaks.
34778         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
34779         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
34780         * lib/unicase.h (u*_casexfrm): Likewise.
34781         Reported by Paolo Bonzini.
34782
34783 2009-04-28  Bruno Haible  <bruno@clisp.org>
34784
34785         Fix a compilation error.
34786         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
34787         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34788         Reported by Jim Meyering.
34789
34790 2009-04-27  Bruno Haible  <bruno@clisp.org>
34791
34792         New module 'libunistring'.
34793         * modules/libunistring: New file.
34794         * m4/libunistring.m4: New file.
34795         * MODULES.html.sh (Unicode string functions): Add it.
34796
34797 2009-04-27  Eric Blake  <ebb9@byu.net>
34798
34799         maint.mk: allow package-specific header to provide <config.h>
34800         * top/maint.mk (sc_require_config_h): New variable.
34801         (sc_require_config_h, sc_require_config_h_first): Use it.
34802
34803 2009-04-27  Simon Josefsson  <simon@josefsson.org>
34804
34805         * top/maint.mk (sc_avoid_if_before_free): Except
34806         useless-if-before-free script.
34807
34808 2009-04-27  Eric Blake  <ebb9@byu.net>
34809
34810         maintainer-makefile: depend on all required helper scripts
34811         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
34812         useless-if-before-free.
34813         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
34814         version, rather than assuming gnulib checkout is available.
34815         Reported by Simen Josefsson.
34816
34817 2009-04-26  Bruno Haible  <bruno@clisp.org>
34818
34819         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
34820         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
34821         "../" or "..".
34822
34823 2009-04-26  Bruno Haible  <bruno@clisp.org>
34824
34825         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
34826         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
34827         AC_LIB_HAVE_LINKFLAGS.
34828
34829 2009-04-26  Bruno Haible  <bruno@clisp.org>
34830
34831         Simplify calling convention of u*_conv_from_encoding.
34832         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
34833         u32_conv_from_encoding): Expect a resultbuf argument and return the
34834         result directly as a pointer.
34835         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
34836         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
34837         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
34838         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
34839         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
34840         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34841         Update.
34842         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
34843         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
34844         * lib/vasnprintf.c (VASNPRINTF): Update.
34845         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
34846         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
34847         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
34848         * NEWS: Mention the change.
34849
34850 2009-04-26  Bruno Haible  <bruno@clisp.org>
34851
34852         Simplify calling convention of u*_conv_to_encoding.
34853         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34854         u32_conv_to_encoding): Expect a resultbuf argument and return the
34855         result directly as a pointer.
34856         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34857         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
34858         freeing scaled_offsets if mem_iconveha failed.
34859         * lib/unicase/u-casexfrm.h (FUNC): Update.
34860         * lib/uninorm/u-normxfrm.h (FUNC): Update.
34861         * lib/vasnprintf.c (VASNPRINTF): Update.
34862         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
34863         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
34864         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
34865         * NEWS: Mention the change.
34866
34867 2009-04-26  Bruno Haible  <bruno@clisp.org>
34868
34869         Avoid test failures on AIX and OSF/1.
34870         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
34871         malloc(0).
34872         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34873         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34874         Likewise.
34875         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
34876         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
34877         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
34878         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
34879         * doc/posix-functions/malloc.texi: Document the portability problem
34880         related to malloc(0).
34881
34882 2009-04-26  Bruno Haible  <bruno@clisp.org>
34883
34884         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
34885         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
34886         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
34887
34888 2009-04-25  Bruno Haible  <bruno@clisp.org>
34889
34890         Avoid link error when creating a namespace clean library.
34891         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
34892         as macro with arguments if already defined as an alias.
34893         * lib/signbitf.c (gl_signbitf): Don't undefine.
34894         * lib/signbitd.c (gl_signbitd): Don't undefine.
34895         * lib/signbitl.c (gl_signbitl): Don't undefine.
34896
34897 2009-04-25  Jim Meyering  <meyering@redhat.com>
34898
34899         vc-list-files: fix another quoting bug
34900         * build-aux/vc-list-files: Avoid sed backslash expansion
34901         of pathological directory names.
34902
34903 2009-04-25  Eric Blake  <ebb9@byu.net>
34904
34905         vc-list-files: fix shell quoting error
34906         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
34907         timestamp.
34908
34909 2009-04-25  Jim Meyering  <meyering@redhat.com>
34910
34911         vc-list-files: restore lost functionality with subdir argument
34912         * build-aux/vc-list-files: When given a non-"." sub-directory
34913         argument, substitute the $dir/ prefix back onto each resulting name.
34914         Otherwise, coreutils' root_tests check would fail.
34915
34916 2009-04-24  Eric Blake  <ebb9@byu.net>
34917
34918         vc-list-files: ignore git symlinks
34919         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
34920         than ls-files, to ignore git symlinks.
34921
34922         maint.mk: import improvements from m4
34923         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
34924         (move_if_change): Delete unused macro.
34925         (news-date-check, vc-diff-check): Support VPATH builds.
34926         (announcement): Likewise.  Split --bootstrap-tools list...
34927         (boostrap-tools): ...into separate list, which can be overridden
34928         in cfg.mk.
34929         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
34930         requiring dependency on useless-if-before-free module.
34931         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
34932         Support VPATH builds.
34933
34934 2009-04-24  Jim Meyering  <meyering@redhat.com>
34935
34936         maint.mk: remove coreutils-specific rules and variables
34937         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
34938         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
34939         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
34940
34941         maint.mk: remove obsolete rule
34942         * top/maint.mk (rel-check): Remove rule.
34943         (WGET, WGETFLAGS): Remove now-unused variables.
34944
34945 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34946
34947         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
34948         consistency.
34949
34950         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
34951         '$(PATH_SEPARATOR)' instead of ':'.
34952
34953 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34954
34955         * lib/getopt1.c (main): Use 'const' for static array.
34956
34957 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34958
34959         * top/maint.mk: Sync with coreutils.
34960         * NEWS: Explain incompatibilities.
34961
34962 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34963             Bruno Haible  <bruno@clisp.org>
34964
34965         Fix cross-compilation results.
34966         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
34967         statement, as third argument of AC_TRY_RUN.
34968         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
34969         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
34970         Likewise.
34971         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
34972         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
34973         Likewise.
34974         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
34975         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
34976         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
34977
34978 2009-04-20  Bruno Haible  <bruno@clisp.org>
34979
34980         Avoid test failure on mingw.
34981         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
34982
34983 2009-04-20  Bruno Haible  <bruno@clisp.org>
34984
34985         Avoid compilation error on mingw.
34986         * modules/localename-tests (Depends-on): Add locale.
34987
34988 2009-04-19  Bruno Haible  <bruno@clisp.org>
34989
34990         Support for building a shared library on Windows platforms.
34991         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
34992         (main): Test the presence of UNINORM_NFC here.
34993         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
34994         (main): Test the presence of UNINORM_NFD here.
34995         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
34996         (main): Test the presence of UNINORM_NFKC here.
34997         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
34998         (main): Test the presence of UNINORM_NFKD here.
34999
35000 2009-04-19  Bruno Haible  <bruno@clisp.org>
35001
35002         Avoid a compiler warning.
35003         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
35004         Change type of variable 'sequence'.
35005
35006 2009-04-19  Bruno Haible  <bruno@clisp.org>
35007
35008         * modules/configmake (Makefile.am): When the contents of configmake.h
35009         does not change, arrange to preserve its modification time.
35010
35011 2009-04-17  Simon Josefsson  <simon@josefsson.org>
35012
35013         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
35014         gettext domain.
35015
35016 2009-04-16  Jim Meyering  <meyering@redhat.com>
35017
35018         useless-if-before-free: improve conversion code
35019         * build-aux/useless-if-before-free: Adjust code-in-comment to match
35020         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
35021
35022 2009-04-14  Bruno Haible  <bruno@clisp.org>
35023
35024         * modules/fcntl (Depends-on): Add extensions.
35025         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
35026
35027 2009-04-12  Ben Pfaff  <blp@gnu.org>
35028
35029         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
35030         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
35031
35032 2009-03-20  Ben Pfaff  <blp@gnu.org>
35033
35034         Make rename replace existing destinations on Windows.
35035         * m4/rename.m4: Add test for Mingw.
35036         * lib/rename.c: Add rename replacement that uses MoveFileEx with
35037         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
35038         * doc/posix-functions/rename.texi: Document.
35039
35040 2009-04-10  Bruno Haible  <bruno@clisp.org>
35041
35042         New include file "iconveh.h".
35043         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
35044         * lib/striconveh.h: Include it.
35045         (enum iconv_ilseq_handler): Remove definition.
35046         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
35047         striconveh.h.
35048         * lib/striconveha.c: Include striconveh.h.
35049         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
35050         * modules/striconveh (Files): Add lib/iconveh.h.
35051         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
35052         lib/striconveh.h.
35053
35054 2009-04-10  Bruno Haible  <bruno@clisp.org>
35055
35056         * lib/uniconv.h: Update comment.
35057
35058 2009-04-10  Bruno Haible  <bruno@clisp.org>
35059
35060         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
35061         always.
35062         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35063         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35064         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35065         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
35066         "unistring-notinline.h", so that the function gets defined always.
35067         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35068         * lib/unistr/u8-uctomb.c: Likewise.
35069         * lib/unistr/u16-mbtouc.c: Likewise.
35070         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35071         * lib/unistr/u16-uctomb.c: Likewise.
35072         * lib/unistr/u32-mbtouc.c: Likewise.
35073         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35074         * lib/unistr/u32-uctomb.c: Likewise.
35075
35076 2009-04-10  Bruno Haible  <bruno@clisp.org>
35077
35078         Mark 'utime' obsolete.
35079         * modules/utime (Status, Notice): New sections.
35080         Suggested by Jim Meyering.
35081
35082         Fix cross-compile guess for utime test.
35083         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
35084         autoconf.
35085         * doc/posix-functions/utime.texi: Give more precisions.
35086         Reported by Jan <ipif@ymail.com>.
35087
35088 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
35089
35090         filevercmp: correct today's change
35091         * lib/filevercmp.c: Also handle coreutils' test inputs.
35092         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
35093
35094         Fix regression in 'filevercmp' module. Thanks Sven Joachim
35095         for reporting it.
35096         * lib/filevercmp.c: Special handle for "", "." and "..".
35097         * tests/test-filevercmp.c: Enlarge the set suite.
35098
35099 2009-04-07  Jim Meyering  <meyering@redhat.com>
35100
35101         useless-if-before-free: show how to remove braced useless free, too
35102         * build-aux/useless-if-before-free: still only in a comment, though.
35103
35104 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
35105
35106         maint.mk: import changes to syntax-check macros from coreutils
35107         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
35108         Use them in the relevant macros.
35109
35110 2009-04-06  Bruno Haible  <bruno@clisp.org>
35111
35112         Fix unportable use of bit-fields.
35113         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
35114         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
35115         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
35116
35117 2009-04-06  Bruno Haible  <bruno@clisp.org>
35118
35119         Avoid test failures on AIX and OSF/1.
35120         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
35121         that malloc(0) = NULL.
35122         * tests/unicase/test-u8-tolower.c (check): Likewise.
35123         * tests/unicase/test-u8-totitle.c (check): Likewise.
35124         * tests/unicase/test-u8-toupper.c (check): Likewise.
35125         * tests/unicase/test-u16-casefold.c (check): Likewise.
35126         * tests/unicase/test-u16-tolower.c (check): Likewise.
35127         * tests/unicase/test-u16-totitle.c (check): Likewise.
35128         * tests/unicase/test-u16-toupper.c (check): Likewise.
35129         * tests/unicase/test-u32-casefold.c (check): Likewise.
35130         * tests/unicase/test-u32-tolower.c (check): Likewise.
35131         * tests/unicase/test-u32-totitle.c (check): Likewise.
35132         * tests/unicase/test-u32-toupper.c (check): Likewise.
35133         * tests/uninorm/test-u8-nfc.c (check): Likewise.
35134         * tests/uninorm/test-u8-nfd.c (check): Likewise.
35135         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
35136         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
35137         * tests/uninorm/test-u16-nfc.c (check): Likewise.
35138         * tests/uninorm/test-u16-nfd.c (check): Likewise.
35139         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
35140         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
35141         * tests/uninorm/test-u32-nfc.c (check): Likewise.
35142         * tests/uninorm/test-u32-nfd.c (check): Likewise.
35143         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
35144         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
35145
35146 2009-04-05  Bruno Haible  <bruno@clisp.org>
35147
35148         Work around an autoconf limitation.
35149         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
35150         comment line if it would be longer than 3 KB.
35151
35152 2009-04-05  Bruno Haible  <bruno@clisp.org>
35153
35154         Avoid test failure with libiconv-1.13.
35155         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
35156         of the expected test results.
35157
35158 2009-04-05  Bruno Haible  <bruno@clisp.org>
35159
35160         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
35161         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
35162         that it should be installed.
35163
35164 2009-04-05  Bruno Haible  <bruno@clisp.org>
35165
35166         * gnulib-tool: New option --copy-file.
35167         (func_usage): Document it.
35168         (func_dest_tmpfilename): Moved out of func_import.
35169         (func_add_file, func_update_file): New functions, extracted from
35170         func_import.
35171         (func_import): Update.
35172
35173 2009-04-05  Karl Berry  <karl@gnu.org>
35174
35175         * README: prominently mention gnulib-tool.
35176         Rearrange sections so getting the code is near the top.
35177
35178 2009-04-05  Bruno Haible  <bruno@clisp.org>
35179
35180         * lib/unicase.h: Mention u*_cmp2.
35181         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35182         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
35183         * lib/unicase/ulc-casecmp.c: Likewise.
35184         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
35185         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
35186         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
35187         unistr/u8-cmp.
35188         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
35189         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
35190         unistr/u16-cmp.
35191         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
35192         unistr/u32-cmp.
35193
35194         * lib/uninorm.h: Mention u*_cmp2.
35195         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35196         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
35197         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
35198         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
35199         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
35200         unistr/u8-cmp.
35201         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
35202         unistr/u16-cmp.
35203         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
35204         unistr/u32-cmp.
35205
35206         New module 'unistr/u32-cmp2'.
35207         * lib/unistr/u32-cmp2.c: New file.
35208         * modules/unistr/u32-cmp2: New file.
35209
35210         New module 'unistr/u16-cmp2'.
35211         * lib/unistr/u16-cmp2.c: New file.
35212         * modules/unistr/u16-cmp2: New file.
35213
35214         New module 'unistr/u8-cmp2'.
35215         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
35216         * lib/unistr/u8-cmp2.c: New file.
35217         * lib/unistr/u-cmp2.h: New file.
35218         * modules/unistr/u8-cmp2: New file.
35219
35220 2009-04-05  Bruno Haible  <bruno@clisp.org>
35221
35222         * lib/unictype.h (uc_property_is_valid): New macro.
35223         * tests/unictype/test-pr_byname.c (main): Use it.
35224
35225         * lib/unistr.h: Doc fixes.
35226         * lib/uniconv.h: Doc fixes.
35227         * lib/unictype.h: Doc fixes.
35228
35229 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
35230
35231         Port coreutils 7.2 to Solaris 8.
35232
35233         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
35234         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
35235         for Solaris 8.  This is a bit of a hack, as it means it's the
35236         caller's responsibility to add -lnsl if needed, but most likely it
35237         won't be needed since only getaddrinfo uses this and getaddrinfo
35238         isn't needed on Solaris 8.
35239
35240         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
35241         problem to Solaris 8 encountered with coreutils 7.2, which
35242         resulted in a message "fnmatch.c:292: warning: passing argument 4
35243         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
35244         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
35245
35246 2009-04-03  Simon Josefsson  <simon@josefsson.org>
35247
35248         * m4/ld-version-script.m4: Add FIXME comment.
35249
35250 2009-04-02  Simon Josefsson  <simon@josefsson.org>
35251
35252         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
35253         SOVERSION variable.
35254
35255 2009-04-02  Bruno Haible  <bruno@clisp.org>
35256
35257         * Makefile (info, html, dvi, pdf): Combine the rules.
35258         Suggested by Jim Meyering.
35259
35260 2009-04-01  Bruno Haible  <bruno@clisp.org>
35261
35262         * Makefile (info, html, dvi, pdf): New targets.
35263         Reported by Reuben Thomas <rrt@sc3d.org>.
35264
35265 2009-04-01  Bruno Haible  <bruno@clisp.org>
35266
35267         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
35268         can be put into PATH.
35269         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
35270
35271 2009-04-01  Bruno Haible  <bruno@clisp.org>
35272
35273         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
35274
35275 2009-04-01  Bruno Haible  <bruno@clisp.org>
35276
35277         Rename module 'visibility'.
35278         * modules/lib-symbol-visibility: Renamed from modules/visibility.
35279         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
35280         * doc/gnulib.texi: Update.
35281         * MODULES.html.sh (Misc): Update.
35282         * NEWS: Mention the change.
35283
35284 2009-04-01  Simon Josefsson  <simon@josefsson.org>
35285
35286         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
35287         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
35288         Eric Blake <ebb9@byu.net> for review.
35289         * MODULES.html.sh: Add lib-msvc-compat.
35290         * doc/gnulib.texi: Link to new section.
35291         * m4/ld-output-def.m4: New file.
35292         * doc/ld-output-def.texi: New file.
35293
35294 2009-04-01  Simon Josefsson  <simon@josefsson.org>
35295
35296         Rename ld-version-script to lib-symbol-versions.  Suggested by
35297         Bruno Haible <bruno@clisp.org>.
35298         * modules/ld-version-script: Renamed to lib-symbol-versions.
35299         * doc/ld-version-script.texi: Fix module name.
35300         * MODULES.html.sh: Add lib-symbol-versions.
35301
35302 2009-03-31  Simon Josefsson  <simon@josefsson.org>
35303
35304         * modules/u64-tests: New file.
35305         * tests/test-u64.c: New file.
35306
35307 2009-03-04  Simon Josefsson  <simon@josefsson.org>
35308
35309         * MODULES.html.sh: Mention u64.
35310         * modules/u64: New module.
35311         * modules/crypto/sha512: Depend on u64 module instead of providing
35312         u64.h.
35313
35314 2009-03-27  Eric Blake  <ebb9@byu.net>
35315
35316         test-strerror: make debugging EAI_SYSTEM easier
35317         * modules/getaddrinfo-tests (Depends-on): Add strerror.
35318         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
35319         failure was EAI_SYSTEM.
35320
35321 2009-03-25  Bruno Haible  <bruno@clisp.org>
35322
35323         Fix a problem with --enable-relocatable on Solaris 7.
35324         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
35325         since 2008-02-24.
35326
35327 2009-03-25  Eric Blake  <ebb9@byu.net>
35328
35329         test-sockets: avoid gcc warning
35330         * tests/test-sockets.c (main): Silence compiler warning.
35331
35332 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
35333
35334         New modules nproc, pthread, contributed by Glen Lenker.
35335
35336         * MODULES.html.sh: Add pthread, nproc.
35337         * lib/nproc.c: New file.
35338         * lib/nproc.h: New file.
35339         * lib/pthread.in.h: New file.
35340         * m4/pthread.m4: New file.
35341         * modules/nproc: New file.
35342         * modules/pthread: New file.
35343
35344 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35345
35346         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
35347         New variable.
35348
35349 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
35350
35351         filevercmp: handle simple~ and numbered.~3~ backup suffixes
35352         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
35353         * tests/test-filevercmp.c: Add tests for backup suffixes.
35354
35355 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35356
35357         * modules/stdlib (Depends-on): Add stdint, needed when defining
35358         struct random_data on, for example, HP-UX 10.20.  Reported by
35359         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35360
35361 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35362
35363         * lib/readline.c (readline): Call fflush on stdout after printing
35364         prompt.
35365
35366 2009-03-20  Bruno Haible  <bruno@clisp.org>
35367
35368         Remove dependency from 'close' module to -lws2_32 on native Windows.
35369         * lib/close-hook.h: New file.
35370         * lib/close-hook.c: New file.
35371         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
35372         w32sock.h.
35373         (_gl_close_fd_maybe_socket): Remove function.
35374         (rpl_close): Invoke execute_all_close_hooks instead of
35375         _gl_close_fd_maybe_socket.
35376         * lib/sockets.c: Include close-hook.h, w32sock.h.
35377         (close_fd_maybe_socket): New function, essentially from lib/close.c.
35378         (close_sockets_hook): New variable.
35379         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
35380         (gl_sockets_cleanup): Unregister it.
35381         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
35382         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
35383         * modules/close-hook: New file.
35384         * modules/close (Files): Remove lib/w32sock.h.
35385         (Depends-on): Add close-hook.
35386         (Link): Remove section.
35387         * modules/sockets (Files): Add lib/w32sock.h.
35388         (Depends-on): Add close-hook.
35389         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
35390         invocation.
35391         * NEWS: Mention that LIB_CLOSE is gone.
35392
35393 2009-03-23  Eric Blake  <ebb9@byu.net>
35394
35395         signal-tests: test previous patch
35396         * tests/test-signal.c: New file.
35397         * modules/signal-tests: Likewise.
35398
35399         signal.h: always support 'volatile sig_atomic_t'
35400         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
35401         (gl_SIGNAL_H_DEFAULTS): Add a default.
35402         * modules/signal (Makefile.am): Substitute if needed.
35403         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
35404         users can blindly add volatile.
35405         * doc/posix-headers/signal.texi (signal.h): Document it.
35406         Reported by Matthew Woehlke.
35407
35408 2009-03-23  Jim Meyering  <meyering@redhat.com>
35409
35410         pathmax: PATH_MAX: use pathconf only when available
35411         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
35412         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
35413         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
35414         This avoids a link failure in a PSP cross-compilation environment
35415         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
35416
35417         * lib/vasnprintf.c (divide): Fix typo in comment.
35418
35419 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35420
35421         * gnulib-tool (func_filter_filelist): Fix comment.
35422
35423 2009-03-20  Bruno Haible  <bruno@clisp.org>
35424
35425         Make sockets.h self-contained.
35426         * lib/sockets.c: Include sockets.h first.
35427         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
35428
35429 2009-03-19  Eric Blake  <ebb9@byu.net>
35430
35431         doc: mention more functions added in cygwin 1.7.0
35432         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
35433         addition.
35434         * doc/posix-functions/log2f.texi: Likewise.
35435
35436 2009-03-19  Jim Meyering  <meyering@redhat.com>
35437
35438         fsusage: avoid syntax error due to statement-before-declaration
35439         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
35440         after all declarations.  Reported by Matthew Woehlke in
35441         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
35442
35443 2009-03-18  Eric Blake  <ebb9@byu.net>
35444
35445         build-aux/compile: sync from automake
35446         * build-aux/compile: New file, from automake.
35447         * config/srclist.txt: Mention build-aux/compile.
35448
35449 2009-03-17  Bruno Haible  <bruno@clisp.org>
35450
35451         * lib/git-merge-changelog.c: Fix typo in comment.
35452         Reported by Reuben Thomas <rrt@sc3d.org>.
35453
35454 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
35455
35456         * m4/regex.m4: update and improve help for
35457         --without-included-regex.
35458
35459 2009-03-17  Simon Josefsson  <simon@josefsson.org>
35460
35461         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
35462         failure on missing include files.
35463
35464 2009-03-17  Eric Blake  <ebb9@byu.net>
35465
35466         doc: mention more functions added in cygwin 1.7.0
35467         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
35468         addition.
35469         * doc/posix-functions/fwscanf.texi: Likewise.
35470         * doc/posix-functions/swprintf.texi: Likewise.
35471         * doc/posix-functions/swscanf.texi: Likewise.
35472         * doc/posix-functions/vfwprintf.texi: Likewise.
35473         * doc/posix-functions/vfwscanf.texi: Likewise.
35474         * doc/posix-functions/vswprintf.texi: Likewise.
35475         * doc/posix-functions/vswscanf.texi: Likewise.
35476         * doc/posix-functions/vwprintf.texi: Likewise.
35477         * doc/posix-functions/vwscanf.texi: Likewise.
35478         * doc/posix-functions/wcscasecmp.texi: Likewise.
35479         * doc/posix-functions/wcsdup.texi: Likewise.
35480         * doc/posix-functions/wcsftime.texi: Likewise.
35481         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35482         * doc/posix-functions/wprintf.texi: Likewise.
35483         * doc/posix-functions/wscanf.texi: Likewise.
35484         * doc/glibc-functions/gethostbyname2.texi: Likewise.
35485
35486 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35487
35488         maint.mk: really add $(AM_MAKEFLAGS)
35489         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
35490         was inadvertently omitted in the last commit.
35491         Spotted by Bruno Haible.
35492
35493         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
35494         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
35495         $(AM_MAKEFLAGS)' rather than plain `make'.
35496
35497         gnulib-tool: execute $MAKE not make
35498         * gnulib-tool: Default $MAKE to 'make'.
35499         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
35500         than make.  Initialize $MAKE in the do-autobuild script.
35501
35502         gnulib-tool: use $MAKE not make in generated files
35503         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
35504         make, in generated files.  Initialize $MAKE in the do-autobuild
35505         script.
35506
35507         * top/GNUmakefile (_have-git-version-gen): Fix typo.
35508
35509         GNUmakefile: disable parallelism only for multiple, recursive targets
35510         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
35511         additions in the Makefile.
35512         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
35513         by Automake.
35514         (.NOTPARALLEL): Only disable parallel builds if multiple targets
35515         are listed on the command line and at least one of them is
35516         listed in $(ALL_RECURSIVE_TARGETS).
35517
35518 2009-03-14  Bruno Haible  <bruno@clisp.org>
35519
35520         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
35521         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
35522         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
35523         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
35524         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
35525         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
35526         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
35527         unistr/u8-uctomb.
35528         * modules/unistr/u8-strchr (Depends-on): Likewise.
35529         * modules/unistr/u8-strrchr (Depends-on): Likewise.
35530         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
35531         unistr/u16-uctomb.
35532         * modules/unistr/u16-strchr (Depends-on): Likewise.
35533         * modules/unistr/u16-strrchr (Depends-on): Likewise.
35534
35535 2009-03-12  Bruno Haible  <bruno@clisp.org>
35536
35537         Work around select() bug on Interix 3.5.
35538         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
35539         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
35540         * m4/select.m4: New file.
35541         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
35542         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
35543         * modules/select (Files): Add m4/select.m4.
35544         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
35545         * modules/nanosleep (Depends-on): Add select.
35546         * modules/poll (Depends-on): Likewise.
35547         * doc/posix-functions/select.texi: Mention the Interix bug.
35548         Reported by Markus Duft <mduft@gentoo.org>.
35549
35550         * lib/select.c: Renamed from lib/winsock-select.c.
35551         * modules/select (Files): Add lib/select.c, remove
35552         lib/winsock-select.c.
35553         (configure.ac): Update.
35554
35555 2009-03-12  Jim Meyering  <meyering@redhat.com>
35556
35557         avoid gcc warnings about unused macro definitions
35558         * lib/readtokens.c (STREQ): Remove unused definition.
35559         * lib/xmalloc.c (SIZE_MAX): Likewise.
35560         * lib/openat-die.c (N_): Likewise.
35561         * lib/mountlist.c (SIZE_MAX): Remove definition.
35562         Instead, include <stdint.h>.
35563         * lib/readutmp.c: Likewise.
35564         * modules/readutmp (Depends-on): Add stdint.
35565         * modules/mountlist (Depends-on): Add stdint.
35566         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
35567
35568 2009-03-10  Bruno Haible  <bruno@clisp.org>
35569
35570         Tests for module 'mbmemcasecoll'.
35571         * modules/mbmemcasecoll-tests: New file.
35572         * tests/test-mbmemcasecoll1.sh: New file.
35573         * tests/test-mbmemcasecoll2.sh: New file.
35574         * tests/test-mbmemcasecoll3.sh: New file.
35575         * tests/test-mbmemcasecoll.c: New file.
35576
35577         New module 'mbmemcasecoll'.
35578         * lib/mbmemcasecoll.h: New file.
35579         * lib/mbmemcasecoll.c: New file.
35580         * modules/mbmemcasecoll: New file.
35581
35582         * tests/test-mbmemcasecmp.h: New file, extracted from
35583         tests/test-mbmemcasecmp.c.
35584         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
35585         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
35586         (main): Update.
35587         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
35588
35589 2009-03-09  Bruno Haible  <bruno@clisp.org>
35590
35591         Tests for module 'mbmemcasecmp'.
35592         * modules/mbmemcasecmp-tests: New file.
35593         * tests/test-mbmemcasecmp1.sh: New file.
35594         * tests/test-mbmemcasecmp2.sh: New file.
35595         * tests/test-mbmemcasecmp3.sh: New file.
35596         * tests/test-mbmemcasecmp.c: New file.
35597
35598         New module 'mbmemcasecmp'.
35599         * lib/mbmemcasecmp.h: New file.
35600         * lib/mbmemcasecmp.c: New file.
35601         * modules/mbmemcasecmp: New file.
35602
35603 2009-03-09  Bruno Haible  <bruno@clisp.org>
35604
35605         Tests for module 'unicase/ulc-casecoll'.
35606         * modules/unicase/ulc-casecoll-tests: New file.
35607         * tests/unicase/test-ulc-casecoll1.sh: New file.
35608         * tests/unicase/test-ulc-casecoll2.sh: New file.
35609         * tests/unicase/test-ulc-casecoll.c: New file.
35610
35611         New module 'unicase/ulc-casecoll'.
35612         * lib/unicase.h (ulc_casecoll): New declaration.
35613         * lib/unicase/ulc-casecoll.c: New file.
35614         * modules/unicase/ulc-casecoll: New file.
35615
35616         New module 'unicase/ulc-casexfrm'.
35617         * lib/unicase.h (ulc_casexfrm): New declaration.
35618         * lib/unicase/ulc-casexfrm.c: New file.
35619         * modules/unicase/ulc-casexfrm: New file.
35620
35621 2009-03-09  Bruno Haible  <bruno@clisp.org>
35622
35623         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
35624         invocations.
35625
35626         * m4/mbscasecmp.m4: Remove file.
35627         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
35628         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
35629
35630         * m4/mbscasestr.m4: Remove file.
35631         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
35632         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
35633
35634         * m4/mbschr.m4: Remove file.
35635         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
35636         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
35637
35638         * m4/mbscspn.m4: Remove file.
35639         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
35640         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
35641
35642         * m4/mbslen.m4: Remove file.
35643         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
35644         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
35645
35646         * m4/mbsncasecmp.m4: Remove file.
35647         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
35648         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
35649
35650         * m4/mbsnlen.m4: Remove file.
35651         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
35652         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
35653
35654         * m4/mbspbrk.m4: Remove file.
35655         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
35656         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
35657
35658         * m4/mbspcasecmp.m4: Remove file.
35659         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
35660         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
35661
35662         * m4/mbsrchr.m4: Remove file.
35663         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
35664         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
35665
35666         * m4/mbssep.m4: Remove file.
35667         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
35668         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
35669
35670         * m4/mbsspn.m4: Remove file.
35671         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
35672         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
35673
35674         * m4/mbsstr.m4: Remove file.
35675         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
35676         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
35677
35678         * m4/mbstok_r.m4: Remove file.
35679         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
35680         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
35681
35682         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
35683
35684         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
35685         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
35686
35687         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
35688
35689 2009-03-08  Bruno Haible  <bruno@clisp.org>
35690
35691         Tests for module 'unicase/ulc-casecmp'.
35692         * modules/unicase/ulc-casecmp-tests: New file.
35693         * tests/unicase/test-ulc-casecmp1.sh: New file.
35694         * tests/unicase/test-ulc-casecmp2.sh: New file.
35695         * tests/unicase/test-ulc-casecmp.c: New file.
35696
35697         New module 'unicase/ulc-casecmp'.
35698         * lib/unicase.h (ulc_casecmp): New declaration.
35699         * lib/unicase/ulc-casecmp.c: New file.
35700         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
35701         'const SRC_UNIT *'.
35702         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
35703         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
35704         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
35705         * modules/unicase/ulc-casecmp: New file.
35706
35707         Tests for module 'unicase/u32-is-cased'.
35708         * modules/unicase/u32-is-cased-tests: New file.
35709         * tests/unicase/test-u32-is-cased.c: New file.
35710
35711         Tests for module 'unicase/u16-is-cased'.
35712         * modules/unicase/u16-is-cased-tests: New file.
35713         * tests/unicase/test-u16-is-cased.c: New file.
35714
35715         Tests for module 'unicase/u8-is-cased'.
35716         * modules/unicase/u8-is-cased-tests: New file.
35717         * tests/unicase/test-u8-is-cased.c: New file.
35718         * tests/unicase/test-is-cased.h: New file.
35719
35720         New module 'unicase/u32-is-cased'.
35721         * lib/unicase/u32-is-cased.c: New file.
35722         * modules/unicase/u32-is-cased: New file.
35723
35724         New module 'unicase/u16-is-cased'.
35725         * lib/unicase/u16-is-cased.c: New file.
35726         * modules/unicase/u16-is-cased: New file.
35727
35728         New module 'unicase/u8-is-cased'.
35729         * lib/unicase/u8-is-cased.c: New file.
35730         * lib/unicase/u-is-cased.h: New file.
35731         * modules/unicase/u8-is-cased: New file.
35732
35733         Tests for module 'unicase/u32-is-casefolded'.
35734         * modules/unicase/u32-is-casefolded-tests: New file.
35735         * tests/unicase/test-u32-is-casefolded.c: New file.
35736
35737         Tests for module 'unicase/u16-is-casefolded'.
35738         * modules/unicase/u16-is-casefolded-tests: New file.
35739         * tests/unicase/test-u16-is-casefolded.c: New file.
35740
35741         Tests for module 'unicase/u8-is-casefolded'.
35742         * modules/unicase/u8-is-casefolded-tests: New file.
35743         * tests/unicase/test-u8-is-casefolded.c: New file.
35744         * tests/unicase/test-is-casefolded.h: New file.
35745
35746         New module 'unicase/u32-is-casefolded'.
35747         * lib/unicase/u32-is-casefolded.c: New file.
35748         * modules/unicase/u32-is-casefolded: New file.
35749
35750         New module 'unicase/u16-is-casefolded'.
35751         * lib/unicase/u16-is-casefolded.c: New file.
35752         * modules/unicase/u16-is-casefolded: New file.
35753
35754         New module 'unicase/u8-is-casefolded'.
35755         * lib/unicase/u8-is-casefolded.c: New file.
35756         * modules/unicase/u8-is-casefolded: New file.
35757
35758         Tests for module 'unicase/u32-is-titlecase'.
35759         * modules/unicase/u32-is-titlecase-tests: New file.
35760         * tests/unicase/test-u32-is-titlecase.c: New file.
35761
35762         Tests for module 'unicase/u16-is-titlecase'.
35763         * modules/unicase/u16-is-titlecase-tests: New file.
35764         * tests/unicase/test-u16-is-titlecase.c: New file.
35765
35766         Tests for module 'unicase/u8-is-titlecase'.
35767         * modules/unicase/u8-is-titlecase-tests: New file.
35768         * tests/unicase/test-u8-is-titlecase.c: New file.
35769         * tests/unicase/test-is-titlecase.h: New file.
35770
35771         New module 'unicase/u32-is-titlecase'.
35772         * lib/unicase/u32-is-titlecase.c: New file.
35773         * modules/unicase/u32-is-titlecase: New file.
35774
35775         New module 'unicase/u16-is-titlecase'.
35776         * lib/unicase/u16-is-titlecase.c: New file.
35777         * modules/unicase/u16-is-titlecase: New file.
35778
35779         New module 'unicase/u8-is-titlecase'.
35780         * lib/unicase/u8-is-titlecase.c: New file.
35781         * modules/unicase/u8-is-titlecase: New file.
35782
35783         Tests for module 'unicase/u32-is-lowercase'.
35784         * modules/unicase/u32-is-lowercase-tests: New file.
35785         * tests/unicase/test-u32-is-lowercase.c: New file.
35786
35787         Tests for module 'unicase/u16-is-lowercase'.
35788         * modules/unicase/u16-is-lowercase-tests: New file.
35789         * tests/unicase/test-u16-is-lowercase.c: New file.
35790
35791         Tests for module 'unicase/u8-is-lowercase'.
35792         * modules/unicase/u8-is-lowercase-tests: New file.
35793         * tests/unicase/test-u8-is-lowercase.c: New file.
35794         * tests/unicase/test-is-lowercase.h: New file.
35795
35796         New module 'unicase/u32-is-lowercase'.
35797         * lib/unicase/u32-is-lowercase.c: New file.
35798         * modules/unicase/u32-is-lowercase: New file.
35799
35800         New module 'unicase/u16-is-lowercase'.
35801         * lib/unicase/u16-is-lowercase.c: New file.
35802         * modules/unicase/u16-is-lowercase: New file.
35803
35804         New module 'unicase/u8-is-lowercase'.
35805         * lib/unicase/u8-is-lowercase.c: New file.
35806         * modules/unicase/u8-is-lowercase: New file.
35807
35808         Tests for module 'unicase/u32-is-uppercase'.
35809         * modules/unicase/u32-is-uppercase-tests: New file.
35810         * tests/unicase/test-u32-is-uppercase.c: New file.
35811
35812         Tests for module 'unicase/u16-is-uppercase'.
35813         * modules/unicase/u16-is-uppercase-tests: New file.
35814         * tests/unicase/test-u16-is-uppercase.c: New file.
35815
35816         Tests for module 'unicase/u8-is-uppercase'.
35817         * modules/unicase/u8-is-uppercase-tests: New file.
35818         * tests/unicase/test-u8-is-uppercase.c: New file.
35819         * tests/unicase/test-is-uppercase.h: New file.
35820
35821         New module 'unicase/u32-is-uppercase'.
35822         * lib/unicase/u32-is-uppercase.c: New file.
35823         * modules/unicase/u32-is-uppercase: New file.
35824
35825         New module 'unicase/u16-is-uppercase'.
35826         * lib/unicase/u16-is-uppercase.c: New file.
35827         * modules/unicase/u16-is-uppercase: New file.
35828
35829         New module 'unicase/u8-is-uppercase'.
35830         * lib/unicase/u8-is-uppercase.c: New file.
35831         * modules/unicase/u8-is-uppercase: New file.
35832
35833         New module 'unicase/u32-is-invariant'.
35834         * lib/unicase/u32-is-invariant.c: New file.
35835         * modules/unicase/u32-is-invariant: New file.
35836
35837         New module 'unicase/u16-is-invariant'.
35838         * lib/unicase/u16-is-invariant.c: New file.
35839         * modules/unicase/u16-is-invariant: New file.
35840
35841         New module 'unicase/u8-is-invariant'.
35842         * lib/unicase/u8-is-invariant.c: New file.
35843         * lib/unicase/invariant.h: New file.
35844         * lib/unicase/u-is-invariant.h: New file.
35845         * modules/unicase/u8-is-invariant: New file.
35846
35847         Tests for module 'unicase/u32-casecoll'.
35848         * modules/unicase/u32-casecoll-tests: New file.
35849         * tests/unicase/test-u32-casecoll.c: New file.
35850
35851         Tests for module 'unicase/u16-casecoll'.
35852         * modules/unicase/u16-casecoll-tests: New file.
35853         * tests/unicase/test-u16-casecoll.c: New file.
35854
35855         Tests for module 'unicase/u8-casecoll'.
35856         * modules/unicase/u8-casecoll-tests: New file.
35857         * tests/unicase/test-u8-casecoll.c: New file.
35858
35859         New module 'unicase/u32-casecoll'.
35860         * lib/unicase/u32-casecoll.c: New file.
35861         * modules/unicase/u32-casecoll: New file.
35862
35863         New module 'unicase/u16-casecoll'.
35864         * lib/unicase/u16-casecoll.c: New file.
35865         * modules/unicase/u16-casecoll: New file.
35866
35867         New module 'unicase/u8-casecoll'.
35868         * lib/unicase/u8-casecoll.c: New file.
35869         * lib/unicase/u-casecoll.h: New file.
35870         * modules/unicase/u8-casecoll: New file.
35871
35872         New module 'unicase/u32-casexfrm'.
35873         * lib/unicase/u32-casexfrm.c: New file.
35874         * modules/unicase/u32-casexfrm: New file.
35875
35876         New module 'unicase/u16-casexfrm'.
35877         * lib/unicase/u16-casexfrm.c: New file.
35878         * modules/unicase/u16-casexfrm: New file.
35879
35880         New module 'unicase/u8-casexfrm'.
35881         * lib/unicase/u8-casexfrm.c: New file.
35882         * lib/unicase/u-casexfrm.h: New file.
35883         * modules/unicase/u8-casexfrm: New file.
35884
35885         Tests for module 'unicase/u32-casecmp'.
35886         * modules/unicase/u32-casecmp-tests: New file.
35887         * tests/unicase/test-u32-casecmp.c: New file.
35888
35889         Tests for module 'unicase/u16-casecmp'.
35890         * modules/unicase/u16-casecmp-tests: New file.
35891         * tests/unicase/test-u16-casecmp.c: New file.
35892
35893         Tests for module 'unicase/u8-casecmp'.
35894         * modules/unicase/u8-casecmp-tests: New file.
35895         * tests/unicase/test-u8-casecmp.c: New file.
35896         * tests/unicase/test-casecmp.h: New file.
35897
35898         New module 'unicase/u32-casecmp'.
35899         * lib/unicase/u32-casecmp.c: New file.
35900         * modules/unicase/u32-casecmp: New file.
35901
35902         New module 'unicase/u16-casecmp'.
35903         * lib/unicase/u16-casecmp.c: New file.
35904         * modules/unicase/u16-casecmp: New file.
35905
35906         New module 'unicase/u8-casecmp'.
35907         * lib/unicase/u8-casecmp.c: New file.
35908         * lib/unicase/u-casecmp.h: New file.
35909         * modules/unicase/u8-casecmp: New file.
35910
35911         Tests for module 'unicase/u32-casefold'.
35912         * modules/unicase/u32-casefold-tests: New file.
35913         * tests/unicase/test-u32-casefold.c: New file.
35914
35915         Tests for module 'unicase/u16-casefold'.
35916         * modules/unicase/u16-casefold-tests: New file.
35917         * tests/unicase/test-u16-casefold.c: New file.
35918
35919         Tests for module 'unicase/u8-casefold'.
35920         * modules/unicase/u8-casefold-tests: New file.
35921         * tests/unicase/test-u8-casefold.c: New file.
35922
35923         New module 'unicase/u32-casefold'.
35924         * lib/unicase/u32-casefold.c: New file.
35925         * modules/unicase/u32-casefold: New file.
35926
35927         New module 'unicase/u16-casefold'.
35928         * lib/unicase/u16-casefold.c: New file.
35929         * modules/unicase/u16-casefold: New file.
35930
35931         New module 'unicase/u8-casefold'.
35932         * lib/unicase/u8-casefold.c: New file.
35933         * lib/unicase/u-casefold.h: New file.
35934         * modules/unicase/u8-casefold: New file.
35935
35936         New module 'unicase/tocasefold'.
35937         * lib/unicase/casefold.h: New file.
35938         * lib/unicase/tocasefold.c: New file.
35939         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
35940         * modules/unicase/tocasefold: New file.
35941
35942         Tests for module 'unicase/u32-totitle'.
35943         * modules/unicase/u32-totitle-tests: New file.
35944         * tests/unicase/test-u32-totitle.c: New file.
35945
35946         Tests for module 'unicase/u16-totitle'.
35947         * modules/unicase/u16-totitle-tests: New file.
35948         * tests/unicase/test-u16-totitle.c: New file.
35949
35950         Tests for module 'unicase/u8-totitle'.
35951         * modules/unicase/u8-totitle-tests: New file.
35952         * tests/unicase/test-u8-totitle.c: New file.
35953
35954         New module 'unicase/u32-totitle'.
35955         * lib/unicase/u32-totitle.c: New file.
35956         * modules/unicase/u32-totitle: New file.
35957
35958         New module 'unicase/u16-totitle'.
35959         * lib/unicase/u16-totitle.c: New file.
35960         * modules/unicase/u16-totitle: New file.
35961
35962         New module 'unicase/u8-totitle'.
35963         * lib/unicase/u8-totitle.c: New file.
35964         * lib/unicase/u-totitle.h: New file.
35965         * modules/unicase/u8-totitle: New file.
35966
35967         Tests for module 'unicase/u32-tolower'.
35968         * modules/unicase/u32-tolower-tests: New file.
35969         * tests/unicase/test-u32-tolower.c: New file.
35970
35971         Tests for module 'unicase/u16-tolower'.
35972         * modules/unicase/u16-tolower-tests: New file.
35973         * tests/unicase/test-u16-tolower.c: New file.
35974
35975         Tests for module 'unicase/u8-tolower'.
35976         * modules/unicase/u8-tolower-tests: New file.
35977         * tests/unicase/test-u8-tolower.c: New file.
35978
35979         New module 'unicase/u32-tolower'.
35980         * lib/unicase/u32-tolower.c: New file.
35981         * modules/unicase/u32-tolower: New file.
35982
35983         New module 'unicase/u16-tolower'.
35984         * lib/unicase/u16-tolower.c: New file.
35985         * modules/unicase/u16-tolower: New file.
35986
35987         New module 'unicase/u8-tolower'.
35988         * lib/unicase/u8-tolower.c: New file.
35989         * modules/unicase/u8-tolower: New file.
35990
35991         Tests for module 'unicase/u32-toupper'.
35992         * modules/unicase/u32-toupper-tests: New file.
35993         * tests/unicase/test-u32-toupper.c: New file.
35994
35995         Tests for module 'unicase/u16-toupper'.
35996         * modules/unicase/u16-toupper-tests: New file.
35997         * tests/unicase/test-u16-toupper.c: New file.
35998
35999         Tests for module 'unicase/u8-toupper'.
36000         * modules/unicase/u8-toupper-tests: New file.
36001         * tests/unicase/test-u8-toupper.c: New file.
36002
36003         New module 'unicase/u32-toupper'.
36004         * lib/unicase/u32-toupper.c: New file.
36005         * modules/unicase/u32-toupper: New file.
36006
36007         New module 'unicase/u16-toupper'.
36008         * lib/unicase/u16-toupper.c: New file.
36009         * modules/unicase/u16-toupper: New file.
36010
36011         New module 'unicase/u8-toupper'.
36012         * lib/unicase/u8-toupper.c: New file.
36013         * modules/unicase/u8-toupper: New file.
36014
36015         New module 'unicase/u32-casemap'.
36016         * lib/unicase/u32-casemap.c: New file.
36017         * modules/unicase/u32-casemap: New file.
36018
36019         New module 'unicase/u16-casemap'.
36020         * lib/unicase/u16-casemap.c: New file.
36021         * modules/unicase/u16-casemap: New file.
36022
36023         New module 'unicase/u8-casemap'.
36024         * lib/unicase/unicasemap.h: New file.
36025         * lib/unicase/u8-casemap.c: New file.
36026         * lib/unicase/u-casemap.h: New file.
36027         * modules/unicase/u8-casemap: New file.
36028
36029         New module 'unicase/special-casing'.
36030         * lib/unicase/special-casing.h: New file.
36031         * lib/unicase/special-casing.c: New file.
36032         * lib/unicase/special-casing-table.gperf: New file, generated by
36033         gen-uni-tables.c.
36034         * modules/unicase/special-casing: New file.
36035
36036         Tests for module 'unicase/locale-language'.
36037         * modules/unicase/locale-language-tests: New file.
36038         * tests/unicase/test-locale-language.sh: New file.
36039         * tests/unicase/test-locale-language.c: New file.
36040
36041         New module 'unicase/locale-language'.
36042         * lib/unicase/locale-language.c: New file.
36043         * lib/unicase/locale-languages.gperf: New file.
36044         * modules/unicase/locale-language: New file.
36045
36046         Generate more tables for case conversion and case folding.
36047         * lib/gen-uni-tables.c (SCC_*): New enum items.
36048         (struct special_casing_rule): New type.
36049         (casing_rules, num_casing_rules, allocated_casing_rules): New
36050         variables.
36051         (add_casing_rule, fill_casing_rules): New functions.
36052         (struct casefold_rule): New type.
36053         (casefolding_rules, num_casefolding_rules,
36054         allocated_casefolding_rules): New variables.
36055         (fill_casefolding_rules): New function.
36056         (unicode_casefold): New variable.
36057         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
36058         sort_casing_rules, output_casing_rules): New functions.
36059         (main): Accept to more arguments: SpecialCasing.txt and
36060         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
36061         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
36062         Output mapping for casefolding.
36063
36064         * lib/unicase.h: Include stdbool.h, uninorm.h.
36065         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
36066         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
36067         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
36068         arguments.
36069         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
36070         resultp arguments.
36071         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
36072         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
36073         resultp arguments.
36074         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
36075         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
36076         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
36077         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
36078         declarations.
36079         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
36080
36081 2009-03-08  Bruno Haible  <bruno@clisp.org>
36082
36083         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36084         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
36085         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
36086         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36087
36088 2009-03-07  Bruno Haible  <bruno@clisp.org>
36089
36090         Adjust u*_normcmp, u*_normcoll API.
36091         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36092         u16_normcoll, u32_normcoll): Change failure conventions.
36093         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
36094         errno and return -1.
36095         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36096
36097 2009-03-07  Bruno Haible  <bruno@clisp.org>
36098
36099         Tests for module 'uninorm/u32-normcoll'.
36100         * modules/uninorm/u32-normcoll-tests: New file.
36101         * tests/uninorm/test-u32-normcoll.c: New file.
36102
36103         Tests for module 'uninorm/u16-normcoll'.
36104         * modules/uninorm/u16-normcoll-tests: New file.
36105         * tests/uninorm/test-u16-normcoll.c: New file.
36106
36107         Tests for module 'uninorm/u8-normcoll'.
36108         * modules/uninorm/u8-normcoll-tests: New file.
36109         * tests/uninorm/test-u8-normcoll.c: New file.
36110
36111 2009-03-07  Bruno Haible  <bruno@clisp.org>
36112
36113         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
36114         tests/uninorm/test-u32-normcmp.c.
36115         * tests/uninorm/test-u32-normcmp.c: Include it.
36116         (test_nonascii): New function, extracted from main. Add some more
36117         tests.
36118         (main): Invoke test_ascii and test_nonascii.
36119         * modules/uninorm/u32-normcmp-tests (Files): Add
36120         tests/uninorm/test-u32-normcmp.h.
36121         (Depends-on): Remove uninorm/u32-normcmp.
36122
36123         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
36124         tests/uninorm/test-u16-normcmp.c.
36125         * tests/uninorm/test-u16-normcmp.c: Include it.
36126         (test_nonascii): New function, extracted from main. Add some more
36127         tests.
36128         (main): Invoke test_ascii and test_nonascii.
36129         * modules/uninorm/u16-normcmp-tests (Files): Add
36130         tests/uninorm/test-u16-normcmp.h.
36131         (Depends-on): Remove uninorm/u16-normcmp.
36132
36133         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
36134         tests/uninorm/test-u8-normcmp.c.
36135         * tests/uninorm/test-u8-normcmp.c: Include it.
36136         (test_nonascii): New function, extracted from main. Add some more
36137         tests.
36138         (main): Invoke test_ascii and test_nonascii.
36139         * modules/uninorm/u8-normcmp-tests (Files): Add
36140         tests/uninorm/test-u8-normcmp.h.
36141         (Depends-on): Remove uninorm/u8-normcmp.
36142
36143 2009-03-07  Bruno Haible  <bruno@clisp.org>
36144
36145         New module 'uninorm/u32-normcoll'.
36146         * lib/uninorm/u32-normcoll.c: New file.
36147         * modules/uninorm/u32-normcoll: New file.
36148
36149         New module 'uninorm/u16-normcoll'.
36150         * lib/uninorm/u16-normcoll.c: New file.
36151         * modules/uninorm/u16-normcoll: New file.
36152
36153         New module 'uninorm/u8-normcoll'.
36154         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
36155         declarations.
36156         * lib/uninorm/u8-normcoll.c: New file.
36157         * lib/uninorm/u-normcoll.h: New file.
36158         * modules/uninorm/u8-normcoll: New file.
36159
36160         New module 'uninorm/u32-normxfrm'.
36161         * lib/uninorm/u32-normxfrm.c: New file.
36162         * modules/uninorm/u32-normxfrm: New file.
36163
36164         New module 'uninorm/u16-normxfrm'.
36165         * lib/uninorm/u16-normxfrm.c: New file.
36166         * modules/uninorm/u16-normxfrm: New file.
36167
36168         New module 'uninorm/u8-normxfrm'.
36169         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
36170         declarations.
36171         * lib/uninorm/u8-normxfrm.c: New file.
36172         * lib/uninorm/u-normxfrm.h: New file.
36173         * modules/uninorm/u8-normxfrm: New file.
36174
36175 2009-03-07  Bruno Haible  <bruno@clisp.org>
36176
36177         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
36178         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
36179         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
36180
36181 2009-03-07  Bruno Haible  <bruno@clisp.org>
36182
36183         New module 'memxfrm'.
36184         * lib/memxfrm.h: New file.
36185         * lib/memxfrm.c: New file.
36186         * modules/memxfrm: New file.
36187
36188 2009-03-07  Bruno Haible  <bruno@clisp.org>
36189
36190         New module 'memcmp2'.
36191         * lib/memcmp2.h: New file.
36192         * lib/memcmp2.c: New file.
36193         * modules/memcmp2: New file.
36194
36195 2009-03-07  Bruno Haible  <bruno@clisp.org>
36196
36197         Tests for module 'uninorm/decomposing-form'.
36198         * modules/uninorm/decomposing-form-tests: New file.
36199         * tests/uninorm/test-decomposing-form.c: New file.
36200
36201         New module 'uninorm/decomposing-form'.
36202         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
36203         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
36204         Add 'decomposing_variant' field.
36205         * lib/uninorm/decomposing-form.c: New file.
36206         * lib/uninorm/nfc.c (uninorm_nfc): Update.
36207         * lib/uninorm/nfd.c (uninorm_nfd): Update.
36208         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
36209         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
36210         * modules/uninorm/decomposing-form: New file.
36211         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
36212         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
36213
36214 2009-03-07  Bruno Haible  <bruno@clisp.org>
36215
36216         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
36217         strings.
36218
36219 2009-03-06  Bruno Haible  <bruno@clisp.org>
36220
36221         Tests for module 'uninorm/u32-normcmp'.
36222         * tests/uninorm/test-u32-normcmp.c: New file.
36223         * modules/uninorm/u32-normcmp-tests: New file.
36224
36225         Tests for module 'uninorm/u16-normcmp'.
36226         * tests/uninorm/test-u16-normcmp.c: New file.
36227         * modules/uninorm/u16-normcmp-tests: New file.
36228
36229         Tests for module 'uninorm/u8-normcmp'.
36230         * tests/uninorm/test-u8-normcmp.c: New file.
36231         * modules/uninorm/u8-normcmp-tests: New file.
36232
36233         New module 'uninorm/u32-normcmp'.
36234         * lib/uninorm/u32-normcmp.c: New file.
36235         * modules/uninorm/u32-normcmp: New file.
36236
36237         New module 'uninorm/u16-normcmp'.
36238         * lib/uninorm/u16-normcmp.c: New file.
36239         * modules/uninorm/u16-normcmp: New file.
36240
36241         New module 'uninorm/u8-normcmp'.
36242         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
36243         declarations.
36244         * lib/uninorm/u8-normcmp.c: New file.
36245         * lib/uninorm/u-normcmp.h: New file.
36246         * modules/uninorm/u8-normcmp: New file.
36247
36248 2009-03-06  Bruno Haible  <bruno@clisp.org>
36249
36250         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
36251         Reported by Eric Blake.
36252
36253 2009-03-06  Eric Blake  <ebb9@byu.net>
36254             Bruno Haible  <bruno@clisp.org>
36255
36256         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
36257         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
36258         condition.
36259         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
36260         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
36261         condition.
36262         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
36263
36264 2009-03-06  Eric Blake  <ebb9@byu.net>
36265
36266         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
36267         to avoid compiler warnings.
36268         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
36269
36270 2009-03-05  Bruno Haible  <bruno@clisp.org>
36271
36272         * tests/test-ftell.c (main): Disable test beyond end of file on
36273         FreeMiNT.
36274         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
36275
36276 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
36277
36278         * lib/filevercmp.c: Move hidden files up in ordering.
36279         * tests/test-filevercmp.c: Add tests for hidden files.
36280
36281 2009-03-04  Bruno Haible  <bruno@clisp.org>
36282
36283         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
36284         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
36285         AM_CFLAGS.
36286         Reported by Simon Josefsson.
36287
36288 2009-03-03  Bruno Haible  <bruno@clisp.org>
36289
36290         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
36291         Reported by Simon Josefsson.
36292
36293         * doc/ld-version-script.texi: Update node reference.
36294
36295 2009-03-03  Bruno Haible  <bruno@clisp.org>
36296
36297         * modules/visibility (License): Change to 'unlimited'.
36298         Suggested by Simon Josefsson.
36299
36300 2009-03-03  Jim Meyering  <meyering@redhat.com>
36301
36302         unlinkdir: cannot_unlink_dir may modify process state
36303         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
36304         it's neither thread-safe nor appropriate for use in a library.
36305
36306 2009-03-03  Eric Blake  <ebb9@byu.net>
36307
36308         test-closein: silence test under Darwin
36309         * tests/test-closein.sh: Ignore stderr from cat, since we don't
36310         care if it dies from EPIPE or EBADF.
36311
36312 2009-03-03  Bruno Haible  <bruno@clisp.org>
36313
36314         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
36315         earlier.
36316         * doc/visibility.texi: Fix @node and @section.
36317
36318 2009-03-03  Simon Josefsson  <simon@josefsson.org>
36319
36320         * doc/gnulib.texi: Link to sections for ld version script and
36321         visibility.
36322         * doc/visibility.texi: Add @node and @section.
36323         * modules/ld-version-script: New module.
36324         * m4/ld-version-script.m4: New file.
36325         * doc/ld-version-script.texi: New file.
36326
36327 2009-03-02  David Lutterkort  <lutter@redhat.com>
36328
36329         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
36330         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36331
36332 2009-03-02  Bruno Haible  <bruno@clisp.org>
36333
36334         * doc/visibility.texi: Mention libtool's -export-symbols option.
36335
36336 2009-03-02  Jim Meyering  <meyering@redhat.com>
36337
36338         announce-gen: new option: --no-print-checksums
36339         * build-aux/announce-gen (usage): Describe it.
36340         (print_checksums): Print a newline here, not in the [*] footnote.
36341         (main): Honor it.
36342
36343 2009-03-01  Bruno Haible  <bruno@clisp.org>
36344
36345         Use socklen_t in the native Windows replacements prototypes.
36346         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
36347         instead of 'int'.
36348         * lib/getsockopt.c (rpl_getsockopt): Likewise.
36349         * lib/setsockopt.c (rpl_setsockopt): Likewise.
36350         * modules/getsockopt (Depends-on): Add socklen.
36351         * modules/setsockopt (Depends-on): Add socklen.
36352
36353 2009-03-01  Bruno Haible  <bruno@clisp.org>
36354
36355         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
36356         least 4.2.
36357
36358 2009-03-01  Eric Blake  <ebb9@byu.net>
36359             Bruno Haible  <bruno@clisp.org>
36360
36361         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
36362         error messages.
36363         * lib/wait-process.c (wait_subprocess): Omit error message about
36364         deadly signal sent to the child of termsigp != NULL.
36365
36366 2009-03-01  Eric Blake  <ebb9@byu.net>
36367
36368         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
36369
36370 2009-03-01  Bruno Haible  <bruno@clisp.org>
36371
36372         Avoid a gcc warning.
36373         * tests/test-sched.c (b): Make global.
36374         Reported by Eric Blake.
36375
36376 2009-01-19  Martin Lambers  <marlam@marlam.de>
36377
36378         Provide POSIX semantics for socket timeout options on W32.
36379         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
36380         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
36381         * modules/setsockopt: Depend on sys_time module for struct timeval.
36382         * modules/getsockopt: Depend on sys_time module for struct timeval.
36383
36384 2009-03-01  Simon Josefsson  <simon@josefsson.org>
36385
36386         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
36387         __USE_GNU, for consistency with netdb.in.h.
36388         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36389
36390 2009-03-01  Bruno Haible  <bruno@clisp.org>
36391
36392         More support for FreeMiNT.
36393         * lib/fseeko.c (rpl_fseeko): Complete last commit.
36394         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36395
36396 2009-03-01  Bruno Haible  <bruno@clisp.org>
36397
36398         More support for FreeMiNT.
36399         * lib/fpurge.c (fpurge): Correct last commit.
36400         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36401
36402 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36403
36404         Fix unportable awk script in vc-list-files.
36405         * build-aux/vc-list-files: In the replacement awk script, use
36406         substr with a second argument of 1, not zero.
36407         Report by Simon Josefsson.
36408
36409 2009-02-28  Bruno Haible  <bruno@clisp.org>
36410
36411         More support for FreeMiNT.
36412         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
36413         to FreeMiNT today.
36414         * lib/fwriting.c (fwriting): Likewise.
36415         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
36416
36417 2009-02-28  Bruno Haible  <bruno@clisp.org>
36418
36419         * tests/test-freadseek.c (main): Disable test beyond end of file on
36420         FreeMiNT.
36421         * tests/test-ftello.c (main): Likewise.
36422         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
36423
36424 2009-02-28  Bruno Haible  <bruno@clisp.org>
36425
36426         Add tentative support for FreeMiNT.
36427         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
36428         * lib/fpurge.c (fpurge): Likewise.
36429         * lib/freadable.c (freadable): Likewise.
36430         * lib/freading.c (freading): Likewise.
36431         * lib/freadptr.c (freadptr): Likewise.
36432         * lib/freadseek.c (freadptrinc): Likewise.
36433         * lib/fseeko.c (rpl_fseeko): Likewise.
36434         * lib/fseterr.c (fseterr): Likewise.
36435         * lib/fwritable.c (fwritable): Likewise.
36436         * lib/fwriting.c (fwriting): Likewise.
36437         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
36438         Hourihane.
36439         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36440
36441 2009-02-28  Bruno Haible  <bruno@clisp.org>
36442
36443         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
36444         SIGCHLD.
36445         Reported by Jim Meyering.
36446
36447 2009-02-28  Bruno Haible  <bruno@clisp.org>
36448
36449         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
36450         Mention the results of these tests on various platforms.
36451         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
36452         order.
36453         * doc/posix-functions/printf.texi: Likewise.
36454         * doc/posix-functions/snprintf.texi: Likewise.
36455         * doc/posix-functions/sprintf.texi: Likewise.
36456         * doc/posix-functions/vfprintf.texi: Likewise.
36457         * doc/posix-functions/vprintf.texi: Likewise.
36458         * doc/posix-functions/vsnprintf.texi: Likewise.
36459         * doc/posix-functions/vsprintf.texi: Likewise.
36460         * doc/glibc-functions/obstack_printf.texi: Likewise.
36461         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
36462
36463 2009-02-28  Bruno Haible  <bruno@clisp.org>
36464
36465         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
36466         Reported by Loïc Minier <lool@dooz.org>.
36467
36468 2009-02-27  Bruno Haible  <bruno@clisp.org>
36469
36470         * gnulib-tool (func_import): Make the sed expression used to create the
36471         sed script for updating the .gitignore file POSIX compliant.
36472         Reported by Eric Blake.
36473
36474 2009-02-27  Bruno Haible  <bruno@clisp.org>
36475
36476         * gnulib-tool (sed): Don't alias as "sed --posix".
36477         Reported by Eric Blake.
36478
36479 2009-02-27  Bruno Haible  <bruno@clisp.org>
36480
36481         Avoid test link errors.
36482         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
36483         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
36484         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
36485         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
36486         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36487
36488 2009-02-27  Bruno Haible  <bruno@clisp.org>
36489
36490         Avoid spurious "(cached)" in configure output.
36491         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
36492         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
36493         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
36494         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
36495         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
36496         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
36497         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
36498         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
36499         Reported by Eric Blake.
36500
36501 2009-02-27  Eric Blake  <ebb9@byu.net>
36502
36503         printf: fix regression in previous patch
36504         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
36505
36506 2009-02-27  Bruno Haible  <bruno@clisp.org>
36507
36508         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
36509         value.
36510         * lib/stdint.in.h: Likewise.
36511         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
36512
36513 2009-02-27  Eric Blake  <ebb9@byu.net>
36514
36515         doc: mention more functions added in cygwin 1.7.0
36516         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
36517         addition.
36518         * doc/posix-functions/open_wmemstream.texi: Likewise.
36519         * doc/posix-functions/wcsnlen.texi: Likewise.
36520         * doc/posix-functions/wcsnrtombs.texi: Likewise.
36521         * doc/posix-functions/wcstod.texi: Likewise.
36522         * doc/posix-functions/wcstof.texi: Likewise.
36523         * doc/posix-functions/wcstoimax.texi: Likewise.
36524         * doc/posix-functions/wcstok.texi: Likewise.
36525         * doc/posix-functions/wcstoumax.texi: Likewise.
36526
36527         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
36528         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
36529         * doc/posix-functions/fprintf.texi: Update.
36530         * doc/posix-functions/printf.texi: Update.
36531         * doc/posix-functions/snprintf.texi: Update.
36532         * doc/posix-functions/sprintf.texi: Update.
36533         * doc/posix-functions/vfprintf.texi: Update.
36534         * doc/posix-functions/vprintf.texi: Update.
36535         * doc/posix-functions/vsnprintf.texi: Update.
36536         * doc/posix-functions/vsprintf.texi: Update.
36537         * doc/glibc-functions/obstack_printf.texi: Update.
36538         * doc/glibc-functions/obstack_vprintf.texi: Update.
36539
36540 2009-02-26  Eric Blake  <ebb9@byu.net>
36541
36542         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
36543         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
36544         compilation bug by using runtime conversion.
36545         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
36546         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
36547         * modules/ceill-tests (Files): Use nan.h.
36548         * modules/floorl-tests (Files): Likewise.
36549         * modules/frexpl-tests (Files): Likewise.
36550         * modules/isnanl-tests (Files): Likewise.
36551         * modules/ldexpl-tests (Files): Likewise.
36552         * modules/roundl-tests (Files): Likewise.
36553         * modules/truncl-tests (Files): Likewise.
36554         * tests/test-ceill.c (main): Use a working NaN.
36555         * tests/test-floorl.c (main): Likewise.
36556         * tests/test-frexpl.c (main): Likewise.
36557         * tests/test-isnan.c (test_long_double): Likewise.
36558         * tests/test-isnanl.h (main): Likewise.
36559         * tests/test-ldexpl.h (main): Likewise.
36560         * tests/test-roundl.h (main): Likewise.
36561         * tests/test-truncl.h (main): Likewise.
36562         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
36563
36564 2009-02-26  Eric Blake  <ebb9@byu.net>
36565             Bruno Haible  <bruno@clisp.org>
36566
36567         Work around a *printf bug with %ls on Solaris.
36568         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
36569         precision is specified, sprintf stops converting the wide string
36570         argument when the number of bytes that have been produced by this
36571         conversion equals or exceeds the precision.
36572         * doc/posix-functions/fprintf.texi: Update.
36573         * doc/posix-functions/printf.texi: Update.
36574         * doc/posix-functions/snprintf.texi: Update.
36575         * doc/posix-functions/sprintf.texi: Update.
36576         * doc/posix-functions/vfprintf.texi: Update.
36577         * doc/posix-functions/vprintf.texi: Update.
36578         * doc/posix-functions/vsnprintf.texi: Update.
36579         * doc/posix-functions/vsprintf.texi: Update.
36580         * doc/glibc-functions/obstack_printf.texi: Update.
36581         * doc/glibc-functions/obstack_vprintf.texi: Update.
36582
36583 2009-02-26  Eric Blake  <ebb9@byu.net>
36584
36585         stdlib: favor compiler check of random.h
36586         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
36587         to avoid an ObjC random.h installed by Swarm.
36588
36589 2009-02-26  Bruno Haible  <bruno@clisp.org>
36590
36591         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
36592         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
36593         Reported by Gary V. Vaughan <gary@gnu.org>.
36594
36595 2009-02-26  Bruno Haible  <bruno@clisp.org>
36596
36597         Fix *printf behaviour regarding the %ls directive.
36598         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
36599         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
36600         NEED_PRINTF_DIRECTIVE_LS.
36601         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
36602         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36603         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36604         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
36605         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
36606         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
36607         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36608         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36609         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36610         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36611         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36612         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
36613         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36614         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36615         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36616         * doc/posix-functions/fprintf.texi: Update.
36617         * doc/posix-functions/printf.texi: Update.
36618         * doc/posix-functions/snprintf.texi: Update.
36619         * doc/posix-functions/sprintf.texi: Update.
36620         * doc/posix-functions/vfprintf.texi: Update.
36621         * doc/posix-functions/vprintf.texi: Update.
36622         * doc/posix-functions/vsnprintf.texi: Update.
36623         * doc/posix-functions/vsprintf.texi: Update.
36624         * doc/glibc-functions/obstack_printf.texi: Update.
36625         * doc/glibc-functions/obstack_vprintf.texi: Update.
36626         Reported by Eric Blake.
36627
36628 2009-02-25  Bruno Haible  <bruno@clisp.org>
36629
36630         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
36631         with known value.
36632         Reported by Gary V. Vaughan <gary@gnu.org>.
36633
36634 2009-02-25  Bruno Haible  <bruno@clisp.org>
36635
36636         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
36637         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
36638         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
36639         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
36640         Reported by Gary V. Vaughan <gary@gnu.org>.
36641
36642 2009-02-25  Bruno Haible  <bruno@clisp.org>
36643
36644         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
36645         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
36646         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
36647         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
36648         Reported by Gary V. Vaughan <gary@gnu.org>.
36649
36650 2009-02-25  Eric Blake  <ebb9@byu.net>
36651
36652         tests: skip fseek/ftell tests if ungetc is broken
36653         * m4/ungetc.m4: New file.
36654         * modules/fseek-tests: Split test, so ungetc dependency is
36655         separate from rest of test.
36656         * modules/fseeko-tests: Likewise.
36657         * modules/ftell-tests: Likewise.
36658         * modules/ftello-tests: Likewise.
36659         * tests/test-fseek.c (main): Isolate ungetc dependency.
36660         * tests/test-fseeko.c (main): Likewise.
36661         * tests/test-ftell.c (main): Likewise.
36662         * tests/test-ftello.c (main): Likewise.
36663         * tests/test-fseek2.sh: New file.
36664         * tests/test-fseeko2.sh: Likewise.
36665         * tests/test-ftell2.sh: Likewise.
36666         * tests/test-ftello2.sh: Likewise.
36667
36668 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
36669
36670         test-getaddrinfo: fix usage of skip return code 77
36671         * tests/test-gettaddrinfo.c: Return skip code 77 only
36672         for first occurance of skip (4x77 is not 77)
36673
36674 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
36675
36676         strtod: avoid C99 decl-after-statement
36677         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
36678
36679 2009-02-24  Eric Blake  <ebb9@byu.net>
36680
36681         strtod: detect HP-UX 11.31 bug
36682         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
36683         Reported by Gary V. Vaughan.
36684
36685 2009-02-23  Bruno Haible  <bruno@clisp.org>
36686
36687         Fix invalid read past end of memory block.
36688         * lib/vasnprintf.c (DCHAR_SET): Define.
36689         (local_wcslen): Define only when needed.
36690         (local_strnlen, local_wcsnlen): New functions.
36691         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
36692         directives that involve a conversion ourselves.
36693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
36694         wcsnlen, mbrtowc, wcrtomb.
36695         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
36696         * tests/test-vasprintf-posix.c (test_function): Likewise.
36697         * tests/test-snprintf-posix.h (test_function): Likewise.
36698         * tests/test-sprintf-posix.h (test_function): Likewise.
36699         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36700
36701 2009-02-22  Bruno Haible  <bruno@clisp.org>
36702
36703         Implement new clarified decomposition of Hangul syllables.
36704         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
36705         of type LTV, return only a pairwise decomposition.
36706         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
36707         Likewise.
36708         * tests/uninorm/test-decomposition.c (main): Updated expected result.
36709         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
36710         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
36711
36712 2009-02-22  Bruno Haible  <bruno@clisp.org>
36713
36714         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
36715         zero-length results and shrink excess allocated memory.
36716         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
36717         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
36718         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
36719         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
36720         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
36721         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
36722         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
36723         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
36724         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
36725         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
36726         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
36727         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
36728
36729 2009-02-21  Bruno Haible  <bruno@clisp.org>
36730
36731         * doc/gnulib.texi: Include safe-alloc.texi earlier.
36732         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
36733         spaces after a period. Put a space between a macro name and its
36734         argument list. Trivial rewordings.
36735         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
36736         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
36737         (main): Return 0 explicitly.
36738
36739 2009-02-21  Bruno Haible  <bruno@clisp.org>
36740
36741         Tests for module 'uninorm/filter'.
36742         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
36743         * modules/uninorm/filter-tests: New file.
36744
36745         New module 'uninorm/filter'.
36746         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
36747         uninorm_filter_flush, uninorm_filter_free): New declarations.
36748         * lib/uninorm/uninorm-filter.c: New file.
36749         * modules/uninorm/filter: New file.
36750
36751 2009-02-21  Bruno Haible  <bruno@clisp.org>
36752
36753         Tests for module 'uninorm/nfkc'.
36754         * tests/uninorm/test-nfkc.c: New file.
36755         * tests/uninorm/test-u8-nfkc.c: New file.
36756         * tests/uninorm/test-u16-nfkc.c: New file.
36757         * tests/uninorm/test-u32-nfkc.c: New file.
36758         * tests/uninorm/test-u32-nfkc-big.sh: New file.
36759         * tests/uninorm/test-u32-nfkc-big.c: New file.
36760         * modules/uninorm/nfkc-tests: New file.
36761
36762         New module 'uninorm/nfkc'.
36763         * lib/uninorm/nfkc.c: New file.
36764         * modules/uninorm/nfkc: New file.
36765
36766         Tests for module 'uninorm/nfkd'.
36767         * tests/uninorm/test-nfkd.c: New file.
36768         * tests/uninorm/test-u8-nfkd.c: New file.
36769         * tests/uninorm/test-u16-nfkd.c: New file.
36770         * tests/uninorm/test-u32-nfkd.c: New file.
36771         * tests/uninorm/test-u32-nfkd-big.sh: New file.
36772         * tests/uninorm/test-u32-nfkd-big.c: New file.
36773         * modules/uninorm/nfkd-tests: New file.
36774
36775         New module 'uninorm/nfkd'.
36776         * lib/uninorm/nfkd.c: New file.
36777         * modules/uninorm/nfkd: New file.
36778
36779         Tests for module 'uninorm/nfc'.
36780         * tests/uninorm/test-nfc.c: New file.
36781         * tests/uninorm/test-u8-nfc.c: New file.
36782         * tests/uninorm/test-u16-nfc.c: New file.
36783         * tests/uninorm/test-u32-nfc.c: New file.
36784         * tests/uninorm/test-u32-nfc-big.sh: New file.
36785         * tests/uninorm/test-u32-nfc-big.c: New file.
36786         * modules/uninorm/nfc-tests: New file.
36787
36788         New module 'uninorm/nfc'.
36789         * lib/uninorm/nfc.c: New file.
36790         * modules/uninorm/nfc: New file.
36791
36792         Tests for module 'uninorm/nfd'.
36793         * tests/uninorm/test-nfd.c: New file.
36794         * tests/uninorm/test-u8-nfd.c: New file.
36795         * tests/uninorm/test-u16-nfd.c: New file.
36796         * tests/uninorm/test-u32-nfd.c: New file.
36797         * tests/uninorm/test-u32-nfd-big.sh: New file.
36798         * tests/uninorm/test-u32-nfd-big.c: New file.
36799         * tests/uninorm/test-u32-normalize-big.h: New file.
36800         * tests/uninorm/test-u32-normalize-big.c: New file.
36801         * tests/uninorm/NormalizationTest.txt: New file, created from
36802         Unicode 5.1.0 NormalizationTest.txt.
36803         * modules/uninorm/nfd-tests: New file.
36804
36805         New module 'uninorm/nfd'.
36806         * lib/uninorm/nfd.c: New file.
36807         * modules/uninorm/nfd: New file.
36808
36809         New module 'uninorm/u32-normalize'.
36810         * lib/uninorm/u32-normalize.c: New file.
36811         * modules/uninorm/u32-normalize: New file.
36812
36813         New module 'uninorm/u16-normalize'.
36814         * lib/uninorm/u16-normalize.c: New file.
36815         * modules/uninorm/u16-normalize: New file.
36816
36817         New module 'uninorm/u8-normalize'.
36818         * lib/uninorm/u8-normalize.c: New file.
36819         * lib/uninorm/normalize-internal.h: New file.
36820         * lib/uninorm/u-normalize-internal.h: New file.
36821         * modules/uninorm/u8-normalize: New file.
36822
36823         New module 'uninorm/decompose-internal'.
36824         * lib/uninorm/decompose-internal.c: New file.
36825         * modules/uninorm/decompose-internal: New file.
36826
36827         Tests for module 'uninorm/composition'.
36828         * tests/uninorm/test-composition.c: New file.
36829         * modules/uninorm/composition-tests: New file.
36830
36831         New module 'uninorm/composition'.
36832         * lib/uninorm/composition.c: New file.
36833         * lib/uninorm/composition-table.gperf: New file, generated by
36834         gen-uni-tables.
36835         * modules/uninorm/composition: New file.
36836
36837         Tests for module 'uninorm/compat-decomposition'.
36838         * tests/uninorm/test-compat-decomposition.c: New file.
36839         * modules/uninorm/compat-decomposition-tests: New file.
36840
36841         New module 'uninorm/compat-decomposition'.
36842         * lib/uninorm/decompose-internal.h: New file.
36843         * lib/uninorm/compat-decomposition.c: New file.
36844         * modules/uninorm/compat-decomposition: New file.
36845
36846         Tests for module 'uninorm/canonical-decomposition'.
36847         * tests/uninorm/test-canonical-decomposition.c: New file.
36848         * modules/uninorm/canonical-decomposition-tests: New file.
36849
36850         New module 'uninorm/canonical-decomposition'.
36851         * lib/uninorm/canonical-decomposition.c: New file.
36852         * modules/uninorm/canonical-decomposition: New file.
36853
36854         Tests for module 'uninorm/decomposition'.
36855         * tests/uninorm/test-decomposition.c: New file.
36856         * modules/uninorm/decomposition-tests: New file.
36857
36858         New module 'uninorm/decomposition'.
36859         * lib/uninorm/decomposition.c: New file.
36860         * modules/uninorm/decomposition: New file.
36861
36862         New module 'uninorm/decomposition-table'.
36863         * lib/uninorm/decomposition-table.h: New file.
36864         * lib/uninorm/decomposition-table.c: New file.
36865         * lib/uninorm/decomposition-table1.h: New file, generated by
36866         gen-uni-tables.
36867         * lib/uninorm/decomposition-table2.h: New file, generated by
36868         gen-uni-tables.
36869         * modules/uninorm/decomposition-table: New file.
36870
36871         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
36872         (UC_DECOMP_*): New enumeration items.
36873         (get_decomposition): New function.
36874         (struct decomp_table): New type.
36875         (output_decomposition, output_decomposition_tables): New functions.
36876         (unicode_composition_exclusions): New variable.
36877         (fill_composition_exclusions, debug_output_composition_tables): New
36878         functions.
36879         (main): Accept one more argument. Invoke fill_composition_exclusions.
36880         Output decomposition and composition tables.
36881
36882         New module 'uninorm/base'.
36883         * lib/uninorm.h: New file.
36884         * lib/unictype.h: Update comment.
36885         * modules/uninorm/base: New file.
36886
36887 2009-02-21  David Lutterkort  <lutter@redhat.com>
36888
36889         Tests for module 'safe-alloc'.
36890         * tests/test-safe-alloc.c: New file.
36891         * modules/safe-alloc-tests: New file.
36892
36893         New module 'safe-alloc'.
36894         * lib/safe-alloc.h: New file.
36895         * lib/safe-alloc.c: New file.
36896         * m4/safe-alloc.m4: New file.
36897         * modules/safe-alloc: New file.
36898         * doc/safe-alloc.texi: New file.
36899         * doc/gnulib.texi: Include it.
36900         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
36901         safe-alloc.
36902
36903 2009-02-18  Bruno Haible  <bruno@clisp.org>
36904
36905         Fix link error on non-glibc systems.
36906         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
36907         variable.
36908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36909
36910 2009-02-18  Jim Meyering  <meyering@redhat.com>
36911
36912         fts: avoid used-uninitialized error due to recent change
36913         * lib/fts.c (fts_read): Guard uses of the new member,
36914         parent->fts_n_dirs_remaining, since it's not relevant for
36915         the parent of a directory specified on the command-line.
36916
36917 2009-02-17  James Youngman  <jay@gnu.org>
36918             Bruno Haible  <bruno@clisp.org>
36919
36920         * m4/include_next.m4: Reformulate comment.
36921
36922 2009-02-16  Jim Meyering  <meyering@redhat.com>
36923
36924         fts: add #if guards so that the fts_lgpl module still builds
36925         * lib/fts.c: Guard just-added hash-table-using parts with
36926         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
36927         Reported by Simon Josefsson.
36928
36929 2009-02-15  Bruno Haible  <bruno@clisp.org>
36930
36931         * modules/array-mergesort-tests: New file.
36932         * tests/test-array-mergesort.c: New file.
36933
36934         New module 'array-mergesort'.
36935         * modules/array-mergesort: New file.
36936         * lib/array-mergesort.h: New file.
36937
36938 2009-02-15  Bruno Haible  <bruno@clisp.org>
36939
36940         Fix 2009-02-07 commit.
36941         * lib/gen-uni-tables.c (output_predicate, output_category,
36942         output_combclass, output_bidi_category, output_decimal_digit,
36943         output_digit, output_numeric, output_mirror, output_scripts,
36944         output_ident_category, output_simple_mapping): Fix format directives.
36945         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
36946
36947 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
36948
36949         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
36950         fixes are available from IBM.
36951
36952 2009-02-13  Jim Meyering  <meyering@redhat.com>
36953
36954         fts: arrange not to stat non-directories in more cases
36955         This makes GNU find (when it doesn't need to stat each file)
36956         *much* more efficient at traversing reiserfs file systems.
36957         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
36958         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
36959         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
36960         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
36961         (leaf_optimization_applies): New function.
36962         (LCO_hash, LCO_compare): New helper functions.
36963         (link_count_optimize_ok): New function.
36964         (fts_stat): Initialize new member (if dir).
36965         (fts_read): Decrement parent's fts_n_dirs_remaining count if
36966         we've just stat'ed a directory.  Skip the stat call when possible.
36967         ---
36968         Note this AFS-related exchange:
36969         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
36970         and note find's pioctl call in find/fstype.c.
36971         But that is necessary only if you want to enable the
36972         optimization for AFS, and for now, I don't.
36973
36974         fts: move a function definition "up" (no semantic change)
36975         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
36976         "up" to precede upcoming use of a related function.
36977
36978 2009-02-11  Jim Meyering  <meyering@redhat.com>
36979
36980         fts: correct internal computation of nlinks (optimization-related)
36981         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
36982         whether the current entry is a directory, so don't test it.
36983
36984 2009-02-10  Bruno Haible  <bruno@clisp.org>
36985
36986         Tests for module 'uniwbrk/ulc-wordbreaks'.
36987         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
36988         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
36989         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
36990
36991         Tests for module 'uniwbrk/u32-wordbreaks'.
36992         * modules/uniwbrk/u32-wordbreaks-tests: New file.
36993         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
36994
36995         Tests for module 'uniwbrk/u16-wordbreaks'.
36996         * modules/uniwbrk/u16-wordbreaks-tests: New file.
36997         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
36998
36999         Tests for module 'uniwbrk/u8-wordbreaks'.
37000         * modules/uniwbrk/u8-wordbreaks-tests: New file.
37001         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
37002
37003 2009-02-10  Bruno Haible  <bruno@clisp.org>
37004
37005         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
37006         property.
37007         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
37008         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
37009         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
37010
37011 2009-02-10  Simon Josefsson  <simon@josefsson.org>
37012
37013         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
37014         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
37015
37016 2009-02-10  Bruno Haible  <bruno@clisp.org>
37017
37018         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
37019         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
37020         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
37021         * lib/unilbrk/u8-possible-linebreaks.c: Update.
37022         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
37023         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
37024
37025 2009-02-09  Simon Josefsson  <simon@josefsson.org>
37026
37027         * lib/sockets.h (gl_fd_to_handle): New function.
37028
37029         * tests/test-sockets.c: Call gl_fd_to_handle.
37030
37031 2009-02-09  Bruno Haible  <bruno@clisp.org>
37032
37033         * doc/havelib.texi: Document the conventions on bi-arch systems.
37034
37035 2009-02-08  Bruno Haible  <bruno@clisp.org>
37036
37037         Document the AC_LIB_LINKFLAGS macro.
37038         * doc/havelib.texi: New file, mostly written on 2005-05-24.
37039         * doc/gnulib.texi: Include it.
37040
37041 2009-02-08  Bruno Haible  <bruno@clisp.org>
37042
37043         Fix wrong order of sections, compared to TOC.
37044         * doc/gnulib.texi: Include relocatable-maint.texi after the
37045         "Regular expressions" node, not before.
37046
37047 2009-02-08  Bruno Haible  <bruno@clisp.org>
37048
37049         Tests for module 'unicase/totitle'.
37050         * modules/unicase/totitle-tests: New file.
37051
37052         Tests for module 'unicase/tolower'.
37053         * modules/unicase/tolower-tests: New file.
37054
37055         Tests for module 'unicase/toupper'.
37056         * modules/unicase/toupper-tests: New file.
37057         * tests/unicase/test-mapping-part1.h: New file.
37058         * tests/unicase/test-mapping-part2.h: New file.
37059
37060         New module 'unicase/totitle'.
37061         * modules/unicase/totitle: New file.
37062         * lib/unicase/totitle.c: New file.
37063
37064         New module 'unicase/tolower'.
37065         * modules/unicase/tolower: New file.
37066         * lib/unicase/tolower.c: New file.
37067
37068         New module 'unicase/toupper'.
37069         * modules/unicase/toupper: New file.
37070         * lib/unicase/toupper.c: New file.
37071         * lib/unicase/simple-mapping.h: New file.
37072
37073         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
37074         (mapping_table): New structure.
37075         (output_simple_mapping): New function.
37076         (main): Invoke output_simple_mapping_test and output_simple_mapping.
37077         * modules/gen-uni-tables (Description): Update.
37078         * lib/unicase/toupper.h: New file, automatically generated by
37079         gen-uni-tables.
37080         * lib/unicase/tolower.h: New file, automatically generated by
37081         gen-uni-tables.
37082         * lib/unicase/totitle.h: New file, automatically generated by
37083         gen-uni-tables.
37084         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
37085         gen-uni-tables.
37086         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
37087         gen-uni-tables.
37088         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
37089         gen-uni-tables.
37090
37091         New module 'unicase/base'.
37092         * modules/unicase/base: New file.
37093         * lib/unicase.h: New file.
37094
37095 2009-02-08  Bruno Haible  <bruno@clisp.org>
37096
37097         New module 'uniwbrk/ulc-wordbreaks'.
37098         * modules/uniwbrk/ulc-wordbreaks: New file.
37099         * lib/uniwbrk/ulc-wordbreaks.c: New file.
37100
37101         New module 'uniwbrk/u32-wordbreaks'.
37102         * modules/uniwbrk/u32-wordbreaks: New file.
37103         * lib/uniwbrk/u32-wordbreaks.c: New file.
37104
37105         New module 'uniwbrk/u16-wordbreaks'.
37106         * modules/uniwbrk/u16-wordbreaks: New file.
37107         * lib/uniwbrk/u16-wordbreaks.c: New file.
37108
37109         New module 'uniwbrk/u8-wordbreaks'.
37110         * modules/uniwbrk/u8-wordbreaks: New file.
37111         * lib/uniwbrk/u8-wordbreaks.c: New file.
37112         * lib/uniwbrk/u-wordbreaks.h: New file.
37113
37114         New module 'uniwbrk/table'.
37115         * modules/uniwbrk/table: New file.
37116         * lib/uniwbrk/wbrktable.h: New file.
37117         * lib/uniwbrk/wbrktable.c: New file.
37118
37119         New module 'uniwbrk/wordbreak-property'.
37120         * modules/uniwbrk/wordbreak-property: New file.
37121         * lib/uniwbrk/wordbreak-property.c: New file.
37122
37123         * lib/gen-uni-tables.c (WBP_*): New enum items.
37124         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
37125         (unicode_org_wbp): New variable.
37126         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
37127         New functions.
37128         (wbp_table): New structure.
37129         (output_wbp, output_wbrk_tables): New functions.
37130         (main): Accept additional argument. Invoke fill_org_wbp,
37131         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
37132         output_wbrk_tables.
37133         * modules/gen-uni-tables (Description): Update.
37134         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
37135         gen-uni-tables.
37136
37137         New module 'uniwbrk/base'.
37138         * modules/uniwbrk/base: New file.
37139         * lib/uniwbrk.h: New file.
37140
37141 2009-02-08  Bruno Haible  <bruno@clisp.org>
37142
37143         Update to Unicode 5.1.0.
37144         * lib/gen-uni-tables.c (is_property_alphabetic): Include
37145         U+2185..U+2188.
37146         (is_property_default_ignorable_code_point): Don't include characters
37147         of category Cc or Cs and not-a-characters.
37148         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
37149         U+0D79, U+109E, U+109F, U+A60C.
37150         * lib/unictype/bidi_of.h: Regenerated.
37151         * lib/unictype/blocks.h: Regenerated.
37152         * lib/unictype/categ_C.h: Regenerated.
37153         * lib/unictype/categ_Cf.h: Regenerated.
37154         * lib/unictype/categ_Cn.h: Regenerated.
37155         * lib/unictype/categ_L.h: Regenerated.
37156         * lib/unictype/categ_Ll.h: Regenerated.
37157         * lib/unictype/categ_Lm.h: Regenerated.
37158         * lib/unictype/categ_Lo.h: Regenerated.
37159         * lib/unictype/categ_Lu.h: Regenerated.
37160         * lib/unictype/categ_M.h: Regenerated.
37161         * lib/unictype/categ_Mc.h: Regenerated.
37162         * lib/unictype/categ_Me.h: Regenerated.
37163         * lib/unictype/categ_Mn.h: Regenerated.
37164         * lib/unictype/categ_N.h: Regenerated.
37165         * lib/unictype/categ_Nd.h: Regenerated.
37166         * lib/unictype/categ_Nl.h: Regenerated.
37167         * lib/unictype/categ_No.h: Regenerated.
37168         * lib/unictype/categ_P.h: Regenerated.
37169         * lib/unictype/categ_Pd.h: Regenerated.
37170         * lib/unictype/categ_Pe.h: Regenerated.
37171         * lib/unictype/categ_Pf.h: Regenerated.
37172         * lib/unictype/categ_Pi.h: Regenerated.
37173         * lib/unictype/categ_Po.h: Regenerated.
37174         * lib/unictype/categ_Ps.h: Regenerated.
37175         * lib/unictype/categ_S.h: Regenerated.
37176         * lib/unictype/categ_Sk.h: Regenerated.
37177         * lib/unictype/categ_Sm.h: Regenerated.
37178         * lib/unictype/categ_So.h: Regenerated.
37179         * lib/unictype/categ_of.h: Regenerated.
37180         * lib/unictype/combining.h: Regenerated.
37181         * lib/unictype/ctype_alnum.h: Regenerated.
37182         * lib/unictype/ctype_alpha.h: Regenerated.
37183         * lib/unictype/ctype_graph.h: Regenerated.
37184         * lib/unictype/ctype_lower.h: Regenerated.
37185         * lib/unictype/ctype_print.h: Regenerated.
37186         * lib/unictype/ctype_punct.h: Regenerated.
37187         * lib/unictype/ctype_upper.h: Regenerated.
37188         * lib/unictype/decdigit.h: Regenerated.
37189         * lib/unictype/digit.h: Regenerated.
37190         * lib/unictype/mirror.h: Regenerated.
37191         * lib/unictype/numeric.h: Regenerated.
37192         * lib/unictype/pr_alphabetic.h: Regenerated.
37193         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
37194         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
37195         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
37196         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
37197         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
37198         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
37199         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
37200         * lib/unictype/pr_combining.h: Regenerated.
37201         * lib/unictype/pr_dash.h: Regenerated.
37202         * lib/unictype/pr_decimal_digit.h: Regenerated.
37203         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
37204         * lib/unictype/pr_deprecated.h: Regenerated.
37205         * lib/unictype/pr_diacritic.h: Regenerated.
37206         * lib/unictype/pr_extender.h: Regenerated.
37207         * lib/unictype/pr_format_control.h: Regenerated.
37208         * lib/unictype/pr_grapheme_base.h: Regenerated.
37209         * lib/unictype/pr_grapheme_extend.h: Regenerated.
37210         * lib/unictype/pr_grapheme_link.h: Regenerated.
37211         * lib/unictype/pr_id_continue.h: Regenerated.
37212         * lib/unictype/pr_id_start.h: Regenerated.
37213         * lib/unictype/pr_ideographic.h: Regenerated.
37214         * lib/unictype/pr_ignorable_control.h: Regenerated.
37215         * lib/unictype/pr_lowercase.h: Regenerated.
37216         * lib/unictype/pr_math.h: Regenerated.
37217         * lib/unictype/pr_numeric.h: Regenerated.
37218         * lib/unictype/pr_other_alphabetic.h: Regenerated.
37219         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
37220         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
37221         * lib/unictype/pr_other_id_continue.h: Regenerated.
37222         * lib/unictype/pr_other_lowercase.h: Regenerated.
37223         * lib/unictype/pr_other_math.h: Regenerated.
37224         * lib/unictype/pr_punctuation.h: Regenerated.
37225         * lib/unictype/pr_sentence_terminal.h: Regenerated.
37226         * lib/unictype/pr_soft_dotted.h: Regenerated.
37227         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
37228         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
37229         * lib/unictype/pr_unified_ideograph.h: Regenerated.
37230         * lib/unictype/pr_uppercase.h: Regenerated.
37231         * lib/unictype/pr_xid_continue.h: Regenerated.
37232         * lib/unictype/pr_xid_start.h: Regenerated.
37233         * lib/unictype/pr_zero_width.h: Regenerated.
37234         * lib/unictype/scripts.h: Regenerated.
37235         * lib/unictype/scripts_byname.gperf: Regenerated.
37236         * lib/unictype/sy_java_ident.h: Regenerated.
37237         * lib/unilbrk/lbrkprop1.h: Regenerated.
37238         * lib/unilbrk/lbrkprop2.h: Regenerated.
37239         * tests/unictype/test-categ_C.c: Regenerated.
37240         * tests/unictype/test-categ_Cf.c: Regenerated.
37241         * tests/unictype/test-categ_Cn.c: Regenerated.
37242         * tests/unictype/test-categ_L.c: Regenerated.
37243         * tests/unictype/test-categ_Ll.c: Regenerated.
37244         * tests/unictype/test-categ_Lm.c: Regenerated.
37245         * tests/unictype/test-categ_Lo.c: Regenerated.
37246         * tests/unictype/test-categ_Lu.c: Regenerated.
37247         * tests/unictype/test-categ_M.c: Regenerated.
37248         * tests/unictype/test-categ_Mc.c: Regenerated.
37249         * tests/unictype/test-categ_Me.c: Regenerated.
37250         * tests/unictype/test-categ_Mn.c: Regenerated.
37251         * tests/unictype/test-categ_N.c: Regenerated.
37252         * tests/unictype/test-categ_Nd.c: Regenerated.
37253         * tests/unictype/test-categ_Nl.c: Regenerated.
37254         * tests/unictype/test-categ_No.c: Regenerated.
37255         * tests/unictype/test-categ_P.c: Regenerated.
37256         * tests/unictype/test-categ_Pd.c: Regenerated.
37257         * tests/unictype/test-categ_Pe.c: Regenerated.
37258         * tests/unictype/test-categ_Pf.c: Regenerated.
37259         * tests/unictype/test-categ_Pi.c: Regenerated.
37260         * tests/unictype/test-categ_Po.c: Regenerated.
37261         * tests/unictype/test-categ_Ps.c: Regenerated.
37262         * tests/unictype/test-categ_S.c: Regenerated.
37263         * tests/unictype/test-categ_Sk.c: Regenerated.
37264         * tests/unictype/test-categ_Sm.c: Regenerated.
37265         * tests/unictype/test-categ_So.c: Regenerated.
37266         * tests/unictype/test-ctype_alnum.c: Regenerated.
37267         * tests/unictype/test-ctype_alpha.c: Regenerated.
37268         * tests/unictype/test-ctype_graph.c: Regenerated.
37269         * tests/unictype/test-ctype_lower.c: Regenerated.
37270         * tests/unictype/test-ctype_print.c: Regenerated.
37271         * tests/unictype/test-ctype_punct.c: Regenerated.
37272         * tests/unictype/test-ctype_upper.c: Regenerated.
37273         * tests/unictype/test-decdigit.h: Regenerated.
37274         * tests/unictype/test-digit.h: Regenerated.
37275         * tests/unictype/test-numeric.h: Regenerated.
37276         * tests/unictype/test-pr_alphabetic.c: Regenerated.
37277         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
37278         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
37279         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
37280         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
37281         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
37282         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
37283         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
37284         * tests/unictype/test-pr_combining.c: Regenerated.
37285         * tests/unictype/test-pr_dash.c: Regenerated.
37286         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
37287         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
37288         * tests/unictype/test-pr_deprecated.c: Regenerated.
37289         * tests/unictype/test-pr_diacritic.c: Regenerated.
37290         * tests/unictype/test-pr_extender.c: Regenerated.
37291         * tests/unictype/test-pr_format_control.c: Regenerated.
37292         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
37293         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
37294         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
37295         * tests/unictype/test-pr_id_continue.c: Regenerated.
37296         * tests/unictype/test-pr_id_start.c: Regenerated.
37297         * tests/unictype/test-pr_ideographic.c: Regenerated.
37298         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
37299         * tests/unictype/test-pr_lowercase.c: Regenerated.
37300         * tests/unictype/test-pr_math.c: Regenerated.
37301         * tests/unictype/test-pr_numeric.c: Regenerated.
37302         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
37303         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
37304         Regenerated.
37305         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
37306         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
37307         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
37308         * tests/unictype/test-pr_other_math.c: Regenerated.
37309         * tests/unictype/test-pr_punctuation.c: Regenerated.
37310         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
37311         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
37312         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
37313         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
37314         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
37315         * tests/unictype/test-pr_uppercase.c: Regenerated.
37316         * tests/unictype/test-pr_xid_continue.c: Regenerated.
37317         * tests/unictype/test-pr_xid_start.c: Regenerated.
37318         * tests/unictype/test-pr_zero_width.c: Regenerated.
37319
37320         Update to Unicode 5.1.0.
37321         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
37322         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
37323         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
37324         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
37325         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
37326         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
37327         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
37328         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
37329         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
37330         (nonspacing_table_ind): Update.
37331         * tests/uniwidth/test-uc_width2.sh: Update expected result.
37332
37333         Update to Unicode 5.1.0.
37334         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
37335         code transform.
37336         * lib/uniname/uniname.c (unicode_character_name,
37337         unicode_name_character): Add the range 0x1Fxxx to the code transform.
37338         * lib/uniname/uninames.h: Regenerated.
37339         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
37340
37341 2009-02-07  Bruno Haible  <bruno@clisp.org>
37342
37343         Merge gen-ctype and gen-lbrk into a single program.
37344         * lib/gen-uni-tables.c: New file, incorporating
37345         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
37346         Add directory prefixes to the names of the generated files.
37347         * lib/unictype/gen-ctype.c: Remove file.
37348         * lib/unilbrk/gen-lbrk.c: Remove file.
37349         * modules/gen-uni-tables: New file.
37350         * modules/unictype/gen-ctype: Remove file.
37351         * modules/unilbrk/gen-lbrk: Remove file.
37352
37353 2009-02-07  Bruno Haible  <bruno@clisp.org>
37354
37355         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
37356
37357         New module 'unistr/u32-strcoll'.
37358         * modules/unistr/u32-strcoll: New file.
37359         * lib/unistr/u32-strcoll.c: New file.
37360
37361         New module 'unistr/u16-strcoll'.
37362         * modules/unistr/u16-strcoll: New file.
37363         * lib/unistr/u16-strcoll.c: New file.
37364
37365         New module 'unistr/u8-strcoll'.
37366         * modules/unistr/u8-strcoll: New file.
37367         * lib/unistr/u8-strcoll.c: New file.
37368         * lib/unistr/u-strcoll.h: New file.
37369
37370 2009-02-07  Bruno Haible  <bruno@clisp.org>
37371
37372         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
37373         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
37374         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
37375         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
37376         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
37377         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
37378
37379 2009-02-07  Bruno Haible  <bruno@clisp.org>
37380
37381         Make 64-bit clean.
37382         * lib/unictype/gen-ctype.c (output_predicate, output_category,
37383         output_combclass, output_bidi_category, output_decimal_digit,
37384         output_digit, output_numeric, output_mirror, output_scripts,
37385         output_ident_category): Use proper width specifier in format strings.
37386
37387 2009-02-07  Bruno Haible  <bruno@clisp.org>
37388
37389         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
37390         failure behaviour.
37391
37392 2009-02-07  Jim Meyering  <meyering@redhat.com>
37393
37394         regex: avoid compilation failure with upcoming gcc-4.4
37395         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
37396         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
37397         "... error: integer overflow in preprocessor expression".
37398
37399 2009-02-05  Ben Pfaff  <blp@gnu.org>
37400
37401         Fix link errors on Windows when close module is used.
37402         * modules/close: Add $(LIB_CLOSE) to Link section.
37403         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
37404         $(LIB_CLOSE) on Windows.
37405
37406 2009-02-05  Jim Meyering  <meyering@redhat.com>
37407
37408         still avoid unused-parameter warnings, but do it cleanly
37409         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
37410         (get_fs_usage): Cast to void instead.
37411         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
37412         (dev_from_mount_options, read_file_system_list): Cast to void.
37413         Prompted by Bruno Haible.
37414
37415 2009-02-04  Jim Meyering  <meyering@redhat.com>
37416
37417         fsusage.c: correct copyright year
37418         * lib/fsusage.c: Reflect year in which the change is pushed into
37419
37420         avoid misc. warnings
37421         * lib/fsusage.c (UNUSED_PARAM): Define.
37422         (get_fs_usage): Mark parameter "disk" as unused.
37423         * lib/getugroups.c (getgrent): Use "void" in prototype.
37424         * lib/mountlist.c: Mark unused parameters.
37425         (read_file_system_list): Declare a local with "const".
37426         * lib/nanosleep.c (getnow): Declare static.
37427         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
37428
37429         dirfd: set errno upon failure
37430         * lib/dirfd.c: Include <errno.h>.
37431         Set errno to ENOTSUP when returning -1.
37432         * modules/dirfd (Depends-on): Add errno.
37433         Suggested by John Kodis <kodis@comcast.net>.
37434
37435 2009-02-01  Bruno Haible  <bruno@clisp.org>
37436
37437         Don't assume sizeof (long) >= sizeof (void *).
37438         * lib/memcmp.c: Include stdint.h.
37439         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
37440         srcp2 to 'const byte *'.
37441         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
37442         types to uintptr_t.
37443         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
37444         * modules/memcmp (Depends-on): Add stdint.
37445         Reported by Ozkan Sezer <sezeroz@gmail.com>.
37446
37447 2009-01-30  Eric Blake  <ebb9@byu.net>
37448
37449         fix more require-before-expand issues
37450         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
37451         expand, AC_PROG_AWK.
37452         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
37453
37454 2009-01-28  Eric Blake  <ebb9@byu.net>
37455
37456         version-etc: use consistent URL formatting
37457         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
37458         Improve formatting.  Use fputs for string without %.
37459
37460 2009-01-28  Jim Meyering  <meyering@redhat.com>
37461
37462         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
37463         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
37464         "underquoted definition of NAME" from autoconf-2.59.
37465
37466 2009-01-28  Bruno Haible  <bruno@clisp.org>
37467
37468         * doc/gnulib.texi: Add "Obsolete modules" to index.
37469
37470 2009-01-28  Jim Meyering  <meyering@redhat.com>
37471
37472         useless-if-before-free: recognize more variants
37473         * build-aux/useless-if-before-free: Also recognize e.g.,
37474         if (NULL != p) free (p);
37475
37476 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
37477
37478         test-getaddrinfo: skip (don't fail) this test when there's no network
37479         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
37480         on the presumption that it means you lack network access.
37481
37482 2009-01-26  Jim Meyering  <meyering@redhat.com>
37483
37484         fflush: avoid warnings on modern systems
37485         * lib/fflush.c (rpl_fflush): Move declarations of locals,
37486         pos and result, into scopes where they're used.
37487
37488 2009-01-26  Eric Blake  <ebb9@byu.net>
37489
37490         Silence warning reintroduced by recent extensions patch.
37491         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
37492         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
37493         autoconf.
37494
37495         Backport improved autoconf semantics of AC_DEFUN_ONCE.
37496         * m4/00gnulib.m4: New file.
37497         * gnulib-tool (func_get_filelist): Always use it.
37498         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
37499         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
37500
37501 2009-01-25  Bruno Haible  <bruno@clisp.org>
37502
37503         Make test-quotearg work on MacOS X and AIX.
37504         * tests/test-quotearg.sh: New file.
37505         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
37506         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
37507         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
37508         include <libintl.h>.
37509         (fake_locale): Remove variable.
37510         (gettext, dgettext, dcgettext): Remove functions.
37511         (main): Instead of setting a fake locale, set a real locale. Call
37512         textdomain and bindtextdomain.
37513         * modules/quotearg-tests (Files): Add the new files.
37514         (Depends-on): Add gettext, setenv, unsetenv.
37515         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37516         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
37517         Augment TESTS_ENVIRONMENT.
37518
37519 2009-01-25  Bruno Haible  <bruno@clisp.org>
37520
37521         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
37522         fr_FR.ISO8859-1 locale on MacOS X.
37523         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
37524         ja_JP.eucJP locale on MacOS X.
37525         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
37526         zh_CN.GB18030 locale on MacOS X.
37527
37528 2009-01-25  Bruno Haible  <bruno@clisp.org>
37529
37530         Avoid link errors on MacOS X 10.3.
37531         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
37532         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
37533
37534 2009-01-25  Bruno Haible  <bruno@clisp.org>
37535
37536         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37537         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
37538         * modules/pipe (Files): Remove m4/posix_spawn.m4.
37539         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37540         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
37541         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37542         posix_spawnattr_init, posix_spawnattr_setsigmask,
37543         posix_spawnattr_setflags, posix_spawnattr_destroy.
37544
37545         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37546         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
37547         * modules/execute (Files): Remove m4/posix_spawn.m4.
37548         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37549         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37550         posix_spawnattr_init, posix_spawnattr_setsigmask,
37551         posix_spawnattr_setflags, posix_spawnattr_destroy.
37552
37553 2009-01-25  Bruno Haible  <bruno@clisp.org>
37554
37555         * lib/glthread/threadlib.c: Include <stdlib.h>.
37556
37557 2009-01-25  Bruno Haible  <bruno@clisp.org>
37558
37559         * lib/glthread/threadlib.c (dummy): New declaration.
37560
37561 2009-01-25  Bruno Haible  <bruno@clisp.org>
37562
37563         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
37564         multibyte characters also for the GB18030 encoding. Don't crash when
37565         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
37566
37567 2009-01-25  Bruno Haible  <bruno@clisp.org>
37568
37569         Avoid redefining 'struct random_data' on OSF/1 5.1.
37570         * lib/stdlib.in.h: Include <random.h> if it exists.
37571         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
37572         HAVE_RANDOM_H. Include <random.h> when testing whether
37573         'struct random_data' exists.
37574         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
37575
37576 2009-01-25  Bruno Haible  <bruno@clisp.org>
37577
37578         Don't install charset.alias on MacOS X >= 10.3.
37579         * lib/localcharset.c (DARWIN7): New macro.
37580         (get_charset_aliases): Hardcode the result for Darwin7.
37581         * modules/localcharset (install-exec-local): Don't install
37582         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
37583
37584 2009-01-25  Bruno Haible  <bruno@clisp.org>
37585
37586         Don't install charset.alias on mingw and Cygwin.
37587         * modules/localcharset (install-exec-local): Don't install
37588         charset.alias on mingw and Cygwin, if the file does not yet exist.
37589         The result for these platforms is hardcoded in localcharset.c.
37590
37591 2009-01-25  Bruno Haible  <bruno@clisp.org>
37592
37593         Make it possible again to use AC_GNU_SOURCE together with gnulib.
37594         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
37595         before requiring AC_USE_SYSTEM_EXTENSIONS.
37596
37597 2009-01-25  Jim Meyering  <meyering@redhat.com>
37598
37599         c-strtod: avoid warnings
37600         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
37601         "assignment discards qualifiers from pointer target type" warnings.
37602
37603 2009-01-24  Bruno Haible  <bruno@clisp.org>
37604
37605         Add support for non-UTF-8 locales on MacOS X.
37606         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
37607         canonical encodings. For Darwin 7 and newer, don't map traditional
37608         encodings to UTF-8.
37609         Reported by Vincent Lefevre <vincent@vinc17.org>
37610         at <http://savannah.gnu.org/bugs/?25235>.
37611
37612 2009-01-24  Bruno Haible  <bruno@clisp.org>
37613
37614         * doc/gnulib.texi (Obsolete modules): New section.
37615         Reported by Mike Frysinger <vapier@gentoo.org>.
37616
37617 2009-01-24  Bruno Haible  <bruno@clisp.org>
37618
37619         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
37620         (%.dvi): New rule.
37621
37622 2009-01-24  Bruno Haible  <bruno@clisp.org>
37623
37624         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
37625         Reported by Eric Blake.
37626
37627 2009-01-24  Bruno Haible  <bruno@clisp.org>
37628
37629         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
37630         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
37631         Reported by Gary V. Vaughan <gary@gnu.org>.
37632
37633 2009-01-24  Bruno Haible  <bruno@clisp.org>
37634
37635         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
37636
37637 2009-01-23  Bruno Haible  <bruno@clisp.org>
37638
37639         Make c-strtod, c-strtold usable in libraries.
37640         * lib/c-strtod.c: Include string.h instead of xalloc.h.
37641         (C_STRTOD): Call strdup instead of xstrdup.
37642         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
37643         * modules/c-strtold (Depends-on): Likewise.
37644         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
37645         * NEWS: Mention the change.
37646         Reported by Michael Gold <mgold@ncf.ca>.
37647
37648 2009-01-23  Jim Meyering  <meyering@redhat.com>
37649
37650         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
37651         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
37652         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
37653
37654 2009-01-23  Simon Josefsson  <simon@josefsson.org>
37655
37656         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
37657         GNU CoreUtils.
37658         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
37659         * modules/version-etc (Description): Update.
37660
37661 2009-01-22  Bruno Haible  <bruno@clisp.org>
37662
37663         Cache the C locale object.
37664         * lib/c-strtod.c (c_locale_cache): New variable.
37665         (c_locale): New function.
37666         (C_STRTOD): Use it, and don't call freelocale.
37667         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
37668         Suggested by Paolo Bonzini.
37669
37670 2009-01-21  Bruno Haible  <bruno@clisp.org>
37671
37672         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
37673         conditions other than overflow.
37674
37675 2009-01-21  Bruno Haible  <bruno@clisp.org>
37676
37677         * lib/c-strtod.c: Include errno.h.
37678         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
37679         value from STRTOD_L and STRTOD.
37680
37681 2009-01-21  Bruno Haible  <bruno@clisp.org>
37682         and Jim Meyering  <meyering@redhat.com>
37683
37684         nanosleep: skip configure test (fail it) for apple universal builds
37685         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
37686         universal builds, assume that nanosleep does not work.
37687         * modules/nanosleep (Depends-on): Add multiarch.
37688
37689         mktime: skip configure test (fail it) for apple universal builds
37690         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
37691         universal builds, assume that mktime does not work.
37692         * modules/mktime (Depends-on): Add multiarch.
37693
37694 2009-01-21  Eric Blake  <ebb9@byu.net>
37695
37696         multiarch: avoid expand-before-require warning
37697         * modules/multiarch (configure.ac): Require, rather than expand,
37698         gl_MULTIARCH.
37699         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
37700         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
37701         enforce that all clients require it.  Partial reversion of
37702         2008-12-29 patch.
37703
37704         error: avoid expand-before-require warning
37705         * modules/errno (configure.ac): Require, rather than expand,
37706         gl_HEADER_ERRNO_H.
37707         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
37708         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
37709         enforce that all clients require it.
37710
37711         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
37712         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
37713         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
37714         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
37715
37716 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
37717
37718         Revert:
37719         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37720
37721         regex: do not depend on obsolete modules.
37722         * modules/regex: Remove memcmp and memmove.
37723
37724 2009-01-20  Bruno Haible  <bruno@clisp.org>
37725
37726         Make the 'link' module link on Windows NT 4.
37727         * lib/link.c (_WIN32_WINNT): Don't define.
37728         (CreateHardLinkFuncType): New type.
37729         (CreateHardLinkFunc, initialized): New variables.
37730         (initialize): New function.
37731         (link): Invoke CreateHardLink indirectly through the function pointer.
37732
37733 2009-01-20  Bruno Haible  <bruno@clisp.org>
37734
37735         Fix compilation failure on mingw.
37736         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
37737
37738 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
37739
37740         * doc/c-strtod.texi: Mention a couple of restrictions.
37741
37742 2009-01-20  Jim Meyering  <meyering@redhat.com>
37743
37744         gettimeofday: move more declarations out of functions
37745         * lib/gettimeofday.c: Move extern declarations of tzset and
37746         gmtime out of containing functions.  Prompted by Bruno Haible.
37747
37748 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37749
37750         regex: do not depend on obsolete modules.
37751         * modules/regex: Remove memcmp and memmove.
37752
37753 2009-01-19  Bruno Haible  <bruno@clisp.org>
37754
37755         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37756         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
37757         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37758         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
37759         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
37760
37761 2009-01-19  Bruno Haible  <bruno@clisp.org>
37762
37763         * tests/test-link.c: Include <errno.h>.
37764         (main): Exit with code 77 when a hard link cannot be created due to
37765         the file system.
37766         * tests/test-link.sh: Skip test when a hard link cannot be created due
37767         to the file system.
37768         Suggested by Eric Blake.
37769
37770 2009-01-19  Martin Lambers  <marlam@marlam.de>
37771
37772         * modules/link-tests: New file.
37773         * tests/test-link.sh: New file.
37774         * tests/test-link.c: New file.
37775
37776 2009-01-19  Eric Blake  <ebb9@byu.net>
37777
37778         doc: mention another function added in cygwin 1.7.0
37779         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
37780         Another new function in cygwin 1.7.
37781
37782 2009-01-19  Bruno Haible  <bruno@clisp.org>
37783
37784         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37785         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
37786         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
37787         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37788         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37789         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
37790         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
37791         * m4/md4.m4 (gl_MD4): Likewise.
37792         * m4/md5.m4 (gl_MD5): Likewise.
37793         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
37794         * m4/sha1.m4 (gl_SHA1): Likewise.
37795         * m4/sha256.m4 (gl_SHA256): Likewise.
37796         * m4/sha512.m4 (gl_SHA512): Likewise.
37797
37798 2009-01-19  Bruno Haible  <bruno@clisp.org>
37799
37800         * modules/uniname/uniname-tests (Depends-on): Add progname.
37801         * tests/uniname/test-uninames.c: Include progname.h.
37802         (main): Call set_program_name.
37803
37804         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
37805         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
37806         (main): Call set_program_name.
37807
37808         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
37809         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
37810         (main): Call set_program_name.
37811
37812         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
37813         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
37814         (main): Call set_program_name.
37815
37816         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
37817         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
37818         (main): Call set_program_name.
37819
37820         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
37821         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
37822         (main): Call set_program_name.
37823
37824         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
37825         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
37826         (main): Call set_program_name.
37827
37828         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
37829         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
37830         (main): Call set_program_name.
37831
37832         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
37833         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
37834         (main): Call set_program_name.
37835
37836 2009-01-19  Eric Blake  <ebb9@byu.net>
37837
37838         test-unistd: test previous patch
37839         * tests/test-unistd.c: Test *_FILENO macros.
37840
37841         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
37842         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37843         Guarantee a definition.
37844         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
37845         * modules/unistd-safer (Depends-on): Add dependency on unistd.
37846         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
37847         * lib/dup-safer.c (STDERR_FILENO): Likewise.
37848         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37849         Likewise.
37850         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
37851         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
37852         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37853         Likewise.
37854         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
37855         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
37856         (STDERR_FILENO): Likewise.
37857         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
37858         (STDERR_FILENO): Likewise.
37859         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
37860         (STDERR_FILENO): Likewise.
37861         Reported by Elbert Pol.
37862
37863 2009-01-19  Eric Blake  <ebb9@byu.net>
37864
37865         doc: mention more functions added in cygwin 1.7.0
37866         * doc/posix-functions/abort.texi (abort): Update wording related
37867         to cygwin.
37868         * doc/posix-functions/daylight.texi (daylight): Likewise.
37869         * doc/posix-functions/optarg.texi (optarg): Likewise.
37870         * doc/posix-functions/optarg.texi (opterr): Likewise.
37871         * doc/posix-functions/optarg.texi (optind): Likewise.
37872         * doc/posix-functions/optarg.texi (optopt): Likewise.
37873         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
37874         worked in 1.5.x, and was withdrawn in 1.7.
37875         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37876         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
37877         cygwin versions.
37878         * doc/posix-functions/perror.texi (perror): Likewise.
37879         * doc/posix-functions/printf.texi (printf): Likewise.
37880         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
37881         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
37882         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37883         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37884         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
37885         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
37886         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37887         Likewise.
37888         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37889         Likewise.
37890         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
37891         this function.
37892         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
37893         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
37894         Likewise.
37895         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
37896         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
37897         * doc/posix-functions/confstr.texi (confstr): Likewise.
37898         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
37899         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
37900         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
37901         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
37902         * doc/posix-functions/fputws.texi (fputws): Likewise.
37903         * doc/posix-functions/fwide.texi (fwide): Likewise.
37904         * doc/posix-functions/getwc.texi (getwc): Likewise.
37905         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
37906         * doc/posix-functions/putwc.texi (putwc): Likewise.
37907         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37908         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
37909         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
37910         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37911         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
37912         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
37913         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
37914         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
37915         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
37916         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
37917         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
37918
37919 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37920
37921         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
37922         * lib/ioctl.c: Include <sys/ioctl.h>.
37923
37924 2009-01-19  Simon Josefsson  <simon@josefsson.org>
37925
37926         * modules/getdate-tests (Depends-on): Add progname.
37927         * tests/test-getdate.c: Use progname module, to avoid link errors
37928         on non-glibc systems.
37929
37930 2009-01-18  Simon Josefsson  <simon@josefsson.org>
37931
37932         * modules/filenamecat-tests (Depends-on): Add progname.
37933         * modules/fstrcmp-tests (Depends-on): Likewise.
37934
37935         * tests/test-filenamecat.c: Use progname module, to avoid link
37936         errors on non-glibc systems.
37937         * tests/test-fstrcmp.c: Likewise.
37938
37939 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37940
37941         gettimeofday: avoid warning: nested extern declaration of 'localtime'
37942         * lib/gettimeofday.c: Move extern declaration out of function.
37943
37944 2009-01-18  Bruno Haible  <bruno@clisp.org>
37945
37946         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
37947         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
37948         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
37949
37950 2009-01-18  Bruno Haible  <bruno@clisp.org>
37951
37952         * lib/strftime.c (MEMPCPY): Remove unused macro.
37953         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
37954
37955 2009-01-18  Martin Lambers  <marlam@marlam.de>
37956
37957         New module 'link'.
37958         * lib/unistd.in.h (link): New declaration.
37959         * lib/link.c: New file.
37960         * m4/link.m4: New file.
37961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
37962         HAVE_LINK.
37963         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
37964         * modules/link: New file.
37965         * doc/posix-functions/link.texi: Mention the new module.
37966
37967 2009-01-18  Bruno Haible  <bruno@clisp.org>
37968
37969         * tests/test-avltree_list.c (main): Call set_program_name.
37970         * tests/test-avltree_oset.c (main): Likewise.
37971         * tests/test-obstack-printf.c: Include progname.h.
37972         (main): Call set_program_name.
37973         * tests/test-quotearg.c: Include progname.h.
37974         (main): Call set_program_name.
37975         * tests/test-xmemdup0.c: Include progname.h.
37976         (main): Call set_program_name.
37977
37978 2009-01-18  Bruno Haible  <bruno@clisp.org>
37979
37980         New module 'alphasort'.
37981         * lib/dirent.in.h (alphasort): New declaration.
37982         * lib/alphasort.c: New file, from glibc with modifications.
37983         * m4/alphasort.m4: New file.
37984         * modules/alphasort: New file.
37985         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
37986         HAVE_ALPHASORT.
37987         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
37988         HAVE_ALPHASORT.
37989         * doc/posix-functions/alphasort.texi: Mention the new module and the
37990         portability problems.
37991
37992 2009-01-18  Bruno Haible  <bruno@clisp.org>
37993
37994         New module 'scandir'.
37995         * lib/dirent.in.h (scandir): New declaration.
37996         * lib/scandir.c: New file, from glibc with modifications.
37997         * m4/scandir.m4: New file.
37998         * modules/scandir: New file.
37999         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
38000         HAVE_SCANDIR.
38001         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
38002         HAVE_SCANDIR.
38003         * doc/posix-functions/scandir.texi: Mention the new module and the
38004         portability problems.
38005
38006 2009-01-17  Bruno Haible  <bruno@clisp.org>
38007
38008         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
38009         Update documentation.
38010         (func_remove_suffix): Escape all dots in the suffix. Update
38011         documentation.
38012         (func_filter_filelist): Update documentation.
38013         Reported by Ralf Wildenhues.
38014
38015 2009-01-17  Bruno Haible  <bruno@clisp.org>
38016
38017         * modules/dprintf-posix-tests: New file.
38018         * tests/test-dprintf-posix.sh: New file.
38019         * tests/test-dprintf-posix.c: New file.
38020
38021         New modules 'dprintf', 'dprintf-posix'.
38022         * lib/stdio.in.h (dprintf): New declaration.
38023         * lib/dprintf.c: New file.
38024         * m4/dprintf.m4: New file.
38025         * m4/dprintf-posix.m4: New file.
38026         * modules/dprintf: New file.
38027         * modules/dprintf-posix: New file.
38028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
38029         HAVE_DPRINTF, REPLACE_DPRINTF.
38030         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
38031         HAVE_DPRINTF, REPLACE_DPRINTF.
38032         * doc/posix-functions/dprintf.texi: Mention the new modules.
38033
38034 2009-01-17  Bruno Haible  <bruno@clisp.org>
38035
38036         * modules/vdprintf-posix-tests: New file.
38037         * tests/test-vdprintf-posix.sh: New file.
38038         * tests/test-vdprintf-posix.c: New file.
38039
38040         New modules 'vdprintf', 'vdprintf-posix'.
38041         * lib/stdio.in.h (vdprintf): New declaration.
38042         * lib/vdprintf.c: New file.
38043         * m4/vdprintf.m4: New file.
38044         * m4/vdprintf-posix.m4: New file.
38045         * modules/vdprintf: New file.
38046         * modules/vdprintf-posix: New file.
38047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
38048         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38049         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
38050         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38051         * doc/posix-functions/vdprintf.texi: Mention the new modules.
38052
38053 2009-01-17  Bruno Haible  <bruno@clisp.org>
38054
38055         Fix replacement of fopen on mingw.
38056         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
38057         mingw.
38058
38059 2009-01-17  Bruno Haible  <bruno@clisp.org>
38060
38061         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
38062         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
38063
38064 2009-01-17  Bruno Haible  <bruno@clisp.org>
38065
38066         Avoid test-fflush2.sh failure on mingw.
38067         * tests/test-fflush2.c: Include binary-io.h.
38068         (main): Put standard input into binary mode.
38069         * modules/fflush-tests (Depends-on): Add binary-io.
38070
38071 2009-01-17  Bruno Haible  <bruno@clisp.org>
38072
38073         * lib/wchar.in.h: In another particular situation, include only the
38074         system's <wchar.h> file.
38075         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
38076         Reported by Albert Chin-A-Young <china@thewrittenword.com>
38077         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
38078
38079 2009-01-17  Bruno Haible  <bruno@clisp.org>
38080
38081         Support for stripping executables in --enable-relocatable.
38082         * build-aux/install-reloc: Expect one more argument, or an environment
38083         variable RELOC_STRIP_PROG. If set, strip the destination program and
38084         its wrapper.
38085         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
38086         RELOC_STRIP_PROG.
38087         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
38088         to set RELOCATABLE_STRIP.
38089         * NEWS: Mention the new Makefile requirement.
38090
38091 2009-01-17  Bruno Haible  <bruno@clisp.org>
38092
38093         * build-aux/install-reloc: Remove debugging information left over by
38094         C compiler on MacOS X.
38095
38096 2009-01-17  Bruno Haible  <bruno@clisp.org>
38097
38098         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
38099         * lib/progreloc.c (find_executable): Fix type of pointer passed to
38100         _NSGetExecutablePath.
38101
38102 2009-01-16  Jim Meyering  <meyering@redhat.com>
38103
38104         strerror: avoid warnings about discarding "const"
38105         * lib/strerror.c (rpl_strerror): Instead of returning a const
38106         string from each and every "case", use a variable, and add a single
38107         cast after the switch.
38108
38109 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
38110
38111         * lib/arpa_inet.in.h: Add extern "C" block for C++.
38112
38113 2009-01-16  Bruno Haible  <bruno@clisp.org>
38114
38115         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
38116         array initializer syntax that also works in C++ mode.
38117         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38118
38119 2009-01-16  Jim Meyering  <meyering@redhat.com>
38120
38121         poll: suppress a warning
38122         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
38123         to ignore "...unsigned expression < 0 is always false" warnings.
38124
38125 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
38126
38127         poll: remove declarations of unused variables
38128         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
38129         sockbuf and optlen.
38130
38131 2009-01-15  Bruno Haible  <bruno@clisp.org>
38132
38133         Make fflush-after-ungetc POSIX compliant on BSD systems.
38134         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
38135         (clear_ungetc_buffer): Implement also for other systems.
38136         (rpl_fflush): On glibc systems, invoke
38137         clear_ungetc_buffer_preserving_position. Otherwise, invoke
38138         clear_ungetc_buffer after fetching the stream's position, not before.
38139
38140 2009-01-15  Bruno Haible  <bruno@clisp.org>
38141
38142         Make fflush-after-ungetc POSIX compliant on glibc systems.
38143         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
38144         after ungetc.
38145         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
38146         (rpl_fflush): On glibc systems, simply call the system's fflush
38147         function after clearing the ungetc buffer.
38148         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
38149         Instead, lseek only to the end of file, then use the system's fseeko
38150         for the rest. On glibc systems, reset the EOF indicator bit.
38151
38152 2009-01-15  Jim Meyering  <meyering@redhat.com>
38153
38154         openmp.m4: revert quote-adding change, for portability to older autoconf
38155         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
38156         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
38157         Simon Josefsson noticed the problem when using autoconf-2.61.
38158
38159 2009-01-15  Bruno Haible  <bruno@clisp.org>
38160
38161         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
38162         * tests/test-fflush2.c (ASSERT): Always fail.
38163         (main): Add two tests for fflush() after ungetc(), taking into account
38164         the Austin Group's clarification.
38165         Suggested by Eric Blake.
38166
38167 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
38168
38169         mktime.m4: remove K&R-style function prototypes
38170         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
38171         for the Sun C++ compiler.
38172
38173 2009-01-14  Bruno Haible  <bruno@clisp.org>
38174
38175         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
38176         while including <wchar.h>.
38177         * lib/wchar.in.h: In two particular situations on HP-UX, include only
38178         the system's <wchar.h> file.
38179         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38180
38181 2009-01-14  Bruno Haible  <bruno@clisp.org>
38182
38183         * m4/csharp.m4: Don't mention gettext on the serial number line.
38184         * m4/csharpexec.m4: Likewise.
38185         * m4/eaccess.m4: Likewise.
38186         * m4/javaexec.m4: Likewise.
38187         * m4/sig_atomic_t.m4: Likewise.
38188         * m4/tmpdir.m4: Likewise.
38189         * m4/intldir.m4: Bump gettext version.
38190         * m4/lib-ld.m4: Likewise.
38191
38192 2009-01-14  Bruno Haible  <bruno@clisp.org>
38193
38194         * lib/progname.c (set_program_name): Add more comments.
38195         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38196
38197 2009-01-14  Simon Josefsson  <simon@josefsson.org>
38198
38199         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
38200         were sys/stat.h does not define it.
38201
38202 2009-01-14  Jim Meyering  <meyering@redhat.com>
38203
38204         many *.m4 files: improve m4 quoting
38205         99% of this change was performed by running the following commands:
38206         git ls-files | grep '\.m4$' | xargs perl -pi \
38207           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
38208           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
38209           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
38210           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
38211         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
38212         The remainder were to add Copyright dates, increment serial numbers,
38213         undo some changes in comments, exclude m4/intl.m4, and add quotes
38214         around the "1" in ",1" where the unusual spacing prohibited the
38215         above regexps from doing the job.  For more details, see
38216         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
38217         * m4/acl.m4: Modified.
38218         * m4/afs.m4: Likewise.
38219         * m4/alloca.m4: Likewise.
38220         * m4/argp.m4: Likewise.
38221         * m4/argz.m4: Likewise.
38222         * m4/atexit.m4: Likewise.
38223         * m4/bison-i18n.m4: Likewise.
38224         * m4/bison.m4: Likewise.
38225         * m4/byteswap.m4: Likewise.
38226         * m4/c-stack.m4: Likewise.
38227         * m4/c-strtod.m4: Likewise.
38228         * m4/calloc.m4: Likewise.
38229         * m4/canonicalize-lgpl.m4: Likewise.
38230         * m4/chown.m4: Likewise.
38231         * m4/clock_time.m4: Likewise.
38232         * m4/codeset.m4: Likewise.
38233         * m4/copy-file.m4: Likewise.
38234         * m4/csharp.m4: Likewise.
38235         * m4/csharpcomp.m4: Likewise.
38236         * m4/csharpexec.m4: Likewise.
38237         * m4/d-ino.m4: Likewise.
38238         * m4/d-type.m4: Likewise.
38239         * m4/dirfd.m4: Likewise.
38240         * m4/double-slash-root.m4: Likewise.
38241         * m4/eaccess.m4: Likewise.
38242         * m4/eealloc.m4: Likewise.
38243         * m4/environ.m4: Likewise.
38244         * m4/errno_h.m4: Likewise.
38245         * m4/euidaccess.m4: Likewise.
38246         * m4/execute.m4: Likewise.
38247         * m4/fatal-signal.m4: Likewise.
38248         * m4/fchdir.m4: Likewise.
38249         * m4/fcntl_h.m4: Likewise.
38250         * m4/fileblocks.m4: Likewise.
38251         * m4/filenamecat.m4: Likewise.
38252         * m4/findprog.m4: Likewise.
38253         * m4/flexmember.m4: Likewise.
38254         * m4/fnmatch.m4: Likewise.
38255         * m4/fopen.m4: Likewise.
38256         * m4/fpending.m4: Likewise.
38257         * m4/fprintf-posix.m4: Likewise.
38258         * m4/free.m4: Likewise.
38259         * m4/frexp.m4: Likewise.
38260         * m4/frexpl.m4: Likewise.
38261         * m4/fsusage.m4: Likewise.
38262         * m4/ftruncate.m4: Likewise.
38263         * m4/gc-camellia.m4: Likewise.
38264         * m4/gc-random.m4: Likewise.
38265         * m4/gc.m4: Likewise.
38266         * m4/getaddrinfo.m4: Likewise.
38267         * m4/getcwd-abort-bug.m4: Likewise.
38268         * m4/getcwd-path-max.m4: Likewise.
38269         * m4/getdate.m4: Likewise.
38270         * m4/getdomainname.m4: Likewise.
38271         * m4/getgroups.m4: Likewise.
38272         * m4/gethostname.m4: Likewise.
38273         * m4/gethrxtime.m4: Likewise.
38274         * m4/getline.m4: Likewise.
38275         * m4/getloadavg.m4: Likewise.
38276         * m4/getndelim2.m4: Likewise.
38277         * m4/getpass.m4: Likewise.
38278         * m4/gettext.m4: Likewise.
38279         * m4/gettime.m4: Likewise.
38280         * m4/gettimeofday.m4: Likewise.
38281         * m4/gnulib-common.m4: Likewise.
38282         * m4/group-member.m4: Likewise.
38283         * m4/host-os.m4: Likewise.
38284         * m4/iconv.m4: Likewise.
38285         * m4/iconv_open.m4: Likewise.
38286         * m4/inet_ntop.m4: Likewise.
38287         * m4/inet_pton.m4: Likewise.
38288         * m4/inline.m4: Likewise.
38289         * m4/intldir.m4: Likewise.
38290         * m4/intlmacosx.m4: Likewise.
38291         * m4/intmax.m4: Likewise.
38292         * m4/intmax_t.m4: Likewise.
38293         * m4/inttypes.m4: Likewise.
38294         * m4/inttypes_h.m4: Likewise.
38295         * m4/inttypes-pri.m4: Likewise.
38296         * m4/isapipe.m4: Likewise.
38297         * m4/isnand.m4: Likewise.
38298         * m4/isnanf.m4: Likewise.
38299         * m4/isnanl.m4: Likewise.
38300         * m4/javacomp.m4: Likewise.
38301         * m4/javaexec.m4: Likewise.
38302         * m4/jm-winsz1.m4: Likewise.
38303         * m4/jm-winsz2.m4: Likewise.
38304         * m4/lchown.m4: Likewise.
38305         * m4/lcmessage.m4: Likewise.
38306         * m4/ldexpl.m4: Likewise.
38307         * m4/lib-ld.m4: Likewise.
38308         * m4/lib-link.m4: Likewise.
38309         * m4/libsigsegv.m4: Likewise.
38310         * m4/link-follow.m4: Likewise.
38311         * m4/localcharset.m4: Likewise.
38312         * m4/locale-fr.m4: Likewise.
38313         * m4/locale-ja.m4: Likewise.
38314         * m4/locale-tr.m4: Likewise.
38315         * m4/locale-zh.m4: Likewise.
38316         * m4/lock.m4: Likewise.
38317         * m4/longlong.m4: Likewise.
38318         * m4/ls-mntd-fs.m4: Likewise.
38319         * m4/lstat.m4: Likewise.
38320         * m4/malloc.m4: Likewise.
38321         * m4/mathl.m4: Likewise.
38322         * m4/mbrtowc.m4: Likewise.
38323         * m4/mbstate_t.m4: Likewise.
38324         * m4/mbswidth.m4: Likewise.
38325         * m4/memchr.m4: Likewise.
38326         * m4/memcmp.m4: Likewise.
38327         * m4/memcpy.m4: Likewise.
38328         * m4/memmem.m4: Likewise.
38329         * m4/memmove.m4: Likewise.
38330         * m4/mempcpy.m4: Likewise.
38331         * m4/memrchr.m4: Likewise.
38332         * m4/memset.m4: Likewise.
38333         * m4/minmax.m4: Likewise.
38334         * m4/mkdir-slash.m4: Likewise.
38335         * m4/mkdtemp.m4: Likewise.
38336         * m4/mktime.m4: Likewise.
38337         * m4/mmap-anon.m4: Likewise.
38338         * m4/mountlist.m4: Likewise.
38339         * m4/nanosleep.m4: Likewise.
38340         * m4/nls.m4: Likewise.
38341         * m4/nocrash.m4: Likewise.
38342         * m4/open.m4: Likewise.
38343         * m4/openat.m4: Likewise.
38344         * m4/openmp.m4: Likewise.
38345         * m4/pathmax.m4: Likewise.
38346         * m4/perl.m4: Likewise.
38347         * m4/physmem.m4: Likewise.
38348         * m4/pipe.m4: Likewise.
38349         * m4/po.m4: Likewise.
38350         * m4/poll.m4: Likewise.
38351         * m4/posixtm.m4: Likewise.
38352         * m4/posixver.m4: Likewise.
38353         * m4/printf-frexp.m4: Likewise.
38354         * m4/printf-frexpl.m4: Likewise.
38355         * m4/printf-posix.m4: Likewise.
38356         * m4/printf-posix-rpl.m4: Likewise.
38357         * m4/printf.m4: Likewise.
38358         * m4/progtest.m4: Likewise.
38359         * m4/putenv.m4: Likewise.
38360         * m4/readline.m4: Likewise.
38361         * m4/readlink.m4: Likewise.
38362         * m4/readutmp.m4: Likewise.
38363         * m4/realloc.m4: Likewise.
38364         * m4/regex.m4: Likewise.
38365         * m4/relocatable.m4: Likewise.
38366         * m4/relocatable-lib.m4: Likewise.
38367         * m4/rename-dest-slash.m4: Likewise.
38368         * m4/rename.m4: Likewise.
38369         * m4/rmdir-errno.m4: Likewise.
38370         * m4/rmdir.m4: Likewise.
38371         * m4/roundf.m4: Likewise.
38372         * m4/roundl.m4: Likewise.
38373         * m4/rpmatch.m4: Likewise.
38374         * m4/save-cwd.m4: Likewise.
38375         * m4/selinux-selinux-h.m4: Likewise.
38376         * m4/setenv.m4: Likewise.
38377         * m4/settime.m4: Likewise.
38378         * m4/sig2str.m4: Likewise.
38379         * m4/sig_atomic_t.m4: Likewise.
38380         * m4/signalblocking.m4: Likewise.
38381         * m4/signbit.m4: Likewise.
38382         * m4/sigpipe.m4: Likewise.
38383         * m4/sockets.m4: Likewise.
38384         * m4/sockpfaf.m4: Likewise.
38385         * m4/st_dm_mode.m4: Likewise.
38386         * m4/stat-time.m4: Likewise.
38387         * m4/stdbool.m4: Likewise.
38388         * m4/stdint.m4: Likewise.
38389         * m4/stdint_h.m4: Likewise.
38390         * m4/stpcpy.m4: Likewise.
38391         * m4/stpncpy.m4: Likewise.
38392         * m4/strcase.m4: Likewise.
38393         * m4/strchrnul.m4: Likewise.
38394         * m4/strcspn.m4: Likewise.
38395         * m4/strdup.m4: Likewise.
38396         * m4/strftime.m4: Likewise.
38397         * m4/strndup.m4: Likewise.
38398         * m4/strnlen.m4: Likewise.
38399         * m4/strpbrk.m4: Likewise.
38400         * m4/strptime.m4: Likewise.
38401         * m4/strsep.m4: Likewise.
38402         * m4/strtod.m4: Likewise.
38403         * m4/strtoimax.m4: Likewise.
38404         * m4/strtok_r.m4: Likewise.
38405         * m4/strtol.m4: Likewise.
38406         * m4/strtoll.m4: Likewise.
38407         * m4/strtoul.m4: Likewise.
38408         * m4/strtoull.m4: Likewise.
38409         * m4/strtoumax.m4: Likewise.
38410         * m4/strverscmp.m4: Likewise.
38411         * m4/threadlib.m4: Likewise.
38412         * m4/timegm.m4: Likewise.
38413         * m4/tm_gmtoff.m4: Likewise.
38414         * m4/tmpdir.m4: Likewise.
38415         * m4/tmpfile.m4: Likewise.
38416         * m4/tzset.m4: Likewise.
38417         * m4/uintmax_t.m4: Likewise.
38418         * m4/unlinkdir.m4: Likewise.
38419         * m4/unlocked-io.m4: Likewise.
38420         * m4/uptime.m4: Likewise.
38421         * m4/userspec.m4: Likewise.
38422         * m4/utimbuf.m4: Likewise.
38423         * m4/utime.m4: Likewise.
38424         * m4/utimes-null.m4: Likewise.
38425         * m4/utimes.m4: Likewise.
38426         * m4/vararrays.m4: Likewise.
38427         * m4/vasnprintf.m4: Likewise.
38428         * m4/vfprintf-posix.m4: Likewise.
38429         * m4/vprintf-posix.m4: Likewise.
38430         * m4/wait-process.m4: Likewise.
38431         * m4/wchar_t.m4: Likewise.
38432         * m4/wint_t.m4: Likewise.
38433         * m4/write-any-file.m4: Likewise.
38434         * m4/yield.m4: Likewise.
38435
38436 2009-01-13  Bruno Haible  <bruno@clisp.org>
38437
38438         Avoid test-copy-file.sh failures when ACL support insufficient.
38439         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
38440         TESTS_ENVIRONMENT.
38441         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
38442         Reported by Jim Meyering.
38443
38444 2009-01-13  Bruno Haible  <bruno@clisp.org>
38445
38446         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
38447         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
38448         * modules/unistdio/u8-printf-parse (Files): Likewise.
38449         * modules/unistdio/u32-printf-parse (Files): Likewise.
38450         * modules/unistdio/ulc-printf-parse (Files): Likewise.
38451
38452 2009-01-13  Simon Josefsson  <simon@josefsson.org>
38453
38454         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
38455         and m4/inttypes_h.m4 too.
38456
38457 2009-01-12  Eric Blake  <ebb9@byu.net>
38458
38459         tests: IRIX 6.2 cc can't compile -0.0 into .data
38460         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
38461         rather than at compile-time.
38462         * tests/test-floorl.c (minus_zero): Likewise.
38463         * tests/test-frexpl.c (minus_zero): Likewise.
38464         * tests/test-isnan.c (minus_zerol): Likewise.
38465         * tests/test-isnanl.h (minus_zero): Likewise.
38466         * tests/test-ldexpl.c (minus_zero): Likewise.
38467         * tests/test-roundl.c (minus_zero): Likewise.
38468         * tests/test-signbit.c (minus_zerol): Likewise.
38469         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
38470         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
38471         * tests/test-truncl.c (minus_zero): Likewise.
38472         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
38473         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
38474         Reported by Tom G. Christensen and Nelson H. F. Beebe.
38475
38476 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38477
38478         regex: fix glibc bug 9697
38479         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
38480         handling.
38481
38482 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38483
38484         regex: fix glibc bug 697
38485         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
38486         being NULL also if there are no backreferences.
38487
38488 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38489
38490         regex: merge glibc changes
38491         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
38492         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
38493         re_string_skip_chars, re_string_reconstruct): Likewise.
38494         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
38495
38496 2009-01-07  Jim Meyering  <meyering@redhat.com>
38497
38498         poll: filter through cppi
38499         * lib/poll.c: Indent cpp directives to reflect nesting.
38500
38501 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
38502
38503         poll: don't return uninitialized
38504         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
38505
38506 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
38507
38508         avoid compile failure on AIX 6.1
38509         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
38510         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
38511
38512 2009-01-04  Jim Meyering  <meyering@redhat.com>
38513
38514         remove duplicate inclusion of <stdio.h>
38515         * tests/test-fprintf-posix.c: Likewise.
38516         * tests/test-printf-posix.c: Likewise.
38517         * tests/test-snprintf-posix.c: Likewise.
38518         * tests/test-sprintf-posix.c: Likewise.
38519         * tests/test-vasprintf-posix.c: Likewise.
38520         * tests/test-vfprintf-posix.c: Likewise.
38521         * tests/test-vprintf-posix.c: Likewise.
38522         * tests/test-vsnprintf-posix.c: Likewise.
38523         * tests/test-vsprintf-posix.c: Likewise.
38524
38525 2009-01-03  Jim Meyering  <meyering@redhat.com>
38526
38527         gnulib-tool: fix sed-based filtering
38528         * gnulib-tool (func_filter_filelist): Remove extra backslash
38529         in sed_fff_filter definition.
38530
38531 2009-01-02  Jim Meyering  <meyering@redhat.com>
38532
38533         strftime: avoid compilation failure on Solaris 2.6
38534         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
38535         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
38536         Don't #define mbrlen or mbsinit, since now they're guaranteed to
38537         be available.  Reported by Tom G. Christensen.  Details in
38538         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
38539
38540 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38541             Bruno Haible  <bruno@clisp.org>
38542
38543         Speed up gnulib-tool by doing more string processing through shell
38544         built-ins.
38545         * gnulib-tool (fast_func_append): New variable.
38546         (func_remove_prefix, func_remove_suffix): New functions.
38547         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
38548         (func_filter_filelist): New function.
38549         (func_get_dependencies): Use func_remove_suffix instead of sed.
38550         (func_get_automake_snippet): Use func_filter_filelist instead of a
38551         subshell and sed invocation.
38552
38553 2009-01-01  Bruno Haible  <bruno@clisp.org>
38554
38555         Fix a security bug.
38556         * gnulib-tool (func_import, import, update): Don't allow the characters
38557         '"', '$', '`', '\' in macro arguments that become part of commands that
38558         are evaluated.
38559
38560 2009-01-01  Bruno Haible  <bruno@clisp.org>
38561
38562         * gnulib-tool (func_reset_sigpipe): Add more comments.
38563
38564 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38565
38566         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
38567         func_emit_tests_Makefile_am, func_import): Abort loops early if we
38568         already know the answer.
38569
38570 2009-01-01  Jim Meyering  <meyering@redhat.com>
38571
38572         * lib/version-etc.c (version_etc_va): Update copyright year.
38573
38574 2008-12-30  Bruno Haible  <bruno@clisp.org>
38575
38576         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
38577         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
38578         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
38579
38580 2008-12-29  Eric Blake  <ebb9@byu.net>
38581
38582         multiarch: avoid autoconf AC_REQUIRE bug
38583         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
38584         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
38585         2.63 and older.
38586         Reported by Bruno Haible, and analyzed in
38587         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
38588
38589 2008-12-29  Bruno Haible  <bruno@clisp.org>
38590
38591         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
38592         files in subdirectories correctly.
38593         Reported by Ralf Wildenhues.
38594
38595 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38596
38597         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
38598         rather than 'join FILE -', for Solaris join.
38599
38600 2008-12-29  Bruno Haible  <bruno@clisp.org>
38601
38602         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
38603         quoting.
38604         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
38605         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
38606         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
38607         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
38608         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
38609         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
38610         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
38611         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
38612         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
38613         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
38614         * m4/nls.m4 (AM_NLS): Likewise.
38615         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
38616         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
38617         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
38618         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
38619         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
38620         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
38621         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
38622         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
38623         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
38624         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
38625         * m4/xsize.m4 (gl_XSIZE): Likewise.
38626         Suggested by Jim Meyering.
38627
38628 2008-11-17  Bruce Korb  <bkorb@gnu.org>
38629
38630         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
38631         * lib/parse-duration.c: use a switch instead of cascading if's.
38632
38633 2008-12-29  Eric Blake  <ebb9@byu.net>
38634
38635         wchar.h: supply WEOF on Irix 5.3
38636         * lib/wchar.in.h (wint_t): Also supply WEOF.
38637         * lib/wctype.in.h (wint_t): Likewise.
38638         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
38639         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
38640         Reported by Tom G. Christensen.
38641
38642 2008-12-26  Bruno Haible  <bruno@clisp.org>
38643
38644         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
38645         i486, i586, i686.
38646
38647 2008-12-26  Bruno Haible  <bruno@clisp.org>
38648
38649         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
38650
38651 2008-12-26  Bruno Haible  <bruno@clisp.org>
38652
38653         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
38654         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
38655         not __STDC_CONSTANT_MACROS.
38656         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
38657
38658 2008-12-25  Bruno Haible  <bruno@clisp.org>
38659
38660         Add support for universal builds to vasnprintf.
38661         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
38662         universal builds, guess no.
38663         * modules/vasnprintf-posix (Depends-on): Add multiarch.
38664         * modules/vasprintf-posix (Depends-on): Likewise.
38665         * modules/fprintf-posix (Depends-on): Likewise.
38666         * modules/vfprintf-posix (Depends-on): Likewise.
38667         * modules/snprintf-posix (Depends-on): Likewise.
38668         * modules/vsnprintf-posix (Depends-on): Likewise.
38669         * modules/sprintf-posix (Depends-on): Likewise.
38670         * modules/vsprintf-posix (Depends-on): Likewise.
38671         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38672         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38673         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38674         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38675         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38676         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38677         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38678
38679         Add support for universal builds to <inttypes.h>.
38680         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
38681         _SCNu64_PREFIX): In Apple
38682         universal builds, define directly, using _LP64.
38683         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
38684         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
38685         * modules/inttypes (Depends-on): Add multiarch.
38686         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38687
38688         Add support for universal builds to <stdint.h>.
38689         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
38690         universal builds, define directly, using _LP64.
38691         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
38692         Apple universal builds, don't test for the size and suffix of ptrdiff_t
38693         and size_t.
38694         * modules/stdint (Depends-on): Add multiarch.
38695         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38696
38697         New module 'multiarch'.
38698         * modules/multiarch: New file.
38699         * m4/multiarch.m4: New file.
38700
38701 2008-12-25  Bruno Haible  <bruno@clisp.org>
38702
38703         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
38704
38705 2008-12-25  Bruno Haible  <bruno@clisp.org>
38706
38707         * modules/btowc (License): Relicense under LGPLv2+.
38708         * modules/mbsinit (License): Likewise.
38709         * modules/mbrtowc (License): Likewise.
38710         * modules/wcrtomb (License): Likewise.
38711         * modules/streq (License): Likewise.
38712         Reported by David Lutterkort <lutter@redhat.com>.
38713
38714 2008-12-23  Bruno Haible  <bruno@clisp.org>
38715
38716         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
38717
38718 2008-12-23  Bruno Haible  <bruno@clisp.org>
38719
38720         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
38721         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
38722         GETADDRINFO_LIB, not in LIBS.
38723         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
38724         * modules/canon-host (Link): Likewise.
38725         * NEWS: Mention the change.
38726         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
38727         GETADDRINFO_LIB.
38728
38729 2008-12-22  Bruno Haible  <bruno@clisp.org>
38730
38731         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
38732         * doc/posix-functions/iswalpha_l.texi: Likewise.
38733         * doc/posix-functions/iswblank_l.texi: Likewise.
38734         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38735         * doc/posix-functions/iswctype_l.texi: Likewise.
38736         * doc/posix-functions/iswdigit_l.texi: Likewise.
38737         * doc/posix-functions/iswgraph_l.texi: Likewise.
38738         * doc/posix-functions/iswlower_l.texi: Likewise.
38739         * doc/posix-functions/iswprint_l.texi: Likewise.
38740         * doc/posix-functions/iswpunct_l.texi: Likewise.
38741         * doc/posix-functions/iswspace_l.texi: Likewise.
38742         * doc/posix-functions/iswupper_l.texi: Likewise.
38743         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38744         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
38745         * doc/posix-functions/open_wmemstream.texi: Likewise.
38746         * doc/posix-functions/swscanf.texi: Likewise.
38747         * doc/posix-functions/towctrans_l.texi: Likewise.
38748         * doc/posix-functions/towlower.texi: Likewise.
38749         * doc/posix-functions/towlower_l.texi: Likewise.
38750         * doc/posix-functions/towupper.texi: Likewise.
38751         * doc/posix-functions/towupper_l.texi: Likewise.
38752         * doc/posix-functions/vfwprintf.texi: Likewise.
38753         * doc/posix-functions/vfwscanf.texi: Likewise.
38754         * doc/posix-functions/vswscanf.texi: Likewise.
38755         * doc/posix-functions/vwprintf.texi: Likewise.
38756         * doc/posix-functions/vwscanf.texi: Likewise.
38757         * doc/posix-functions/wcpcpy.texi: Likewise.
38758         * doc/posix-functions/wcpncpy.texi: Likewise.
38759         * doc/posix-functions/wcscasecmp.texi: Likewise.
38760         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
38761         * doc/posix-functions/wcscoll_l.texi: Likewise.
38762         * doc/posix-functions/wcsdup.texi: Likewise.
38763         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38764         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
38765         * doc/posix-functions/wcsnlen.texi: Likewise.
38766         * doc/posix-functions/wcsnrtombs.texi: Likewise.
38767         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38768         * doc/posix-functions/wctrans_l.texi: Likewise.
38769         * doc/posix-functions/wctype_l.texi: Likewise.
38770         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
38771         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
38772         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
38773         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
38774         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
38775         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
38776         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
38777         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
38778         * doc/glibc-functions/wcschrnul.texi: Likewise.
38779         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38780         * doc/glibc-functions/wcstod_l.texi: Likewise.
38781         * doc/glibc-functions/wcstof_l.texi: Likewise.
38782         * doc/glibc-functions/wcstol_l.texi: Likewise.
38783         * doc/glibc-functions/wcstold_l.texi: Likewise.
38784         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38785         * doc/glibc-functions/wcstoq.texi: Likewise.
38786         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38787         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38788         * doc/glibc-functions/wcstouq.texi: Likewise.
38789         * doc/glibc-functions/wmempcpy.texi: Likewise.
38790
38791 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
38792             Eric Blake  <ebb9@byu.net>
38793             Paolo Bonzini  <bonzini@gnu.org>
38794             Bruno Haible  <bruno@clisp.org>
38795
38796         Make c-stack work on Haiku.
38797         * lib/c-stack.c (SA_ONSTACK): Define fallback.
38798         (c_stack_action): Use SA_ONSTACK flag.
38799
38800 2008-12-22  Bruno Haible  <bruno@clisp.org>
38801
38802         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
38803
38804 2008-12-22  Bruno Haible  <bruno@clisp.org>
38805
38806         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
38807         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
38808         being overridden.
38809         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
38810         New macros.
38811         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
38812         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
38813         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
38814         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
38815
38816 2008-12-22  Bruno Haible  <bruno@clisp.org>
38817
38818         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
38819         from test code.
38820
38821 2008-12-22  Eric Blake  <ebb9@byu.net>
38822
38823         Avoid gcc warnings on cygwin.
38824         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
38825         Avoid unused variable.
38826         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
38827         Likewise.
38828
38829 2008-12-22  Bruno Haible  <bruno@clisp.org>
38830
38831         Remove HAVE_MBRTOWC conditionals.
38832         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
38833         (mbscasecmp): Assume mbrtowc function.
38834         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
38835         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
38836         * lib/mbschr.c: Include mbuiter.h unconditionally.
38837         (mbschr): Assume mbrtowc function.
38838         * lib/mbscspn.c: Include mbuiter.h unconditionally.
38839         (mbscspn): Assume mbrtowc function.
38840         * lib/mbslen.c: Include mbuiter.h unconditionally.
38841         (mbslen): Assume mbrtowc function.
38842         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
38843         (mbsncasecmp): Assume mbrtowc function.
38844         * lib/mbsnlen.c: Include mbiter.h unconditionally.
38845         (mbsnlen): Assume mbrtowc function.
38846         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
38847         (mbspbrk): Assume mbrtowc function.
38848         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
38849         (mbspcasecmp): Assume mbrtowc function.
38850         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
38851         (mbsrchr): Assume mbrtowc function.
38852         * lib/mbssep.c: Include mbuiter.h unconditionally.
38853         (mbssep): Assume mbrtowc function.
38854         * lib/mbsspn.c: Include mbuiter.h unconditionally.
38855         (mbsspn): Assume mbrtowc function.
38856         * lib/mbsstr.c: Include mbuiter.h unconditionally.
38857         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
38858         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
38859         (mbstok_r): Assume mbrtowc function.
38860         * lib/propername.c: Include mbuiter.h unconditionally.
38861         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
38862         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
38863         (trim2): Assume mbrtowc function.
38864         * lib/mbswidth.c (mbsinit): Remove fallback definition.
38865         (mbsnwidth): Assume mbrtowc function.
38866         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
38867         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
38868         fallback definitions.
38869         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
38870
38871 2008-12-22  Bruno Haible  <bruno@clisp.org>
38872
38873         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
38874
38875 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
38876
38877         * modules/regex: Request emulations for the mb*/wc* functions we need.
38878         * m4/regex.m4: Don't look for those functions here.
38879         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
38880
38881 2008-12-22  Bruno Haible  <bruno@clisp.org>
38882
38883         * modules/fnmatch (Depends-on): Remove duplicated dependency.
38884
38885 2008-12-21  Bruno Haible  <bruno@clisp.org>
38886
38887         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
38888         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
38889         (Include): Remove conditionalization.
38890         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
38891         (Include): Remove conditionalization.
38892         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
38893         (Include): Remove conditionalization.
38894         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
38895         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38896         * NEWS: Mention the change.
38897         Reported by Alan Hourihane <alanh@fairlite.co.uk>
38898         via Sergey Poznyakoff <gray@gnu.org.ua>.
38899
38900 2008-12-21  Bruno Haible  <bruno@clisp.org>
38901
38902         * MODULES.html.sh (Extended multibyte and wide character utilities
38903         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
38904         wcrtomb, wcsrtombs.
38905         (Support for systems lacking POSIX:2008): Add accept, bind, close,
38906         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
38907         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
38908         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
38909
38910 2008-12-21  Bruno Haible  <bruno@clisp.org>
38911
38912         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
38913
38914 2008-12-21  Bruno Haible  <bruno@clisp.org>
38915
38916         * modules/wcsnrtombs-tests: New file.
38917         * tests/test-wcsnrtombs1.sh: New file.
38918         * tests/test-wcsnrtombs2.sh: New file.
38919         * tests/test-wcsnrtombs3.sh: New file.
38920         * tests/test-wcsnrtombs4.sh: New file.
38921         * tests/test-wcsnrtombs.c: New file.
38922
38923         New module 'wcsnrtombs'.
38924         * lib/wchar.in.h (wcsnrtombs): New declaration.
38925         * lib/wcsnrtombs.c: New file.
38926         * lib/wcsrtombs-state.c: New file.
38927         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
38928         (internal_state): Remove variable.
38929         * m4/wcsnrtombs.m4: New file.
38930         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
38931         compilation units.
38932         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
38933         HAVE_WCSNRTOMBS.
38934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
38935         HAVE_WCSNRTOMBS.
38936         * modules/wcsnrtombs: New file.
38937         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
38938         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
38939
38940 2008-12-21  Bruno Haible  <bruno@clisp.org>
38941
38942         * modules/wcsrtombs-tests: New file.
38943         * tests/test-wcsrtombs1.sh: New file.
38944         * tests/test-wcsrtombs2.sh: New file.
38945         * tests/test-wcsrtombs3.sh: New file.
38946         * tests/test-wcsrtombs4.sh: New file.
38947         * tests/test-wcsrtombs.c: New file.
38948
38949         New module 'wcsrtombs'.
38950         * lib/wchar.in.h (wcsrtombs): New declaration.
38951         * lib/wcsrtombs.c: New file.
38952         * m4/wcsrtombs.m4: New file.
38953         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
38954         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38955         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
38956         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38957         * modules/wcsrtombs: New file.
38958         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
38959         bugs.
38960
38961 2008-12-21  Bruno Haible  <bruno@clisp.org>
38962
38963         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
38964         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
38965         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
38966         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
38967         if not correct.
38968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
38969         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
38970         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38971         m4/locale-zh.m4, m4/codeset.m4.
38972         * doc/posix-functions/wcrtomb.texi: Document the bug.
38973
38974 2008-12-21  Bruno Haible  <bruno@clisp.org>
38975
38976         Work around a btowc() bug on IRIX 6.5.
38977         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
38978         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
38979         REPLACE_WTOBC if not.
38980         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
38981         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
38982         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
38983
38984 2008-12-21  Bruno Haible  <bruno@clisp.org>
38985
38986         * modules/wcrtomb-tests: New file.
38987         * tests/test-wcrtomb.sh: New file.
38988         * tests/test-wcrtomb.c: New file.
38989
38990         New module 'wcrtomb'.
38991         * lib/wchar.in.h (wcrtomb): New declaration.
38992         * lib/wcrtomb.c: New file.
38993         * m4/wcrtomb.m4: New file.
38994         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
38995         HAVE_WCRTOMB.
38996         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
38997         HAVE_WCRTOMB.
38998         * modules/wcrtomb: New file.
38999         * doc/posix-functions/wcrtomb.texi: Mention the new module.
39000
39001 2008-12-21  Bruno Haible  <bruno@clisp.org>
39002
39003         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
39004         * modules/mbsrtowcs (Files): Likewise.
39005         * modules/wctob (Files): Likewise.
39006         * modules/c-strcase-tests (Files): Likewise.
39007         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
39008         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
39009         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
39010         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
39011         * modules/vasnprintf-posix-tests (Files): Likewise.
39012
39013 2008-12-21  William Pursell  <bill.pursell@gmail.com>
39014
39015         gitlog-to-changelog: pass all command-line arguments to git-log
39016         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
39017         it is sometimes convenient to filter the commits in various ways.
39018         gitlog-to-changelog only allows --since to specify a start date,
39019         but git-log itself supports many other filtering mechanisms.
39020         At the moment, I want to filter by branch name.  Rather than
39021         adding a --branch option to gitlog-to-changelog, it seems more
39022         flexible to simply pass all options directly to git-log and let
39023         git do the work.  Notice that this effectively makes --since a
39024         redundant option for gitlog-to-changelog, but removing it would
39025         require current usage to change since calls would then require
39026         an additional '--'.
39027
39028 2008-12-21  Bruno Haible  <bruno@clisp.org>
39029
39030         * modules/mbsnrtowcs-tests: New file.
39031         * tests/test-mbsnrtowcs1.sh: New file.
39032         * tests/test-mbsnrtowcs2.sh: New file.
39033         * tests/test-mbsnrtowcs3.sh: New file.
39034         * tests/test-mbsnrtowcs4.sh: New file.
39035         * tests/test-mbsnrtowcs.c: New file.
39036
39037         New module 'mbsnrtowcs'.
39038         * lib/wchar.in.h (mbsnrtowcs): New declaration.
39039         * lib/mbsnrtowcs.c: New file.
39040         * lib/mbsrtowcs-state.c: New file.
39041         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
39042         (internal_state): Remove variable.
39043         * m4/mbsnrtowcs.m4: New file.
39044         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
39045         compilation units.
39046         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
39047         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39048         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
39049         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39050         * modules/mbsnrtowcs: New file.
39051         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
39052         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
39053         portability problem.
39054
39055 2008-12-21  Bruno Haible  <bruno@clisp.org>
39056
39057         Work around mbsrtowcs bug.
39058         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
39059         (gl_FUNC_MBSRTOWCS): Invoke it.
39060         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39061         m4/locale-zh.m4.
39062         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
39063
39064 2008-12-21  Bruno Haible  <bruno@clisp.org>
39065
39066         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
39067
39068 2008-12-21  Bruno Haible  <bruno@clisp.org>
39069
39070         Update doc for AIX.
39071         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
39072         16-bit wchar_t type.
39073         * doc/posix-functions/btowc.texi: Likewise.
39074         * doc/posix-functions/fgetwc.texi: Likewise.
39075         * doc/posix-functions/fgetws.texi: Likewise.
39076         * doc/posix-functions/fputwc.texi: Likewise.
39077         * doc/posix-functions/fputws.texi: Likewise.
39078         * doc/posix-functions/fwide.texi: Likewise.
39079         * doc/posix-functions/fwprintf.texi: Likewise.
39080         * doc/posix-functions/fwscanf.texi: Likewise.
39081         * doc/posix-functions/getwchar.texi: Likewise.
39082         * doc/posix-functions/getwc.texi: Likewise.
39083         * doc/posix-functions/iswalnum.texi: Likewise.
39084         * doc/posix-functions/iswalpha.texi: Likewise.
39085         * doc/posix-functions/iswblank.texi: Likewise.
39086         * doc/posix-functions/iswcntrl.texi: Likewise.
39087         * doc/posix-functions/iswctype.texi: Likewise.
39088         * doc/posix-functions/iswdigit.texi: Likewise.
39089         * doc/posix-functions/iswgraph.texi: Likewise.
39090         * doc/posix-functions/iswlower.texi: Likewise.
39091         * doc/posix-functions/iswprint.texi: Likewise.
39092         * doc/posix-functions/iswpunct.texi: Likewise.
39093         * doc/posix-functions/iswspace.texi: Likewise.
39094         * doc/posix-functions/iswupper.texi: Likewise.
39095         * doc/posix-functions/iswxdigit.texi: Likewise.
39096         * doc/posix-functions/mbrtowc.texi: Likewise.
39097         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39098         * doc/posix-functions/mbstowcs.texi: Likewise.
39099         * doc/posix-functions/mbtowc.texi: Likewise.
39100         * doc/posix-functions/putwchar.texi: Likewise.
39101         * doc/posix-functions/putwc.texi: Likewise.
39102         * doc/posix-functions/swprintf.texi: Likewise.
39103         * doc/posix-functions/tolower.texi: Likewise.
39104         * doc/posix-functions/toupper.texi: Likewise.
39105         * doc/posix-functions/towctrans.texi: Likewise.
39106         * doc/posix-functions/ungetwc.texi: Likewise.
39107         * doc/posix-functions/vswprintf.texi: Likewise.
39108         * doc/posix-functions/wcrtomb.texi: Likewise.
39109         * doc/posix-functions/wcscat.texi: Likewise.
39110         * doc/posix-functions/wcschr.texi: Likewise.
39111         * doc/posix-functions/wcscmp.texi: Likewise.
39112         * doc/posix-functions/wcscoll.texi: Likewise.
39113         * doc/posix-functions/wcscpy.texi: Likewise.
39114         * doc/posix-functions/wcscspn.texi: Likewise.
39115         * doc/posix-functions/wcsftime.texi: Likewise.
39116         * doc/posix-functions/wcslen.texi: Likewise.
39117         * doc/posix-functions/wcsncat.texi: Likewise.
39118         * doc/posix-functions/wcsncmp.texi: Likewise.
39119         * doc/posix-functions/wcsncpy.texi: Likewise.
39120         * doc/posix-functions/wcspbrk.texi: Likewise.
39121         * doc/posix-functions/wcsrchr.texi: Likewise.
39122         * doc/posix-functions/wcsrtombs.texi: Likewise.
39123         * doc/posix-functions/wcsspn.texi: Likewise.
39124         * doc/posix-functions/wcsstr.texi: Likewise.
39125         * doc/posix-functions/wcstod.texi: Likewise.
39126         * doc/posix-functions/wcstof.texi: Likewise.
39127         * doc/posix-functions/wcstoimax.texi: Likewise.
39128         * doc/posix-functions/wcstok.texi: Likewise.
39129         * doc/posix-functions/wcstold.texi: Likewise.
39130         * doc/posix-functions/wcstoll.texi: Likewise.
39131         * doc/posix-functions/wcstol.texi: Likewise.
39132         * doc/posix-functions/wcstombs.texi: Likewise.
39133         * doc/posix-functions/wcstoull.texi: Likewise.
39134         * doc/posix-functions/wcstoul.texi: Likewise.
39135         * doc/posix-functions/wcstoumax.texi: Likewise.
39136         * doc/posix-functions/wcswidth.texi: Likewise.
39137         * doc/posix-functions/wcsxfrm.texi: Likewise.
39138         * doc/posix-functions/wctob.texi: Likewise.
39139         * doc/posix-functions/wctomb.texi: Likewise.
39140         * doc/posix-functions/wctrans.texi: Likewise.
39141         * doc/posix-functions/wctype.texi: Likewise.
39142         * doc/posix-functions/wcwidth.texi: Likewise.
39143         * doc/posix-functions/wmemchr.texi: Likewise.
39144         * doc/posix-functions/wmemcmp.texi: Likewise.
39145         * doc/posix-functions/wmemcpy.texi: Likewise.
39146         * doc/posix-functions/wmemmove.texi: Likewise.
39147         * doc/posix-functions/wmemset.texi: Likewise.
39148         * doc/posix-functions/wprintf.texi: Likewise.
39149         * doc/posix-functions/wscanf.texi: Likewise.
39150
39151 2008-12-21  Bruno Haible  <bruno@clisp.org>
39152
39153         Update doc for HP-UX 11.11.
39154         * doc/posix-functions/btowc.texi: Clarify that the function is missing
39155         in HP-UX version 11.00, not in all versions of HP-UX 11.
39156         * doc/posix-functions/fwide.texi: Likewise.
39157         * doc/posix-functions/fwprintf.texi: Likewise.
39158         * doc/posix-functions/fwscanf.texi: Likewise.
39159         * doc/posix-functions/inet_ntop.texi: Likewise.
39160         * doc/posix-functions/inet_pton.texi: Likewise.
39161         * doc/posix-functions/mbrlen.texi: Likewise.
39162         * doc/posix-functions/mbrtowc.texi: Likewise.
39163         * doc/posix-functions/mbsinit.texi: Likewise.
39164         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39165         * doc/posix-functions/swprintf.texi: Likewise.
39166         * doc/posix-functions/swscanf.texi: Likewise.
39167         * doc/posix-functions/towctrans.texi: Likewise.
39168         * doc/posix-functions/vfwprintf.texi: Likewise.
39169         * doc/posix-functions/vswprintf.texi: Likewise.
39170         * doc/posix-functions/vwprintf.texi: Likewise.
39171         * doc/posix-functions/wcrtomb.texi: Likewise.
39172         * doc/posix-functions/wcsrtombs.texi: Likewise.
39173         * doc/posix-functions/wcsstr.texi: Likewise.
39174         * doc/posix-functions/wctob.texi: Likewise.
39175         * doc/posix-functions/wctrans.texi: Likewise.
39176         * doc/posix-functions/wmemchr.texi: Likewise.
39177         * doc/posix-functions/wmemcmp.texi: Likewise.
39178         * doc/posix-functions/wmemcpy.texi: Likewise.
39179         * doc/posix-functions/wmemmove.texi: Likewise.
39180         * doc/posix-functions/wmemset.texi: Likewise.
39181         * doc/posix-functions/wprintf.texi: Likewise.
39182         * doc/posix-functions/wscanf.texi: Likewise.
39183
39184 2008-12-21  Bruno Haible  <bruno@clisp.org>
39185
39186         Work around a portability problem.
39187         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
39188         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
39189
39190 2008-12-20  Bruno Haible  <bruno@clisp.org>
39191
39192         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
39193         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
39194         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
39195         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
39196         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
39197
39198         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
39199         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
39200         set.
39201         (GNULIB_defined_mbstate_t): New macro.
39202         (mbsinit): Redefine if REPLACE_MBSINIT is set.
39203         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
39204         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
39205         reuses the system's mbrtowc function but works around the bugs.
39206         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
39207         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
39208         macros.
39209         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
39210         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
39211         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
39212         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
39213         REPLACE_MBSINIT if mbsinit needs to be overridden.
39214         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
39215         REPLACE_MBSINIT, REPLACE_MBRTOWC.
39216         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
39217         REPLACE_MBSINIT, REPLACE_MBRTOWC.
39218         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39219         m4/locale-zh.m4.
39220         (Depends): Add mbsinit.
39221         * modules/mbsinit (Depends): Add mbrtowc.
39222         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
39223
39224 2008-12-20  Bruno Haible  <bruno@clisp.org>
39225
39226         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
39227         so that there are no conversion errors on AIX.
39228         * tests/test-mbsrtowcs.c (main): LIkewise.
39229
39230 2008-12-20  Bruno Haible  <bruno@clisp.org>
39231
39232         Work around wctob bug on Solaris <= 9.
39233         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
39234         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
39235         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
39236         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
39237         * modules/wctob (Files): Add m4/locale-fr.m4.
39238         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
39239
39240 2008-12-20  Bruno Haible  <bruno@clisp.org>
39241
39242         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
39243         /dev/null.
39244         * tests/test-select-in.sh: Likewise.
39245         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39246
39247 2008-12-20  Bruno Haible  <bruno@clisp.org>
39248
39249         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
39250         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
39251         Cygwin 1.5.x.
39252
39253 2008-12-20  Bruno Haible  <bruno@clisp.org>
39254
39255         Ensure mbstate_t is defined on HP-UX 11.11.
39256         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
39257         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
39258         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
39259         AC_USE_SYSTEM_EXTENSIONS.
39260         * modules/fnmatch (Depends-on): Add extensions.
39261         * modules/mbrlen (Depends-on): Likewise.
39262         * modules/mbrtowc (Depends-on): Likewise.
39263         * modules/mbsinit (Depends-on): Likewise.
39264         * modules/mbsrtowcs (Depends-on): Likewise.
39265         * modules/mbswidth (Depends-on): Likewise.
39266         * modules/quotearg (Depends-on): Likewise.
39267         * modules/strftime (Depends-on): Likewise.
39268
39269 2008-12-20  Bruno Haible  <bruno@clisp.org>
39270
39271         Ensure wctob is declared on IRIX 6.5.
39272         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
39273         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
39274         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
39275         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
39276         of HAVE_WCTOB.
39277         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
39278         HAVE_WCTOB.
39279         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
39280
39281 2008-12-19  Bruno Haible  <bruno@clisp.org>
39282
39283         * modules/mbsrtowcs-tests: New file.
39284         * tests/test-mbsrtowcs1.sh: New file.
39285         * tests/test-mbsrtowcs2.sh: New file.
39286         * tests/test-mbsrtowcs3.sh: New file.
39287         * tests/test-mbsrtowcs4.sh: New file.
39288         * tests/test-mbsrtowcs.c: New file.
39289
39290         New module 'mbsrtowcs'.
39291         * lib/wchar.in.h (mbsrtowcs): New declaration.
39292         * lib/mbsrtowcs.c: New file.
39293         * m4/mbsrtowcs.m4: New file.
39294         * modules/mbsrtowcs: New file.
39295         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
39296         HAVE_MBSRTOWCS.
39297         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
39298         HAVE_MBSRTOWCS.
39299         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
39300
39301 2008-12-19  Bruno Haible  <bruno@clisp.org>
39302
39303         New module 'mbrlen'.
39304         * lib/wchar.in.h (mbrlen): New declaration.
39305         * lib/mbrlen.c: New file.
39306         * m4/mbrlen.m4: New file.
39307         * modules/mbrlen: New file.
39308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
39309         HAVE_MBRLEN.
39310         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
39311         HAVE_MBRLEN.
39312         * doc/posix-functions/mbrlen.texi: Document the new module.
39313
39314 2008-12-19  Bruno Haible  <bruno@clisp.org>
39315
39316         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
39317         * modules/mbrtowc (Depends-on): Add verify.
39318         Suggested by Paul Eggert.
39319
39320 2008-12-18  Bruno Haible  <bruno@clisp.org>
39321
39322         * modules/mbsinit-tests: New file.
39323         * tests/test-mbsinit.sh: New file.
39324         * tests/test-mbsinit.c: New file.
39325
39326 2008-12-18  Bruno Haible  <bruno@clisp.org>
39327
39328         * modules/mbrtowc-tests: New file.
39329         * tests/test-mbrtowc1.sh: New file.
39330         * tests/test-mbrtowc2.sh: New file.
39331         * tests/test-mbrtowc3.sh: New file.
39332         * tests/test-mbrtowc4.sh: New file.
39333         * tests/test-mbrtowc.c: New file.
39334
39335         New module 'mbrtowc'.
39336         * lib/wchar.in.h (mbstate_t): Override when the system does not have
39337         mbsinit and mbrtowc.
39338         (mbrtowc): New declaration.
39339         * lib/mbrtowc.c: New file.
39340         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
39341         * modules/mbrtowc: New file.
39342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
39343         HAVE_MBRTOWC.
39344         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
39345         HAVE_MBRTOWC.
39346         * doc/posix-functions/mbrtowc.texi: Document the new module.
39347
39348 2008-12-18  Bruno Haible  <bruno@clisp.org>
39349
39350         New module 'wctob'.
39351         * lib/wchar.in.h (wctob): New declaration.
39352         * lib/wctob.c: New file.
39353         * m4/wctob.m4: New file.
39354         * modules/wctob: New file.
39355         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
39356         HAVE_WCTOB.
39357         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
39358         * doc/posix-functions/wctob.texi: Document the new module.
39359
39360 2008-12-18  Bruno Haible  <bruno@clisp.org>
39361
39362         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
39363         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
39364
39365 2008-12-18  Simon Josefsson  <simon@josefsson.org>
39366
39367         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
39368         G. Christensen" <tgc@jupiterrise.com>.
39369
39370         * lib/flock.c: Need to include errno.h.  Reported by "Tom
39371         G. Christensen" <tgc@jupiterrise.com>.
39372
39373         * lib/flock.c: Need to include string.h.  Reported by "Tom
39374         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
39375         <ebb9@byu.net>.
39376
39377 2008-12-18  Bruno Haible  <bruno@clisp.org>
39378
39379         * m4/locale-ja.m4: New file, from GNU gettext.
39380
39381 2008-12-17  Bruno Haible  <bruno@clisp.org>
39382
39383         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
39384         Suggested by Eric Blake.
39385
39386 2008-12-17  Bruno Haible  <bruno@clisp.org>
39387
39388         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
39389
39390 2008-12-17  Bruno Haible  <bruno@clisp.org>
39391
39392         * lib/mbsinit.c: Include verify.h. Verify an assumption.
39393         * modules/mbsinit (Depends-on): Add verify.
39394         Suggested by Paul Eggert.
39395
39396 2008-12-17  Bruno Haible  <bruno@clisp.org>
39397
39398         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
39399         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
39400         gl_FUNC_MBRTOWC.
39401         * m4/mbiter.m4 (gl_MBITER): LIkewise.
39402         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
39403         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
39404         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
39405         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
39406         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
39407         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
39408         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
39409         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
39410         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
39411         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
39412         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
39413         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
39414         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
39415         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
39416         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
39417         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
39418         * modules/trim (configure.ac): Likewise.
39419
39420 2008-12-17  Bruno Haible  <bruno@clisp.org>
39421
39422         * modules/btowc-tests: New file.
39423         * tests/test-btowc1.sh: New file.
39424         * tests/test-btowc2.sh: New file.
39425         * tests/test-btowc.c: New file.
39426
39427         New module 'btowc'.
39428         * lib/wchar.in.h (btowc): New declaration.
39429         * lib/btowc.c: New file.
39430         * m4/btowc.m4: New file.
39431         * modules/btowc: New file.
39432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
39433         HAVE_BTOWC.
39434         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
39435         * doc/posix-functions/btowc.texi: Document the new module.
39436
39437 2008-12-17  Bruno Haible  <bruno@clisp.org>
39438
39439         New module 'mbsinit'.
39440         * lib/wchar.in.h (mbsinit): New declaration.
39441         * lib/mbsinit.c: New file.
39442         * m4/mbsinit.m4: New file.
39443         * modules/mbsinit: New file.
39444         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
39445         HAVE_MBSINIT.
39446         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
39447         HAVE_MBSINIT.
39448         * doc/posix-functions/mbsinit.texi: Document the new module.
39449
39450 2008-12-16  Bruno Haible  <bruno@clisp.org>
39451
39452         * lib/unistd.in.h: Add comment.
39453         * tests/test-environ.c: Don't include <stdlib.h>.
39454
39455 2008-12-16  Bruno Haible  <bruno@clisp.org>
39456
39457         * lib/parse-duration.h (parse_duration): Document return value
39458         convention.
39459         * lib/parse-duration.c: Include specification header first. Add
39460         comments.
39461         (_): Remove macro.
39462         (parse_year_month_day, parse_hour_minute_second): Move side effects
39463         outside of strchr call.
39464         (parse_non_iso8601): Move side effects outside of isspace call.
39465         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
39466         call.
39467
39468 2008-12-16  Bruno Haible  <bruno@clisp.org>
39469
39470         * tests/test-parse-duration.sh: Produce no output when the test
39471         succeeds.
39472
39473 2008-12-16  Bruno Haible  <bruno@clisp.org>
39474
39475         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
39476         expressions.
39477
39478 2008-12-15  Bruno Haible  <bruno@clisp.org>
39479
39480         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
39481         * doc/glibc-functions/flistxattr.texi: Likewise.
39482         * doc/glibc-functions/fopencookie.texi: Likewise.
39483         * doc/glibc-functions/fremovexattr.texi: Likewise.
39484         * doc/glibc-functions/fsetxattr.texi: Likewise.
39485         * doc/glibc-functions/getxattr.texi: Likewise.
39486         * doc/glibc-functions/lgetxattr.texi: Likewise.
39487         * doc/glibc-functions/listxattr.texi: Likewise.
39488         * doc/glibc-functions/llistxattr.texi: Likewise.
39489         * doc/glibc-functions/lremovexattr.texi: Likewise.
39490         * doc/glibc-functions/lsetxattr.texi: Likewise.
39491         * doc/glibc-functions/removexattr.texi: Likewise.
39492         * doc/glibc-functions/setxattr.texi: Likewise.
39493         * doc/posix-functions/open_memstream.texi: Likewise.
39494
39495 2008-12-15  Eric Blake  <ebb9@byu.net>
39496
39497         Update doc for cygwin 1.7.
39498         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
39499         functions.
39500         * doc/posix-functions/fchmodat.texi: Likewise.
39501         * doc/posix-functions/fchownat.texi: Likewise.
39502         * doc/posix-functions/fdopendir.texi: Likewise.
39503         * doc/posix-functions/fmemopen.texi: Likewise.
39504         * doc/posix-functions/freeaddrinfo.texi: Likewise.
39505         * doc/posix-functions/fstatat.texi: Likewise.
39506         * doc/posix-functions/futimens.texi: Likewise.
39507         * doc/posix-functions/gai_strerror.texi: Likewise.
39508         * doc/posix-functions/getaddrinfo.texi: Likewise.
39509         * doc/posix-functions/getnameinfo.texi: Likewise.
39510         * doc/posix-functions/if_freenameindex.texi: Likewise.
39511         * doc/posix-functions/if_indextoname.texi: Likewise.
39512         * doc/posix-functions/if_nameindex.texi: Likewise.
39513         * doc/posix-functions/if_nametoindex.texi: Likewise.
39514         * doc/posix-functions/insque.texi: Likewise.
39515         * doc/posix-functions/linkat.texi: Likewise.
39516         * doc/posix-functions/llrint.texi: Likewise.
39517         * doc/posix-functions/llrintf.texi: Likewise.
39518         * doc/posix-functions/llrintl.texi: Likewise.
39519         * doc/posix-functions/lockf.texi: Likewise.
39520         * doc/posix-functions/lrintl.texi: Likewise.
39521         * doc/posix-functions/mkdirat.texi: Likewise.
39522         * doc/posix-functions/mkfifoat.texi: Likewise.
39523         * doc/posix-functions/mknodat.texi: Likewise.
39524         * doc/posix-functions/mq_close.texi: Likewise.
39525         * doc/posix-functions/mq_getattr.texi: Likewise.
39526         * doc/posix-functions/mq_notify.texi: Likewise.
39527         * doc/posix-functions/mq_open.texi: Likewise.
39528         * doc/posix-functions/mq_receive.texi: Likewise.
39529         * doc/posix-functions/mq_send.texi: Likewise.
39530         * doc/posix-functions/mq_setattr.texi: Likewise.
39531         * doc/posix-functions/mq_timedreceive.texi: Likewise.
39532         * doc/posix-functions/mq_timedsend.texi: Likewise.
39533         * doc/posix-functions/mq_unlink.texi: Likewise.
39534         * doc/posix-functions/open_memstream.texi: Likewise.
39535         * doc/posix-functions/openat.texi: Likewise.
39536         * doc/posix-functions/posix_fadvise.texi: Likewise.
39537         * doc/posix-functions/posix_fallocate.texi: Likewise.
39538         * doc/posix-functions/posix_madvise.texi: Likewise.
39539         * doc/posix-functions/posix_memalign.texi: Likewise.
39540         * doc/posix-functions/posix_openpt.texi: Likewise.
39541         * doc/posix-functions/readlinkat.texi: Likewise.
39542         * doc/posix-functions/remque.texi: Likewise.
39543         * doc/posix-functions/renameat.texi: Likewise.
39544         * doc/posix-functions/rintl.texi: Likewise.
39545         * doc/posix-functions/sem_unlink.texi: Likewise.
39546         * doc/posix-functions/shm_open.texi: Likewise.
39547         * doc/posix-functions/shm_unlink.texi: Likewise.
39548         * doc/posix-functions/signgam.texi: Likewise.
39549         * doc/posix-functions/sigset.texi: Likewise.
39550         * doc/posix-functions/stpcpy.texi: Likewise.
39551         * doc/posix-functions/stpncpy.texi: Likewise.
39552         * doc/posix-functions/strerror.texi: Likewise.
39553         * doc/posix-functions/strtod.texi: Likewise.
39554         * doc/posix-functions/symlinkat.texi: Likewise.
39555         * doc/posix-functions/unlinkat.texi: Likewise.
39556         * doc/posix-functions/utimensat.texi: Likewise.
39557         * doc/glibc-functions/bindresvport.texi: Likewise.
39558         * doc/glibc-functions/dn_expand.texi: Likewise.
39559         * doc/glibc-functions/exp10.texi: Likewise.
39560         * doc/glibc-functions/exp10f.texi: Likewise.
39561         * doc/glibc-functions/fgetxattr.texi: Likewise.
39562         * doc/glibc-functions/flistxattr.texi: Likewise.
39563         * doc/glibc-functions/fopencookie.texi: Likewise.
39564         * doc/glibc-functions/freeifaddrs.texi: Likewise.
39565         * doc/glibc-functions/fremovexattr.texi: Likewise.
39566         * doc/glibc-functions/fsetxattr.texi: Likewise.
39567         * doc/glibc-functions/getifaddrs.texi: Likewise.
39568         * doc/glibc-functions/getxattr.texi: Likewise.
39569         * doc/glibc-functions/lgetxattr.texi: Likewise.
39570         * doc/glibc-functions/listxattr.texi: Likewise.
39571         * doc/glibc-functions/llistxattr.texi: Likewise.
39572         * doc/glibc-functions/lremovexattr.texi: Likewise.
39573         * doc/glibc-functions/lsetxattr.texi: Likewise.
39574         * doc/glibc-functions/pow10.texi: Likewise.
39575         * doc/glibc-functions/pow10f.texi: Likewise.
39576         * doc/glibc-functions/rcmd_af.texi: Likewise.
39577         * doc/glibc-functions/removexattr.texi: Likewise.
39578         * doc/glibc-functions/res_init.texi: Likewise.
39579         * doc/glibc-functions/res_mkquery.texi: Likewise.
39580         * doc/glibc-functions/res_query.texi: Likewise.
39581         * doc/glibc-functions/res_querydomain.texi: Likewise.
39582         * doc/glibc-functions/res_send.texi: Likewise.
39583         * doc/glibc-functions/rresvport_af.texi: Likewise.
39584         * doc/glibc-functions/setxattr.texi: Likewise.
39585         * doc/glibc-functions/strcasestr.texi: Likewise.
39586
39587 2008-12-15  Bruno Haible  <bruno@clisp.org>
39588
39589         Fix compilation error on OSF/1 4.0.
39590         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
39591         <sys/time.h>, simply delegate to the system header.
39592         Reported by Daniel Richard G. <oss@teragram.com>.
39593
39594 2008-12-15  Bruno Haible  <bruno@clisp.org>
39595
39596         * doc/posix-functions/openat.texi: Mention the 'openat' module.
39597         * doc/posix-functions/fchmodat.texi: Likewise.
39598         * doc/posix-functions/fchownat.texi: Likewise.
39599         * doc/posix-functions/fdopendir.texi: Likewise.
39600         * doc/posix-functions/fstatat.texi: Likewise.
39601         * doc/posix-functions/mkdirat.texi: Likewise.
39602         * doc/posix-functions/unlinkat.texi: Likewise.
39603
39604 2008-12-14  Bruno Haible  <bruno@clisp.org>
39605
39606         Update doc for POSIX:2008.
39607         * doc/posix-functions/faccessat.texi: New file.
39608         * doc/posix-functions/fchmodat.texi: New file.
39609         * doc/posix-functions/fchownat.texi: New file.
39610         * doc/posix-functions/fdopendir.texi: New file.
39611         * doc/posix-functions/fstatat.texi: New file.
39612         * doc/posix-functions/futimens.texi: New file.
39613         * doc/posix-functions/linkat.texi: New file.
39614         * doc/posix-functions/mkdirat.texi: New file.
39615         * doc/posix-functions/mkfifoat.texi: New file.
39616         * doc/posix-functions/mknodat.texi: New file.
39617         * doc/posix-functions/open_wmemstream.texi: New file.
39618         * doc/posix-functions/openat.texi: New file.
39619         * doc/posix-functions/psiginfo.texi: New file.
39620         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
39621         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
39622         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
39623         * doc/posix-functions/readlinkat.texi: New file.
39624         * doc/posix-functions/renameat.texi: New file.
39625         * doc/posix-functions/strerror_l.texi: New file.
39626         * doc/posix-functions/symlinkat.texi: New file.
39627         * doc/posix-functions/unlinkat.texi: New file.
39628         * doc/posix-functions/utimensat.texi: New file.
39629         * doc/gnulib.texi (Function Substitutes): Add these subsections.
39630
39631 2008-12-14  Bruno Haible  <bruno@clisp.org>
39632
39633         Update doc for POSIX:2008.
39634         * doc/posix-functions/alphasort.texi: Renamed from
39635         doc/glibc-functions/alphasort.texi.
39636         * doc/posix-functions/dirfd.texi: Renamed from
39637         doc/glibc-functions/dirfd.texi.
39638         * doc/posix-functions/dprintf.texi: Renamed from
39639         doc/glibc-functions/dprintf.texi.
39640         * doc/posix-functions/duplocale.texi: Renamed from
39641         doc/glibc-functions/duplocale.texi.
39642         * doc/posix-functions/fexecve.texi: Renamed from
39643         doc/glibc-functions/fexecve.texi.
39644         * doc/posix-functions/fmemopen.texi: Renamed from
39645         doc/glibc-functions/fmemopen.texi.
39646         * doc/posix-functions/freelocale.texi: Renamed from
39647         doc/glibc-functions/freelocale.texi.
39648         * doc/posix-functions/getdate_err.texi: Renamed from
39649         doc/glibc-functions/getdate_err.texi.
39650         * doc/posix-functions/isalnum_l.texi: Renamed from
39651         doc/glibc-functions/isalnum_l.texi.
39652         * doc/posix-functions/isalpha_l.texi: Renamed from
39653         doc/glibc-functions/isalpha_l.texi.
39654         * doc/posix-functions/isblank_l.texi: Renamed from
39655         doc/glibc-functions/isblank_l.texi.
39656         * doc/posix-functions/iscntrl_l.texi: Renamed from
39657         doc/glibc-functions/iscntrl_l.texi.
39658         * doc/posix-functions/isdigit_l.texi: Renamed from
39659         doc/glibc-functions/isdigit_l.texi.
39660         * doc/posix-functions/isgraph_l.texi: Renamed from
39661         doc/glibc-functions/isgraph_l.texi.
39662         * doc/posix-functions/islower_l.texi: Renamed from
39663         doc/glibc-functions/islower_l.texi.
39664         * doc/posix-functions/isprint_l.texi: Renamed from
39665         doc/glibc-functions/isprint_l.texi.
39666         * doc/posix-functions/ispunct_l.texi: Renamed from
39667         doc/glibc-functions/ispunct_l.texi.
39668         * doc/posix-functions/isspace_l.texi: Renamed from
39669         doc/glibc-functions/isspace_l.texi.
39670         * doc/posix-functions/isupper_l.texi: Renamed from
39671         doc/glibc-functions/isupper_l.texi.
39672         * doc/posix-functions/iswalnum_l.texi: Renamed from
39673         doc/glibc-functions/iswalnum_l.texi.
39674         * doc/posix-functions/iswalpha_l.texi: Renamed from
39675         doc/glibc-functions/iswalpha_l.texi.
39676         * doc/posix-functions/iswblank_l.texi: Renamed from
39677         doc/glibc-functions/iswblank_l.texi.
39678         * doc/posix-functions/iswcntrl_l.texi: Renamed from
39679         doc/glibc-functions/iswcntrl_l.texi.
39680         * doc/posix-functions/iswctype_l.texi: Renamed from
39681         doc/glibc-functions/iswctype_l.texi.
39682         * doc/posix-functions/iswdigit_l.texi: Renamed from
39683         doc/glibc-functions/iswdigit_l.texi.
39684         * doc/posix-functions/iswgraph_l.texi: Renamed from
39685         doc/glibc-functions/iswgraph_l.texi.
39686         * doc/posix-functions/iswlower_l.texi: Renamed from
39687         doc/glibc-functions/iswlower_l.texi.
39688         * doc/posix-functions/iswprint_l.texi: Renamed from
39689         doc/glibc-functions/iswprint_l.texi.
39690         * doc/posix-functions/iswpunct_l.texi: Renamed from
39691         doc/glibc-functions/iswpunct_l.texi.
39692         * doc/posix-functions/iswspace_l.texi: Renamed from
39693         doc/glibc-functions/iswspace_l.texi.
39694         * doc/posix-functions/iswupper_l.texi: Renamed from
39695         doc/glibc-functions/iswupper_l.texi.
39696         * doc/posix-functions/iswxdigit_l.texi: Renamed from
39697         doc/glibc-functions/iswxdigit_l.texi.
39698         * doc/posix-functions/isxdigit_l.texi: Renamed from
39699         doc/glibc-functions/isxdigit_l.texi.
39700         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
39701         doc/glibc-functions/mbsnrtowcs.texi.
39702         * doc/posix-functions/mkdtemp.texi: Renamed from
39703         doc/glibc-functions/mkdtemp.texi.
39704         * doc/posix-functions/newlocale.texi: Renamed from
39705         doc/glibc-functions/newlocale.texi.
39706         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
39707         doc/glibc-functions/nl_langinfo_l.texi.
39708         * doc/posix-functions/open_memstream.texi: Renamed from
39709         doc/glibc-functions/open_memstream.texi.
39710         * doc/posix-functions/opterr.texi: Renamed from
39711         doc/glibc-functions/opterr.texi.
39712         * doc/posix-functions/optind.texi: Renamed from
39713         doc/glibc-functions/optind.texi.
39714         * doc/posix-functions/optopt.texi: Renamed from
39715         doc/glibc-functions/optopt.texi.
39716         * doc/posix-functions/psignal.texi: Renamed from
39717         doc/glibc-functions/psignal.texi.
39718         * doc/posix-functions/scandir.texi: Renamed from
39719         doc/glibc-functions/scandir.texi.
39720         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
39721         doc/glibc-functions/sched_get_priority_min.texi.
39722         * doc/posix-functions/signgam.texi: Renamed from
39723         doc/glibc-functions/signgam.texi.
39724         * doc/posix-functions/stpcpy.texi: Renamed from
39725         doc/glibc-functions/stpcpy.texi.
39726         * doc/posix-functions/stpncpy.texi: Renamed from
39727         doc/glibc-functions/stpncpy.texi.
39728         * doc/posix-functions/strcasecmp_l.texi: Renamed from
39729         doc/glibc-functions/strcasecmp_l.texi.
39730         * doc/posix-functions/strcoll_l.texi: Renamed from
39731         doc/glibc-functions/strcoll_l.texi.
39732         * doc/posix-functions/strfmon_l.texi: Renamed from
39733         doc/glibc-functions/strfmon_l.texi.
39734         * doc/posix-functions/strftime_l.texi: Renamed from
39735         doc/glibc-functions/strftime_l.texi.
39736         * doc/posix-functions/strncasecmp_l.texi: Renamed from
39737         doc/glibc-functions/strncasecmp_l.texi.
39738         * doc/posix-functions/strndup.texi: Renamed from
39739         doc/glibc-functions/strndup.texi.
39740         * doc/posix-functions/strnlen.texi: Renamed from
39741         doc/glibc-functions/strnlen.texi.
39742         * doc/posix-functions/strsignal.texi: Renamed from
39743         doc/glibc-functions/strsignal.texi.
39744         * doc/posix-functions/strxfrm_l.texi: Renamed from
39745         doc/glibc-functions/strxfrm_l.texi.
39746         * doc/posix-functions/timer_gettime.texi: Renamed from
39747         doc/glibc-functions/timer_gettime.texi.
39748         * doc/posix-functions/tolower_l.texi: Renamed from
39749         doc/glibc-functions/tolower_l.texi.
39750         * doc/posix-functions/toupper_l.texi: Renamed from
39751         doc/glibc-functions/toupper_l.texi.
39752         * doc/posix-functions/towctrans_l.texi: Renamed from
39753         doc/glibc-functions/towctrans_l.texi.
39754         * doc/posix-functions/towlower_l.texi: Renamed from
39755         doc/glibc-functions/towlower_l.texi.
39756         * doc/posix-functions/towupper_l.texi: Renamed from
39757         doc/glibc-functions/towupper_l.texi.
39758         * doc/posix-functions/uselocale.texi: Renamed from
39759         doc/glibc-functions/uselocale.texi.
39760         * doc/posix-functions/vdprintf.texi: Renamed from
39761         doc/glibc-functions/vdprintf.texi.
39762         * doc/posix-functions/wcpcpy.texi:
39763         Renamed from doc/glibc-functions/wcpcpy.texi.
39764         * doc/posix-functions/wcpncpy.texi: Renamed from
39765         doc/glibc-functions/wcpncpy.texi.
39766         * doc/posix-functions/wcscasecmp.texi: Renamed from
39767         doc/glibc-functions/wcscasecmp.texi.
39768         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
39769         doc/glibc-functions/wcscasecmp_l.texi.
39770         * doc/posix-functions/wcscoll_l.texi: Renamed from
39771         doc/glibc-functions/wcscoll_l.texi.
39772         * doc/posix-functions/wcsdup.texi: Renamed from
39773         doc/glibc-functions/wcsdup.texi.
39774         * doc/posix-functions/wcsncasecmp.texi: Renamed from
39775         doc/glibc-functions/wcsncasecmp.texi.
39776         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
39777         doc/glibc-functions/wcsncasecmp_l.texi.
39778         * doc/posix-functions/wcsnlen.texi: Renamed from
39779         doc/glibc-functions/wcsnlen.texi.
39780         * doc/posix-functions/wcsnrtombs.texi: Renamed from
39781         doc/glibc-functions/wcsnrtombs.texi.
39782         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
39783         doc/glibc-functions/wcsxfrm_l.texi.
39784         * doc/posix-functions/wctrans_l.texi: Renamed from
39785         doc/glibc-functions/wctrans_l.texi.
39786         * doc/posix-functions/wctype_l.texi: Renamed from
39787         doc/glibc-functions/wctype_l.texi.
39788         * doc/gnulib.texi (Function Substitutes): Add these subsections.
39789         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
39790         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
39791         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
39792         these subsections.
39793         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
39794         Remove sections.
39795
39796 2008-12-14  Bruno Haible  <bruno@clisp.org>
39797
39798         Update doc for POSIX:2008.
39799         * doc/posix-functions/*.texi: Update URL of POSIX specification.
39800
39801 2008-12-14  Bruno Haible  <bruno@clisp.org>
39802
39803         Update doc for POSIX:2008.
39804         * doc/pastposix-functions/bcmp.texi: Renamed from
39805         doc/posix-functions/bcmp.texi.
39806         * doc/pastposix-functions/bcopy.texi: Renamed from
39807         doc/posix-functions/bcopy.texi.
39808         * doc/pastposix-functions/bsd_signal.texi: Renamed from
39809         doc/posix-functions/bsd_signal.texi.
39810         * doc/pastposix-functions/bzero.texi: Renamed from
39811         doc/posix-functions/bzero.texi.
39812         * doc/pastposix-functions/ecvt.texi: Renamed from
39813         doc/posix-functions/ecvt.texi.
39814         * doc/pastposix-functions/fcvt.texi: Renamed from
39815         doc/posix-functions/fcvt.texi.
39816         * doc/pastposix-functions/ftime.texi: Renamed from
39817         doc/posix-functions/ftime.texi.
39818         * doc/pastposix-functions/gcvt.texi: Renamed from
39819         doc/posix-functions/gcvt.texi.
39820         * doc/pastposix-functions/getcontext.texi: Renamed from
39821         doc/posix-functions/getcontext.texi.
39822         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
39823         doc/posix-functions/gethostbyaddr.texi.
39824         * doc/pastposix-functions/gethostbyname.texi: Renamed from
39825         doc/posix-functions/gethostbyname.texi.
39826         * doc/pastposix-functions/getwd.texi: Renamed from
39827         doc/posix-functions/getwd.texi.
39828         * doc/pastposix-functions/h_errno.texi: Renamed from
39829         doc/posix-functions/h_errno.texi.
39830         * doc/pastposix-functions/index.texi: Renamed from
39831         doc/posix-functions/index.texi.
39832         * doc/pastposix-functions/makecontext.texi: Renamed from
39833         doc/posix-functions/makecontext.texi.
39834         * doc/pastposix-functions/mktemp.texi: Renamed from
39835         doc/posix-functions/mktemp.texi.
39836         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
39837         doc/posix-functions/pthread_attr_getstackaddr.texi.
39838         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
39839         doc/posix-functions/pthread_attr_setstackaddr.texi.
39840         * doc/pastposix-functions/rindex.texi: Renamed from
39841         doc/posix-functions/rindex.texi.
39842         * doc/pastposix-functions/scalb.texi: Renamed from
39843         doc/posix-functions/scalb.texi.
39844         * doc/pastposix-functions/setcontext.texi: Renamed from
39845         doc/posix-functions/setcontext.texi.
39846         * doc/pastposix-functions/swapcontext.texi: Renamed from
39847         doc/posix-functions/swapcontext.texi.
39848         * doc/pastposix-functions/ualarm.texi: Renamed from
39849         doc/posix-functions/ualarm.texi.
39850         * doc/pastposix-functions/usleep.texi: Renamed from
39851         doc/posix-functions/usleep.texi.
39852         * doc/pastposix-functions/vfork.texi: Renamed from
39853         doc/posix-functions/vfork.texi.
39854         * doc/pastposix-functions/wcswcs.texi: Renamed from
39855         doc/posix-functions/wcswcs.texi.
39856         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
39857         (Function Substitutes): Update.
39858
39859 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39860
39861         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
39862         m4/strerror.m4.
39863
39864 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39865             Bruno Haible  <bruno@clisp.org>
39866
39867         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
39868
39869 2008-12-13  Bruno Haible  <bruno@clisp.org>
39870
39871         * modules/strtoull (Depends-on): Remove unistd.
39872
39873 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39874
39875         * modules/strtoull (Depends-on): Add stdlib.
39876
39877 2008-12-11  Simon Josefsson  <simon@josefsson.org>
39878
39879         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
39880
39881 2008-12-10  Jim Meyering  <meyering@redhat.com>
39882
39883         gl_ASSERT: don't say assertions are disabled when they're not
39884         * m4/assert.m4 (gl_ASSERT): Do not make configure report
39885         "checking whether to enable assertions... no", when they are in
39886         fact enabled.  This is solely a bug in the output of configure.
39887         In spite of saying "no", NDEBUG was not defined in that case.
39888         Also, as noted by Eric Blake, leave assertions enabled upon
39889         --enable-assert=INVALID.
39890
39891 2008-12-10  Bruno Haible  <bruno@clisp.org>
39892
39893         Change MODULES.html to refer to POSIX:2008 where possible.
39894         * MODULES.html.sh (POSIX2008_URL): New variable.
39895         (posix_headers): Remove sys/timeb, ucontext.
39896         (posix2001_headers): New variable.
39897         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
39898         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
39899         index, makecontext, mktemp, pthread_attr_getstackaddr,
39900         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
39901         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
39902         (posix2001_functions): New variable.
39903         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
39904         otherwise.
39905
39906 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39907
39908         add missing include to parse-duration.c
39909         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
39910         * modules/parse-duration (Depends-on): Add xalloc.
39911
39912         fix sed script reading maint.mk
39913         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
39914         (syntax-check-rules): Use it.
39915
39916 2008-12-09  Bruno Haible  <bruno@clisp.org>
39917
39918         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
39919         MacOS X 10.4/PowerPC.
39920         Reported by Simon Josefsson.
39921
39922 2008-12-08  Jim Meyering  <meyering@redhat.com>
39923
39924         work around mingw's lack of some S_IF definitions
39925         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
39926         Reported by Simon Josefsson.
39927
39928 2008-12-08  Bruno Haible  <bruno@clisp.org>
39929
39930         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
39931         applied to variables. Needed on MacOS X 10.4/PowerPC.
39932         Reported by Simon Josefsson.
39933
39934 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
39935         and Eric Blake  <ebb9@byu.net>
39936
39937         assert: honor --enable-assert
39938         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
39939         order to honor --enable-assert, rather than treating it as a
39940         synonym for --disable-assert.
39941
39942 2008-12-08  Jim Meyering  <meyering@redhat.com>
39943
39944         * lib/posixtm.c: Remove now-useless declaration of mktime.
39945
39946         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
39947
39948 2008-12-07  Bruno Haible  <bruno@clisp.org>
39949
39950         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
39951         test_once): Mark functions as static.
39952         * tests/test-tls.c (test_tls): Likewise.
39953
39954 2008-12-07  Bruno Haible  <bruno@clisp.org>
39955
39956         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
39957         iconv_register_autodetect.
39958
39959 2008-12-07  Jim Meyering  <meyering@redhat.com>
39960
39961         posixtm.c: avoid a warning
39962         * lib/posixtm.c (posixtime): Don't initialize tm0.
39963         It's no longer needed to placate gcc4's -Wuninitialized,
39964         and the attempt to placate would elicit a new warning.
39965
39966         unicodeio.c: mark unused parameters
39967         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39968         (fallback_failure_callback): Likewise.
39969
39970 2008-12-07  Bruno Haible  <bruno@clisp.org>
39971
39972         * gnulib-tool (func_create_testdir): When building the tests
39973         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
39974         Reported by Simon Josefsson.
39975
39976 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39977
39978         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
39979
39980 2008-12-06  Bruno Haible  <bruno@clisp.org>
39981
39982         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
39983         Suggested by Eric Blake.
39984
39985 2008-12-06  Bruno Haible  <bruno@clisp.org>
39986
39987         Fix a c-stack test failure on MacOS X.
39988         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
39989         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
39990         handler for SIGBUS as well.
39991         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
39992         install a signal handler for SIGBUS as well.
39993         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
39994
39995 2008-12-06  Bruno Haible  <bruno@clisp.org>
39996
39997         Advocacy documentation.
39998         * doc/gnulib-intro.texi (Benefits): New section.
39999         * doc/gnulib.texi: Update.
40000
40001 2008-12-06  Bruno Haible  <bruno@clisp.org>
40002
40003         Document the 'manywarnings' module.
40004         * doc/manywarnings.texi: New file.
40005         * doc/gnulib.texi: Include it.
40006
40007 2008-12-05  Eric Blake  <ebb9@byu.net>
40008
40009         tests: silence some gcc warnings
40010         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
40011         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
40012         type mismatches.
40013
40014 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40015             Bruno Haible  <bruno@clisp.org>
40016
40017         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
40018
40019 2008-11-29  Jim Meyering  <meyering@redhat.com>
40020
40021         unicodeio.c: mark unused parameters
40022         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
40023         (fallback_failure_callback): Likewise.
40024
40025         fts: fix a thinko
40026         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
40027         (set_stat_type): Return S_IF*-valued "type" directly.
40028         Prompted by James Youngman's spotting a related bug.
40029         Confirmed by further testing through find.
40030
40031         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
40032         * lib/fts.c (D_TYPE): Define.
40033         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
40034         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
40035         (s_ifmt_shift_bits): New function.
40036         (set_stat_type): New function.
40037         (fts_build): When not calling fts_stat, call set_stat_type
40038         to propagate dirent.d_type info to fts_read caller.
40039         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
40040         fts_statp->st_mode type information may be valid.
40041
40042 2008-11-28  Simon Josefsson  <simon@josefsson.org>
40043
40044         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
40045         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
40046         <sds@gnu.org>.
40047
40048 2008-11-20  Bruno Haible  <bruno@clisp.org>
40049
40050         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
40051         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
40052         INCLUDE_NEXT.
40053         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
40054         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
40055         * modules/math (Makefile.am): Substitute
40056         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
40057         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40058
40059 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
40060             Bruno Haible  <bruno@clisp.org>
40061
40062         * lib/stdint.in.h: Define all type macros so that their expansion is
40063         a single typedef'ed token. Fixes a compilation failure in Boost which
40064         does "using ::int8_t;".
40065
40066 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40067
40068         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
40069         gl_MANYWARN_ALL_GCC.
40070         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
40071         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
40072         * modules/manywarnings: New file.
40073         * MODULES.html.sh: Mention manywarnings module.
40074
40075 2008-11-18  Bruno Haible  <bruno@clisp.org>
40076
40077         * doc/gnulib-tool.texi (Unit tests): New section.
40078
40079 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40080
40081         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
40082         paths like 'lib/po/foo.po'.
40083
40084 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40085
40086         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
40087         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
40088
40089 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40090
40091         * m4/warnings.m4: Use CPPFLAGS to really check whether the
40092         parameter works.
40093
40094 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40095
40096         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
40097
40098 2008-11-17  Bruce Korb  <bkorb@gnu.org>
40099
40100         * modules/parse-duration-tests: New file.
40101         * tests/test-parse-duration.sh: New file.
40102         * tests/test-parse-duration.c: New file.
40103
40104         New module 'parse-duration'.
40105         * lib/parse-duration.h: New file.
40106         * lib/parse-duration.c: New file.
40107         * modules/parse-duration: New file.
40108
40109 2008-11-17  Bruno Haible  <bruno@clisp.org>
40110
40111         * tests/test-select-out.sh: Comment out the first pipe test.
40112         Reported by Simon Josefsson.
40113
40114 2008-11-17  Bruno Haible  <bruno@clisp.org>
40115
40116         * modules/getaddrinfo (Depends-on): Add servent, hostent.
40117         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
40118         gl_HOSTENT.
40119
40120 2008-11-17  Bruno Haible  <bruno@clisp.org>
40121
40122         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
40123         -lnetwork and -lnet. Needed for Haiku and BeOS.
40124
40125 2008-11-16  Bruno Haible  <bruno@clisp.org>
40126
40127         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
40128
40129 2008-11-16  Bruno Haible  <bruno@clisp.org>
40130
40131         Avoid test failure on Haiku.
40132         * tests/test-fsync.c: Include <errno.h>.
40133         (main): Don't require that fsync (0) fails.
40134
40135 2008-11-15  Bruno Haible  <bruno@clisp.org>
40136
40137         New module 'hostent'.
40138         * modules/hostent: New file.
40139         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
40140
40141 2008-11-15  Bruno Haible  <bruno@clisp.org>
40142
40143         New module 'servent'.
40144         * modules/servent: New file.
40145         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
40146
40147 2008-11-15  Bruno Haible  <bruno@clisp.org>
40148
40149         Avoid generating same test program with two different rules.
40150         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
40151         test-frexp to test-frexp-nolibm.
40152         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
40153         test-frexpl to test-frexpl-nolibm.
40154
40155 2008-11-15  Bruno Haible  <bruno@clisp.org>
40156
40157         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
40158         $(FREXPL_LIBM).
40159
40160 2008-11-15  Bruno Haible  <bruno@clisp.org>
40161
40162         * lib/netdb.in.h: Activate the definitions also when the system's
40163         <netdb.h> has 'struct addrinfo'.
40164         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
40165         EAI_OVERFLOW or AI_NUMERICSERV.
40166         * doc/posix-headers/netdb.texi: Document the problem.
40167
40168 2008-11-15  Bruno Haible  <bruno@clisp.org>
40169
40170         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
40171
40172         Make the 'sched' module work on platforms where <sched.h> exists but
40173         is incomplete (such as Haiku).
40174         * lib/sched.in.h; Include the system's <sched.h> if it exists.
40175         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
40176         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
40177         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
40178         HAVE_STRUCT_SCHED_PARAM.
40179         * modules/sched (Depends-on): Add include_next.
40180         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
40181         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
40182         * doc/posix-headers/sched.texi: Document the issue.
40183
40184 2008-11-13  Jim Meyering  <meyering@redhat.com>
40185
40186         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
40187         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
40188         test would fail due to the difference in the Report bugs to ...
40189         line.  The expected address is empty, "<>", while the actual
40190         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
40191
40192 2008-11-12  Bruno Haible  <bruno@clisp.org>
40193
40194         lstat: don't compile lstat.c on systems lacking lstat
40195         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
40196         which don't have lstat; this is handled by lib/sys_stat.in.h already.
40197         Reported by Daniel P. Berrange via Jim Meyering.
40198
40199 2008-11-12  Jim Meyering  <meyering@redhat.com>
40200
40201         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
40202
40203 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40204
40205         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
40206         instead.
40207
40208 2008-11-12  Bruno Haible  <bruno@clisp.org>
40209
40210         * lib/unicodeio.c: Include unistr.h.
40211         (utf8_wctomb): Remove function.
40212         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
40213
40214 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40215
40216         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
40217         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
40218         <bruno@clisp.org>.
40219         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
40220
40221 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40222
40223         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
40224         * doc/gnulib.texi: Add section for warnings.
40225
40226 2008-11-11  Bruno Haible  <bruno@clisp.org>
40227
40228         * lib/sockets.h: Add a comment.
40229
40230 2008-11-11  Karl Berry  <karl@gnu.org>
40231
40232         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
40233
40234 2008-11-11  Eric Blake  <ebb9@byu.net>
40235
40236         fdl.texi: avoid git symlinks
40237         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
40238
40239 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40240
40241         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
40242
40243 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40244
40245         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
40246         (gl_WARN_ADD): Substitute $2 if literal.
40247
40248 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40249
40250         * m4/warning.m4: Remove.
40251
40252 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40253
40254         * m4/warnings.m4: Almost complete rewrite. :-)
40255
40256 2008-11-10  Simon Josefsson  <simon@josefsson.org>
40257
40258         * modules/warnings: New module.
40259         * m4/warnings.m4: New file.
40260         * MODULES.html.sh: Mention warnings module.
40261         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
40262         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40263
40264 2008-11-10  Eric Blake  <ebb9@byu.net>
40265
40266         fdl.texi: make a symlink to the latest version
40267         * doc/standards.texi: Revert today's earlier change.
40268         * doc/fdl-1.2.texi: Rename from old fdl.texi...
40269         * doc/fdl.texi: ...and replace this with a symlink to the newer
40270         fdl-1.3.texi.
40271
40272 2008-11-10  Bruno Haible  <bruno@clisp.org>
40273
40274         * tests/test-select-fd.c (main): Accept the result file name as fourth
40275         argument.
40276         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
40277         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
40278
40279 2008-11-10  Bruno Haible  <bruno@clisp.org>
40280
40281         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
40282         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
40283         as autoconf-substituted macros.
40284         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
40285         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
40286         gl_NETDB_H_DEFAULTS. Set these variables.
40287         * modules/netdb (Makefile.am): Substitute these variables.
40288
40289 2008-11-10  Eric Blake  <ebb9@byu.net>
40290
40291         standards.texi: include correct file for FDL 1.3
40292         * doc/standards.texi (GNU Free Documentation License): Change
40293         include file to pull in FDL 1.3, not 1.2.
40294
40295         fdl.texi: revert accidental change to license
40296         * doc/fdl.texi: This is FDL 1.2, not 1.3.
40297
40298 2008-11-10  Bruno Haible  <bruno@clisp.org>
40299
40300         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
40301         cross-compiling guesses also when the native compile gives no result.
40302
40303 2008-11-10  Bruno Haible  <bruno@clisp.org>
40304
40305         * lib/spawni.c (__spawni): Force variable into the stack.
40306
40307 2008-11-10  Bruno Haible  <bruno@clisp.org>
40308
40309         Add support for Haiku.
40310         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
40311         glibc and BeOS, but also on Haiku.
40312         * lib/fpurge.c (fpurge): Likewise.
40313         * lib/freadable.c (freadable): Likewise.
40314         * lib/freadahead.c (freadahead): Likewise.
40315         * lib/freading.c (freading): Likewise.
40316         * lib/freadptr.c (freadptr): Likewise.
40317         * lib/freadseek.c (freadptrinc): Likewise.
40318         * lib/fseeko.c (rpl_fseeko): Likewise.
40319         * lib/fseterr.c (fseterr): Likewise.
40320         * lib/fwritable.c (fwritable): Likewise.
40321         * lib/fwriting.c (fwriting): Likewise.
40322         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
40323
40324 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
40325
40326         * lib/config.charset: Treat Haiku like BeOS.
40327
40328 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
40329
40330         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
40331         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
40332
40333 2008-11-08  Bruno Haible  <bruno@clisp.org>
40334
40335         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
40336         AC_CACHE_CHECK.
40337
40338 2008-11-08  Bruno Haible  <bruno@clisp.org>
40339
40340         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
40341
40342 2008-11-08  Bruno Haible  <bruno@clisp.org>
40343
40344         * tests/test-select-fd.c: New file.
40345         * tests/test-select-in.sh: New file.
40346         * tests/test-select-out.sh: New file.
40347         * tests/test-select-stdin.c: New file.
40348         * modules/select-tests (Files): Add the new files.
40349         (Depends-on): Add gettimeofday.
40350         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
40351         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
40352         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
40353
40354 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
40355             Bruno Haible  <bruno@clisp.org>
40356
40357         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
40358
40359 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
40360
40361         * build-aux/pmccabe2html: Added support for C++ source files.
40362
40363 2008-11-05  Ben Pfaff  <blp@gnu.org>
40364
40365         Fix lib/close.c build on Windows.
40366         * modules/close (Files): Add lib/w32sock.h.
40367
40368 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
40369
40370         Accept Bison's NEWS format.
40371         * build-aux/announce-gen (print_news_deltas): Tweak
40372         $re_prefix.
40373
40374 2008-11-04  Bruno Haible  <bruno@clisp.org>
40375
40376         * modules/random_r (Maintainer): Add glibc.
40377
40378 2008-11-04  Simon Josefsson  <simon@josefsson.org>
40379
40380         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
40381         by karl@freefriends.org (Karl Berry).
40382         * doc/alloca.texi: Likewise.
40383         * doc/c-ctype.texi: Likewise.
40384         * doc/c-strcase.texi: Likewise.
40385         * doc/c-strcaseeq.texi: Likewise.
40386         * doc/c-strcasestr.texi: Likewise.
40387         * doc/c-strstr.texi: Likewise.
40388         * doc/c-strtod.texi: Likewise.
40389         * doc/c-strtold.texi: Likewise.
40390         * doc/ctime.texi: Likewise.
40391         * doc/error.texi: Likewise.
40392         * doc/fdl.texi: Likewise.
40393         * doc/gcd.texi: Likewise.
40394         * doc/getdate.texi: Likewise.
40395         * doc/gnulib-intro.texi: Likewise.
40396         * doc/gnulib-tool.texi: Likewise.
40397         * doc/gnulib.texi: Likewise.
40398         * doc/inet_ntoa.texi: Likewise.
40399         * doc/maintain.texi: Likewise.
40400         * doc/make-stds.texi: Likewise.
40401         * doc/quote.texi: Likewise.
40402         * doc/regexprops-generic.texi: Likewise.
40403         * doc/standards.texi: Likewise.
40404         * doc/verify.texi: Likewise.
40405         * doc/visibility.texi: Likewise.
40406         * doc/gnulib.texi (GNU Free Documentation License): Include
40407         fdl-1.3.texi instead of fdl.texi.
40408
40409 2008-11-04  Simon Josefsson  <simon@josefsson.org>
40410
40411         * doc/fdl-1.3.texi: New file, from
40412         <http://www.gnu.org/licenses/fdl-1.3.texi>.
40413         * modules/fdl-1.3: Add.
40414         * MODULES.html.sh: Add fdl-1.3.
40415
40416 2008-11-03  Bruno Haible  <bruno@clisp.org>
40417
40418         Make determination of absolute name of header file work with AIX xlc.
40419         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
40420         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
40421         preprocessing.
40422         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40423         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
40424
40425 2008-11-03  Simon Josefsson  <simon@josefsson.org>
40426
40427         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
40428         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
40429         <ludo@gnu.org>.
40430
40431 2008-11-02  Bruno Haible  <bruno@clisp.org>
40432
40433         Mark 'strpbrk' obsolete.
40434         * modules/strpbrk (Status, Notice): New sections.
40435         * modules/strtok_r (Depends-on): Add strpbrk.
40436
40437 2008-11-02  Bruno Haible  <bruno@clisp.org>
40438
40439         Mark 'strdup' obsolete.
40440         * modules/strdup (Status, Notice): New sections.
40441         * modules/findprog (Depends-on): Add strdup.
40442         * modules/getaddrinfo (Depends-on): Likewise.
40443         * modules/localename (Depends-on): Likewise.
40444         * modules/relocatable-lib (Depends-on): Likewise.
40445         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
40446         * modules/relocatable-prog (Depends-on): Likewise.
40447         * modules/trim (Depends-on): Likewise.
40448         * modules/unictype/gen-ctype (Depends-on): Likewise.
40449         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
40450
40451 2008-11-02  Bruno Haible  <bruno@clisp.org>
40452
40453         Mark 'strcspn' obsolete.
40454         * modules/strcspn (Status, Notice): New sections.
40455
40456 2008-11-02  Bruno Haible  <bruno@clisp.org>
40457
40458         Mark 'rmdir' obsolete.
40459         * modules/rmdir (Status, Notice): New sections.
40460         * modules/clean-temp (Depends-on): Add rmdir.
40461         * modules/openat (Depends-on): Likewise.
40462
40463 2008-11-02  Bruno Haible  <bruno@clisp.org>
40464
40465         Mark 'raise' obsolete.
40466         * modules/raise (Status, Notice): New sections.
40467         (Include): Specify <signal.h>.
40468         * modules/stdio (Depends-on): Add raise.
40469         * modules/write (Depends-on): Likewise.
40470
40471 2008-11-02  Bruno Haible  <bruno@clisp.org>
40472
40473         Mark 'memset' obsolete.
40474         * modules/memset (Status, Notice): New sections.
40475
40476 2008-11-02  Bruno Haible  <bruno@clisp.org>
40477
40478         Mark 'memmove' obsolete.
40479         * modules/memmove (Status, Notice): New sections.
40480         * modules/argp (Depends-on): Add memmove.
40481         * modules/argz (Depends-on): Likewise.
40482         * modules/canonicalize (Depends-on): Likewise.
40483         * modules/canonicalize-lgpl (Depends-on): Likewise.
40484         * modules/fts (Depends-on): Likewise.
40485         * modules/getcwd (Depends-on): Likewise.
40486         * modules/human (Depends-on): Likewise.
40487         * modules/regex (Depends-on): Likewise.
40488         * modules/striconveh (Depends-on): Likewise.
40489         * modules/trim (Depends-on): Likewise.
40490         * modules/unistr/u8-move (Depends-on): Likewise.
40491         * modules/unistr/u16-move (Depends-on): Likewise.
40492         * modules/unistr/u32-move (Depends-on): Likewise.
40493
40494 2008-11-02  Bruno Haible  <bruno@clisp.org>
40495
40496         Mark 'memcpy' obsolete.
40497         * modules/memcpy (Status, Notice): New sections.
40498
40499 2008-11-02  Bruno Haible  <bruno@clisp.org>
40500
40501         Mark 'memcmp' obsolete.
40502         * modules/memcmp (Status, Notice): New sections.
40503         * modules/argmatch (Depends-on): Add memchr.
40504         * modules/backupfile (Depends-on): Likewise.
40505         * modules/c-strcasestr (Depends-on): Likewise.
40506         * modules/crypto/des (Depends-on): Likewise.
40507         * modules/csharpcomp (Depends-on): Likewise.
40508         * modules/fnmatch (Depends-on): Likewise.
40509         * modules/git-merge-changelog (Depends-on): Likewise.
40510         * modules/isnand (Depends-on): Likewise.
40511         * modules/isnand-nolibm (Depends-on): Likewise.
40512         * modules/isnanf (Depends-on): Likewise.
40513         * modules/isnanf-nolibm (Depends-on): Likewise.
40514         * modules/isnanl (Depends-on): Likewise.
40515         * modules/isnanl-nolibm (Depends-on): Likewise.
40516         * modules/mbchar (Depends-on): Likewise.
40517         * modules/memcoll (Depends-on): Likewise.
40518         * modules/quotearg (Depends-on): Likewise.
40519         * modules/regex (Depends-on): Likewise.
40520         * modules/relocatable-prog (Depends-on): Likewise.
40521         * modules/same (Depends-on): Likewise.
40522         * modules/signbit (Depends-on): Likewise.
40523         * modules/strcasestr-simple (Depends-on): Likewise.
40524         * modules/unictype/gen-ctype (Depends-on): Likewise.
40525         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
40526         * modules/uniname/uniname (Depends-on): Likewise.
40527         * modules/unistr/u8-cmp (Depends-on): Likewise.
40528
40529 2008-11-02  Bruno Haible  <bruno@clisp.org>
40530
40531         Mark 'memchr' obsolete.
40532         * modules/memchr (Status, Notice): New sections.
40533         * modules/argp (Depends-on): Add memchr.
40534         * modules/base64 (Depends-on): Likewise.
40535         * modules/c-strcasestr (Depends-on): Likewise.
40536         * modules/chdir-long (Depends-on): Likewise.
40537         * modules/fnmatch (Depends-on): Likewise.
40538         * modules/getsubopt (Depends-on): Likewise.
40539         * modules/git-merge-changelog (Depends-on): Likewise.
40540         * modules/glob (Depends-on): Likewise.
40541         * modules/strcasestr-simple (Depends-on): Likewise.
40542         * modules/strnlen (Depends-on): Likewise.
40543
40544 2008-11-02  Bruno Haible  <bruno@clisp.org>
40545
40546         Mark 'atexit' obsolete.
40547         * modules/atexit (Status, Notice): New sections.
40548         * modules/chdir-long (Depends-on): Add atexit.
40549         * modules/wait-process (Depends-on): Likewise.
40550
40551 2008-11-02  Bruno Haible  <bruno@clisp.org>
40552
40553         * gnulib-tool: New option --with-obsolete.
40554         (func_usage): Document it.
40555         (func_modules_transitive_closure): Drop obsolete dependencies if
40556         incobsolete is not true.
40557         (func_import): Read and save the incobsolete variable to the cache.
40558
40559 2008-11-02  Bruno Haible  <bruno@clisp.org>
40560
40561         * modules/TEMPLATE-EXTENDED: New field 'Status'.
40562         * gnulib-tool: New option --extract-status.
40563         (func_usage): Document it.
40564         (sed_extract_prog): Recognize it.
40565         (func_get_status): New function.
40566
40567 2008-10-30  Simon Josefsson  <simon@josefsson.org>
40568
40569         * modules/sockets (License): Change from LGPL to LGPLv2+.
40570
40571 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40572
40573         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
40574
40575 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40576
40577         * MODULES.html.sh (Support for systems lacking POSIX:2001):
40578         Mention times and sys_times.
40579         * modules/sys_times, modules/sys_times-tests: New modules.
40580         * modules/times, modules/times-tests: Likewise
40581         * m4/sys_times_h.m4: New file.
40582         * lib/sys_times.in.h: Likewise
40583         * lib/times.c: Likewise.
40584         * tests/test-sys_times.c: Likewise.
40585         * tests/test-times.c: Likewise.
40586         * doc/posix-headers/sys_times.texi: Update.
40587         * doc/posix-functions/times.texi: Update.
40588
40589 2008-10-28  Jim Meyering  <meyering@redhat.com>
40590
40591         * modules/tempname (Depends-on): Add lstat.
40592
40593         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
40594
40595 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40596
40597         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
40598         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
40599         using idiom used elsewhere in gnulib.
40600
40601 2008-10-27  Jim Meyering  <meyering@redhat.com>
40602
40603         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
40604
40605 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40606
40607         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
40608         TESTS_ENVIRONMENT, for shell scripts that needs to call built
40609         programs.
40610         * tests/test-argp-2.sh: Use $EXEEXT when needed.
40611
40612 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40613
40614         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
40615
40616 2008-10-27  Bruno Haible  <bruno@clisp.org>
40617
40618         * tests/test-lstat.c: Include <stdio.h>.
40619
40620 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40621
40622         * modules/lstat-tests: New module.
40623         * tests/test-lstat.c: New file.
40624
40625 2008-10-26  Jim Meyering  <meyering@redhat.com>
40626
40627         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
40628
40629 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40630             Bruno Haible  <bruno@clisp.org>
40631
40632         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
40633         * modules/configmake (Include): Add a note that the include must come
40634         after all system headers.
40635         * lib/javaversion.c: Include configmake.h after all other includes.
40636
40637 2008-10-26  Bruno Haible  <bruno@clisp.org>
40638
40639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
40640         HAVE_STRUCT_RANDOM_DATA to 1.
40641         (gl_STDLIB_H): Simplify.
40642
40643 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40644
40645         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
40646         substitute HAVE_STRUCT_RANDOM_DATA.
40647         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
40648         random_data.
40649         * modules/stdlib (Makefile.am): Substitute
40650         HAVE_STRUCT_RANDOM_DATA.
40651
40652 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40653
40654         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
40655         * doc/gnulib-intro.texi (Copyright): Likewise.
40656
40657 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40658
40659         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
40660         findings.
40661
40662 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
40663             Bruno Haible  <bruno@clisp.org>
40664
40665         * lib/unistd.in.h: Include <winsock2.h>.
40666         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
40667         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
40668         Provide dummy declarations.
40669         (gethostname): Override.
40670         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
40671         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
40672         gl_PREREQ_SYS_H_WINSOCK2.
40673         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
40674         * doc/posix-functions/gethostname.texi: More details.
40675
40676 2008-10-25  Bruno Haible  <bruno@clisp.org>
40677
40678         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40679         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
40680         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
40681
40682         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
40683         here ...
40684         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
40685         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
40686         gl_UNISTD_H_DEFAULTS.
40687
40688 2008-10-25  Eric Blake  <ebb9@byu.net>
40689
40690         signbit: avoid spurious compiler failure
40691         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
40692         declarations inside function.
40693
40694 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40695             Bruno Haible  <bruno@clisp.org>
40696
40697         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
40698         * modules/random_r (Depends-on): Add stdint.
40699
40700 2008-10-24  Bruno Haible  <bruno@clisp.org>
40701
40702         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
40703         Eggert.
40704         * modules/strerror (License): Likewise.
40705
40706 2008-10-24  Jim Meyering  <meyering@redhat.com>
40707
40708         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
40709         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
40710
40711 2008-10-24  Eric Blake  <ebb9@byu.net>
40712
40713         getgroups: fix compilation when getgroups is available
40714         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
40715         but with <config.h> override of getgroups disabled.
40716
40717 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40718
40719         * doc/gnulib.texi (Header files): Add note about C++ problems.
40720         Explained by Bruno Haible <bruno@clisp.org>.
40721
40722 2008-10-23  Bruno Haible  <bruno@clisp.org>
40723
40724         Define a dummy SA_NODEFER macro on Interix.
40725         * lib/signal.in.h (SA_NODEFER): Define fallback.
40726         Reported by Aleksey Cheusov <cheusov@tut.by> via
40727         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
40728
40729 2008-10-23  Bruno Haible  <bruno@clisp.org>
40730
40731         * modules/freadahead (License): Change to LGPLv2+.
40732         Suggested by Simon Josefsson.
40733
40734 2008-10-23  Jim Meyering  <meyering@redhat.com>
40735
40736         random_r: new module
40737         * modules/random_r: New file.
40738         * m4/random_r.m4: New file.
40739         * lib/random_r.c: New file, from glibc.
40740         * modules/random_r-tests: New file.
40741         * tests/test-random_r.c: New file.
40742         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
40743          Declare.
40744         (RAND_MAX): Define.
40745         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
40746         * modules/stdlib: Substitute them, too.
40747         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
40748         * doc/glibc-functions/initstate_r.texi: Mention the new module.
40749         * doc/glibc-functions/random_r.texi: Likewise.
40750         * doc/glibc-functions/setstate_r.texi: Likewise.
40751         * doc/glibc-functions/srandom_r.texi: Likewise.
40752         * config/srclist.txt: Mention it.
40753
40754 2008-10-23  David Lutterkort  <lutter@redhat.com>
40755
40756         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
40757         link requirement
40758
40759 2008-10-23  Jim Meyering  <meyering@redhat.com>
40760
40761         selinux-h: mark parameters of stub functions as intentionally unused
40762         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
40763         * lib/se-context.in.h: Likewise.
40764
40765 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40766
40767         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
40768
40769 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40770
40771         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
40772
40773 2008-10-22  Eric Blake  <ebb9@byu.net>
40774
40775         glthread/thread: avoid compiler warning
40776         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
40777         Add unreachable abort to silence compiler.
40778
40779 2008-10-22  Eric Blake  <ebb9@byu.net>
40780
40781         netdb: also supply struct addrinfo for cygwin 1.5.x
40782         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
40783         older cygwin.
40784         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
40785         cygwin.
40786         * doc/posix-headers/netdb.texi (netdb.h): Document this.
40787
40788 2008-10-22  Bruno Haible  <bruno@clisp.org>
40789
40790         * users.txt: Update entry about pspp.
40791
40792 2008-10-21  Bruno Haible  <bruno@clisp.org>
40793
40794         Simplification.
40795         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
40796         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
40797
40798         Simplification.
40799         * lib/ioctl.c (ioctl): Don't undefine.
40800         * lib/socket.c (socket): Don't undefine.
40801
40802         Remove unused module indicator macros.
40803         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
40804         GNULIB_$1 as a C macro.
40805
40806         * doc/posix-functions/close.texi: Undo last change.
40807         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
40808         Windows platforms.
40809
40810 2008-10-21  Bruno Haible  <bruno@clisp.org>
40811
40812         Add gethostname() declaration to <unistd.h>.
40813         * lib/unistd.in.h (gethostname): New declaration.
40814         * lib/gethostname.c: Include <unistd.h>.
40815         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
40816         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
40817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
40818         and HAVE_GETHOSTNAME.
40819         * modules/gethostname (Depends-on): Add unistd.
40820         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40821         (Include): Specify <unistd.h>.
40822         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
40823         HAVE_GETHOSTNAME.
40824         * tests/test-gethostname.c: Include <unistd.h> first.
40825
40826 2008-10-21  Bruno Haible  <bruno@clisp.org>
40827
40828         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
40829         * modules/select-tests (Depends-on): Likewise.
40830         Reported by Simon Josefsson.
40831
40832 2008-10-21  Simon Josefsson  <simon@josefsson.org>
40833
40834         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
40835         * lib/accept.c: New file, based on winsock.c.
40836         * lib/bind.c: New file, based on winsock.c.
40837         * lib/connect.c: New file, based on winsock.c.
40838         * lib/getpeername.c: New file, based on winsock.c.
40839         * lib/getsockname.c: New file, based on winsock.c.
40840         * lib/getsockopt.c: New file, based on winsock.c.
40841         * lib/ioctl.c: New file, based on winsock.c.
40842         * lib/listen.c: New file, based on winsock.c.
40843         * lib/recv.c: New file, based on winsock.c.
40844         * lib/recvfrom.c: New file, based on winsock.c.
40845         * lib/send.c: New file, based on winsock.c.
40846         * lib/sendto.c: New file, based on winsock.c.
40847         * lib/setsockopt.c: New file, based on winsock.c.
40848         * lib/shutdown.c: New file, based on winsock.c.
40849         * lib/socket.c: New file, based on winsock.c.
40850         * lib/w32sock.h: New file, based on winsock.c.
40851         * lib/winsock.c: Remove file.
40852         * modules/accept: Likewise.
40853         * modules/bind: Likewise.
40854         * modules/connect: Likewise.
40855         * modules/getpeername: Likewise.
40856         * modules/getsockname: Likewise.
40857         * modules/getsockopt: Likewise.
40858         * modules/ioctl: Likewise.
40859         * modules/listen: Likewise.
40860         * modules/recv: Likewise.
40861         * modules/recvfrom: Likewise.
40862         * modules/send: Likewise.
40863         * modules/sendto: Likewise.
40864         * modules/setsockopt: Likewise.
40865         * modules/shutdown: Likewise.
40866         * modules/socket: Use socket.c instead of winsock.c.
40867         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
40868         * doc/posix-functions/accept.texi: Doc fix.
40869         * doc/posix-functions/bind.texi: Doc fix.
40870         * doc/posix-functions/close.texi: Doc fix.
40871         * doc/posix-functions/connect.texi: Doc fix.
40872         * doc/posix-functions/getpeername.texi: Doc fix.
40873         * doc/posix-functions/getsockname.texi: Doc fix.
40874         * doc/posix-functions/getsockopt.texi: Doc fix.
40875         * doc/posix-functions/ioctl.texi: Doc fix.
40876         * doc/posix-functions/listen.texi: Doc fix.
40877         * doc/posix-functions/recv.texi: Doc fix.
40878         * doc/posix-functions/recvfrom.texi: Doc fix.
40879         * doc/posix-functions/send.texi: Doc fix.
40880         * doc/posix-functions/sendto.texi: Doc fix.
40881         * doc/posix-functions/setsockopt.texi: Doc fix.
40882         * doc/posix-functions/shutdown.texi: Doc fix.
40883         * doc/posix-functions/socket.texi: Doc fix.
40884
40885 2008-10-20  Bruno Haible  <bruno@clisp.org>
40886
40887         Take into account the role of SIGABRT_COMPAT on Windows 2008.
40888         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
40889         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
40890         as an alias for SIGABRT.
40891         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
40892         (sigaction): Map it to SIGABRT.
40893         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
40894
40895 2008-10-20  Bruno Haible  <bruno@clisp.org>
40896
40897         * lib/fts.c: Don't include lstat.h.
40898         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
40899
40900         Move the lstat() declaration to <sys/stat.h>.
40901         * lib/lstat.h: Remove file.
40902         * lib/sys_stat.in.h: Add special invocation convention.
40903         (lstat): New declaration.
40904         * lib/lstat.c (orig_lstat): New function.
40905         (rpl_lstat): Use orig_lstat instead of lstat.
40906         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
40907         AC_C_INLINE. Set REPLACE_LSTAT.
40908         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
40909         and REPLACE_LSTAT.
40910         * modules/lstat (Files): Remove lib/lstat.h.
40911         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40912         (Include): Specify <sys/stat.h> instead of lstat.h.
40913         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
40914         REPLACE_LSTAT.
40915         * NEWS: Mention the change.
40916
40917 2008-10-20  Bruno Haible  <bruno@clisp.org>
40918
40919         * modules/posix_spawn-tests: New file.
40920         * tests/test-posix_spawn3.c: New file.
40921
40922 2008-10-20  Bruno Haible  <bruno@clisp.org>
40923
40924         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
40925         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40926         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
40927         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40928         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
40929
40930 2008-10-20  Bruno Haible  <bruno@clisp.org>
40931
40932         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
40933         of posix_spawn on AIX 5.3.
40934
40935 2008-10-20  Bruno Haible  <bruno@clisp.org>
40936
40937         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
40938
40939 2008-10-20  Bruno Haible  <bruno@clisp.org>
40940
40941         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
40942         of AC_LANG_PROGRAM.
40943
40944 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40945
40946         * lib/netdb.in.h: Don't define GNU specific constants until they
40947         are supported or needed.  Reported by Bruno Haible
40948         <bruno@clisp.org>.
40949
40950 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40951
40952         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
40953
40954 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40955
40956         * lib/getaddrinfo.h: Remove file.
40957         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
40958         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
40959         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
40960         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
40961         * modules/netdb: Substitute GNULIB_GETADDRINFO.
40962         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
40963         * tests/test-getaddrinfo.c: Likewise.
40964         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
40965         * NEWS: Mention change.
40966
40967 2008-10-19  Bruno Haible  <bruno@clisp.org>
40968
40969         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
40970
40971 2008-10-19  Bruno Haible  <bruno@clisp.org>
40972
40973         * lib/wait-process.c: Include simply <sys/wait.h>.
40974         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
40975         WIFSTOPPED): Remove fallback definitions.
40976         * modules/wait-process (Depends-on): Add sys_wait.
40977
40978         New module 'sys_wait'.
40979         * modules/sys_wait: New file.
40980         * lib/sys_wait.in.h: New file, partially copied from
40981         lib/wait-process.c.
40982         * m4/sys_wait_h.m4: New file.
40983         * doc/posix-headers/sys_wait.texi: Mention the new module.
40984
40985 2008-10-19  Bruno Haible  <bruno@clisp.org>
40986
40987         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
40988
40989 2008-10-19  Bruno Haible  <bruno@clisp.org>
40990
40991         Assume that waitpid() fills an 'int' status, not a 'union wait'.
40992         * lib/wait-process.c (WAIT_T): Remove type.
40993         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
40994         (wait_subprocess): Update.
40995
40996 2008-10-19  Bruno Haible  <bruno@clisp.org>
40997
40998         New module 'atoll'.
40999         * modules/atoll: New file.
41000         * lib/stdlib.in.h (atoll): New declaration.
41001         * lib/atoll.c: New file, from glibc with modifications.
41002         * m4/atoll.m4: New file.
41003         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
41004         HAVE_ATOLL.
41005         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
41006         * doc/posix-functions/atoll.texi: Mention the new module.
41007
41008 2008-10-19  Bruno Haible  <bruno@clisp.org>
41009
41010         Add strtoull() declaration to <stdlib.h>.
41011         * lib/stdlib.in.h (strtoull): New declaration.
41012         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41013         Set HAVE_STRTOULL.
41014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
41015         HAVE_STRTOULL.
41016         * modules/strtoull (Depends-on): Add stdlib.
41017         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41018         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
41019         HAVE_STRTOULL.
41020
41021 2008-10-19  Bruno Haible  <bruno@clisp.org>
41022
41023         Add strtoll() declaration to <stdlib.h>.
41024         * lib/stdlib.in.h (strtoll): New declaration.
41025         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41026         Set HAVE_STRTOLL.
41027         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
41028         HAVE_STRTOLL.
41029         * modules/strtoll (Depends-on): Add stdlib.
41030         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41031         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
41032
41033 2008-10-19  Bruno Haible  <bruno@clisp.org>
41034
41035         * modules/bcopy (Depends-on): Add strings.
41036         (Include): Specify <strings.h>.
41037
41038 2008-10-19  Bruno Haible  <bruno@clisp.org>
41039
41040         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
41041
41042 2008-10-19  Bruno Haible  <bruno@clisp.org>
41043
41044         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
41045         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
41046         mingw.
41047
41048 2008-10-19  Bruno Haible  <bruno@clisp.org>
41049
41050         * lib/atanl.c: Don't include isnanl.h.
41051         * lib/cosl.c: Likewise.
41052         * lib/ldexpl.c: Likewise.
41053         * lib/logl.c: Likewise.
41054         * lib/sinl.c: Likewise.
41055         * lib/sqrtl.c: Likewise.
41056         * lib/tanl.c: Likewise.
41057
41058         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
41059         * lib/isnanf.h: Remove file.
41060         * lib/isnand.h: Remove file.
41061         * lib/isnanl.h: Remove file.
41062         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
41063         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
41064         macros.
41065         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
41066         HAVE_ISNANF, don't define it as a C macro.
41067         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
41068         HAVE_ISNAND, don't define it as a C macro.
41069         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
41070         HAVE_ISNANL, don't define it as a C macro.
41071         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
41072         HAVE_ISNAN[FDL].
41073         * modules/isnanf (Files): Remove lib/isnanf.h.
41074         (Depends-on): Add math.
41075         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41076         (Include): Specify <math.h> instead of isnanf.h.
41077         * modules/isnand (Files): Remove lib/isnand.h.
41078         (Depends-on): Add math.
41079         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41080         (Include): Specify <math.h> instead of isnand.h.
41081         * modules/isnanl (Files): Remove lib/isnanl.h.
41082         (Depends-on): Add math.
41083         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41084         (Include): Specify <math.h> instead of isnanl.h.
41085         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
41086         HAVE_ISNAN[FDL].
41087         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
41088         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
41089         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
41090         * NEWS: Mention the change.
41091
41092 2008-10-18  Bruno Haible  <bruno@clisp.org>
41093
41094         Add getusershell(), setusershell(), endusershell() declarations to
41095         <unistd.h>.
41096         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
41097         declarations.
41098         * lib/getusershell.c: Include unistd.h.
41099         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
41100         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
41101         HAVE_GETUSERSHELL.
41102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
41103         and HAVE_GETUSERSHELL.
41104         * modules/getusershell (Depends-on): Add unistd, extensions.
41105         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41106         (Include): Specify <unistd.h>.
41107         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
41108         HAVE_GETUSERSHELL.
41109
41110 2008-10-18  Bruno Haible  <bruno@clisp.org>
41111
41112         Add a getloadavg() declaration to <stdlib.h>.
41113         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
41114         getloadavg declaration.
41115         (getloadavg): New declaration.
41116         * lib/getloadavg.c: Include <stdlib.h> first.
41117         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
41118         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
41119         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
41120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
41121         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41122         * modules/getloadavg (Depends-on): Add stdlib, extensions.
41123         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41124         (Include): Specify <stdlib.h>.
41125         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
41126         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41127
41128 2008-10-18  Bruno Haible  <bruno@clisp.org>
41129
41130         * lib/dirchownmod.c: Don't include lchmod.h.
41131
41132         Move the lchmod() declaration to <sys/stat.h>.
41133         * lib/lchmod.h: Remove file.
41134         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
41135         (lchmod): New declaration, moved here from lib/lchown.h.
41136         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
41137         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
41138         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
41139         and HAVE_LCHMOD.
41140         * modules/lchmod (Files): Remove lib/lchmod.h.
41141         (Depends-on): Add sys_stat, extensions.
41142         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
41143         (Include): Specify <sys/stat.h> instead of lchmod.h.
41144         * modules/sys_stat (Depends-on): Add link-warning.
41145         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
41146         definition of GL_LINK_WARNING.
41147         * NEWS: Mention the change.
41148
41149 2008-10-18  Bruno Haible  <bruno@clisp.org>
41150
41151         * lib/fchdir.c: Don't include dirfd.h.
41152         * lib/fts.c: Likewise.
41153         * lib/getcwd.c: Likewise.
41154         * lib/glob.c: Likewise.
41155
41156         Move the dirfd() declaration to <dirent.h>.
41157         * lib/dirfd.h: Remove file.
41158         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
41159         (dirfd): New declaration.
41160         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
41161         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
41162         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
41163         HAVE_DECL_DIRFD.
41164         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
41165         HAVE_DECL_DIRFD.
41166         * modules/dirfd (Files): Remove lib/dirfd.h.
41167         (Depends-on): Add dirent, extensions.
41168         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
41169         (Include): Specify <dirent.h> instead of dirfd.h.
41170         * modules/dirent (Depends-on): Add link-warning.
41171         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
41172         definition of GL_LINK_WARNING.
41173         * NEWS: Mention the change.
41174
41175 2008-10-18  Bruno Haible  <bruno@clisp.org>
41176
41177         Move the euidaccess() declaration to <unistd.h>.
41178         * lib/euidaccess.h: Remove file.
41179         * lib/unistd.in.h (euidaccess): New declaration.
41180         * lib/euidaccess.c: Don't include euidaccess.h.
41181         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
41182         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
41183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
41184         and HAVE_EUIDACCESS.
41185         * modules/euidaccess (Files): Remove lib/euidaccess.h.
41186         (Depends-on): Add unistd.
41187         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41188         (Include): Specify <unistd.h> instead of euidaccess.h.
41189         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
41190         HAVE_EUIDACCESS.
41191         * NEWS: Mention the change.
41192
41193 2008-10-18  Bruno Haible  <bruno@clisp.org>
41194
41195         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
41196
41197         Move the getdomainname() declaration to <unistd.h>.
41198         * lib/getdomainname.h: Remove file.
41199         * lib/unistd.in.h (getdomainname): New declaration.
41200         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
41201         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
41202         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
41203         HAVE_GETDOMAINNAME.
41204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41205         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
41206         * modules/getdomainname (Files): Remove lib/getdomainname.h.
41207         (Depends-on): Add unistd, extensions.
41208         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41209         (Includes): Specify <unistd.h> instead of getdomainname.h.
41210         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
41211         HAVE_GETDOMAINNAME.
41212         * NEWS: Mention the change.
41213
41214 2008-10-18  Bruno Haible  <bruno@clisp.org>
41215
41216         * modules/dirent: New file.
41217         * m4/dirent_h.m4: New file.
41218         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
41219         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
41220         * modules/fchdir (Files): Remove lib/dirent.in.h.
41221         (Depends-on): Add dirent.
41222         (Makefile.am): Move rules to modules/dirent.
41223         * doc/posix-headers/dirent.texi: Mention the new module.
41224
41225 2008-10-18  Bruno Haible  <bruno@clisp.org>
41226
41227         Avoid -Wunused-parameter warnings in public gnulib header files.
41228         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
41229         macro.
41230         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
41231
41232 2008-10-18  Bruno Haible  <bruno@clisp.org>
41233
41234         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
41235         * doc/glibc-functions/error.texi: Mention the module 'error'.
41236         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
41237         * doc/glibc-functions/getdomainname.texi: Mention the module
41238         'getdomainname'.
41239         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
41240         * doc/glibc-functions/getpagesize.texi: Mention the module
41241         'getpagesize'.
41242         * doc/glibc-functions/getusershell.texi: Mention the module
41243         'getusershell'.
41244         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
41245         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
41246         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
41247         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
41248         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
41249         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
41250         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
41251         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
41252         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
41253         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
41254         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
41255         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
41256         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
41257         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
41258
41259 2008-10-17  Bruno Haible  <bruno@clisp.org>
41260
41261         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
41262         HP-UX and IRIX, use -0.0L.
41263         * tests/test-ceill.c (minus_zero): Likewise.
41264         * tests/test-floorl.c (minus_zero): Likewise.
41265         * tests/test-frexpl.c (minus_zero): Likewise.
41266         * tests/test-isnan.c (minus_zerol): Likewise.
41267         * tests/test-isnanl.h (minus_zero): Likewise.
41268         * tests/test-ldexpl.c (minus_zero): Likewise.
41269         * tests/test-roundl.c (minus_zero): Likewise.
41270         * tests/test-signbit.c (minus_zerol): Likewise.
41271         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
41272         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
41273         * tests/test-truncl.c (minus_zero): Likewise.
41274         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
41275         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
41276         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
41277         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
41278
41279 2008-10-17  Bruno Haible  <bruno@clisp.org>
41280
41281         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
41282         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
41283         that it gets activated only for gcc >= 3.0.
41284         * lib/dirent.in.h: Likewise.
41285         * lib/errno.in.h: Likewise.
41286         * lib/fcntl.in.h: Likewise.
41287         * lib/float.in.h: Likewise.
41288         * lib/iconv.in.h: Likewise.
41289         * lib/inttypes.in.h: Likewise.
41290         * lib/locale.in.h: Likewise.
41291         * lib/math.in.h: Likewise.
41292         * lib/netdb.in.h: Likewise.
41293         * lib/netinet_in.in.h: Likewise.
41294         * lib/search.in.h: Likewise.
41295         * lib/signal.in.h: Likewise.
41296         * lib/spawn.in.h: Likewise.
41297         * lib/stdarg.in.h: Likewise.
41298         * lib/stdint.in.h: Likewise.
41299         * lib/stdio.in.h: Likewise.
41300         * lib/stdlib.in.h: Likewise.
41301         * lib/string.in.h: Likewise.
41302         * lib/strings.in.h: Likewise.
41303         * lib/sys_file.in.h: Likewise.
41304         * lib/sys_ioctl.in.h: Likewise.
41305         * lib/sys_select.in.h: Likewise.
41306         * lib/sys_socket.in.h: Likewise.
41307         * lib/sys_stat.in.h: Likewise.
41308         * lib/sys_time.in.h: Likewise.
41309         * lib/sysexits.in.h: Likewise.
41310         * lib/time.in.h: Likewise.
41311         * lib/unistd.in.h: Likewise.
41312         * lib/wchar.in.h: Likewise.
41313         * lib/wctype.in.h: Likewise.
41314         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41315
41316 2008-10-17  Jim Meyering  <meyering@redhat.com>
41317
41318         ignore-value: don't depend on inline module
41319         * modules/ignore-value (Depends-on): Remove 'inline'.
41320         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
41321         Suggestion from Bruno Haible.
41322
41323 2008-10-17  Bruno Haible  <bruno@clisp.org>
41324
41325         New implementation of condition variables for Win32.
41326         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
41327         (gl_linked_waitqueue_t): New type.
41328         (gl_cond_t): Use it.
41329         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
41330         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
41331         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
41332         (glthread_cond_init_func, glthread_cond_wait_func,
41333         glthread_cond_timedwait_func, glthread_cond_signal_func,
41334         glthread_cond_broadcast_func, glthread_cond_destroy_func):
41335         Reimplemented on the basis of gl_linked_waitqueue_t.
41336         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
41337         gl_waitqueue_t.
41338         (gl_rwlock_t): Update.
41339         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
41340
41341 2008-10-17  Simon Josefsson  <simon@josefsson.org>
41342
41343         * modules/recvfrom (Depends-on): Add dependency on getpeername.
41344         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41345
41346 2008-10-17  Jim Meyering  <meyering@redhat.com>
41347
41348         ignore-value: new module
41349         * modules/ignore-value: New file.
41350         * lib/ignore-value.h: New file.
41351         * MODULES.html.sh (Compiler warning management): New section,
41352         just for this module.  More to come.
41353
41354 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41355
41356         open-safer.c: avoid 'signed and unsigned in conditional...' warning
41357         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
41358         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
41359
41360 2008-10-16  Jim Meyering  <meyering@redhat.com>
41361
41362         openat-die.c: avoid 'no previous prototype' warning
41363         * lib/openat-die.c: Include "openat.h".
41364         Reported by Reuben Thomas <rrt@sc3d.org>.
41365
41366 2008-10-16  Simon Josefsson  <simon@josefsson.org>
41367
41368         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
41369         * lib/netdb.in.h: Fix typo.
41370         Reported by Bruno Haible  <bruno@clisp.org>
41371
41372         * lib/netdb.in.h: Include sys/socket.h for platforms without
41373         netdb.h, to get structures like hostent on MinGW.
41374         * modules/netdb (Depends-on): Add sys_socket.
41375
41376 2008-10-15  Simon Josefsson  <simon@josefsson.org>
41377
41378         * modules/netdb, modules/netdb-tests: New file.
41379         * m4/netdb_h.m4: New file.
41380         * lib/netdb.in.h: Add, currently just an empty file pending
41381         definitions.
41382         * tests/test-netdb.c: New file.
41383         * doc/posix-headers/netdb.texi: Mention that we replace it if
41384         needed.
41385         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41386         netdb.
41387
41388 2008-10-15  Simon Josefsson  <simon@josefsson.org>
41389
41390         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
41391         with code.
41392
41393 2008-10-13  Bruno Haible  <bruno@clisp.org>
41394
41395         * lib/glthread/cond.c (glthread_cond_wait_func,
41396         glthread_cond_timedwait_func): Add a comment.
41397
41398 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41399
41400         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
41401         * tests/test-select.c: Likewise,
41402
41403 2008-10-13  Bruno Haible  <bruno@clisp.org>
41404
41405         * lib/glthread/cond.c (glthread_cond_wait_func,
41406         glthread_cond_timedwait_func): Fix variable name.
41407         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41408
41409 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
41410
41411         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
41412         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
41413         struct sockaddr.sa_len.
41414         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
41415
41416 2008-10-13  Simon Josefsson  <simon@josefsson.org>
41417
41418         * build-aux/pmccabe2html: Add css and css_url parameters.
41419
41420 2008-10-12  Bruno Haible  <bruno@clisp.org>
41421
41422         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
41423         calling aclx_get.
41424         Reported by Rainer Tammer <tammer@tammer.net>.
41425
41426 2008-10-12  Bruno Haible  <bruno@clisp.org>
41427
41428         Use msvcrt aware primitives for creation/termination of Win32 threads.
41429         * lib/glthread/thread.c: Include <process.h>.
41430         (glthread_create_func): Use _beginthreadex instead of CreateThread.
41431         (wrapper_func): Update signature.
41432         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
41433
41434 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41435             Bruno Haible  <bruno@clisp.org>
41436
41437         Provide a Win32 implementation of the 'cond' module.
41438         * lib/glthread/cond.h [USE_WIN32]: New implementation.
41439         * lib/glthread/cond.c (glthread_cond_init_func,
41440         glthread_cond_wait_func, glthread_cond_timedwait_func,
41441         glthread_cond_signal_func, glthread_cond_broadcast_func,
41442         glthread_cond_destroy_func) [USE_WIN32]: New functions.
41443         * modules/cond (Dependencies): Add gettimeofday.
41444
41445 2008-10-11  Bruno Haible  <bruno@clisp.org>
41446
41447         Make sleep work on older versions of mingw.
41448         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
41449         only whether it exists.
41450         * doc/posix-functions/sleep.texi: Mention the problem with older
41451         versions of mingw.
41452
41453 2008-10-11  Bruno Haible  <bruno@clisp.org>
41454
41455         New module 'shutdown'.
41456         * modules/shutdown: New file.
41457         * lib/sys_socket.in.h (shutdown): New declaration.
41458         * lib/winsock.c (shutdown): New function.
41459         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
41460         GNULIB_SHUTDOWN.
41461         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
41462         * doc/posix-functions/shutdown.texi: Document the new module.
41463
41464 2008-10-11  Jim Meyering  <meyering@redhat.com>
41465
41466         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
41467
41468 2008-10-11  Bruno Haible  <bruno@clisp.org>
41469
41470         New module 'fclose'.
41471         * modules/fclose: New file.
41472         * lib/stdio.in.h (fclose): New declaration.
41473         * lib/fclose.c: New file.
41474         * m4/fclose.m4: New file.
41475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
41476         REPLACE_FCLOSE.
41477         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
41478         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
41479         REPLACE_FCLOSE.
41480         * modules/close (Depends-on): fclose.
41481         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
41482
41483 2008-10-11  Bruno Haible  <bruno@clisp.org>
41484
41485         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
41486         set errno and don't call _close.
41487
41488 2008-10-10  Bruno Haible  <bruno@clisp.org>
41489
41490         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
41491         ACL, not afterwards. Fixes test failure on Cygwin.
41492
41493 2008-10-09  Ben Pfaff  <blp@gnu.org>
41494
41495         * build-aux/announce-gen: Fix gnulib version related part of usage
41496         message.  Die with a useful error message if no tarballs are
41497         found.
41498
41499 2008-10-10  Jim Meyering  <meyering@redhat.com>
41500
41501         bootstrap: use git's --depth=N option only if it's supported
41502         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
41503         recognize the --depth option.  Reported by Pádraig Brady.
41504
41505 2008-10-09  Bruno Haible  <bruno@clisp.org>
41506
41507         New module 'ioctl'.
41508         * modules/ioctl: New file.
41509         * lib/sys_socket.in.h (ioctl): Remove declaration.
41510         * lib/winsock.c: Include <sys/ioctl.h>.
41511         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
41512         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
41513         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
41514         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
41515         * doc/posix-functions/ioctl.texi: Mention the new module.
41516
41517 2008-10-09  Bruno Haible  <bruno@clisp.org>
41518
41519         New module 'sys_ioctl'.
41520         * lib/sys_ioctl.in.h: New file.
41521         * m4/sys_ioctl_h.m4: New file.
41522         * modules/sys_ioctl: New file.
41523         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
41524
41525 2008-10-09  Bruno Haible  <bruno@clisp.org>
41526
41527         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
41528         * lib/winsock.c: Include <stdarg.h>.
41529         (rpl_ioctl): Change to second argument 'int' and then varargs.
41530
41531 2008-10-09  Bruno Haible  <bruno@clisp.org>
41532
41533         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
41534         when the sys_socket module is present and the system has <winsock2.h>.
41535
41536 2008-10-09  Bruno Haible  <bruno@clisp.org>
41537
41538         * doc/posix-functions/close.texi: Mention module 'close' instead of
41539         module 'sys_socket'.
41540
41541 2008-10-09  Bruno Haible  <bruno@clisp.org>
41542
41543         * doc/glibc-headers/sys_ioctl.texi: New file.
41544         * doc/gnulib.texi: Include it.
41545
41546 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41547             Bruno Haible  <bruno@clisp.org>
41548
41549         Combine the two replacements of 'close'.
41550         * lib/sys_socket.in.h (close): Define to a reminder to include
41551         <unistd.h>.
41552         (_gl_close_fd_maybe_socket): New declaration.
41553         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
41554         * lib/winsock.c (close): Remove undefinition.
41555         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
41556         needed for the gnulib module 'close'.
41557         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
41558         define to an error symbol or to a warning, if suitable.
41559         * lib/close.c: Include <sys/socket.h>.
41560         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
41561         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
41562         UNISTD_H_HAVE_WINSOCK2_H.
41563         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
41564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41565         UNISTD_H_HAVE_WINSOCK2_H.
41566         * modules/sys_socket (Files): Add m4/unistd_h.m4.
41567         (configure.ac): Set a module indicator.
41568         (Makefile.am): Substitute GNULIB_CLOSE.
41569         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
41570         * modules/poll-tests (Depends-on): Add close.
41571         * modules/select-tests (Depends-on): Likewise.
41572
41573 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41574             Bruno Haible  <bruno@clisp.org>
41575
41576         New module 'close'.
41577         * modules/close: New file.
41578         * lib/unistd.in.h (close): Move declaration out of the
41579         FCHDIR_REPLACEMENT scope.
41580         (_gl_unregister_fd): New declaration.
41581         * lib/close.c: New file.
41582         * lib/fchdir.c (rpl_close): Remove function.
41583         * m4/close.m4: New file.
41584         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41585         close.
41586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
41587         REPLACE_CLOSE.
41588         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
41589         REPLACE_CLOSE.
41590         * modules/fchdir (Depends-on): Add close.
41591
41592 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41593             Bruno Haible  <bruno@clisp.org>
41594
41595         * lib/fcntl.in.h (open): Simplify conditionals.
41596         (_gl_register_fd): New declaration.
41597         * lib/fchdir.c (rpl_open): Remove function.
41598         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
41599         also.
41600         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
41601         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41602         open.
41603
41604 2008-10-09  Jim Meyering  <meyering@redhat.com>
41605
41606         GNUmakefile: use the more name-space-friendly "_version"
41607         * top/GNUmakefile (_dummy): Update.
41608         (_version): Rename from "version".
41609
41610 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41611             Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
41614         rpl_close.
41615         (_gl_register_fd): New function, extracted from rpl_open.
41616         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
41617         (rpl_open, rpl_opendir): Use _gl_register_fd.
41618
41619 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41620
41621         Fix organization of 'open' replacement.
41622         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
41623         (gl_FUNC_OPEN): Use it.
41624         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
41625
41626 2008-10-08  Bruno Haible  <bruno@clisp.org>
41627
41628         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
41629
41630 2008-10-08  Simon Josefsson  <simon@josefsson.org>
41631
41632         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
41633         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
41634         listen).
41635
41636 2008-10-08  Eric Blake  <ebb9@byu.net>
41637
41638         GNUmakefile: add 'make version' target
41639         * top/GNUmakefile (_curr-ver): Split version update rules...
41640         (version): ...into a target.
41641
41642 2008-10-07  Bruno Haible  <bruno@clisp.org>
41643
41644         Use a more portable replacement expression for -0.0L.
41645         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
41646         instead of -0.0L. Fix m4 quotation.
41647
41648         * tests/test-signbit.c: Include <float.h>.
41649         (minus_zero): New variable.
41650         (test_signbitl): Use minus_zero instead of -zero.
41651         * modules/signbit-tests (Depends-on): Add float.
41652
41653         * tests/test-ceill.c: Include <float.h>.
41654         (zero): Remove variable.
41655         (minus_zero): New variable.
41656         (main): Use minus_zero instead of -zero.
41657         * modules/ceill-tests (Depends-on): Add float.
41658
41659         * tests/test-floorl.c: Include <float.h>.
41660         (zero): Remove variable.
41661         (minus_zero): New variable.
41662         (main): Use minus_zero instead of -zero.
41663         * modules/floorl-tests (Depends-on): Add float.
41664
41665         * tests/test-roundl.c: Include <float.h>.
41666         (zero): Remove variable.
41667         (minus_zero): New variable.
41668         (main): Use minus_zero instead of -zero.
41669         * modules/roundl-tests (Depends-on): Add float.
41670
41671         * tests/test-truncl.c: Include <float.h>.
41672         (zero): Remove variable.
41673         (minus_zero): New variable.
41674         (main): Use minus_zero instead of -zero.
41675         * modules/truncl-tests (Depends-on): Add float.
41676
41677         * tests/test-frexpl.c (zero): Remove variable.
41678         (minus_zero): New variable.
41679         (main): Use minus_zero instead of -zero.
41680         * modules/frexpl-tests (Depends-on): Add float.
41681
41682         * tests/test-isnan.c (zerol): Remove variable.
41683         (minus_zerol): New variable.
41684         (test_long_double): Use minus_zerol instead of -zerol.
41685         * modules/isnan-tests (Depends-on): Add float.
41686
41687         * tests/test-isnanl.h (zero): Remove variable.
41688         (minus_zero): New variable.
41689         (main): Use minus_zero instead of -zero.
41690         * modules/isnanl-nolibm-tests (Depends-on): Add float.
41691         * modules/isnanl-tests (Depends-on): Add float.
41692
41693         * tests/test-ldexpl.c (zero): Remove variable.
41694         (minus_zero): New variable.
41695         (main): Use minus_zero instead of -zero.
41696         * modules/ldexpl-tests (Depends-on): Add float.
41697
41698         * tests/test-snprintf-posix.h (zerol): Remove variable.
41699         (minus_zerol): New variable.
41700         (test_function): Use minus_zerol instead of -zerol.
41701         * modules/snprintf-posix-tests (Depends-on): Add float.
41702         * modules/vsnprintf-posix-tests (Depends-on): Add float.
41703
41704         * tests/test-sprintf-posix.h (zerol): Remove variable.
41705         (minus_zerol): New variable.
41706         (test_function): Use minus_zerol instead of -zerol.
41707         * modules/sprintf-posix-tests (Depends-on): Add float.
41708         * modules/vsprintf-posix-tests (Depends-on): Add float.
41709
41710         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
41711         (minus_zerol): New variable.
41712         (test_function): Use minus_zerol instead of -zerol.
41713         * modules/vasnprintf-posix-tests (Depends-on): Add float.
41714
41715         * tests/test-vasprintf-posix.c (zerol): Remove variable.
41716         (minus_zerol): New variable.
41717         (test_function): Use minus_zerol instead of -zerol.
41718         * modules/vasprintf-posix-tests (Depends-on): Add float.
41719
41720 2008-10-07  Simon Josefsson  <simon@josefsson.org>
41721
41722         * MODULES.html.sh (Support for building documentation): Mention
41723         pmccabe2html.  Sort entries.
41724
41725         Add pmccabe2html module, from gnupdf.
41726         * build-aux/pmccabe.css: New file.
41727         * build-aux/pmccabe2html: New file.
41728         * m4/pmccabe2html.m4: New file.
41729         * modules/pmccabe2html: New file.
41730
41731 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
41732
41733         flock: new module
41734         * MODULES.html.sh: Add to list of modules.
41735         * lib/flock.c: flock implementation for Windows and Unix systems
41736         which have fcntl.
41737         * doc/glibc-functions/flock.texi: Update documentation.
41738         * lib/sys_file.in.h: <sys/file.h> header file.
41739         * m4/flock.m4: M4 macros.
41740         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
41741         * modules/flock: flock module.
41742         * modules/flock-tests: flock tests module.
41743         * modules/sys_file: sys/file.h module.
41744         * tests/test-flock.c: test suite for flock.
41745
41746 2008-10-06  Jim Meyering  <meyering@redhat.com>
41747
41748         bootstrap: check for LT_INIT more portably still ;-)
41749         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
41750         Spotted by Bruno Haible.
41751
41752 2008-10-06  Eric Blake  <ebb9@byu.net>
41753
41754         test-signbit: avoid tripping Irix cc bug on -0.0L
41755         * tests/test-signbit.c (minus_zerol): Delete, and replace with
41756         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
41757         entire testsuite consistent and avoids an Irix 6.2 bug.
41758
41759 2008-10-05  Bruno Haible  <bruno@clisp.org>
41760             Jim Meyering  <jim@meyering.net>
41761
41762         Add an option for ignoring EPIPE during close_stdout.
41763         * lib/closeout.h: Include <stdbool.h>.
41764         (close_stdout_set_ignore_EPIPE): New declaration.
41765         * lib/closeout.c: Include <stdbool.h>.
41766         (ignore_EPIPE): New variable.
41767         (close_stdout_set_ignore_EPIPE): New function.
41768         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
41769         * lib/close-stream.c (close_stream): Mention the possible EPIPE
41770         failure.
41771         * modules/closeout (Depends-on): Add stdbool.
41772
41773 2008-10-05  Bruno Haible  <bruno@clisp.org>
41774
41775         * modules/accept: New file.
41776         * modules/bind: New file.
41777         * modules/connect: New file.
41778         * modules/getpeername: New file.
41779         * modules/getsockname: New file.
41780         * modules/getsockopt: New file.
41781         * modules/listen: New file.
41782         * modules/recv: New file.
41783         * modules/recvfrom: New file.
41784         * modules/send: New file.
41785         * modules/sendto: New file.
41786         * modules/setsockopt: New file.
41787         * modules/socket: New file.
41788         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
41789         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
41790         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
41791         the particular module is requested. Add a link warning when the
41792         particular module is not requested.
41793         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
41794         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
41795         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
41796         the particular module is requested.
41797         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
41798         gl_SYS_SOCKET_H_DEFAULTS): New macros.
41799         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
41800         * modules/sys_socket (Depends-on): Add link-warning.
41801         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
41802         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
41803         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
41804         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
41805         GL_LINK_WARNING.
41806         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
41807         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
41808         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
41809         * doc/posix-functions/getpeername.texi: Mention the new module
41810         'getpeername'.
41811         * doc/posix-functions/getsockname.texi: Mention the new module
41812         'getsockname'.
41813         * doc/posix-functions/getsockopt.texi: Mention the new module
41814         'getsockopt'.
41815         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
41816         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
41817         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
41818         * doc/posix-functions/send.texi: Mention the new module 'send'.
41819         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
41820         * doc/posix-functions/setsockopt.texi: Mention the new module
41821         'setsockopt'.
41822         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
41823         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
41824         listen, connect, accept.
41825         * modules/select-tests (Depends-on): Likewise.
41826
41827 2008-10-05  Bruno Haible  <bruno@clisp.org>
41828
41829         * lib/winsock.c (strerror): Remove unused #undef.
41830         (rpl_close): Remove unused local variable.
41831
41832         * modules/sys_socket (Depends-on); Add errno.
41833
41834 2008-10-05  Bruno Haible  <bruno@clisp.org>
41835
41836         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
41837         (select): Add a link warning when the 'select' module is not used.
41838         * modules/sys_select (Depends-on): Add link-warning.
41839         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
41840         Suggested by Paolo Bonzini.
41841
41842 2008-10-05  Jim Meyering  <meyering@redhat.com>
41843
41844         bootstrap: check for LT_INIT more portably
41845         * build-aux/bootstrap: Avoid using grep -E, since it's not
41846         portable enough.  Suggestion from Bruno Haible.
41847
41848 2008-10-05  Bruno Haible  <bruno@clisp.org>
41849
41850         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
41851         as being fixed by gnulib.
41852
41853 2008-10-05  Bruno Haible  <bruno@clisp.org>
41854
41855         * modules/select-tests: New file, mostly copied from
41856         modules/sys_select-tests.
41857         * tests/test-select.c: New file, mostly copied from
41858         tests/test-sys_select.c.
41859         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
41860         * modules/sys_select-tests (Depends-on): Remove all dependencies.
41861         (Makefile.am): Remove test_sys_select_LDADD.
41862
41863         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
41864         to an undefined symbol, for an error message.
41865         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
41866         (gl_SYS_SELECT_H_DEFAULTS): New macro.
41867         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
41868         winsock-select.c here.
41869         * modules/sys_select (Files): Remove lib/winsock-select.c.
41870         (Depends-on): Remove alloca.
41871         (Makefile.am): Substitute GNULIB_SELECT.
41872         * modules/select: New file.
41873         * doc/posix-functions/select.texi: Update.
41874
41875 2008-10-05  Bruno Haible  <bruno@clisp.org>
41876
41877         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
41878         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
41879         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
41880         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
41881         getdtablesize.
41882         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
41883         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
41884
41885 2008-10-05  Bruno Haible  <bruno@clisp.org>
41886
41887         * modules/getdtablesize-tests: New file.
41888         * tests/test-getdtablesize.c: New file.
41889
41890         New module 'getdtablesize'.
41891         * lib/unistd.in.h (getdtablesize): New declaration.
41892         * lib/getdtablesize.c: New file.
41893         * m4/getdtablesize.m4: New file.
41894         * modules/getdtablesize: New file.
41895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41896         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
41897         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
41898         HAVE_GETDTABLESIZE.
41899         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
41900
41901 2008-10-05  Bruno Haible  <bruno@clisp.org>
41902
41903         * modules/sched (Makefile.am): Fix typo.
41904         Reported by Simon Josefsson.
41905
41906 2008-10-05  Jim Meyering  <meyering@redhat.com>
41907
41908         bootstrap: check for LT_INIT, too
41909         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
41910         are deprecated.  Suggestion from Ralf Wildenhues.
41911
41912 2008-10-05  Bruno Haible  <bruno@clisp.org>
41913
41914         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
41915         overriding them by ours.
41916         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
41917
41918 2008-10-05  Jim Meyering  <meyering@redhat.com>
41919
41920         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
41921         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
41922         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
41923
41924 2008-10-04  Bruno Haible  <bruno@clisp.org>
41925
41926         * modules/dup2 (License): Change to LGPLv2+.
41927         * modules/sleep (License): Likewise.
41928         * modules/perror (License): Likewise.
41929         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
41930         Blake.
41931         * modules/signal (License): Likewise.
41932         * modules/sigprocmask (License): Likewise.
41933         * modules/raise (License): Change to LGPLv2+, with approval by Jim
41934         Meyering.
41935
41936 2008-10-04  Bruno Haible  <bruno@clisp.org>
41937
41938         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
41939         Reported by Rainer Tammer <tammer@tammer.net>.
41940
41941 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
41942             Bruno Haible  <bruno@clisp.org>
41943
41944         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
41945         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
41946         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
41947
41948 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
41949
41950         filevercmp: new module
41951         * lib/filevercmp.h: New function filevercmp comparing version strings.
41952         * lib/filevercmp.c: Implementation of filevercmp function.
41953         * modules/filevercmp: Module metadata.
41954         * tests/test-filevercmp.c: Unit test for new module.
41955         * modules/filevercmp-tests: Unit test metadata.
41956         * MODULES.html.sh: Add filevercmp module.
41957
41958 2008-10-03  Bruno Haible  <bruno@clisp.org>
41959
41960         * lib/c-ctype.h: Add comment.
41961         Reported by Jim Meyering.
41962
41963 2008-10-02  Bruno Haible  <bruno@clisp.org>
41964
41965         * modules/posix_spawn-internal (Depends-on): Add 'open'.
41966
41967 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41968
41969         * build-aux/bootstrap: Allow renaming bootstrap, and change the
41970         name of bootstrap.conf accordingly.
41971
41972 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41973
41974         * build-aux/bootstrap: Install git-merge-changelog configuration
41975         items into .gitconfig if needed.
41976
41977 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41978
41979         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
41980         git repository, and initialize/update it accordingly.
41981
41982 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
41983
41984         * modules/fsync-tests: New file.
41985         * tests/test-fsync.c: New file.
41986
41987         New module 'fsync'.
41988         * lib/fsync.c: New file.
41989         * m4/fsync.m4: New file.
41990         * modules/fsync: New file.
41991         * lib/unistd.in.h (fsync): New declaration.
41992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
41993         GNULIB_FSYNC and HAVE_FSYNC.
41994         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
41995         * MODULES.html.sh (posix_functions): Add fsync.
41996         * doc/posix-functions/fsync.texi: Mention the new module.
41997
41998 2008-10-02  Jim Meyering  <meyering@redhat.com>
41999
42000         fts.c: sync with similar code from coreutils' remove.c
42001         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
42002         Guard also with "#if defined __linux__", since for now at least,
42003         this code is Linux-kernel-specific.
42004
42005 2008-10-02  Jim Meyering  <meyering@redhat.com>
42006
42007         fts: bug fixes
42008         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
42009         Include <sys/vfs.h>, not <sys/statfs.h>.
42010
42011         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
42012         Include <sys/vfs.h>, not <sys/statfs.h>.
42013
42014 2008-10-01  Bruno Haible  <bruno@clisp.org>
42015
42016         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
42017         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
42018         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
42019         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
42020         * doc/posix-functions/posix_spawnp.texi: Likewise.
42021         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
42022         whether posix_spawn actually works.
42023         * m4/pipe.m4 (gl_PIPE): Likewise.
42024         * modules/execute (Files): Add m4/posix_spawn.m4.
42025         * modules/pipe (Files): Add m4/posix_spawn.m4.
42026         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
42027
42028 2008-10-01  Jim Meyering  <meyering@redhat.com>
42029
42030         remove trailing spaces
42031         * NEWS: Likewise.
42032         * lib/poll.c (poll): Likewise.
42033         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
42034         * lib/winsock.c (rpl_close): Likewise.
42035         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
42036         * modules/yield: Likewise.
42037         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
42038         * tests/test-sys_select.c (connect_to_socket): Likewise.
42039
42040         fts.c: adjust a new interface to be more generally useful
42041         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
42042         (fts_build): Adjust caller.
42043
42044 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42045
42046         * modules/cond-tests: New file.
42047         * tests/test-cond.c: New file.
42048
42049 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42050             Bruno Haible  <bruno@clisp.org>
42051
42052         * modules/cond (Dependencies): Add errno, time.
42053         * lib/glthread/cond.h: Include <time.h>.
42054         (gl_cond_define, gl_cond_define_initialized): Use the same definition
42055         across platforms.
42056
42057 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42058             Bruno Haible  <bruno@clisp.org>
42059
42060         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
42061
42062 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42063             Bruno Haible  <bruno@clisp.org>
42064
42065         * modules/tls-tests (Depends-on): Add thread, yield.
42066         (configure.ac): Remove all checks.
42067         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
42068         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42069         gl_thread_self): Remove definitions. Include glthread/thread.h and
42070         glthread/yield.h instead.
42071         (test_tls): Pass an additional NULL argument to gl_thread_join.
42072
42073 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42074             Bruno Haible  <bruno@clisp.org>
42075
42076         * modules/lock-tests (Depends-on): Add thread, yield.
42077         (configure.ac): Remove all checks.
42078         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
42079         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42080         gl_thread_self): Remove definitions. Include glthread/thread.h and
42081         glthread/yield.h instead.
42082         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
42083         additional NULL argument to gl_thread_join.
42084
42085 2008-09-30  Bruno Haible  <bruno@clisp.org>
42086
42087         Fix the Win32 implementation of the 'thread' module.
42088         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
42089         pointer type.
42090         (gl_thread_self): Invoke gl_thread_self_func.
42091         (gl_thread_self_func): New declaration.
42092         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
42093         (do_init_self_key, init_self_key): New functions.
42094         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
42095         Remove some fields.
42096         (running_threads, running_lock): Remove variables.
42097         (get_current_thread_handle): New function.
42098         (gl_thread_self_func, wrapper_func, glthread_create_func,
42099         glthread_join_func, gl_thread_exit_func): Largely rewritten and
42100         simplified.
42101
42102 2008-09-30  Bruno Haible  <bruno@clisp.org>
42103
42104         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
42105         files.
42106
42107 2008-09-30  Jim Meyering  <meyering@redhat.com>
42108
42109         fts.m4: correct the test for statfs.f_type
42110         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
42111         when checking for statfs.f_type.
42112
42113 2008-09-15  Simon Josefsson  <simon@josefsson.org>
42114
42115         tests: avoid some compiler warnings
42116         * tests/test-memchr.c (main): Pass NULL indirectly.
42117         * tests/test-getdate.c (main): Remove unused variable 'ret'.
42118
42119 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
42120
42121         getdate.y: disallow countable dayshifts like "4 yesterday ago"
42122         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
42123         exactly specified dayshifts.
42124         (dayshift): New rule.
42125         (rel): Add dayshift.
42126         (relative_time_table) [tomorrow, yesterday, today, now]:
42127         Use tDAY_SHIFT in place of tDAY_UNIT.
42128         * tests/test-getdate.c: Add tests for now-disallowed countable
42129         dayshifts, e.g., "4 yesterday ago".
42130
42131 2008-09-29  Bruno Haible  <bruno@clisp.org>
42132
42133         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
42134         * tests/test-posix_spawn1.in.sh: Renamed from
42135         tests/test-posix_spawn.in.sh.
42136         * tests/test-posix_spawn2.c: New file.
42137         * tests/test-posix_spawn2.in.sh: New file.
42138         * modules/posix_spawnp-tests (Files): Update.
42139         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
42140
42141 2008-09-29  Bruno Haible  <bruno@clisp.org>
42142
42143         Propagate effects of putenv/setenv/unsetenv to child processes.
42144         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
42145         * lib/pipe.c (create_pipe): Likewise.
42146
42147 2008-09-29  Bruno Haible  <bruno@clisp.org>
42148
42149         Enable use of shell scripts as executables in mingw.
42150         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
42151         run the program as a shell script.
42152         * lib/pipe.c (create_pipe): Likewise.
42153         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
42154         resulting array.
42155
42156 2008-09-29  Eric Blake  <ebb9@byu.net>
42157
42158         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
42159
42160 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
42161
42162         * doc/posix-functions/accept.texi: Update mingw problems.
42163         * doc/posix-functions/bind.texi: Update mingw problems.
42164         * doc/posix-functions/close.texi: Update mingw problems.
42165         * doc/posix-functions/connect.texi: Update mingw problems.
42166         * doc/posix-functions/getpeername.texi: Update mingw problems.
42167         * doc/posix-functions/getsockname.texi: Update mingw problems.
42168         * doc/posix-functions/getsockopt.texi: Update mingw problems.
42169         * doc/posix-functions/ioctl.texi: Update mingw problems.
42170         * doc/posix-functions/listen.texi: Update mingw problems.
42171         * doc/posix-functions/recv.texi: Update mingw problems.
42172         * doc/posix-functions/recvfrom.texi: Update mingw problems.
42173         * doc/posix-functions/select.texi: Update mingw problems.
42174         * doc/posix-functions/send.texi: Update mingw problems.
42175         * doc/posix-functions/sendto.texi: Update mingw problems.
42176         * doc/posix-functions/setsockopt.texi: Update mingw problems.
42177         * doc/posix-functions/socket.texi: Update mingw problems.
42178
42179 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
42180             Bruno Haible  <bruno@clisp.org>
42181
42182         * lib/sys_select.in.h: Include sys/time.h.
42183         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
42184         * modules/sys_select: Depend on sys_time.
42185         * tests/test-sys_select.c: Test that sys/select.h defines struct
42186         timeval fully.
42187
42188 2008-09-29  Bruno Haible  <bruno@clisp.org>
42189
42190         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
42191         * lib/sys_select.in.h: Likewise.
42192
42193 2008-09-29  Bruno Haible  <bruno@clisp.org>
42194
42195         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
42196
42197 2008-09-29  Bruno Haible  <bruno@clisp.org>
42198
42199         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
42200         Set LIBSOCKET instead of augmenting LIBS.
42201         * modules/sockets (Link): New section.
42202         * modules/sockets-tests (test_sockets_LDADD): New variable.
42203         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
42204         * modules/poll-tests (test_poll_LDADD): New variable.
42205         * NEWS: Document the change.
42206
42207 2008-09-29  Bruno Haible  <bruno@clisp.org>
42208
42209         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
42210         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
42211         ARPA_INET_H directly.
42212         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42213
42214 2008-09-28  Bruno Haible  <bruno@clisp.org>
42215
42216         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
42217         from gl_HEADER_SYS_SOCKET.
42218         (gl_HEADER_SYS_SOCKET): Invoke it.
42219         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42220
42221 2008-09-28  Bruno Haible  <bruno@clisp.org>
42222
42223         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
42224         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
42225         Needed on OSF/1 4.0.
42226
42227 2008-09-28  Bruno Haible  <bruno@clisp.org>
42228
42229         Override open more carefully.
42230         * lib/open.c (orig_open): New function.
42231         (rpl_open): Use orig_open instead of open.
42232         * lib/fcntl.in.h: Add special invocation convention.
42233         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
42234         (gl_FUNC_OPEN): Invoke it.
42235
42236         Override freopen more carefully.
42237         * lib/freopen.c (orig_freopen): New function.
42238         (rpl_freopen): Use orig_freopen instead of freopen.
42239         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
42240         (gl_FUNC_FREOPEN): Invoke it.
42241
42242         Override fopen more carefully.
42243         * lib/fopen.c (orig_fopen): New function.
42244         (rpl_fopen): Use orig_fopen instead of fopen.
42245         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
42246         (gl_FUNC_FOPEN): Invoke it.
42247         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
42248
42249 2008-09-28  Bruno Haible  <bruno@clisp.org>
42250
42251         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
42252         SIGPIPE.
42253
42254 2008-09-28  Bruno Haible  <bruno@clisp.org>
42255
42256         * tests/test-sigaction.c (handler, main): Disable the check whether
42257         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
42258         glibc systems with LinuxThreads.
42259
42260 2008-09-28  Bruno Haible  <bruno@clisp.org>
42261
42262         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
42263
42264         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
42265         with AIX xlc.
42266         * lib/fcntl.in.h (open): Likewise.
42267         Reported by Rainer Tammer <tammer@tammer.net>.
42268
42269 2008-09-28  Bruno Haible  <bruno@clisp.org>
42270
42271         * modules/posix_spawnp-tests: New file.
42272         * tests/test-posix_spawn.c: New file.
42273         * tests/test-posix_spawn.in.sh: New file.
42274
42275         New module 'posix_spawnp'.
42276         * modules/posix_spawnp: New file.
42277         * lib/spawnp.c: New file, from GNU libc with modifications.
42278         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
42279
42280         New module 'posix_spawn'.
42281         * modules/posix_spawn: New file.
42282         * lib/spawn.c: New file, from GNU libc with modifications.
42283         * doc/posix-functions/posix_spawn.texi: Mention the new module.
42284
42285         New module 'posix_spawnattr_destroy'.
42286         * modules/posix_spawnattr_destroy: New file.
42287         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
42288         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
42289         module.
42290
42291         New module 'posix_spawnattr_setsigmask'.
42292         * modules/posix_spawnattr_setsigmask: New file.
42293         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
42294         modifications.
42295         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
42296         new module.
42297
42298         New module 'posix_spawnattr_getsigmask'.
42299         * modules/posix_spawnattr_getsigmask: New file.
42300         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
42301         modifications.
42302         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
42303         new module.
42304
42305         New module 'posix_spawnattr_setsigdefault'.
42306         * modules/posix_spawnattr_setsigdefault: New file.
42307         * lib/spawnattr_setdefault.c: New file, from GNU libc with
42308         modifications.
42309         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
42310         new module.
42311
42312         New module 'posix_spawnattr_getsigdefault'.
42313         * modules/posix_spawnattr_getsigdefault: New file.
42314         * lib/spawnattr_getdefault.c: New file, from GNU libc with
42315         modifications.
42316         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
42317         new module.
42318
42319         New module 'posix_spawnattr_setschedpolicy'.
42320         * modules/posix_spawnattr_setschedpolicy: New file.
42321         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
42322         modifications.
42323         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
42324         new module.
42325
42326         New module 'posix_spawnattr_getschedpolicy'.
42327         * modules/posix_spawnattr_getschedpolicy: New file.
42328         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
42329         modifications.
42330         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
42331         new module.
42332
42333         New module 'posix_spawnattr_setschedparam'.
42334         * modules/posix_spawnattr_setschedparam: New file.
42335         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
42336         modifications.
42337         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
42338         new module.
42339
42340         New module 'posix_spawnattr_getschedparam'.
42341         * modules/posix_spawnattr_getschedparam: New file.
42342         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
42343         modifications.
42344         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
42345         new module.
42346
42347         New module 'posix_spawnattr_setpgroup'.
42348         * modules/posix_spawnattr_setpgroup: New file.
42349         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
42350         modifications.
42351         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
42352         module.
42353
42354         New module 'posix_spawnattr_getpgroup'.
42355         * modules/posix_spawnattr_getpgroup: New file.
42356         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
42357         modifications.
42358         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
42359         module.
42360
42361         New module 'posix_spawnattr_setflags'.
42362         * modules/posix_spawnattr_setflags: New file.
42363         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
42364         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
42365         module.
42366
42367         New module 'posix_spawnattr_getflags'.
42368         * modules/posix_spawnattr_getflags: New file.
42369         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
42370         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
42371         module.
42372
42373         New module 'posix_spawnattr_init'.
42374         * modules/posix_spawnattr_init: New file.
42375         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
42376         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
42377         module.
42378
42379         New module 'posix_spawn_file_actions_destroy'.
42380         * modules/posix_spawn_file_actions_destroy: New file.
42381         * lib/spawn_faction_destroy.c: New file, from GNU libc with
42382         modifications.
42383         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
42384         the new module.
42385
42386         New module 'posix_spawn_file_actions_addopen'.
42387         * modules/posix_spawn_file_actions_addopen: New file.
42388         * lib/spawn_faction_addopen.c: New file, from GNU libc with
42389         modifications.
42390         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
42391         the new module.
42392
42393         New module 'posix_spawn_file_actions_adddup2'.
42394         * modules/posix_spawn_file_actions_adddup2: New file.
42395         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
42396         modifications.
42397         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
42398         the new module.
42399
42400         New module 'posix_spawn_file_actions_addclose'.
42401         * modules/posix_spawn_file_actions_addclose: New file.
42402         * lib/spawn_faction_addclose.c: New file, from GNU libc with
42403         modifications.
42404         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
42405         the new module.
42406
42407         New module 'posix_spawn_file_actions_init'.
42408         * modules/posix_spawn_file_actions_init: New file.
42409         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
42410         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
42411         new module.
42412
42413         New module 'posix_spawn-internal'.
42414         * modules/posix_spawn-internal: New file.
42415         * lib/spawn_int.h: New file, from GNU libc with modifications.
42416         * lib/spawni.c: New file, from GNU libc with modifications.
42417         * m4/posix_spawn.m4: New file.
42418
42419         New module 'spawn'.
42420         * modules/spawn: New file.
42421         * lib/spawn.in.h: New file, from GNU libc with modifications.
42422         * m4/spawn_h.m4: New file.
42423         * doc/posix-headers/spawn.texi: Mention the new module.
42424
42425 2008-09-28  Bruno Haible  <bruno@clisp.org>
42426
42427         * modules/sched-tests: New file.
42428         * tests/test-sched.c: New file.
42429
42430         New module 'sched'.
42431         * modules/sched: New file.
42432         * lib/sched.in.h: New file.
42433         * m4/sched_h.m4: New file.
42434         * doc/posix-headers/sched.texi: Mention the new module.
42435
42436 2008-09-27  Eric Blake  <ebb9@byu.net>
42437
42438         Fix previous patch, and tweak references to $0.
42439         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
42440         (func_version, func_gnulib_dir): Don't call this program
42441         gnulib-tool.
42442         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
42443         with using $0 in function.
42444         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
42445         (func_fatal_error): Reuse the name the user invoked us with.
42446
42447 2008-09-27  Bruno Haible  <bruno@clisp.org>
42448
42449         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
42450         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
42451         (gl_ICONV_H): Not here.
42452         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
42453         instead of assigning ICONV_H directly.
42454
42455         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
42456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
42457         WCHAR_H directly.
42458
42459 2008-09-27  Bruno Haible  <bruno@clisp.org>
42460
42461         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
42462         * modules/arpa_inet (Depends-on): Add link-warning.
42463         (Makefile.am): Insert the definition of GL_LINK-WARNING.
42464         * modules/unistd (Makefile.am): Likewise.
42465
42466 2008-09-26  Bruno Haible  <bruno@clisp.org>
42467
42468         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
42469         variables.
42470         (func_version): Essentially copied from gnulib-tool.
42471         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
42472         func_readlink): Copied from gnulib-tool.
42473
42474 2008-09-26  Bruno Haible  <bruno@clisp.org>
42475
42476         * gnulib-tool (func_version): Change directory to $gnulib_dir before
42477         invoking git-version-gen.
42478
42479 2008-09-26  Bruno Haible  <bruno@clisp.org>
42480
42481         * posix-modules: Update to directory names changed on 2008-01-19.
42482         Remove commas in output before splitting into words. No more need to
42483         avoid 'ftruncate' since 2007-02-19.
42484
42485 2008-09-26  Bruno Haible  <bruno@clisp.org>
42486
42487         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
42488
42489 2008-09-26  Bruno Haible  <bruno@clisp.org>
42490
42491         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
42492         * modules/fwriteerror (Depends-on): Add errno.
42493
42494 2008-09-26  Bruno Haible  <bruno@clisp.org>
42495
42496         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
42497         * tests/test-vc-list-files-cvs.sh: Likewise.
42498
42499 2008-09-26  Bruno Haible  <bruno@clisp.org>
42500
42501         * doc/posix-headers/sys_resource.texi: Reorder items.
42502
42503 2008-09-26  Jim Meyering  <meyering@redhat.com>
42504
42505         fts: tweak inode comparison function
42506         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
42507         inode numbers, as documented.
42508
42509         fts: sort dirent entries on inode number before traversing
42510         This avoids a quadratic, seek-related performance penalty when
42511         operating on a directory containing many entries (measurable at 10k;
42512         3.5 hours at 2 million entries with a cold cache) on certain types
42513         of file systems, including ext3 and ext4, but not tmpfs.
42514         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
42515         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
42516         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
42517         (fs_handles_readdir_ordered_dirents_efficiently): New function.
42518         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
42519         (fts_build): Set the stat.st_ino member from D_INO.
42520         If it is likely to be useful, sort dirent entries on inode number.
42521
42522         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
42523         and the struct statfs.f_type member.
42524         * modules/fts (Depends-on): Add d-ino.
42525
42526 2008-09-26  Bruno Haible  <bruno@clisp.org>
42527
42528         * modules/sigpipe-die (Depends-on): Add sigpipe.
42529
42530         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
42531         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
42532         and GNULIB_STDIO_H_SIGPIPE are set.
42533         * lib/stdio-write.c: New file.
42534         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
42535         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42536         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42537         REPLACE_STDIO_WRITE_FUNCS.
42538         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
42539         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42540         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42541         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42542         * modules/stdio (Files): Add lib/stdio-write.c.
42543         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
42544         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42545         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42546         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42547         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
42548         REPLACE_FPRINTF_POSIX.
42549         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
42550         REPLACE_PRINTF_POSIX.
42551         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
42552         REPLACE_VFPRINTF_POSIX.
42553         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
42554         REPLACE_VPRINTF_POSIX.
42555         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
42556         SIGPIPE issue.
42557         * doc/posix-functions/fputc.texi: Likewise.
42558         * doc/posix-functions/fputs.texi: Likewise.
42559         * doc/posix-functions/fwrite.texi: Likewise.
42560         * doc/posix-functions/printf.texi: Likewise.
42561         * doc/posix-functions/putc.texi: Likewise.
42562         * doc/posix-functions/putchar.texi: Likewise.
42563         * doc/posix-functions/puts.texi: Likewise.
42564         * doc/posix-functions/vfprintf.texi: Likewise.
42565         * doc/posix-functions/vprintf.texi: Likewise.
42566
42567         * modules/safe-write (Depends-on): Add write.
42568
42569         * modules/sigpipe-tests: New file.
42570         * tests/test-sigpipe.c: New file.
42571         * tests/test-sigpipe.sh: New file.
42572
42573         * modules/write: New file.
42574         * lib/unistd.in.h: Include <sys/types.h>.
42575         (write): New declaration.
42576         * lib/write.c: New file.
42577         * m4/write.m4: New file.
42578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42579         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
42580         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
42581         GNULIB_WRITE, REPLACE_WRITE.
42582         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
42583         and the SIGPIPE issue.
42584
42585         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
42586         (raise): New declaration.
42587         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
42588         (ext_signal): New function.
42589         (rpl_raise): New function.
42590         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
42591         GNULIB_SIGNAL_H_SIGPIPE.
42592         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
42593         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
42594
42595         * modules/sigpipe: New file.
42596         * m4/sigpipe.m4: New file.
42597
42598 2008-09-25  Derek Price  <derek@ximbiot.com>
42599             Bruno Haible  <bruno@clisp.org>
42600
42601         * gnulib-tool (func_import): Report all license incompatibilities, not
42602         just the first one.
42603
42604 2008-09-25  Bruno Haible  <bruno@clisp.org>
42605
42606         * gnulib-tool (func_import): When computing the edits, consider not
42607         only the Makefile.ams that exist but also those that will be generated.
42608
42609 2008-09-25  Simon Josefsson  <simon@josefsson.org>
42610
42611         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
42612         fixes gnulib-tool --test warning about duplicate dependency.
42613
42614 2008-09-25  Bruno Haible  <bruno@clisp.org>
42615
42616         * gnulib-tool: Don't ask the user to perform edits in the generated
42617         Makefile.ams.
42618         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
42619         apply to the Makefile.am being generated.
42620         (func_emit_tests_Makefile_am): Execute edits that apply to the
42621         Makefile.am being generated.
42622         (func_import): Setup list of Makefile.am edits before emitting the
42623         Makefile.ams, not at the end.
42624         (func_create_testdir): Update.
42625         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42626
42627 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42628
42629         * gnulib-tool (func_import): Store the --tests-base option in the
42630         comment in gnulib-cache.m4.
42631
42632 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
42633
42634         * NEWS: Document increased portability that sys_select now provides.
42635
42636         * lib/sys_select.in.h: Install select wrapper.
42637         * lib/sys_socket.in.h: Use more descriptive name when there is no
42638         select wrapper.
42639         * lib/winsock-select.c: New.
42640         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
42641         Require gl_HEADER_SYS_SOCKET.
42642         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
42643         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
42644         * tests/test-sys_select.c: Add functional tests.
42645
42646 2008-09-24  Eric Blake  <ebb9@byu.net>
42647
42648         open, fopen: close fd leak in last patch
42649         * lib/open.c (rpl_open): Close fd before returning error.
42650         * lib/fopen.c (rpl_fopen): Close fd before returning error.
42651         * doc/posix-functions/open.texi (open): Document that Irix also
42652         has the bug.
42653         * doc/posix-functions/fopen.texi (fopen): Likewise.
42654         Reported by Paolo Bonzini.
42655
42656 2008-09-24  Bruno Haible  <bruno@clisp.org>
42657
42658         Ensure that a filename ending in a slash cannot be used to access a
42659         non-directory.
42660         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
42661         to check whether it's really a directory.
42662         * lib/fopen.c: Include fcntl.h, unistd.h.
42663         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
42664         and fdopen().
42665         * modules/fopen (Depends-on): Add unistd.
42666         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
42667         * tests/test-fopen.c (main): Likewise.
42668         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
42669         * doc/posix-functions/fopen.texi: Likewise.
42670         Reported by Eric Blake.
42671
42672 2008-09-23  Eric Blake  <ebb9@byu.net>
42673
42674         c-stack: avoid compiler optimizations when provoking overflow
42675         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
42676         recursion harder to optimize, to ensure a stack overflow occurs.
42677         * tests/test-c-stack.c (recurse): Likewise.
42678         Borrowed from libsigsegv.
42679
42680         c-stack: work around Irix sigaltstack bug
42681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
42682         whether sigaltstack uses wrong end of stack_t (copied in part from
42683         libsigsegv).
42684         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
42685         Irix bug, without requiring an over-allocation.
42686         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
42687         bug.
42688
42689         fopen: document mingw bug on directories
42690         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
42691         not allowing a stream visiting a directory, even though reading
42692         from such a stream is not portable.
42693
42694 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42695
42696         * lib/poll.c: Rewrite.
42697         * modules/poll: Depend on alloca.
42698
42699 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42700
42701         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
42702         instead define prototypes for a full set of wrappers.  Ensure
42703         that Cygwin does not use the compatibility code, which is only
42704         for MinGW.
42705         * lib/winsock.c: New.
42706         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
42707         * modules/sys_socket: Add lib/winsock.c.
42708
42709         * modules/poll-tests: Add errno and perror.
42710         * tests/test-poll.c: Use ioctl, not ioctlsocket.
42711
42712 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42713
42714         * tests/test-poll.c: Downgrade minimum needed Winsock version.
42715
42716 2008-09-23  Bruno Haible  <bruno@clisp.org>
42717
42718         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
42719         * doc/glibc-functions/*: Likewise.
42720
42721 2008-09-23  Simon Josefsson  <simon@josefsson.org>
42722
42723         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
42724         success.
42725
42726 2008-09-22  Eric Blake  <ebb9@byu.net>
42727             Bruno Haible  <bruno@clisp.org>
42728
42729         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
42730         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
42731         supply %A but mishandle pseudo-NaN.
42732         Reported by Simon Josefsson.
42733
42734 2008-09-21  Bruno Haible  <bruno@clisp.org>
42735
42736         * tests/test-lock.c (main): Tweak skip message.
42737         * tests/test-tls.c (main): Likewise.
42738
42739 2008-09-21  Bruno Haible  <bruno@clisp.org>
42740
42741         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
42742         whether 'struct sigaction' has sa_sigaction here...
42743         (gl_PREREQ_SIG_HANDLER_H): ... not here.
42744         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
42745
42746 2008-09-21  Bruno Haible  <bruno@clisp.org>
42747
42748         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
42749         section.
42750         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
42751         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
42752         the new section.
42753         (Support for obsolete systems lacking POSIX:2001): New section.
42754         (String handling <string.h>): Move strdup to the new section.
42755         Suggested by Simon Josefsson and Paolo Bonzini.
42756
42757 2008-09-21  Bruno Haible  <bruno@clisp.org>
42758
42759         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
42760         exponents in %e and %g results on 'long double'. Needed for mingw's
42761         improved *printf functions.
42762         * tests/test-vasprintf-posix.c (test_function): Likewise.
42763         * tests/test-snprintf-posix.h (test_function): Likewise.
42764         * tests/test-sprintf-posix.h (test_function): Likewise.
42765         Reported by Eric Blake.
42766
42767 2008-09-21  Bruno Haible  <bruno@clisp.org>
42768
42769         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
42770         * tests/test-sprintf-posix.h (test_function): Likewise.
42771
42772 2008-09-21  Bruno Haible  <bruno@clisp.org>
42773
42774         * modules/getpass (Depends-on): Add strdup-posix.
42775
42776         New module 'strdup-posix'.
42777         * modules/strdup-posix: New file.
42778         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
42779         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
42780         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42781         REPLACE_STRDUP.
42782         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
42783         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
42784         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42785         strdup-posix.
42786
42787         * modules/strdup (Depends-on): Remove malloc-posix.
42788
42789 2008-09-20  Bruno Haible  <bruno@clisp.org>
42790
42791         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
42792         Wildenhues.
42793
42794 2008-09-20  Bruno Haible  <bruno@clisp.org>
42795
42796         Ensure that wint_t gets defined on IRIX 5.3.
42797         * lib/wchar.in.h (wint_t): Define if not defined by the system.
42798         * lib/wctype.in.h (wint_t): Likewise.
42799         (__wctype_wint_t): Remove type.
42800         (isw*): Use wint_t instead of __wctype_wint_t.
42801         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
42802         * modules/wchar (Files): Add m4/wint_t.m4.
42803         (Makefile.am): Substitute HAVE_WINT_T.
42804         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
42805         * tests/test-wctype.c: Check that wint_t is defined.
42806         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
42807         * doc/posix-headers/wctype.texi: Likewise.
42808         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42809
42810 2008-09-18  Bruno Haible  <bruno@clisp.org>
42811
42812         * gnulib-tool (func_exit): Update comment.
42813
42814 2008-09-18  Simon Josefsson  <simon@josefsson.org>
42815
42816         * modules/getaddrinfo (Depends-on): Remove strdup, this module
42817         assumes strdup exists and does not depend on strdup to return
42818         ENOMEM on out of memory conditions.
42819
42820 2008-09-18  Bruno Haible  <bruno@clisp.org>
42821
42822         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
42823         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
42824         digits for the exponent.
42825
42826 2008-09-18  Jim Meyering  <meyering@redhat.com>
42827             Bruno Haible  <bruno@clisp.org>
42828
42829         * lib/vasnprintf.c (decimal_point_char): Define also if
42830         NEED_PRINTF_INFINITE_LONG_DOUBLE.
42831
42832 2008-09-16  Bruno Haible  <bruno@clisp.org>
42833         and Eric Blake  <ebb9@byu.net>
42834
42835         vasnprintf: support Irix 5.3
42836         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
42837         that mishandle long double infinity.
42838         Reported by Tom G. Christensen.
42839
42840 2008-09-16  Bruno Haible  <bruno@clisp.org>
42841
42842         * doc/glibc-functions/scandir.texi: Mention the function is missing on
42843         Solaris 9.
42844         * doc/glibc-functions/alphasort.texi: Likewise.
42845         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
42846
42847 2008-09-16  Jim Meyering  <meyering@redhat.com>
42848
42849         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
42850         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
42851         a umask modification leak out of a subshell.  Otherwise, the
42852         opensolaris /bin/sh would be accepted and thus cause unwarranted
42853         failures in the coreutils test suite.
42854
42855 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
42856
42857         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
42858         to succeed.
42859
42860 2008-09-16  Jim Meyering  <meyering@redhat.com>
42861
42862         avoid spurious test failure when library is built without ACL support
42863         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
42864         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
42865         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
42866         * tests/test-copy-acl.sh: Likewise.
42867
42868 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42869
42870         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
42871         based on character occurrence counts.
42872
42873 2008-09-15  Eric Blake  <ebb9@byu.net>
42874
42875         tests: avoid some compiler warnings
42876         * tests/test-memchr.c (main): Pass NULL indirectly.
42877         * tests/test-closein.c (main): Avoid unused variable.
42878
42879 2008-09-15  Bruno Haible  <bruno@clisp.org>
42880
42881         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
42882         are missing on OpenBSD 4.0 individually.
42883         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42884
42885 2008-09-15  Bruno Haible  <bruno@clisp.org>
42886
42887         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
42888         * doc/posix-functions/strerror.texi: Mention also Cygwin.
42889         * doc/posix-functions/perror.texi: Likewise.
42890         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
42891         is missing.
42892         Reported by Eric Blake.
42893
42894         * lib/errno.in.h: Use replacement values >= 2000.
42895         Reported by Eric Blake.
42896
42897 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42898
42899         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
42900         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
42901         limit.
42902         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
42903         compareseq was aborted.
42904
42905 2008-09-14  Bruno Haible  <bruno@clisp.org>
42906
42907         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
42908         yvec_edit_count.
42909         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
42910         (fstrcmp_bounded): Simplify result computation accordingly.
42911
42912 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42913
42914         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
42915         (fstrcmp): Define in terms of fstrcmp_bounded.
42916         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
42917         lower_bound argument.
42918         Return quickly if the result is certainly < lower_bound.
42919         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
42920
42921 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42922
42923         * lib/diffseq.h (EARLY_ABORT): New macro.
42924         (compareseq): Change return type to bool. Return true when EARLY_ABORT
42925         evaluates to true.
42926
42927 2008-09-14  Bruno Haible  <bruno@clisp.org>
42928
42929         * modules/perror-tests: New file.
42930         * tests/test-perror.sh: New file.
42931         * tests/test-perror.c: New file.
42932
42933         New module 'perror'.
42934         * lib/stdio.in.h (perror): New declaration.
42935         * lib/perror.c: New file.
42936         * m4/perror.m4: New file.
42937         * modules/perror: New file.
42938         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
42939         * doc/posix-functions/perror.texi: Mention the perror module.
42940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
42941         REPLACE_PERROR.
42942         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
42943         REPLACE_PERROR.
42944
42945 2008-09-14  Bruno Haible  <bruno@clisp.org>
42946
42947         * modules/stdio (Makefile.am): Reorder to match the order in
42948         lib/stdio.in.h.
42949         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42950
42951 2008-09-13  Bruno Haible  <bruno@clisp.org>
42952
42953         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
42954
42955 2008-09-13  Bruno Haible  <bruno@clisp.org>
42956
42957         Extend strerror to cover the added errno values.
42958         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
42959         (rpl_strerror): Provide error messages for the added errno values and
42960         for the WSA* values.
42961         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
42962         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
42963         strerror.
42964         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
42965         * modules/strerror (Depends-on): Add errno.
42966         * doc/posix-functions/strerror.texi: Document the change.
42967         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
42968         and EOVERFLOW.
42969
42970 2008-09-13  Bruno Haible  <bruno@clisp.org>
42971
42972         * modules/EOVERFLOW: Remove file.
42973         * m4/eoverflow.m4: Remove file.
42974         * modules/EOVERFLOW-tests: Remove file.
42975         * tests/test-EOVERFLOW.c: Remove file.
42976         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
42977         * modules/ftell (Depends-on): Likewise.
42978         * modules/getdelim (Depends-on): Likewise.
42979         * modules/getugroups (Depends-on): Likewise.
42980         * modules/poll (Depends-on): Likewise.
42981         * modules/snprintf (Depends-on): Likewise.
42982         * modules/sprintf-posix (Depends-on): Likewise.
42983         * modules/vasnprintf (Depends-on): Likewise.
42984         * modules/vasprintf (Depends-on): Likewise.
42985         * modules/vfprintf-posix (Depends-on): Likewise.
42986         * modules/vsnprintf (Depends-on): Likewise.
42987         * modules/vsprintf-posix (Depends-on): Likewise.
42988         * modules/xvasprintf (Depends-on): Likewise.
42989         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42990         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
42991         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
42992         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
42993         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42994         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
42995         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
42996         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
42997         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42998         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
42999         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
43000         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
43001         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43002         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
43003         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
43004         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
43005         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43006         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
43007         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
43008         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
43009         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43010         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
43011         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
43012         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
43013         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
43014         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43015         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
43016         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
43017         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
43018         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
43019         * MODULES.html.sh: Remove EOVERFLOW.
43020         * NEWS: Mention the change.
43021
43022 2008-09-13  Bruno Haible  <bruno@clisp.org>
43023
43024         * modules/errno-tests: New file.
43025         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
43026
43027         * lib/errno.in.h: New file.
43028         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
43029         * modules/errno: New file.
43030         * doc/posix-headers/errno.texi: Update documentation.
43031         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
43032
43033 2008-09-13  Bruno Haible  <bruno@clisp.org>
43034
43035         * tests/test-poll.c: Use #if for native Windows, rather than testing
43036         __MSVCRT__.
43037
43038 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43039             Bruno Haible  <bruno@clisp.org>
43040
43041         * lib/glob.c: Don't include <pwd.h> on native Windows.
43042         (WINDOWS32): New macro.
43043         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
43044
43045 2008-09-13  Bruno Haible  <bruno@clisp.org>
43046
43047         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
43048         (ETIMEDOUT): Remove macro.
43049         (glthread_cond_timedwait_multithreaded): New declaration.
43050         (glthread_cond_timedwait): Use it.
43051         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
43052         (glthread_cond_timedwait_multithreaded): New function.
43053
43054 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43055
43056         * modules/poll-tests: Do not check for io.h.
43057         * tests/test-poll.c: Check for __MSVCRT__ instead.
43058
43059 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43060
43061         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
43062         * modules/poll-tests: Add inet_pton, stdbool, sockets.
43063         * tests/test-poll.c: Use them.  Use _pipe on Windows.
43064
43065 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43066
43067         * modules/poll-tests: New.
43068         * tests/test-poll.c: New.
43069
43070 2008-09-12  Eric Blake  <ebb9@byu.net>
43071
43072         frexp: test for NetBSD failure on -0.0
43073         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
43074         not all, bugs from NetBSD 3.0 have been fixed.
43075         * doc/posix-functions/frexp.texi (frexp): Document bug.
43076         Reported by Thomas Klausner.
43077
43078         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
43079         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
43080         literal -0.0.
43081         Reported by Jonathan C. Patschke <jp@centtech.com>.
43082
43083 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43084
43085         * lib/glthread/cond.h: Use dummy implementation also if
43086         USE_WIN32_THREADS.
43087
43088 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43089
43090         * modules/fnmatch-posix (License): Change to LGPLv2+.
43091         * modules/fnmatch-gnu (License): Likewise.
43092
43093 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43094
43095         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
43096
43097 2008-09-11  Jim Meyering  <meyering@redhat.com>
43098
43099         * users.txt: Add gtk-vnc.
43100
43101 2008-09-08  Simon Josefsson  <simon@josefsson.org>
43102
43103         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
43104         rotate amounts.
43105
43106         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
43107         required for 16-bit and 8-bit rotates.
43108         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
43109         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
43110         UINT8_MAX instead of hard-coded constants.
43111         Suggested by Paul Eggert.
43112
43113 2008-09-07  Bruno Haible  <bruno@clisp.org>
43114
43115         * tests/test-striconveh.c (main): Check behaviour when converting from
43116         UTF-7.
43117
43118         Make striconveh work better with stateful encodings.
43119         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
43120         that iconv does not increment the inptr when returning -1/EINVAL.
43121
43122 2008-09-07  Bruno Haible  <bruno@clisp.org>
43123
43124         * build-aux/config.rpath: Update according to libtool-2.2.6.
43125         * build-aux/config.libpath: Likewise.
43126
43127 2008-09-06  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
43130         * lib/freadptr.c (freadptr): Likewise.
43131         * lib/freadseek.c (freadptrinc): Likewise.
43132         Reported by Simon Josefsson.
43133
43134 2008-09-06  Bruno Haible  <bruno@clisp.org>
43135
43136         * modules/freadptr (License): Change to LGPLv2+.
43137         * modules/freadseek (License): Likewise.
43138         Suggested by Eric Blake.
43139
43140         * modules/memchr2 (License): Change to LGPLv2+.
43141         Approved by Eric Blake.
43142
43143 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43144             Bruno Haible  <bruno@clisp.org>
43145
43146         Make gnulib-tool work with native 'sed' on AIX.
43147         * gnulib-tool (sed_noop): New variable.
43148         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
43149         func_add_or_update, func_create_testdir): Use it to initialize sed
43150         script variables.
43151         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43152
43153 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
43154             Bruno Haible  <bruno@clisp.org>
43155
43156         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
43157         also works after #include directives.
43158
43159 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
43160
43161         getdate.y: reject an out-of-range timezone value
43162         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
43163         the range [-24...+24].  When specified with only one or two digits,
43164         * tests/test-getdate.c: Tests for the fix.
43165         * doc/getdate.texi: Document this change.
43166
43167 2008-09-03  Bruno Haible  <bruno@clisp.org>
43168
43169         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
43170
43171 2008-09-02  Simon Josefsson  <simon@josefsson.org>
43172
43173         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
43174         <bruce.korb@gmail.com> with ideas from Ben Pfaff
43175         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
43176         Blake <ebb9@byu.net>.
43177
43178         * tests/test-bitrotate.c: Add more test vectors.
43179
43180 2008-09-02  Eric Blake  <ebb9@byu.net>
43181
43182         vasnprintf-posix: handle large precision via %.*d
43183         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
43184         when handling it ourselves.
43185         * tests/test-vasnprintf-posix.c (test_function): Add test.
43186         * tests/test-snprintf-posix.h (test_function): Likewise.
43187         * tests/test-sprintf-posix.h (test_function): Likewise.
43188         * tests/test-vasprintf-posix.c (test_function): Likewise.
43189         Reported by Alain Guibert.
43190
43191 2008-09-01  Eric Blake  <ebb9@byu.net>
43192
43193         c-stack: make configure-time check more robust
43194         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
43195         successful sigaction call.
43196         Reported by Tom G. Christensen.
43197
43198 2008-09-01  Bruno Haible  <bruno@clisp.org>
43199
43200         New module 'findprog-lgpl'.
43201         * modules/findprog-lgpl: New file.
43202         * lib/findprog-lgpl.c: New file.
43203         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
43204         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
43205         to decide whether to use strdup or xstrdup, concatenated_filename or
43206         xconcatenated_filename.
43207
43208 2008-09-01  Bruno Haible  <bruno@clisp.org>
43209
43210         Split module 'concat-filename' into 'concat-filename' (LGPL) and
43211         'xconcat-filename' (GPL).
43212         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
43213         (License): Change to LGPLv2+.
43214         * modules/xconcat-filename: New file.
43215         * lib/concat-filename.h (concatenated_filename): Change specification.
43216         (xconcatenated_filename): New declaration.
43217         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
43218         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
43219         memory situations.
43220         * lib/xconcat-filename.c: New file.
43221         * NEWS: Mention the change.
43222         * lib/findprog.c: Include concat-filename.h, not filename.h.
43223         (find_in_path): Use xconcatenated_filename instead of
43224         concatenated_filename.
43225         * lib/javacomp.c: Include concat-filename.h, not filename.h.
43226         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
43227         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
43228         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43229         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
43230         instead of concatenated_filename.
43231         * lib/javaexec.c: Include concat-filename.h, not filename.h.
43232         (execute_java_class): Use xconcatenated_filename instead of
43233         concatenated_filename.
43234         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
43235         * modules/javacomp (Depends-on): Likewise.
43236         * modules/javaexec (Depends-on): Likewise.
43237
43238 2008-09-01  Bruno Haible  <bruno@clisp.org>
43239
43240         Split module 'filename' into 'filename' and 'concat-filename'.
43241         * modules/filename: Keep only lib/filename.h.
43242         (License): Change to LGPLv2+.
43243         * modules/concat-filename: New file, extracted from modules/filename.
43244         * lib/filename.h (concatenated_filename): Remove declaration.
43245         * lib/concat-filename.h: New file, extracted from lib/filename.h.
43246         * lib/concat-filename.c: Include concat-filename.h.
43247         * NEWS: Mention the change.
43248
43249 2008-09-01  Simon Josefsson  <simon@josefsson.org>
43250
43251         * lib/bitrotate.h (rotl8, rotr8): Add.
43252
43253         * modules/bitrotate (configure.ac): Need
43254         AC_REQUIRE([AC_C_INLINE]).
43255         (Description): Mention stdint.h.  Reported by Bruno Haible
43256         <bruno@clisp.org>.
43257
43258         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
43259         Paolo Bonzini <bonzini@gnu.org>.
43260
43261 2008-08-31  Bruno Haible  <bruno@clisp.org>
43262
43263         Assume Solaris specific bi-arch conventions on Solaris systems.
43264         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
43265         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
43266         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
43267         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
43268         like acl_libdirstem.
43269         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
43270         acl_libdirstem.
43271         * NEWS: Mention the change.
43272         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
43273
43274 2008-08-31  Jim Meyering  <meyering@redhat.com>
43275
43276         * lib/strftime.h: Add comments describing the two added arguments.
43277
43278         remove duplicate #include directives
43279         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
43280         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
43281
43282 2008-08-31  Bruno Haible  <bruno@clisp.org>
43283
43284         New module 'sigpipe-die'.
43285         * modules/sigpipe-die: New file.
43286         * lib/sigpipe-die.h: New file.
43287         * lib/sigpipe-die.c: New file.
43288         * MODULES.html.sh (Signal handling): Add sigpipe-die.
43289
43290 2008-08-31  Bruno Haible  <bruno@clisp.org>
43291
43292         Don't override previously installed signal handlers.
43293         * lib/fatal-signal.c (saved_sigactions): New variable.
43294         (uninstall_handlers): Reset the signal to the saved handler, not
43295         to SIG_DFL (except when ignored).
43296         (install_handlers): Save the previous handlers.
43297
43298 2008-08-30  Bruno Haible  <bruno@clisp.org>
43299
43300         * gnulib-tool (func_reset_sigpipe): New function.
43301         (func_get_automake_snippet, func_modules_transitive_closure,
43302         func_import): Invoke it before a join command that reads from stdin,
43303         to avoid "echo: write error: Broken pipe" error messages on stderr.
43304         Reported by Sam Steingold <sds@gnu.org>.
43305
43306 2008-08-30  Bruno Haible  <bruno@clisp.org>
43307
43308         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
43309         Code copied from m4/open.m4.
43310         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
43311         access and the filename ends in a slash. Code copied from lib/open.c.
43312         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
43313         * tests/test-fopen.c (main): Check against bug with trailing slash.
43314
43315 2008-08-29  Bruno Haible  <bruno@clisp.org>
43316
43317         Avoid some "gcc -pedantic" warnings.
43318         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
43319         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
43320         * lib/dirent.in.h: Likewise.
43321         * lib/fcntl.in.h: Likewise.
43322         * lib/float.in.h: Likewise.
43323         * lib/iconv.in.h: Likewise.
43324         * lib/inttypes.in.h: Likewise.
43325         * lib/locale.in.h: Likewise.
43326         * lib/math.in.h: Likewise.
43327         * lib/netinet_in.in.h: Likewise.
43328         * lib/search.in.h: Likewise.
43329         * lib/signal.in.h: Likewise.
43330         * lib/stdarg.in.h: Likewise.
43331         * lib/stdint.in.h: Likewise.
43332         * lib/stdio.in.h: Likewise.
43333         * lib/stdlib.in.h: Likewise.
43334         * lib/string.in.h: Likewise.
43335         * lib/strings.in.h: Likewise.
43336         * lib/sys_select.in.h: Likewise.
43337         * lib/sys_socket.in.h: Likewise.
43338         * lib/sys_stat.in.h: Likewise.
43339         * lib/sys_time.in.h: Likewise.
43340         * lib/sysexits.in.h: Likewise.
43341         * lib/time.in.h: Likewise.
43342         * lib/unistd.in.h: Likewise.
43343         * lib/wchar.in.h: Likewise.
43344         * lib/wctype.in.h: Likewise.
43345         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
43346         * modules/fchdir (Makefile.am): Likewise.
43347         * modules/fcntl (Makefile.am): Likewise.
43348         * modules/float (Makefile.am): Likewise.
43349         * modules/iconv_open (Makefile.am): Likewise.
43350         * modules/inttypes (Makefile.am): Likewise.
43351         * modules/locale (Makefile.am): Likewise.
43352         * modules/math (Makefile.am): Likewise.
43353         * modules/netinet_in (Makefile.am): Likewise.
43354         * modules/search (Makefile.am): Likewise.
43355         * modules/signal (Makefile.am): Likewise.
43356         * modules/stdarg (Makefile.am): Likewise.
43357         * modules/stdint (Makefile.am): Likewise.
43358         * modules/stdio (Makefile.am): Likewise.
43359         * modules/stdlib (Makefile.am): Likewise.
43360         * modules/string (Makefile.am): Likewise.
43361         * modules/strings (Makefile.am): Likewise.
43362         * modules/sys_select (Makefile.am): Likewise.
43363         * modules/sys_socket (Makefile.am): Likewise.
43364         * modules/sys_stat (Makefile.am): Likewise.
43365         * modules/sys_time (Makefile.am): Likewise.
43366         * modules/sysexits (Makefile.am): Likewise.
43367         * modules/time (Makefile.am): Likewise.
43368         * modules/unistd (Makefile.am): Likewise.
43369         * modules/wchar (Makefile.am): Likewise.
43370         * modules/wctype (Makefile.am): Likewise.
43371         Reported by Reuben Thomas <rrt@sc3d.org>.
43372
43373 2008-08-29  Bruno Haible  <bruno@clisp.org>
43374
43375         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
43376         any more.
43377
43378 2008-08-29  Simon Josefsson  <simon@josefsson.org>
43379
43380         * MODULES.html.sh (Misc): Add bitrotate.
43381
43382         * modules/bitrotate: New file.
43383
43384         * lib/bitrotate.h: New file.
43385
43386         * modules/bitrotate-tests: New file.
43387
43388         * tests/test-bitrotate.c: New file.
43389
43390         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
43391         on the bitrotate module.
43392
43393         * lib/arctwo.c: Use new bitrotate module.
43394
43395 2008-08-29  Jim Meyering  <meyering@redhat.com>
43396
43397         bootstrap: merge changes from coreutils
43398         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
43399         of copied files.  Remove a kludge, now that this is fixed.
43400         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
43401         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
43402         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
43403
43404 2008-08-29  Bruno Haible  <bruno@clisp.org>
43405
43406         * MODULES.html.sh: Remove --cvs-urls option.
43407
43408 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
43409
43410         maint.mk: adjust to file name change
43411         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
43412
43413 2008-08-28  Jim Meyering  <meyering@redhat.com>
43414
43415         * modules/getndelim2 (License): Relicense to LGPLv2+.
43416         Approved by Richard Stallman for the version of 1995, and by
43417         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
43418
43419 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
43420
43421         * lib/getdelim.c (flockfile, funlockfile): Make all of them
43422         dummy if one is not available.  Do not touch them if
43423         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
43424         (getc_maybe_unlocked): New.
43425         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
43426
43427 2008-08-26  Eric Blake  <ebb9@byu.net>
43428
43429         doc/INSTALL: resync from autoconf
43430         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
43431         (INSTALL_PRELUDE): Delete; this is done more efficiently by
43432         moving...
43433         * install.texi [!autoconf]: ...here.  Resync from autoconf.
43434         * INSTALL: Regenerate.
43435         * INSTALL.ISO: New file.
43436         * INSTALL.UTF-8: Likewise.
43437
43438 2008-08-26  Jim Meyering  <meyering@redhat.com>
43439
43440         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
43441         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
43442         these definitions conditional, so that they may be overridden, too.
43443
43444 2008-08-26  Bruno Haible  <bruno@clisp.org>
43445
43446         Generate INSTALL file variants with prettier quotes.
43447         * doc/Makefile (INSTALL_PRELUDE): New macro.
43448         (INSTALL): Use it.
43449         (INSTALL.ISO, INSTALL.UTF-8): New rules.
43450
43451 2008-08-26  Bruno Haible  <bruno@clisp.org>
43452
43453         Run makeinfo in an English locale.
43454         * doc/Makefile (MAKEINFO): New variable.
43455
43456 2008-08-26  Bruno Haible  <bruno@clisp.org>
43457
43458         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
43459         Suggested by Eric Blake.
43460
43461 2008-08-25  Bruno Haible  <bruno@clisp.org>
43462
43463         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
43464
43465 2008-08-25  Eric Blake  <ebb9@byu.net>
43466
43467         c-stack: test that stack overflow can be caught
43468         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
43469         that platform allows handling stack overflow; at least OS/2 EMX
43470         has sigaltstack, but crashes before transferring control to
43471         handler on stack overflow.
43472         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
43473         check for HAVE_STACK_OVERFLOW_HANDLING.
43474         Reported by Elbert Pol.
43475
43476 2008-08-25  Bruno Haible  <bruno@clisp.org>
43477
43478         * doc/posix-functions/strftime.texi: Fix description of strftime
43479         module.
43480
43481 2008-08-24  Bruno Haible  <bruno@clisp.org>
43482
43483         * tests/uniwidth/test-uc_width2.c: New file.
43484         * tests/uniwidth/test-uc_width2.sh: New file.
43485         * modules/uniwidth/width-tests (Files): Add the new files.
43486         (TESTS): Add uniwidth/test-uc_width2.sh.
43487         (TESTS_ENVIRONMENT): New variable.
43488         (check_PROGRAMS): Add test-uc_width2.
43489         (test_uc_width2_SOURCES): New variable.
43490
43491         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
43492         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
43493         not 0x00AB.
43494         Reported by Alexander V. Lukyanov <lav@netis.ru>.
43495
43496 2008-08-22  Eric Blake  <ebb9@byu.net>
43497
43498         test-lock, test-tls: mention why a test is skipped
43499         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
43500         skipped.
43501         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
43502
43503         count-one-bits: relax license
43504         * modules/count-one-bits (License): Relicense to LGPLv2+.
43505         Suggested by Ludovic Courtès, approved by Ben Pfaff.
43506
43507 2008-08-22  Andreas Schwab  <schwab@suse.de>
43508
43509         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
43510         Remove spurious space in assignment.
43511
43512 2008-08-21  Simon Josefsson  <simon@josefsson.org>
43513
43514         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
43515         Paul Eggert <eggert@CS.UCLA.EDU>.
43516
43517 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
43518
43519         * modules/gettext: Add m4/threadlib.m4.
43520
43521 2008-08-19  Eric Blake  <ebb9@byu.net>
43522
43523         test-c-stack: fix compilation failure on FreeBSD 5.0
43524         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
43525         headers before <sys/resource.h>.
43526         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
43527         the bug.
43528         Reported by Nelson H. F. Beebe.
43529
43530         strverscmp: migrate from "strverscmp.h" to <string.h>
43531         * modules/string (Makefile.am): Add new hooks.
43532         * modules/strverscmp (Files): Remove strverscmp.h.
43533         (Depends-on): Add string.
43534         (configure.ac): Add indicator.
43535         (Include): Mention new header.
43536         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
43537         defaults.
43538         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
43539         results.
43540         * lib/strverscmp.h: Delete.
43541         * lib/string.in.h (strverscmp): Provide declaration, when needed.
43542         * tests/test-strverscmp.c (includes): Adjust client.
43543         * lib/check-version.c (includes): Likewise.
43544         * NEWS: Document the change.
43545
43546         strverscmp: add unit test
43547         * modules/strverscmp-tests: New file.
43548         * tests/test-strverscmp.c: Likewise.
43549
43550 2008-08-19  Simon Josefsson  <simon@josefsson.org>
43551
43552         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
43553         regarding Windows crypto stuff, from Mono.
43554
43555 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
43556
43557         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
43558         if present, for intel RND.  Return error on failures.
43559
43560 2008-08-18  Ben Pfaff  <blp@gnu.org>
43561
43562         gitlog-to-changelog: give better diagnostic for failed pipe-open
43563         * build-aux/gitlog-to-changelog: Improve error message: suggest
43564         that the version of Git may be too old.
43565
43566 2008-08-18  Simon Josefsson  <simon@josefsson.org>
43567
43568         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
43569         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
43570
43571 2008-08-18  Bruno Haible  <bruno@clisp.org>
43572
43573         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
43574         pthread_in_use().
43575
43576 2008-08-18  Bruno Haible  <bruno@clisp.org>
43577
43578         * lib/glthread/threadlib.c: Include <pthread.h>.
43579
43580 2008-08-18  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
43583         glthread_recursive_lock_* macros.
43584         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
43585         Fix syntax error.
43586
43587 2008-08-18  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/glthread/thread.c: Avoid forcing a context switch right after
43590         thread creation.
43591
43592 2008-08-17  Bruno Haible  <bruno@clisp.org>
43593
43594         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
43595         * lib/glthread/thread.h: Provide Win32 specific implementation.
43596         * modules/thread (Files): Add lib/glthread/thread.c.
43597         (Depends-on): Add lock.
43598         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
43599
43600 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43601
43602         New module 'yield'.
43603         * modules/yield: New file.
43604         * lib/glthread/yield.h: New file.
43605         * m4/yield.m4: New file.
43606         * MODULES.html.sh (Multithreading): Add yield.
43607
43608 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43609
43610         New module 'thread'.
43611         * modules/thread: New file.
43612         * lib/glthread/thread.h: New file.
43613         * m4/thread.m4: New file.
43614         * MODULES.html.sh (Multithreading): Add thread.
43615
43616 2008-08-17  Bruno Haible  <bruno@clisp.org>
43617
43618         * lib/glthread/lock.h: Include <stdlib.h> always.
43619         * lib/glthread/tls.h: Likewise.
43620         * lib/glthread/cond.h: Likewise.
43621
43622 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43623
43624         New module 'cond'.
43625         * modules/cond: New file.
43626         * lib/glthread/cond.h: New file.
43627         * lib/glthread/cond.c: New file.
43628         * m4/cond.m4: New file.
43629         * MODULES.html.sh (Multithreading): Add cond.
43630
43631 2008-08-16  Eric Blake  <ebb9@byu.net>
43632
43633         c-stack: fix regression on Irix 5.3 from 2008-06-21
43634         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
43635         sa_sigaction...
43636         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
43637         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
43638         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
43639         * modules/signal (Makefile.am): Use the value.
43640         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
43641         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
43642         * doc/posix-headers/signal.texi (signal.h): Document this
43643         portability issue.
43644         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
43645         Reported by Tom G. Christensen.
43646
43647 2008-08-17  Bruno Haible  <bruno@clisp.org>
43648
43649         New module 'threadlib'.
43650         * modules/threadlib: New file.
43651         * lib/glthread/threadlib.c: New file, extracted from
43652         lib/glthread/lock.c.
43653         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
43654         functions.
43655         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
43656         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
43657         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
43658         macros.
43659         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
43660         (gl_DISABLE_THREADS): Remove macro.
43661         * modules/lock (Files): Remove build-aux/config.rpath.
43662         (Depends-on): Remove havelib. Add threadlib.
43663         (configure.ac-early): Remove section.
43664         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
43665         * modules/tls (Depends-on): Remove lock. Add threadlib.
43666         (Link): New section, copied from threadlib.
43667         * MODULES.html.sh (Multithreading): Add threadlib.
43668
43669 2008-08-14  Bruno Haible  <bruno@clisp.org>
43670
43671         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
43672         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
43673         glthread_rwlock_unlock, glthread_rwlock_destroy,
43674         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
43675         glthread_recursive_lock_destroy): Define as macros always.
43676         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
43677         glthread_lock_lock.
43678         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
43679         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
43680         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
43681         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
43682         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
43683         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
43684         (glthread_recursive_lock_lock_func): Renamed from
43685         glthread_recursive_lock_lock.
43686         (glthread_recursive_lock_unlock_func): Renamed from
43687         glthread_recursive_lock_unlock.
43688         (glthread_recursive_lock_destroy_func): Renamed from
43689         glthread_recursive_lock_destroy.
43690
43691 2008-08-14  Bruno Haible  <bruno@clisp.org>
43692
43693         * lib/glthread/lock.h: Renamed from lib/lock.h.
43694         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
43695         * lib/glthread/tls.h: Renamed from lib/tls.h.
43696         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
43697         * lib/fstrcmp.c: Update includes.
43698         * lib/strsignal.c: Update includes.
43699         * modules/lock (Files, Makefile.am): Update.
43700         (Include): Change to "glthread/lock.h".
43701         * modules/tls (Files, Makefile.am): Update.
43702         (Include): Change to "glthread/tls.h".
43703         * tests/test-lock.c: Update includes.
43704         * tests/test-tls.c: Update includes.
43705         * NEWS: Mention the renamed header files.
43706
43707 2008-08-11  Jim Meyering  <meyering@redhat.com>
43708
43709         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
43710
43711 2008-08-11  Eric Blake  <ebb9@byu.net>
43712
43713         test-c-stack: avoid C99-ism
43714         * tests/test-c-stack.c (main): Fix whitespace, move declaration
43715         before statement.
43716         Reported by Alain Guibert.
43717
43718 2008-08-10  Jim Meyering  <meyering@redhat.com>
43719
43720         ensure that return value of uinttostr et al are not ignored
43721         * lib/inttostr.h (__GNUC_PREREQ): Define.
43722         (__attribute_warn_unused_result__): Define.
43723         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
43724
43725 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
43726
43727         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
43728         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
43729
43730 2008-08-07  Jim Meyering  <meyering@redhat.com>
43731
43732         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
43733
43734         * modules/mkstemp (License): Relicense under LGPLv2+.
43735         * modules/tempname (License): Likewise.
43736
43737 2008-08-06  Bruno Haible  <bruno@clisp.org>
43738
43739         * lib/poll.c (poll): Further micro-optimization.
43740
43741 2008-08-06  Jim Meyering  <meyering@redhat.com>
43742
43743         inet_pton.c: use locale-independent tolower
43744         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
43745         (inet_pton6): Use c_tolower rather than tolower.
43746         * modules/inet_pton (Depends-on): Add c-ctype.
43747
43748 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
43749
43750         * lib/poll.c (poll): Avoid division when timeout is 0, cache
43751         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
43752
43753 2008-08-06  Jim Meyering  <meyering@redhat.com>
43754
43755         * modules/inet_pton (License): Relicense under LGPLv2+.
43756
43757 2008-08-03  Bruno Haible  <bruno@clisp.org>
43758
43759         Additional non-aborting API for lock and tls.
43760         * lib/lock.h: Include <errno.h>.
43761         (glthread_lock_init): New macro/function.
43762         (gl_lock_init): Define as wrapper around glthread_lock_init.
43763         (glthread_lock_lock): New macro/function.
43764         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
43765         (glthread_lock_unlock): New macro/function.
43766         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
43767         (glthread_lock_destroy): New macro/function.
43768         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
43769         (glthread_rwlock_init): New macro/function.
43770         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
43771         (glthread_rwlock_rdlock): New macro/function.
43772         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
43773         (glthread_rwlock_wrlock): New macro/function.
43774         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
43775         (glthread_rwlock_unlock): New macro/function.
43776         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
43777         (glthread_rwlock_destroy): New macro/function.
43778         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
43779         (glthread_recursive_lock_init): New macro/function.
43780         (gl_recursive_lock_init): Define as wrapper around
43781         glthread_recursive_lock_init.
43782         (glthread_recursive_lock_lock): New macro/function.
43783         (gl_recursive_lock_lock): Define as wrapper around
43784         glthread_recursive_lock_lock.
43785         (glthread_recursive_lock_unlock): New macro/function.
43786         (gl_recursive_lock_unlock): Define as wrapper around
43787         glthread_recursive_lock_unlock.
43788         (glthread_recursive_lock_destroy): New macro/function.
43789         (gl_recursive_lock_destroy): Define as wrapper around
43790         glthread_recursive_lock_destroy.
43791         (glthread_once): New macro/function.
43792         (gl_once): Define as wrapper around glthread_once.
43793         Update function declarations.
43794         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
43795         glthread_rwlock_init. Return error code.
43796         (glthread_rwlock_rdlock_multithreaded): Renamed from
43797         glthread_rwlock_rdlock. Return error code.
43798         (glthread_rwlock_wrlock_multithreaded): Renamed from
43799         glthread_rwlock_wrlock. Return error code.
43800         (glthread_rwlock_unlock_multithreaded): Renamed from
43801         glthread_rwlock_unlock. Return error code.
43802         (glthread_rwlock_destroy_multithreaded): Renamed from
43803         glthread_rwlock_destroy. Return error code.
43804         (glthread_recursive_lock_init_multithreaded): Renamed from
43805         glthread_recursive_lock_init. Return error code.
43806         (glthread_recursive_lock_lock_multithreaded): Renamed from
43807         glthread_recursive_lock_lock. Return error code.
43808         (glthread_recursive_lock_unlock_multithreaded): Renamed from
43809         glthread_recursive_lock_unlock. Return error code.
43810         (glthread_recursive_lock_destroy_multithreaded): Renamed from
43811         glthread_recursive_lock_destroy. Return error code.
43812         (glthread_once_call): Make static.
43813         (glthread_once_multithreaded): Renamed from glthread_once.
43814         * lib/tls.h: Include <errno.h>.
43815         (glthread_tls_key_init): New macro/function.
43816         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
43817         (glthread_tls_set): New macro/function.
43818         (gl_tls_set): Define as wrapper around glthread_tls_set.
43819         (glthread_tls_key_destroy): New macro/function.
43820         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
43821         Update function declarations.
43822         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
43823         glthread_tls_get.
43824         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43825
43826 2008-08-04  Eric Blake  <ebb9@byu.net>
43827
43828         gnumakefile: use space, not TAB, outside of targets
43829         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
43830
43831 2008-08-02  Jim Meyering  <meyering@redhat.com>
43832
43833         getdate.y: avoid locale-dependent date parsing failure
43834         In Turkish locales, getdate would fail to recognize keywords
43835         containing a lowercase "i".  The solution is not to rely on
43836         locale-sensitive case-conversion.
43837         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
43838         (lookup_word): Use c_toupper in place of toupper.
43839         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
43840         Reported by Vefa Bicakci <bicave@superonline.com> in
43841         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
43842         * modules/getdate (Depends-on): Add c-ctype.
43843
43844 2008-08-02  Bruno Haible  <bruno@clisp.org>
43845
43846         * gnulib-tool (func_import): When updating or creating a .gitignore
43847         file, prepend each added line with a slash, and ignore leading slashes
43848         from the existing lines.
43849         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
43850
43851 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43852
43853         Portability fix for GNU make 3.79.1.
43854         * top/GNUmakefile: Avoid 'else COND', which older GNU make
43855         versions do not understand.
43856
43857 2008-08-01  Bruno Haible  <bruno@clisp.org>
43858
43859         Work around bug of HP-UX 10.20 cc with -0.0 literal.
43860         * tests/test-isnanf.h (zero): New variable.
43861         (main): Avoid literal -0.0f.
43862         * tests/test-isnand.h (zero): New variable.
43863         (main): Avoid literal -0.0.
43864         * tests/test-isnanl.h (zero): New variable.
43865         (main): Avoid literal -0.0L.
43866         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
43867         (test_float, test_double, test_long_double): Avoid literals -0.0f,
43868         -0.0, -0.0L.
43869         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
43870         (test_signbitd): Avoid literal -0.0.
43871         (test_signbitl): Avoid literal -0.0L.
43872         * tests/test-ceilf1.c (zero): New variable.
43873         (main): Avoid literal -0.0f.
43874         * tests/test-ceill.c (zero): New variable.
43875         (main): Avoid literal -0.0L.
43876         * tests/test-floorf1.c (zero): New variable.
43877         (main): Avoid literal -0.0f.
43878         * tests/test-floorl.c (zero): New variable.
43879         (main): Avoid literal -0.0L.
43880         * tests/test-roundf1.c (zero): New variable.
43881         (main): Avoid literal -0.0f.
43882         * tests/test-round1.c (zero): New variable.
43883         (main): Avoid literal -0.0.
43884         * tests/test-roundl.c (zero): New variable.
43885         (main): Avoid literal -0.0L.
43886         * tests/test-truncf1.c (zero): New variable.
43887         (main): Avoid literal -0.0f.
43888         * tests/test-trunc1.c (zero): New variable.
43889         (main): Avoid literal -0.0.
43890         * tests/test-truncl.c (zero): New variable.
43891         (main): Avoid literal -0.0L.
43892         * tests/test-frexp.c (zero): New variable.
43893         (main): Avoid literal -0.0.
43894         * tests/test-frexpl.c (zero): New variable.
43895         (main): Avoid literal -0.0L.
43896         * tests/test-ldexpl.c (zero): New variable.
43897         (main): Avoid literal -0.0L.
43898         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43899         (zerod, zerol): New variables.
43900         (test_function): Avoid literals -0.0, -0.0L.
43901         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43902         (zerod, zerol): New variables.
43903         (test_function): Avoid literals -0.0, -0.0L.
43904         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43905         (zerod, zerol): New variables.
43906         (test_function): Avoid literals -0.0, -0.0L.
43907         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43908         (zerod, zerol): New variables.
43909         (test_function): Avoid literals -0.0, -0.0L.
43910         * tests/test-strtod.c (zero): New variable.
43911         (main): Avoid literal -0.0.
43912         Reported by Jonathan C. Patschke <jp@centtech.com>.
43913
43914 2008-07-31  Jim Meyering  <meyering@redhat.com>
43915
43916         sha256.h: correct definition of SHA224_DIGEST_SIZE
43917         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
43918         Reported by Paulie Pena IV <paulie4@gmail.com>.
43919         Define as 224 / 8, rather than as a literal.
43920         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
43921         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
43922         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
43923
43924 2008-07-31  Bruno Haible  <bruno@clisp.org>
43925
43926         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
43927         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
43928         Reported by Jonathan Patschke <jp@centtech.com>.
43929
43930 2008-07-31  Bruno Haible  <bruno@clisp.org>
43931
43932         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
43933         Reported by Paolo Bonzini <bonzini@gnu.org>.
43934
43935 2008-07-30  Eric Blake  <ebb9@byu.net>
43936
43937         test-strtod: allow compilation without -lm
43938         * tests/test-strtod.c (main): Avoid link dependence on fabs.
43939         Reported by Dennis Clarke <blastwave@gmail.com>.
43940
43941 2008-07-28  Jim Meyering  <meyering@redhat.com>
43942
43943         bootstrap: work also when there are no .po files in po/
43944         * build-aux/bootstrap (update_po_files): Complete the change
43945         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
43946
43947 2008-07-27  Jim Meyering  <meyering@redhat.com>
43948
43949         * users.txt: Add zile.
43950
43951 2008-07-26  Ben Pfaff  <blp@gnu.org>
43952
43953         Add missing dependencies on new m4/exponent[fdl].m4 files.
43954         * modules/isnanf-nolibm: Add m4/exponentf.m4.
43955         * modules/isnand-nolibm: Add m4/exponentd.m4.
43956         * modules/isnanl-nolibm: Add m4/exponentl.m4.
43957         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
43958         m4/isnan[fdl].m4, because the macros actually used moved.
43959         Reported by Jim Meyering.
43960
43961 2008-07-14  Ben Pfaff  <blp@gnu.org>
43962
43963         Add isinf module.
43964         * lib/isinf.c: New file.
43965         * lib/math.in.h: Define isinf macro if we have decided to replace
43966         it.
43967         * m4/isinf.m4: New file.
43968         * m4/math_h.m4: Initialize and substitute variables for isinf
43969         module.
43970         * modules/isinf: New file.
43971         * modules/isinf-tests: New file.
43972         * modules/math: Add substitutions for new module.
43973         * tests/test-isinf.c: New file.
43974         * doc/posix-functions/isinf.texi: Mention new module.
43975         * MODULES.html.sh: Mention new module.
43976
43977 2008-07-14  Ben Pfaff  <blp@gnu.org>
43978
43979         Factor out some macros for use by additional modules.
43980         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
43981         exponentf.m4.
43982         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
43983         exponentd.m4.
43984         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
43985         file exponentl.m4.
43986         * m4/exponentf.m4: New file.
43987         * m4/exponentd.m4: New file.
43988         * m4/exponentl.m4: New file.
43989         * modules/isnanf: Use new file m4/exponentf.m4.
43990         * modules/isnand: Use new file m4/exponentd.m4.
43991         * modules/isnanl: Use new file m4/exponentl.m4.
43992
43993 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
43994
43995         mktime.c: normalize tp->tm_isdst value to -1/0/1.
43996         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
43997         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
43998         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
43999
44000         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
44001         readlink on platforms without PATH_MAX.
44002
44003 2008-07-21  Eric Blake  <ebb9@byu.net>
44004
44005         Warn, not fail, on stale version.
44006         * top/GNUmakefile (_curr-ver): Tone down previous patch.
44007
44008         Don't allow installation with stale devel version number.
44009         * top/GNUmakefile (_is-install-target): New macro.
44010         (_curr-ver): Forbid installation with stale version number.
44011
44012 2008-07-20  Bruno Haible  <bruno@clisp.org>
44013
44014         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
44015         TESTS_ENVIRONMENT.
44016         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
44017
44018 2008-07-20  Bruno Haible  <bruno@clisp.org>
44019
44020         * lib/c-stack.h (c_stack_action): Add documentation.
44021         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
44022
44023 2008-07-20  Bruno Haible  <bruno@clisp.org>
44024
44025         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
44026         * modules/readlink (License): Likewise.
44027
44028 2008-07-17  Eric Blake  <ebb9@byu.net>
44029
44030         * modules/c-stack (Link): Fix typo.
44031
44032         Make c-stack use libsigsegv, when available.
44033         * modules/c-stack (Depends-on): Add libsigsegv.
44034         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
44035         needed.
44036         * lib/c-stack.c (SIGSTKSZ): Define fallback.
44037         (segv_handler, overflow_handler, c_stack_action)
44038         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
44039         implementation when libsigsegv is available, but only when using
44040         the library is necessary.
44041         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
44042         comment, explaining why XSI check fails on Linux.
44043         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
44044         * tests/test-c-stack2.sh: Tweak skip message.
44045         * NEWS: Document new link-time requirements.
44046
44047 2008-07-16  Eric Blake  <ebb9@byu.net>
44048
44049         c-stack: Expose false positives when not using libsigsegv.
44050         * modules/c-stack-tests (Files): Expand test.
44051         * tests/test-c-stack.c (main): Add means to conditionally trigger
44052         non-overflow SIGSEGV.
44053         * tests/test-c-stack2.sh: New file.
44054
44055 2008-07-14  Bruno Haible  <bruno@clisp.org>
44056
44057         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
44058         Reported by Eric Blake.
44059
44060 2008-07-14  Sam Steingold  <sds@gnu.org>
44061             Bruno Haible  <bruno@clisp.org>
44062
44063         New module libsigsegv.
44064         * modules/libsigsegv: New file.
44065         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
44066         modifications.
44067         * MODULES.html.sh (Signal handling): New section.
44068
44069 2008-07-14  Bruno Haible  <bruno@clisp.org>
44070
44071         * modules/unictype/ctype-* (Description): Add the word "function".
44072         Improves the resulting doc in MODULES.html.
44073
44074 2008-07-12  Ben Pfaff  <blp@gnu.org>
44075
44076         Add longlong module.
44077         * modules/longlong: New file.
44078
44079 2008-07-12  Bruno Haible  <bruno@clisp.org>
44080
44081         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
44082         to empty.
44083
44084 2008-07-10  Ben Pfaff  <blp@gnu.org>
44085
44086         Add isnan module.
44087         * doc/posix-functions/isnan.texi: Mention new module.
44088         * lib/math.in.h: Define isnan macro if we have decided to replace
44089         it.
44090         * m4/isnan.m4: New file.
44091         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
44092         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
44093         also.
44094         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
44095         redundancy.
44096         * m4/math_h.m4: Initialize and substitute variables for isnan
44097         module.
44098         * modules/isnan: New file.
44099         * modules/isnan-tests: New file.
44100         * modules/math: Add substitutions for new module.
44101         * tests/test-isnan.c: New file.
44102         * MODULES.html.sh: Mention new module.
44103
44104 2008-07-10  Ben Pfaff  <blp@gnu.org>
44105
44106         Add isnanf module.
44107         * lib/isnanf.m4: New file.
44108         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
44109         (gl_HAVE_ISNANF_IN_LIBM): New macro.
44110         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
44111         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
44112         * modules/isnanf: New file.
44113         * modules/isnanf-tests: New file.
44114         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
44115         files.
44116         * tests/test-isnanf-nolibm.c: factored most of its contents into
44117         new file tests/test-isnanf.h.
44118         * tests/test-isnanf.h: New file.
44119         * tests/test-isnanf.c: New file.
44120         * MODULES.html.sh: Mention new module.
44121         * doc/glibc-functions/isnanf.texi: Mention new module.
44122
44123 2008-07-10  Ben Pfaff  <blp@gnu.org>
44124
44125         Add isnand module.
44126         * lib/isnand.h: New file.
44127         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
44128         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
44129         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
44130         functionality also.
44131         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
44132         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
44133         (gl_HAVE_ISNAND_IN_LIBM): New macro.
44134         * modules/isnand: New file.
44135         * modules/isnand-tests: New file.
44136         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
44137         files.
44138         * tests/test-isnand-nolibm.c: factored most of its contents into
44139         new file tests/test-isnand.h.
44140         * tests/test-isnand.h: New file.
44141         * tests/test-isnand.c: New file.
44142         * MODULES.html.sh: Mention new module.
44143
44144 2008-07-10  Ben Pfaff  <blp@gnu.org>
44145
44146         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
44147         * lib/isnand.h: Rename lib/isnand-nolibm.h.
44148         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
44149         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
44150         * modules/isnanf-nolibm: Update references to renamed files.
44151         * modules/isnand-nolibm: Likewise.
44152         * modules/isnanf-nolibm-tests: Likewise.
44153         * modules/isnand-nolibm-tests: Likewise.
44154         * lib/frexp.c: Likewise.
44155         * lib/isfinite.c: Likewise.
44156         * lib/signbitd.c: Likewise.
44157         * lib/signbitf.c: Likewise.
44158         * lib/vasnprintf.c: Likewise.
44159         * tests/test-ceilf1.c: Likewise.
44160         * tests/test-ceilf2.c: Likewise.
44161         * tests/test-floorf1.c: Likewise.
44162         * tests/test-floorf2.c: Likewise.
44163         * tests/test-frexp.c: Likewise.
44164         * tests/test-round1.c: Likewise.
44165         * tests/test-round2.c: Likewise.
44166         * tests/test-roundf1.c: Likewise.
44167         * tests/test-strtod.c: Likewise.
44168         * tests/test-trunc1.c: Likewise.
44169         * tests/test-trunc2.c: Likewise.
44170         * tests/test-truncf1.c: Likewise.
44171         * tests/test-truncf2.c: Likewise.
44172         * NEWS: Mention the renamed header files.
44173
44174 2008-07-11  Jim Meyering  <meyering@redhat.com>
44175
44176         vc-list-files: make the last-resort awk code more portable
44177         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
44178         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
44179         does not support it.
44180
44181 2008-07-10  Eric Blake  <ebb9@byu.net>
44182
44183         Work with tar's bootstrap.
44184         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
44185         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
44186         an m4 comment.
44187
44188 2008-07-09  Jim Meyering  <meyering@redhat.com>
44189
44190         posix-shell.m4: fix typo that made this test malfunction
44191         * m4/posix-shell.m4: Remove capitalization in variable name.
44192
44193 2008-07-08  Bruno Haible  <bruno@clisp.org>
44194
44195         * m4/onceonly.m4: Update comments.
44196         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44197
44198 2008-07-04  Jim Meyering  <meyering@redhat.com>
44199
44200         * users.txt: Add vc-dwim.
44201         (bison, coreutils): Use the gitweb URL.
44202
44203 2008-07-03  Jim Meyering  <meyering@redhat.com>
44204
44205         * users.txt: Add libffcall.  From Sam Steingold.
44206
44207 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
44208
44209         getdate.y: do not ignore TZ with relative day, month or year offset
44210         * lib/getdate.y (get_date): Move the tz-handling block to follow the
44211         relative-date-handling, since otherwise, the latter would clobber the
44212         sole output (an updated Start value) of the tz-handling block.
44213         * tests/test-getdate.c: Tests for the fix
44214
44215 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44216
44217         Recognize 'foo_LIBRARIES += libgnu.a'.
44218         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
44219         makefile snippet has already specified an installation location,
44220         also using '+='.
44221
44222 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
44223
44224         getdate.y: factor out common actions
44225         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
44226         Use them in place of open-coded actions.
44227
44228 2008-07-01  Simon Josefsson  <simon@josefsson.org>
44229
44230         Add self-test for getdate module.
44231         * modules/getdate-tests: New file.
44232         * tests/test-getdate.c: New file.
44233
44234 2008-06-29  Bruno Haible  <bruno@clisp.org>
44235
44236         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
44237         .gitignore.
44238         Reported by Sylvain Beucler <beuc@beuc.net>.
44239
44240 2008-06-29  Bruno Haible  <bruno@clisp.org>
44241
44242         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
44243         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
44244
44245 2008-06-29  Bruno Haible  <bruno@clisp.org>
44246
44247         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
44248         EXTRA_DIST.
44249         Reported by Sylvain Beucler <beuc@beuc.net>.
44250
44251 2008-06-26  Jim Meyering  <meyering@redhat.com>
44252
44253         make several modules depend on the "open" module
44254         This provides slightly increased consistency when opening-for-write
44255         the name of a non-directory spelled with a trailing slash.
44256         * modules/chdir-safer: Likewise.
44257         * modules/chown: Likewise.
44258         * modules/clean-temp: Likewise.
44259         * modules/copy-file: Likewise.
44260         * modules/fchdir: Likewise.
44261         * modules/fcntl-safer: Likewise.
44262         * modules/pipe: Likewise.
44263         * modules/utime: Likewise.
44264         Prompted by Eric Blake and Bruno Haible.
44265
44266 2008-06-24  Andreas Schwab  <schwab@suse.de>
44267
44268         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
44269         literals can be used as initializers for global variables.
44270
44271 2008-06-23  Eric Blake  <ebb9@byu.net>
44272
44273         Make gnulib-cache.m4 easier to diff.
44274         * gnulib-tool (func_import): Allow newlines when reading cached
44275         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
44276
44277 2008-06-23  Bruno Haible  <bruno@clisp.org>
44278
44279         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
44280         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
44281         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
44282         m4/signalblocking.m4.
44283         (gl_PREREQ_SIGACTION): Don't invoke it.
44284         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
44285         gl_PREREQ_SIG_HANDLER_H.
44286         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
44287         Don't check for sigaction here.
44288
44289 2008-06-23  Bruno Haible  <bruno@clisp.org>
44290
44291         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
44292         (install_handlers): Don't set the SA_RESETHAND flag.
44293
44294 2008-06-23  Bruno Haible  <bruno@clisp.org>
44295
44296         * m4/sigaction.m4: Comment fixes.
44297         * lib/signal.in.h: Likewise.
44298
44299 2008-06-23  Eric Blake  <ebb9@byu.net>
44300
44301         Fix typo.
44302         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
44303
44304         Avoid SA_ namespace.
44305         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
44306         Reported by Ralf Wildenhues.
44307
44308         Avoid test failure due to SA_RESTORER.
44309         * tests/test-sigaction.c (SA_MASK): New macro.
44310         (main): Avoid failing due to extension flags being set.
44311         Reported by Jim Meyering.
44312
44313         Revert use of sig-handler.h in sigprocmask.c.
44314         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
44315         it requires the existence of struct sigaction.
44316         * lib/sigprocmask.c (handler_t): Restore typedef.
44317         (rpl_signal, old_handlers): Use local type.
44318
44319 2008-06-22  Bruno Haible  <bruno@clisp.org>
44320
44321         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
44322         conditionally.
44323         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44324
44325 2008-06-22  Bruno Haible  <bruno@clisp.org>
44326
44327         * doc/posix-functions/siginterrupt.texi: Move note.
44328
44329         * lib/signal.in.h (SA_RESTART): New macro.
44330         * lib/sigaction.c: Update comment.
44331
44332         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
44333
44334         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
44335         (gl_PREREQ_SIGPROCMASK): Invoke it.
44336         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
44337
44338         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
44339
44340         * lib/sigprocmask.c: Update a comment.
44341
44342 2008-06-21  Eric Blake  <ebb9@byu.net>
44343
44344         Use sigaction module rather than signal().
44345         * modules/c-stack (Depends-on): Add sigaction.
44346         * modules/fatal-signal (Depends-on): Likewise.
44347         * modules/nanosleep (Depends-on): Likewise.
44348         * modules/sigprocmask (Files): Add sig-handler.h.
44349         * modules/sigaction (Files): Likewise.
44350         * lib/sig-handler.h (get_handler): New file, suggested by Paul
44351         Eggert.
44352         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
44353         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
44354         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
44355         (init_fatal_signals): Likewise.
44356         * lib/nanosleep.c (rpl_nanosleep): Likewise.
44357         (siginterrupt): Delete fallback.
44358         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
44359         instead.
44360         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
44361         siginterrupt.
44362
44363         New module sigaction, for mingw.
44364         * modules/sigaction: New module...
44365         * modules/sigaction-tests: ...and its test.
44366         * m4/sigaction.m4: New file.
44367         * lib/sigaction.c: Likewise.
44368         * tests/test-sigaction.c: Likewise.
44369         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
44370         * modules/signal (Makefile.am): Likewise.
44371         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
44372         needed.
44373         * doc/posix-headers/signal.texi (signal.h): Mention provided
44374         types.
44375         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
44376         that sigaction is preferable.
44377         * doc/posix-functions/sigaction.texi (sigaction): Mention new
44378         module.
44379         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44380         sigaction.
44381
44382         Improve robustness of sigprocmask by overriding signal.
44383         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
44384         is in use.
44385         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
44386         (SIGKILL, SIGSTOP): Provide fallbacks.
44387         (rpl_signal): Implement.
44388         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
44389         signal can be called inside handlers.
44390
44391         Fix nanosleep module on mingw.
44392         * modules/nanosleep (Depends-on): Add sys_select.
44393         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
44394
44395         Fix licensing of sigprocmask.
44396         * modules/raise (License): Relicense as LGPL.
44397
44398 2008-06-21  Bruno Haible  <bruno@clisp.org>
44399
44400         * lib/propername.c (proper_name_utf8): Don't use the transliterated
44401         result if it contains question marks.
44402         Reported by Michael Geng <linux@michaelgeng.de>.
44403
44404 2008-06-19  Bruno Haible  <bruno@clisp.org>
44405
44406         Fix CVS-ism.
44407         * doc/gnulib.texi: Include updated-stamp.texi.
44408         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
44409         (updated-stamp.texi): New rule.
44410         (gnulib.info): Depend on it.
44411         * doc/.gitignore: Add updated-stamp.texi.
44412         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
44413
44414 2008-06-19  Bruno Haible  <bruno@clisp.org>
44415
44416         * doc/Makefile (gnulib.info): Update and simplify dependencies.
44417         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44418
44419 2008-06-19  Eric Blake  <ebb9@byu.net>
44420
44421         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
44422         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
44423         Reported by Stepan Kasal.
44424
44425 2008-06-18  Bruno Haible  <bruno@clisp.org>
44426
44427         * lib/fatal-signal.c (init_fatal_signals): Add comment.
44428         Reported by Eric Blake.
44429
44430 2008-06-18  Eric Blake  <ebb9@byu.net>
44431
44432         Work around cygwin 1.5.25 strsignal bug.
44433         * tests/test-strsignal.c: Allow for const char *.
44434         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
44435
44436 2008-06-18  Simon Josefsson  <simon@josefsson.org>
44437
44438         * users.txt: Update URL to article and add author/date
44439         information.
44440
44441 2008-06-17  Bruno Haible  <bruno@clisp.org>
44442
44443         New macro gl_DISABLE_THREADS.
44444         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
44445         if the user did not pass --enable-threads or --disable-threads option.
44446         (gl_DISABLE_THREADS): New macro.
44447         Reported by Eric Blake <ebb9@byu.net>.
44448
44449 2008-06-17  Bruno Haible  <bruno@clisp.org>
44450
44451         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
44452         when the macro ignores it.
44453         Based on a patch by Eric Blake <ebb9@byu.net>.
44454
44455 2008-06-17  Bruno Haible  <bruno@clisp.org>
44456
44457         * modules/tls (License): Change to LGPLv2+.
44458         Reported by Eric Blake.
44459
44460 2008-06-17  Eric Blake  <ebb9@byu.net>
44461
44462         Simplify c-stack prerequisites.
44463         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
44464         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
44465         no longer requires <ucontext.h> to exist.  Optimize setrlimit
44466         check.
44467         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
44468         <sys/resource.h>.
44469
44470         Move c-stack test into testsuite.
44471         * modules/c-stack-tests: New file.
44472         * lib/c-stack.c [DEBUG]: Move test program...
44473         * tests/test-c-stack.c: ...into this new file.  Skip rather than
44474         fail test if sigaltstack is lacking.
44475         * tests/test-c-stack.sh: New driver file.
44476
44477 2008-06-16  Eric Blake  <ebb9@byu.net>
44478
44479         Use raise module consistently.
44480         * modules/fatal-signal (Depends-on): Add raise.
44481         * modules/sigprocmask (Depends-on): Likewise.
44482         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
44483         * lib/sigprocmask.c (sigprocmask): Likewise.
44484         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
44485         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
44486
44487         Fix compliance bug in sigpending.
44488         * lib/sigprocmask.c (sigpending): Return pending array via
44489         parameter, not return value.
44490
44491 2008-06-14  Eric Blake  <ebb9@byu.net>
44492
44493         Improve obstack-printf test code.
44494         * tests/test-obstack-printf.c (test_function): Fix comment, and
44495         simplify usage of obstack_* in macros.  Add a test for coverage.
44496         Reported by Bruno Haible.
44497
44498 2008-06-14  Bruno Haible  <bruno@clisp.org>
44499
44500         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
44501         array size as a constant, not as a const variable.
44502         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
44503         AC_USE_SYSTEM_EXTENSIONS.
44504         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44505         Test whether the obstack_printf function actually exists.
44506         * modules/obstack-printf (Depends-on): Add extensions.
44507         (Include): Remove obstack.h.
44508         * modules/obstack-printf-posix (Depends-on): Add extensions.
44509         (Include): Remove obstack.h.
44510
44511 2008-06-13  Eric Blake  <ebb9@byu.net>
44512
44513         Add obstack-printf and obstack-printf-posix modules.
44514         * modules/obstack-printf: New file.
44515         * modules/obstack-printf-posix: Likewise.
44516         * MODULES.html.sh (Misc): Mention them.
44517         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44518         Likewise.
44519         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44520         Likewise.
44521         * modules/stdio (Makefile.am): Accomodate new modules.
44522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44523         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
44524         Declare.
44525         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
44526         functions.
44527         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
44528         (gl_REPLACE_OBSTACK_PRINTF): New macros
44529         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
44530         * tests/test-obstack-printf.c: New file.
44531         * modules/obstack-printf-tests: Likewise.
44532         * modules/obstack-printf-posix-tests: Likewise.
44533
44534 2008-06-11  Bruno Haible  <bruno@clisp.org>
44535
44536         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
44537         * lib/open.c: Include errno.h.
44538         (open): Fail when attempting to write to a file that has a trailing
44539         slash.
44540         * tests/test-open.c (main): Test against trailing slash bug.
44541         * doc/posix-functions/open.texi: Mention the trailing slash bug.
44542
44543 2008-06-10  Bruno Haible  <bruno@clisp.org>
44544
44545         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
44546         for $? to work inside the trap command, with various /bin/sh-s.
44547         * tests/test-vc-list-files-cvs.sh: Likewise.
44548
44549 2008-06-10  Bruno Haible  <bruno@clisp.org>
44550
44551         * lib/acl-internal.h: Don't include gettext.h here.
44552         * lib/set-mode-acl.c: Include gettext.h here.
44553         * lib/copy-acl.c: Likewise.
44554
44555 2008-06-10  Bruno Haible  <bruno@clisp.org>
44556
44557         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
44558         * lib/wait-process.c (wait_subprocess): Likewise.
44559         * lib/execute.h (execute): Add termsigp argument.
44560         * lib/execute.c (execute): Likewise.
44561         * lib/csharpcomp.c (compile_csharp_using_pnet,
44562         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
44563         * lib/csharpexec.c (execute_csharp_using_pnet,
44564         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
44565         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
44566         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
44567         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
44568         is_jikes_present): Update.
44569         * lib/javaexec.c (execute_java_class): Update.
44570         * lib/javaversion.c (execute_and_read_line): Update.
44571         * NEWS: Document the changes.
44572         Reported by Eric Blake.
44573
44574 2008-06-10  Eric Blake  <ebb9@byu.net>
44575
44576         Add missing include.
44577         * tests/test-strstr.c (includes): Add <signal.h>.
44578         * tests/test-strcasestr.c (includes): Likewise.
44579         * tests/test-memmem.c (includes): Likewise.
44580
44581 2008-06-10  Bruno Haible  <bruno@clisp.org>
44582
44583         * lib/wait-process.c (wait_subprocess): Add an assertion.
44584
44585 2008-06-10  Bruno Haible  <bruno@clisp.org>
44586
44587         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
44588
44589 2008-06-10  Bruno Haible  <bruno@clisp.org>
44590
44591         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
44592         using alarm().
44593         * tests/test-strcasestr.c (main): Likewise.
44594         * tests/test-strstr.c (main): Likewise.
44595
44596 2008-06-09  Bruno Haible  <bruno@clisp.org>
44597
44598         Work around the Solaris 10 ACE ACLs ABI change.
44599         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
44600         declare if ACL_NO_TRIVIAL is present.
44601         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
44602         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
44603         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
44604         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
44605         define if ACL_NO_TRIVIAL is present.
44606         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
44607         and use the current ABI.
44608         (file_has_acl): Use same #if condition as elsewhere.
44609         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
44610         in use, and use the current ABI.
44611         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
44612         Reported by Jim Meyering.
44613
44614 2008-06-09  Eric Blake  <ebb9@byu.net>
44615
44616         Work around environments that (stupidly) ignore SIGALRM.
44617         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
44618         before using alarm().
44619         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44620         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44621         Reported by Ian Beckwith <ianb@erislabs.net>.
44622
44623         Produce autobuild blurb earlier in log.
44624         * modules/autobuild (configure.ac-early): Move AB_INIT here.
44625
44626 2008-06-09  Jim Meyering  <meyering@redhat.com>
44627         and OndÅ™ej Vašík  <ovasik@redhat.com>
44628
44629         utimens.c: correct kernel bug work-around
44630         OndÅ™ej Vašík found that the invalid return value of 280 indicates
44631         failure, not success, and the kernel bug we're trying to work
44632         around affects not just the utimensat call, but also the fallback
44633         futimens call.
44634         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
44635         not success.
44636         [HAVE_FUTIMENS]: Use the same work-around, here.
44637
44638 2008-06-09  Jim Meyering  <meyering@redhat.com>
44639
44640         add more guards around definition of ACE_-related code
44641         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
44642         ALLOW and ACE_OWNER are also defined.
44643
44644 2008-06-08  Bruno Haible  <bruno@clisp.org>
44645
44646         * lib/acl-internal.h: Add me as co-author.
44647         * lib/file-has-acl.c: Likewise.
44648         * lib/set-mode-acl.c: Likewise.
44649         * lib/copy-acl.c: Likewise.
44650
44651 2008-06-08  Bruno Haible  <bruno@clisp.org>
44652
44653         Add support for AIX ACLs.
44654         * lib/acl-internal.h (acl_nontrivial): New declaration.
44655         * lib/file-has-acl.c (acl_nontrivial): New function.
44656         (file_has_acl): Add implementation using AIX 4 ACL API.
44657         * lib/set-mode-acl.c (qset_acl): Likewise.
44658         * lib/copy-acl.c (qcopy_acl): Likewise.
44659
44660 2008-06-08  Bruno Haible  <bruno@clisp.org>
44661
44662         Add support for HP-UX ACLs.
44663         * lib/acl-internal.h (acl_nontrivial): New declaration.
44664         * lib/file-has-acl.c (acl_nontrivial): New function.
44665         (file_has_acl): Add implementation using HP-UX 11 ACL API.
44666         * lib/set-mode-acl.c (qset_acl): Likewise.
44667         * lib/copy-acl.c (qcopy_acl): Likewise.
44668
44669 2008-06-08  Bruno Haible  <bruno@clisp.org>
44670
44671         Add support for Cygwin ACLs.
44672         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
44673         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
44674         the chmod_or_fchmod call.
44675         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
44676
44677 2008-06-08  Bruno Haible  <bruno@clisp.org>
44678
44679         Fix bug with setuid modes in Solaris 10+ code.
44680         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
44681         succeeded, when the mode contains some special bits.
44682
44683 2008-06-08  Bruno Haible  <bruno@clisp.org>
44684
44685         Add support for Solaris 7..10 ACLs.
44686         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
44687         declarations.
44688         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
44689         functions.
44690         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
44691         * lib/set-mode-acl.c (qset_acl): Likewise.
44692         * lib/copy-acl.c (qcopy_acl): Likewise.
44693
44694 2008-06-08  Bruno Haible  <bruno@clisp.org>
44695
44696         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
44697         declaration.
44698         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
44699         (acl_access_nontrivial): Remove MacOS X case.
44700         (file_has_acl): Use acl_extended_nontrivial.
44701         * lib/copy-acl.c (qcopy_acl): Likewise.
44702
44703 2008-06-08  Bruno Haible  <bruno@clisp.org>
44704
44705         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
44706
44707 2008-06-08  Jim Meyering  <meyering@redhat.com>
44708
44709         * modules/acl (Maintainer): Add Bruno Haible.
44710
44711 2008-06-07  Bruno Haible  <bruno@clisp.org>
44712
44713         Improve support for Tru64 ACLs.
44714         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
44715         ACL on OSF/1.
44716
44717 2008-06-07  Bruno Haible  <bruno@clisp.org>
44718
44719         Add support for MacOS X ACLs.
44720         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
44721         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
44722         * lib/set-mode-acl.c (qset_acl): Likewise.
44723         * lib/copy-acl.c (qcopy_acl): Likewise.
44724
44725 2008-06-07  Bruno Haible  <bruno@clisp.org>
44726
44727         Fix memory leak introduced on 2008-05-22.
44728         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
44729         use.
44730
44731 2008-06-07  Bruno Haible  <bruno@clisp.org>
44732
44733         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
44734         to construct an empty ACL.
44735
44736 2008-06-07  Bruno Haible  <bruno@clisp.org>
44737
44738         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
44739         precisely.
44740         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
44741
44742 2008-06-07  Bruno Haible  <bruno@clisp.org>
44743
44744         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
44745         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
44746
44747 2008-06-07  Bruno Haible  <bruno@clisp.org>
44748
44749         * doc/posix-functions/_setjmp.texi: Explain the use of this function
44750         regardless of POSIX.
44751         * doc/posix-functions/_longjmp.texi: Likewise.
44752         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
44753         SystemV platform in this case.
44754
44755 2008-06-06  Eric Blake  <ebb9@byu.net>
44756
44757         Document abort() bugs.
44758         * doc/posix-functions/abort.texi (abort): Mention anomalies.
44759
44760         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
44761         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
44762         sigsetjmp.
44763         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
44764         siglongjmp, but only as a macro.
44765         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
44766         is obsolete.
44767         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
44768
44769         Tweak documentation to cover cygwin argz bugs.
44770         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
44771         argz bug fix; no code change needed since no cygwin releases
44772         occurred between the last fix and the bug being tested.
44773         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
44774         module and recently fixed cygwin bugs.
44775         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
44776         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
44777         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
44778         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
44779         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
44780         Likewise.
44781         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
44782         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
44783         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
44784         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
44785         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
44786         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
44787         Likewise.
44788
44789         Avoid gcc warning on cygwin.
44790         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
44791         !ACL_NO_TRIVIAL]: Avoid unused variable.
44792
44793 2008-06-05  Eric Blake  <ebb9@byu.net>
44794
44795         Be tolerant of UNKNOWN version in gnulib-tool test dir.
44796         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
44797         git-version-gen fails to come up with a version.
44798         Reported by Simon Josefsson.
44799
44800 2008-06-05  Jim Meyering  <meyering@redhat.com>
44801             Paul Eggert  <eggert@cs.ucla.edu>
44802
44803         utimens.c: work around a probable Linux kernel bug
44804         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
44805         appears to be a kernel bug that causes utimensat to return 280
44806         instead of 0, indicating success.
44807
44808 2008-06-04  Bruno Haible  <bruno@clisp.org>
44809
44810         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
44811         2008-06-01 commit.
44812
44813 2008-06-04  Bruno Haible  <bruno@clisp.org>
44814
44815         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
44816         * lib/file-has-acl.c (acl_access_nontrivial): New function.
44817         (file_has_acl): Use it. Save errno afterwards.
44818         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
44819
44820 2008-06-03  Bruno Haible  <bruno@clisp.org>
44821
44822         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
44823         draft code. Simplify #ifs.
44824         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
44825         Put Solaris code after POSIX-draft code. Fix comments regarding
44826         Solaris 10, HP-UX. Mention Cygwin.
44827         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
44828
44829 2008-06-03  Eric Blake  <ebb9@byu.net>
44830
44831         Provide fallback for older kernels.
44832         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
44833         Provide runtime fallback if kernel lacks support.
44834         Reported by Mike Frysinger.
44835
44836 2008-06-02  Bruno Haible  <bruno@clisp.org>
44837
44838         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
44839         it exists.
44840
44841 2008-06-02  Bruno Haible  <bruno@clisp.org>
44842
44843         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
44844         * lib/copy-acl.c (qcopy_acl): Update comment.
44845
44846 2008-06-02  Bruno Haible  <bruno@clisp.org>
44847
44848         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
44849         like ACL APIs.
44850
44851 2008-06-02  Bruno Haible  <bruno@clisp.org>
44852
44853         * tests/test-file-has-acl.sh: Use different code for Cygwin.
44854         * tests/test-set-mode-acl.sh: Likewise.
44855         * tests/test-copy-acl.sh: Likewise.
44856         * tests/test-copy-file.sh: Likewise.
44857
44858 2008-06-02  Bruno Haible  <bruno@clisp.org>
44859
44860         * tests/test-file-has-acl.sh: Remove unused code.
44861
44862 2008-06-01  Bruno Haible  <bruno@clisp.org>
44863
44864         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
44865         (copy_acl): Just a wrapper around qcopy_acl that emits the error
44866         messages.
44867         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
44868
44869 2008-06-01  Bruno Haible  <bruno@clisp.org>
44870
44871         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
44872         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
44873         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
44874         APIs.
44875         * modules/acl-tests (configure.ac): Remove tests now contained in
44876         m4/acl.m4.
44877
44878 2008-06-02  Jim Meyering  <meyering@redhat.com>
44879
44880         announce-gen: use a better key-server host name
44881         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
44882         it may be more consistently reliable.  Suggested by Werner Koch
44883         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
44884
44885 2008-06-01  Bruno Haible  <bruno@clisp.org>
44886
44887         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
44888         Reported by Voroskoi Andras <voroskoi@gmail.com>.
44889
44890 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
44891
44892         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
44893
44894 2008-06-01  Bruno Haible  <bruno@clisp.org>
44895
44896         New ACL tests.
44897         * tests/test-file-has-acl.sh: New file.
44898         * tests/test-file-has-acl.c: New file.
44899         * tests/test-set-mode-acl.sh: New file.
44900         * tests/test-set-mode-acl.c: New file.
44901         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
44902         * tests/test-copy-acl.c: New file.
44903         * modules/acl-tests: New file, based on modules/copy-file-tests.
44904         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
44905         (Depends-on): Add acl-tests.
44906         (configure.ac): Remove checks.
44907         (Makefile.am): Don't create test-sameacls program here any more.
44908
44909 2008-06-01  Bruno Haible  <bruno@clisp.org>
44910
44911         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
44912         * tests/test-sameacls.c: Include progname.h.
44913         (main): Invoke set_program_name. Portability fixes for MacOS X,
44914         Solaris, HP-UX.
44915
44916 2008-06-01  Bruno Haible  <bruno@clisp.org>
44917
44918         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
44919         function.
44920         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
44921
44922 2008-06-01  Bruno Haible  <bruno@clisp.org>
44923
44924         * modules/rpmatch (Depends-on): Add strdup.
44925
44926 2008-06-01  Bruno Haible  <bruno@clisp.org>
44927
44928         * lib/pipe.c: Include unistd-safer.h.
44929         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
44930         * modules/pipe (Depends-on): Add unistd-safer.
44931
44932 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44933
44934         * modules/autobuild (configure.ac): Call AB_INIT.
44935
44936 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44937
44938         * tests/test-getaddrinfo.c: Don't print debug messages by default.
44939         Suggested by Bruno Haible <bruno@clisp.org>.
44940
44941 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44942
44943         * tests/test-base64.c: Cast size_t to unsigned long when invoking
44944         printf.  Use %lu instead of %d.  Reported by Bruno Haible
44945         <bruno@clisp.org>.
44946
44947 2008-05-29  Eric Blake  <ebb9@byu.net>
44948
44949         Prefer new POSIX 200x interfaces over futimesat.
44950         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
44951         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
44952         when available.
44953         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
44954
44955 2008-05-28  Bruno Haible  <bruno@clisp.org>
44956
44957         * modules/stpcpy (License): Change to LGPLv2+.
44958         Requested by David Lutterkort <dlutter@redhat.com>.
44959
44960 2008-05-27  Bruno Haible  <bruno@clisp.org>
44961
44962         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
44963         current mingw.
44964         Reported by Jose E. Marchesi <jemarch@gnu.org>.
44965
44966 2008-05-27  Bruno Haible  <bruno@clisp.org>
44967
44968         * modules/iconv_open (Link): New section, from module 'iconv'.
44969         * modules/striconv (Link): Likewise.
44970         * modules/striconveh (Link): Likewise.
44971         * modules/xstriconv (Link): Likewise.
44972         * modules/unicodeio (Link): Likewise.
44973         * modules/propername (Link): Likewise.
44974         Reported by Jim Meyering.
44975
44976 2008-05-26  Jim Meyering  <meyering@redhat.com>
44977
44978         sha256: do not artificially restrict buffer length to be < 2^32
44979         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
44980         uint32_t to size_t.
44981         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
44982         to match.
44983
44984         avoid unaligned access errors, e.g., on sparc
44985         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
44986         direct access through a possibly-unaligned uint64* pointer.
44987         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
44988         direct access through a possibly-unaligned uint32* pointer.
44989         Prompted by this patch from Tom "spot" Callaway:
44990         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
44991
44992         sha512.c: fix typo in comment
44993         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
44994
44995 2008-05-25  Bruno Haible  <bruno@clisp.org>
44996
44997         * lib/set-mode-acl.c: Renamed from lib/acl.c.
44998         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
44999         (Makefile.am): Update lib_SOURCES.
45000
45001 2008-05-25  Bruno Haible  <bruno@clisp.org>
45002
45003         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
45004
45005 2008-05-25  Jim Meyering  <meyering@redhat.com>
45006
45007         useless-if-before-free: freed expr may have white-space differences
45008         * build-aux/useless-if-before-free: Recognize cases in which the
45009         freed expression differs from the tested one in embedded white
45010         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
45011         $1 was used, so we can't make any regexp shy.  Improved tests now
45012         detect this.
45013
45014         useless-if-before-free: accept white space in the expression.
45015         * build-aux/useless-if-before-free: For now, any white space
45016         in the expression must be identical in the free argument.
45017
45018         useless-if-before-free: efficiency tweak
45019         * build-aux/useless-if-before-free: Make the expression-matching
45020         regexp "shy".
45021         Make the *outer* regexp shy, not the expr-matching one.
45022
45023         update code-in-comment to accept cast of free arg
45024         * build-aux/useless-if-before-free: Update regexp.
45025
45026 2008-05-25  Bruno Haible  <bruno@clisp.org>
45027
45028         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
45029         * modules/copy-file-tests (Files, Makefile.am): Update.
45030         * tests/test-copy-file.c (func_test_copy): Update.
45031
45032 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
45033
45034         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
45035
45036 2008-05-23  Bruno Haible  <bruno@clisp.org>
45037
45038         Improve support for ACLs on OSF/1.
45039         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
45040         Remove fallback for unknown flavors of ACLs.
45041
45042 2008-05-22  Bruno Haible  <bruno@clisp.org>
45043
45044         Add support for ACLs on OSF/1.
45045         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
45046         replacements.
45047         (acl_free_text): New macro fallback.
45048         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
45049         acl_free.
45050         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
45051         acl_free_text function. Require AC_C_INLINE.
45052
45053 2008-05-22  Bruno Haible  <bruno@clisp.org>
45054
45055         Make copy_acl work on MacOS X 10.5.
45056         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
45057         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
45058         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
45059         If MODE_INSIDE_ACL, don't assume that every system has the same text
45060         representation for ACLs as FreeBSD.
45061         * lib/copy-acl.c (copy_acl): Add support for platforms with
45062         !MODE_INSIDE_ACL.
45063         * lib/file-has-acl.c (file_has_acl): Likewise.
45064         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
45065         FreeBSD, MacOS X, or IRIX, respectively.
45066
45067 2008-05-22  Bruno Haible  <bruno@clisp.org>
45068
45069         * lib/acl.h: Don't include <sys/acl.h>.
45070         (GETACLCNT): Move fallback to lib/acl-internal.h.
45071         * lib/acl-internal.h: Include <sys/acl.h> here.
45072         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
45073
45074 2008-05-22  Bruno Haible  <bruno@clisp.org>
45075
45076         Split off copy_acl function to separate file.
45077         * lib/copy-acl.c: New file, extracted from lib/acl.c.
45078         * lib/acl.c (copy_acl): Moved function to separate file.
45079         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
45080         * modules/acl (Files): Add lib/copy-acl.c.
45081         (Makefiles.am): Augment lib_SOURCES.
45082
45083 2008-05-22  Bruno Haible  <bruno@clisp.org>
45084
45085         * modules/copy-file-tests: New file.
45086         * tests/test-copy-file.sh: New file.
45087         * tests/test-copy-file.c: New file.
45088         * tests/test-copy-file-sameacls.c: New file.
45089
45090 2008-05-22  Eric Blake  <ebb9@byu.net>
45091
45092         Avoid gcc warning.
45093         * tests/test-memcmp.c (main): Pass NULL indirectly.
45094
45095 2008-05-21  Bruno Haible  <bruno@clisp.org>
45096
45097         Add reference doc about ACLs.
45098         * doc/acl-resources.txt: New file.
45099         * doc/acl-cygwin.txt: New file.
45100
45101 2008-05-21  Bruno Haible  <bruno@clisp.org>
45102
45103         Avoid one more warning from gcc.
45104         * lib/vasnprintf.c (IF_LINT): Update comments.
45105         (VASNPRINTF): Use it also for the 'prefix' array initializer.
45106
45107 2008-05-21  Jim Meyering  <meyering@redhat.com>
45108
45109         avoid a warning from gcc
45110         * lib/vasnprintf.c (IF_LINT): Define.
45111         (scale10_round_decimal_long_double):
45112         Use it to avoid a "may be used uninitialized" warning.
45113         (scale10_round_decimal_double): Likewise.
45114
45115 2008-05-21  Simon Josefsson  <simon@josefsson.org>
45116
45117         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
45118         declared.
45119
45120 2008-05-20  Bruno Haible  <bruno@clisp.org>
45121
45122         * tests/test-memcmp.c (main): Test also the sign of the result. Test
45123         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
45124
45125 2008-05-20  Simon Josefsson  <simon@josefsson.org>
45126
45127         * modules/memcmp-tests: New file.
45128         * tests/test-memcmp.c: New file.
45129
45130 2008-05-19  Bruno Haible  <bruno@clisp.org>
45131
45132         * modules/propername (Notice, configure.ac): Put quoted "..." into
45133         --keyword option.
45134         * lib/propername.h: Update comments accordingly.
45135         Reported by Eric Blake.
45136
45137 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
45138
45139         * modules/getpass-gnu (Depends-on): Add fseeko.
45140
45141 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45142
45143         * modules/base64-tests: New file.
45144
45145 2008-05-19  Bo Borgerson <gigabo@gmail.com>
45146
45147         * lib/base64.c (base64_decode_ctx): If a decode context structure
45148         was passed in use it to ignore newlines.  If a context structure
45149         was _not_ passed in, continue to treat newlines as garbage (this
45150         is the historical behavior).  Formerly base64_decode.
45151         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45152         takes a decode context structure.
45153         * lib/base64.h (base64_decode): Macro for four-argument calls.
45154         (base64_decode_alloc): Likewise.
45155         * lib/base64.c (base64_decode_ctx): If a decode context structure
45156         was passed in use it to ignore newlines.  If a context structure
45157         was _not_ passed in, continue to treat newlines as garbage (this
45158         is the historical behavior).  Formerly base64_decode.
45159         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45160         takes a decode context structure.
45161         * lib/base64.h (base64_decode): Macro for four-argument calls.
45162         (base64_decode_alloc): Likewise.
45163
45164 2008-05-19  Jim Meyering  <meyering@redhat.com>
45165
45166         avoid a warning from gcc
45167         * lib/trim.c (IF_LINT): Define.
45168         (trim2): Use it to avoid a "may be used uninitialized" warning.
45169
45170         Fix doc typo.
45171         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
45172
45173 2008-05-19  Bruno Haible  <bruno@clisp.org>
45174
45175         * doc/glibc-functions/getpass.texi: Document limits of other
45176         implementations.
45177
45178 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45179             Bruno Haible <bruno@clisp.org>
45180
45181         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
45182
45183 2008-05-18  Bruno Haible  <bruno@clisp.org>
45184
45185         * modules/propername: New file, from GNU gettext.
45186         * lib/propername.h: New file, from GNU gettext.
45187         * lib/propername.c: New file, from GNU gettext.
45188         * MODULES.html.sh (Internationalization functions): Add propername.
45189
45190 2008-05-16  Jim Meyering  <meyering@redhat.com>
45191             Bruno Haible  <bruno@clisp.org>
45192
45193         Avoid some warnings from "gcc -Wshadow".
45194         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
45195
45196 2008-05-15  Eric Blake  <ebb9@byu.net>
45197
45198         Extend previous patch to cygwin 1.7.0.
45199         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
45200         fast implementation in cygwin >= 1.7.0.
45201         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45202         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45203
45204 2008-05-15  Bruno Haible  <bruno@clisp.org>
45205
45206         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
45207         implementation in glibc >= 2.9.
45208         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45209         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45210
45211 2008-05-15  Bruno Haible  <bruno@clisp.org>
45212
45213         * MODULES.html.sh (Internationalization functions): Remove linebreak.
45214         (Unicode string functions): Add unilbrk/*.
45215         Reported by Karl Berry.
45216
45217 2008-05-15  Eric Blake  <ebb9@byu.net>
45218
45219         Fix violation of <stdbool.h> replacement in regex.
45220         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
45221         * lib/regexec.c (re_search_internal): Likewise.
45222         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
45223
45224 2008-05-15  Jim Meyering  <meyering@redhat.com>
45225
45226         avoid distracting test output when git or cvs is not found
45227         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
45228         * tests/test-vc-list-files-git.sh: Likewise.
45229
45230 2008-05-15  Eric Blake  <ebb9@byu.net>
45231
45232         Glibc finally accepted the memmem speedup code, bugzilla #5514.
45233         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
45234         glibc version.
45235         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45236         * doc/posix-functions/strstr.texi (strstr): Likewise.
45237         * lib/str-two-way.h (MAX): Sychronize with glibc.
45238
45239 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
45240
45241         * lib/regcomp.c (optimize_utf8): Add a note on why we test
45242         opr.ctx_type.
45243         (calc_first): Initialize constraint field.
45244         (duplicate_node_closure): Use it instead of special casing ANCHORS.
45245         Fix grammar.
45246         (duplicate_node): Merge constraint field for all node types.
45247         (calc_eclosure_iter): Look at constraint field for all node types.
45248         * lib/regex_internal.c (create_cd_newstate): Don't look at
45249         opr.ctx_type.
45250
45251 2008-05-14  Bruno Haible  <bruno@clisp.org>
45252
45253         Help GCC to do better code generation.
45254         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
45255         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
45256         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
45257         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
45258         Declare with attribute 'malloc' if supported.
45259
45260 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
45261
45262         use "echo STR|wc -c" rather than unportable "expr length STR"
45263         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
45264         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
45265
45266 2008-05-14  Jim Meyering  <meyering@redhat.com>
45267
45268         use dd ibs=$n count=1 ... rather than less-portable head -c$n
45269         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
45270         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
45271         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
45272         via Collin Lasse.
45273
45274 2008-05-14  Eric Blake  <ebb9@byu.net>
45275
45276         Avoid quadratic growth in gl_LIBSOURCES.
45277         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
45278         Suggested by Bruno Haible.
45279
45280         Test xmemdup0.
45281         * modules/xmemdup0-tests: New file.
45282         * tests/test-xmemdup0.c: Likewise.
45283
45284 2008-05-13  Eric Blake  <ebb9@byu.net>
45285
45286         Split xmemdup0 into its own module.
45287         * modules/xmemdup0: New file.
45288         * lib/xmemdup0.h: Likewise.
45289         * lib/xmemdup0.c: Likewise.
45290         * MODULES.html.sh (Memory management functions): Add xmemdup0.
45291         * lib/xalloc.h (xmemdup0): Remove.
45292         * lib/xmalloc.c (xmemdup0): Likewise.
45293
45294 2008-05-13  Eric Blake  <ebb9@byu.net>
45295             Bruno Haible  <bruno@clisp.org>
45296
45297         Reduce number of forks required during autoconf.
45298         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
45299         and gl_LIBSOURCES_DIR.
45300         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
45301         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
45302         m4_syscmd per file.
45303         <m4_foreach_w>: Move...
45304         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
45305
45306 2008-05-13  Eric Blake  <ebb9@byu.net>
45307
45308         * gnulib-tool: Fix various comment typos.
45309
45310 2008-05-12  Bruno Haible  <bruno@clisp.org>
45311
45312         Tailor the linebreaking algorithm.
45313         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
45314
45315 2008-05-12  Bruno Haible  <bruno@clisp.org>
45316
45317         Update to Unicode 5.0.0.
45318         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
45319         LBP_JV, LBP_JT. Redistribute values.
45320         (unilbrk_table): Change size.
45321         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
45322         Unicode TR#14 rev. 22.
45323         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
45324         LBP_JV, LBP_JT. Redistribute values.
45325         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
45326         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
45327         Update.
45328         * lib/unilbrk/lbrkprop1.h: Regenerated.
45329         * lib/unilbrk/lbrkprop2.h: Regenerated.
45330         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
45331         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
45332         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
45333         Likewise.
45334         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
45335         Likewise.
45336         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
45337         result.
45338         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
45339         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
45340         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
45341         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
45342         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
45343         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
45344
45345 2008-05-11  Bruno Haible  <bruno@clisp.org>
45346
45347         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
45348
45349 2008-05-11  Bruno Haible  <bruno@clisp.org>
45350
45351         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
45352         * modules/unilbrk/gen-lbrk: New file.
45353
45354 2008-05-11  Bruno Haible  <bruno@clisp.org>
45355
45356         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
45357         * m4/sha512.m4 (gl_SHA512): Likewise.
45358
45359 2008-05-11  Jim Meyering  <meyering@redhat.com>
45360
45361         New modules: crypto/sha256, crypto/sha512 (from coreutils)
45362         * modules/crypto/sha256: New file.
45363         * modules/crypto/sha512: Likewise.
45364         * lib/sha256.c: Likewise.
45365         * lib/sha256.h: Likewise.
45366         * lib/sha512.c: Likewise.
45367         * lib/sha512.h: Likewise.
45368         * lib/u64.h: Likewise.
45369         * m4/sha256.m4: Likewise.
45370         * m4/sha512.m4: Likewise.
45371         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
45372
45373 2008-05-10  Bruno Haible  <bruno@clisp.org>
45374
45375         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
45376         (Input/Output <stdio.h>): Add xprintf.
45377         (Signal handling <signal.h>): Add strsignal.
45378         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
45379         (Core language properties): Add func.
45380         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
45381         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
45382         strings.
45383         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
45384         (Input/output): New section.
45385         (File system functions): Add openat-die, stat-macros.
45386         (Networking functions): Add sockets.
45387         (Unicode string functions): Add unictype/*.
45388         (Support for building libraries and executables): Add gperf.
45389         (Support for building documentation): Add agpl-3.0.
45390         (Misc): Add nocrash.
45391
45392 2008-05-10  Bruno Haible  <bruno@clisp.org>
45393
45394         * modules/unictype/gen-ctype: New file.
45395
45396 2008-05-10  Jim Meyering  <meyering@redhat.com>
45397
45398         Make chdir-safer.c more efficient on a system with no symlinks.
45399         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
45400         also if ELOOP is zero.  Suggested by Bruno Haible.
45401
45402         Make chdir-safer.c slightly safer.
45403         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
45404         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
45405
45406         Avoid compile failure on systems without ELOOP (like mingw).
45407         * lib/chdir-safer.c (ELOOP): Define if not already defined.
45408         Reported by Bruno Haible.
45409
45410 2008-05-10  Bruno Haible  <bruno@clisp.org>
45411
45412         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
45413         (is_utf8_encoding): Use a case-insensitive comparison.
45414         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
45415         streq.
45416
45417 2008-05-10  Bruno Haible  <bruno@clisp.org>
45418
45419         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
45420         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
45421         * lib/unilbrk/ulc-common.h (iconv_string_length,
45422         iconv_string_keeping_offsets): Remove declarations.
45423         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
45424         Don't include <iconv.h>, streq.h, xsize.h.
45425         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
45426         conversion.
45427         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
45428         <iconv.h>, streq.h, xsize.h.
45429         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
45430         conversion.
45431         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
45432         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
45433         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
45434         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
45435
45436 2008-05-10  Bruno Haible  <bruno@clisp.org>
45437
45438         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
45439         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
45440
45441         * modules/unilbrk/u32-width-linebreaks-tests: New file.
45442         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
45443
45444         * modules/unilbrk/u16-width-linebreaks-tests: New file.
45445         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
45446
45447         * modules/unilbrk/u8-width-linebreaks-tests: New file.
45448         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
45449
45450         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
45451         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
45452
45453         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
45454         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
45455
45456         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
45457         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
45458
45459         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
45460         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
45461
45462 2008-05-10  Bruno Haible  <bruno@clisp.org>
45463
45464         Split up 'linebreak' module.
45465         * lib/unilbrk.h: New file, based on lib/linebreak.h.
45466         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
45467         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
45468         modifications.
45469         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
45470         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
45471         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
45472         lib/linebreak.c.
45473         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
45474         lib/linebreak.c.
45475         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
45476         lib/linebreak.c.
45477         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
45478         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
45479         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
45480         lib/linebreak.c.
45481         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
45482         lib/linebreak.c.
45483         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
45484         lib/linebreak.c.
45485         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
45486         lib/linebreak.c.
45487         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
45488         lib/linebreak.c.
45489         * modules/unilbrk/base: New file.
45490         * modules/unilbrk/tables: New file.
45491         * modules/unilbrk/u8-possible-linebreaks: New file.
45492         * modules/unilbrk/u16-possible-linebreaks: New file.
45493         * modules/unilbrk/u32-possible-linebreaks: New file.
45494         * modules/unilbrk/ulc-common: New file.
45495         * modules/unilbrk/ulc-possible-linebreaks: New file.
45496         * modules/unilbrk/u8-width-linebreaks: New file.
45497         * modules/unilbrk/u16-width-linebreaks: New file.
45498         * modules/unilbrk/u32-width-linebreaks: New file.
45499         * modules/unilbrk/ulc-width-linebreaks: New file.
45500         * lib/linebreak.h: Remove file.
45501         * lib/linebreak.c: Remove file.
45502         * m4/linebreak.m4: Remove file.
45503         * modules/linebreak: Remove file.
45504         * NEWS: Mention the changes.
45505
45506 2008-05-09  Eric Blake  <ebb9@byu.net>
45507
45508         Add xmemdup0.
45509         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
45510         implementation.
45511         * lib/xmalloc.c (xmemdup0): New C implementation.
45512
45513 2008-05-08  Bruno Haible  <bruno@clisp.org>
45514
45515         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
45516
45517 2008-05-07  Eric Blake  <ebb9@byu.net>
45518
45519         Support cross-compilation of <wctype.h>.
45520         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
45521         AC_CACHE_CHECK.
45522
45523 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
45524
45525         * build-aux/vc-list-files: Add support for bzr.
45526
45527 2008-05-03  Jim Meyering  <meyering@redhat.com>
45528
45529         avoid failed assertion with tight malloc
45530         * tests/test-getndelim2.c: Correct an off-by-one assertion.
45531
45532 2008-05-03  Simon Josefsson  <simon@josefsson.org>
45533
45534         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
45535         are needed from arpa/inet.h.
45536         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
45537         Reported by Bruno Haible.
45538
45539 2008-05-02  Jim Meyering  <meyering@redhat.com>
45540
45541         avoid compilation error on FreeBSD 6
45542         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
45543
45544 2008-05-01  Jim Meyering  <meyering@redhat.com>
45545
45546         useless-if-before-free: correct --help's exit status description
45547         * build-aux/useless-if-before-free (usage): Like grep, exit 0
45548         for one or more matches, etc.  Reported by Bruno Haible.
45549
45550         vc-list-files: make the stand-alone gnulib test work
45551         * modules/vc-list-files-tests (configure.ac):
45552         Define and AC_SUBST abs_aux_dir.
45553         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
45554         $(abs_top_srcdir) to each script and having each of them
45555         duplicate the work of setting PATH, set PATH here, using
45556         the new variable, abs_aux_dir instead.
45557         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
45558         * tests/test-vc-list-files-git.sh: Likewise.
45559         Reported by Bruno Haible.
45560
45561 2008-05-01  Bruno Haible  <bruno@clisp.org>
45562
45563         * lib/getndelim2.c (getndelim2): Fix newsize computation during
45564         reallocation. Rename 'done' to 'found_delimiter'.
45565
45566 2008-05-01  Jim Meyering  <meyering@redhat.com>
45567
45568         vc-list-files: accommodate /bin/sh like the one from Solaris 10
45569         * build-aux/vc-list-files: Use `...`, not $(...).
45570
45571 2008-04-30  Jim Meyering  <meyering@redhat.com>
45572
45573         add tests for vc-list-files
45574         * modules/vc-list-files-tests: New module.
45575         * tests/test-vc-list-files-cvs.sh: New file.
45576         * tests/test-vc-list-files-git.sh: New file.
45577
45578         avoid a warning from gcc
45579         * lib/getndelim2.c (IF_LINT): Define.
45580         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
45581
45582         vc-list-files: work properly with build-aux/cvsu, too
45583         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
45584         to all cvs-based clauses.
45585
45586         vc-list-files: work properly in the CVS+awk case, too
45587         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
45588
45589         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
45590         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
45591         take more than one file argument, so .  Add quotes, just in case $dir
45592         ever contains a shell meta-character.  Prompted by Soren Hansen in
45593         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
45594
45595 2008-04-29  Eric Blake  <ebb9@byu.net>
45596
45597         Optimize getndelim2 to use block operations when possible.
45598         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
45599         freadseek, and memchr2.
45600         * lib/getndelim2.c (getndelim2): Use them for block reads.
45601
45602 2008-04-29  Bruno Haible  <bruno@clisp.org>
45603
45604         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
45605         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45606         * modules/inet_ntop (Depends-on): Add extensions.
45607         * modules/inet_pton (Depends-on): Likewise.
45608         Reported by Simon Josefsson.
45609
45610 2008-04-29  Jim Meyering  <meyering@redhat.com>
45611
45612         When the is more than one match in a block, match all of them.
45613         * build-aux/useless-if-before-free: Iterate through each block
45614         until there are no more matches.
45615
45616         Fix broken useless-if-before-free script.
45617         * build-aux/useless-if-before-free: Fix typo: missing "?" after
45618         the expression to match cast of argument to free-like function.
45619
45620 2008-04-29  Eric Blake  <ebb9@byu.net>
45621
45622         Use new header.
45623         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
45624
45625 2008-04-29  Jim Meyering  <meyering@redhat.com>
45626
45627         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
45628         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
45629         by gnulib to exist and to declare e.g., inet_ntop.
45630         Don't include "inet_ntop.h", now removed.
45631
45632         * m4/arpa_inet_h.m4: Remove trailing blanks.
45633
45634 2008-04-29  Eric Blake  <ebb9@byu.net>
45635
45636         Silence valgrind on safe reads beyond potential array bounds.
45637         * lib/rawmemchr.valgrind: New file.
45638         * lib/strchrnul.valgrind: Likewise.
45639         * modules/rawmemchr (Files): Distribute new file.
45640         * modules/strchrnul (Files): Likewise.
45641         Suggested by Bruno Haible.
45642
45643 2008-04-29  Bruno Haible  <bruno@clisp.org>
45644
45645         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
45646         (inet_ntop, inet_pton): Change portability warning's wording.
45647         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
45648         Invoke gl_CHECK_NEXT_HEADERS.
45649         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
45650         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
45651         set ARPA_INET_H.
45652         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45653         * modules/arpa_inet (Description): No longer only for systems that
45654         lack it.
45655         (Depends-on): Add include_next.
45656         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
45657         HAVE_ARPA_INET_H.
45658
45659 2008-04-29  Jim Meyering  <meyering@redhat.com>
45660
45661         * modules/mkdir (License): Re-license as LGPLv2+.
45662
45663 2008-04-29  Bruno Haible  <bruno@clisp.org>
45664
45665         * modules/rawmemchr (Maintainer): Set to Eric.
45666         * modules/strchrnul (Maintainer): Likewise.
45667
45668 2008-04-29  Simon Josefsson  <simon@josefsson.org>
45669
45670         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
45671         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
45672
45673         * modules/arpa_inet (arpa/inet.h): Use them.
45674
45675 2008-04-28  Eric Blake  <ebb9@byu.net>
45676
45677         Test getndelim2.
45678         * modules/getndelim2-tests: New file.
45679         * tests/test-getndelim2.c: Likewise.
45680         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
45681         stream.
45682         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
45683
45684         * MODULES.html.sh: Document new module.
45685
45686 2008-04-20  Bruno Haible  <bruno@clisp.org>
45687
45688         * lib/c-stack.c (die): Use raise.
45689         * modules/c-stack (Depends-on): Add raise.
45690
45691 2008-04-28  Bruno Haible  <bruno@clisp.org>
45692
45693         Expect rpmatch to be declared.
45694         * lib/yesno.c (rpmatch): Remove declaration.
45695
45696         Declare rpmatch.
45697         * lib/stdlib.in.h (rpmatch): New declaration.
45698         * lib/rpmatch.c: Include <stdlib.h> first.
45699         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
45700         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
45701         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
45702         HAVE_RPMATCH.
45703         * modules/rpmatch (Depends-on): Add stdlib, extensions.
45704         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45705         (Include): Set to <stdlib.h>.
45706         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
45707         HAVE_RPMATCH.
45708         * NEWS: Document the change.
45709
45710 2008-04-28  Bruno Haible  <bruno@clisp.org>
45711
45712         Change rpmatch to use nl_langinfo when appropriate.
45713         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
45714         (N_): New macro.
45715         (localized_pattern): New function/macro.
45716         (try): Remove match, nomatch arguments. Copy the pattern into safe
45717         memory before caching it.
45718         (rpmatch): Use localized_pattern. Add translator comments.
45719         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
45720         Suggested by Eric Blake.
45721         * modules/rpmatch (Depends-on): Add stdbool.
45722
45723 2008-04-28  Eric Blake  <ebb9@byu.net>
45724
45725         Add rawmemchr module, matching glibc.
45726         * modules/string (Makefile.am): New indicator.
45727         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
45728         * lib/string.in.h (rawmemchr): Declare when appropriate.
45729         * modules/rawmemchr: New file.
45730         * m4/rawmemchr.m4: Likewise.
45731         * lib/rawmemchr.c: Likewise.
45732         * modules/rawmemchr-tests: Likewise.
45733         * tests/test-rawmemchr.c: Likewise.
45734         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
45735         module.
45736         * modules/strchrnul (Depends-on): Add rawmemchr.
45737         * lib/strchrnul.c (strchrnul): Optimize a corner case.
45738
45739         Whitespace cleanup.
45740         * tests/test-strchrnul.c: Reindent.
45741         * lib/strchrnul.c: Likewise.
45742
45743         Optimize and test strchrnul.
45744         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
45745         * modules/strchrnul-tests: New file.
45746         * tests/test-strchrnul.c: Likewise.
45747
45748         Remove intprops dependency.
45749         * modules/memchr (Depends-on): Remove intprops.
45750         * modules/memrchr (Depends-on): Likewise.
45751         * modules/memchr2 (Depends-on): Likewise.
45752         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
45753         * lib/memrchr.c (__memrchr): Likewise.
45754         * lib/memrchr2.c (memchr2): Likewise.
45755         Reported by Simon Josefsson.
45756
45757 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45758
45759         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
45760         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45761
45762 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45763
45764         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
45765
45766         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
45767
45768         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
45769
45770         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
45771         declarations.
45772         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
45773
45774         * m4/inet_pton.m4: Don't check for header files.
45775
45776         * m4/inet_ntop.m4: Don't check for header files.
45777
45778 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45779
45780         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
45781         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
45782         trigger for cygwin).
45783         Reported by Bruno Haible  <bruno@clisp.org>.
45784
45785 2008-04-28  Bruno Haible  <bruno@clisp.org>
45786
45787         * doc/posix-functions/strdup.texi: Mention mingw problem.
45788
45789 2008-04-27  Bruno Haible  <bruno@clisp.org>
45790
45791         * modules/stat-time-tests (Depends-on): Add sleep.
45792         * tests/test-stat-time.c (force_unlink): New function.
45793         (cleanup): Use it.
45794         (test_mtime): Remove the ctime related tests.
45795         (test_ctime): New function, containing the ctime related tests.
45796         (main): Call test_ctime, except on native Windows platforms.
45797
45798 2008-04-27  Bruno Haible  <bruno@clisp.org>
45799
45800         * lib/rpmatch.c (rpmatch): Add some comments.
45801         Reported by James Youngman <jay@gnu.org>.
45802
45803 2008-04-27  Bruno Haible  <bruno@clisp.org>
45804
45805         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
45806         quiet NaNs.
45807
45808 2008-04-27  Bruno Haible  <bruno@clisp.org>
45809
45810         Make test-yesno.sh work on mingw.
45811         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
45812         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
45813         (main): Set stdin to binary mode.
45814         * modules/yesno-tests (Depends-on): Add binary-io.
45815
45816 2008-04-27  Bruno Haible  <bruno@clisp.org>
45817
45818         Fix 'isfinite' on x86, x86_64, ia64 platforms.
45819         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
45820         argument that lie outside the IEEE 854 domain.
45821         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
45822         (gl_ISFINITE): Use it.
45823         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
45824
45825 2008-04-27  Bruno Haible  <bruno@clisp.org>
45826
45827         Allow local renaming in config.h.
45828         * lib/memrchr.c (memrchr): Don't undefine outside libc.
45829
45830 2008-04-27  Bruno Haible  <bruno@clisp.org>
45831
45832         * lib/memchr.c (__memchr): Change type of 'i'.
45833         * lib/memchr2.c (memchr2): Likewise.
45834
45835 2008-04-26  Eric Blake  <ebb9@byu.net>
45836         and Bruno Haible  <bruno@clisp.org>
45837
45838         Optimize and test memrchr.
45839         * modules/memrchr (Depends-on): Add intprops.
45840         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
45841         * modules/memrchr-tests: New file.
45842         * tests/test-memrchr.c: New file.
45843
45844 2008-04-26  Bruno Haible  <bruno@clisp.org>
45845
45846         Add tentative support for DragonFly BSD.
45847         * lib/stdio-impl.h: Add macros for DragonFly BSD.
45848         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
45849         fp.
45850         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45851         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
45852         * lib/fpurge.c (fpurge): Likewise.
45853         * lib/freadable.c (freaadable): Likewise.
45854         * lib/freadahead.c (freadahead): Likewise.
45855         * lib/freading.c (freading): Likewise.
45856         * lib/freadptr.c (freadptr): Likewise.
45857         * lib/freadseek.c (freadptrinc): Likewise.
45858         * lib/fseeko.c (fseeko): Likewise.
45859         * lib/fseterr.c (fseterr): Likewise.
45860         * lib/fwritable.c (fwritable): Likewise.
45861         * lib/fwriting.c (fwriting): Likewise.
45862
45863 2008-04-26  Bruno Haible  <bruno@clisp.org>
45864
45865         * lib/stdio-impl.h: New file.
45866         * lib/fbufmode.c: Include stdio-impl.h.
45867         (fbufmode): Use fp_, remove redundant #defines.
45868         * lib/fflush.c: Include stdio-impl.h.
45869         (clear_ungetc_buffer): Remove redundant #defines.
45870         * lib/fpurge.c: Include stdio-impl.h.
45871         (fpurge): Remove redundant #defines.
45872         * lib/freadable.c: Include stdio-impl.h.
45873         (freadable): Remove redundant #defines.
45874         * lib/freadahead.c: Include stdio-impl.h.
45875         (freadahead): Remove redundant #defines.
45876         * lib/freading.c: Include stdio-impl.h.
45877         (freading): Remove redundant #defines.
45878         * lib/freadptr.c: Include stdio-impl.h.
45879         (freadptr): Remove redundant #defines.
45880         * lib/freadseek.c: Include stdio-impl.h.
45881         (freadptrinc): Remove redundant #defines.
45882         * lib/fseeko.c: Include stdio-impl.h.
45883         (rpl_fseeko): Remove redundant #defines.
45884         * lib/fseterr.c: Include stdio-impl.h.
45885         (fseterr): Remove redundant #defines.
45886         * lib/fwritable.c: Include stdio-impl.h.
45887         (fwritable: Remove redundant #defines.
45888         * lib/fwriting.c: Include stdio-impl.h.
45889         (fwriting): Remove redundant #defines.
45890         * modules/fbufmode (Files): Add lib/stdio-impl.h.
45891         * modules/fflush (Files): Likewise.
45892         * modules/fpurge (Files): Likewise.
45893         * modules/freadable (Files): Likewise.
45894         * modules/freadahead (Files): Likewise.
45895         * modules/freading (Files): Likewise.
45896         * modules/freadptr (Files): Likewise.
45897         * modules/freadseek (Files): Likewise.
45898         * modules/fseeko (Files): Likewise.
45899         * modules/fseterr (Files): Likewise.
45900         * modules/fwritable (Files): Likewise.
45901         * modules/fwriting (Files): Likewise.
45902
45903 2008-04-26  Bruno Haible  <bruno@clisp.org>
45904
45905         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45906         restore_seek_optimization, update_fpos_cache): New functions, extracted
45907         from rpl_fflush.
45908         (rpl_fflush): Use them.
45909         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
45910         (gl_REPLACE_FFLUSH): Use it.
45911
45912 2008-04-26  Bruno Haible  <bruno@clisp.org>
45913
45914         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
45915         on Solaris.
45916         * tests/test-xstrtoimax.sh: Likewise.
45917         * tests/test-xstrtoumax.sh: Likewise.
45918         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45919
45920 2008-04-26  Bruno Haible  <bruno@clisp.org>
45921
45922         * modules/memchr-tests: New file.
45923         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
45924
45925 2008-04-26  Eric Blake  <ebb9@byu.net>
45926             Bruno Haible  <bruno@clisp.org>
45927
45928         * lib/memchr.c: Include intprops.h.
45929         (__memchr): Optimize parallel detection of matching bytes. Rename local
45930         variables. Add explanatory comments.
45931
45932 2008-04-26  Bruno Haible  <bruno@clisp.org>
45933
45934         Fix module 'memchr', broken since 2000-10-28.
45935         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
45936
45937 2008-04-26  Bruno Haible  <bruno@clisp.org>
45938
45939         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
45940         comments.
45941
45942 2008-04-25  Eric Blake  <ebb9@byu.net>
45943
45944         Use native fstatat on cygwin 1.7.0.
45945         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
45946         first.
45947
45948 2008-04-23  Eric Blake  <ebb9@byu.net>
45949
45950         Improve memchr2 performance.
45951         * lib/memchr2.c (memchr2): Further optimize parallel detection of
45952         NUL bytes.
45953         * modules/memchr2 (Depends-on): Use intprops.h.
45954
45955 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45956
45957         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
45958         an inline function instead of a CPP macro.  Patch by Ben Pfaff
45959         <blp@cs.stanford.edu>.
45960
45961 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45962
45963         * lib/arpa_inet.in.h: New file.
45964
45965         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
45966         (Makefile.am): Sed in substitute header file.
45967
45968         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
45969         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
45970
45971         * modules/inet_ntop (configure.ac): Use
45972         gl_ARPA_INET_MODULE_INDICATOR.
45973
45974         * modules/inet_pton (configure.ac): Use
45975         gl_ARPA_INET_MODULE_INDICATOR.
45976
45977 2008-04-22  Jim Meyering  <meyering@redhat.com>
45978
45979         * modules/verify (License): Re-license as LGPLv2+.
45980
45981 2008-04-22  Simon Josefsson  <simon@josefsson.org>
45982
45983         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
45984         parameter to void* as per POSIX standard (MinGW uses char*).
45985
45986 2008-04-21  Bruno Haible  <bruno@clisp.org>
45987
45988         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45989         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45990         Define to replacements if REPLACE_ISWCNTRL is 1.
45991         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
45992         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
45993         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
45994         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
45995         what it fixes.
45996         * doc/posix-functions/iswalpha.texi: Likewise.
45997         * doc/posix-functions/iswblank.texi: Likewise.
45998         * doc/posix-functions/iswcntrl.texi: Likewise.
45999         * doc/posix-functions/iswdigit.texi: Likewise.
46000         * doc/posix-functions/iswgraph.texi: Likewise.
46001         * doc/posix-functions/iswlower.texi: Likewise.
46002         * doc/posix-functions/iswprint.texi: Likewise.
46003         * doc/posix-functions/iswpunct.texi: Likewise.
46004         * doc/posix-functions/iswspace.texi: Likewise.
46005         * doc/posix-functions/iswupper.texi: Likewise.
46006         * doc/posix-functions/iswxdigit.texi: Likewise.
46007         Reported by Alain Guibert.
46008
46009 2008-04-21  Bruno Haible  <bruno@clisp.org>
46010
46011         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
46012         Patch by Alain Guibert.
46013
46014 2008-04-21  Bruno Haible  <bruno@clisp.org>
46015
46016         Fix test failures on mingw.
46017         * tests/test-xstrtol.c (print_no_progname): New function.
46018         (main): Install it in error_print_progname hook.
46019         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
46020         * tests/test-xstrtoimax.sh: Likewise.
46021         * tests/test-xstrtoumax.sh: Likewise.
46022
46023 2008-04-21  Bruno Haible  <bruno@clisp.org>
46024
46025         Fix test failure on mingw.
46026         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
46027
46028 2008-04-21  Bruno Haible  <bruno@clisp.org>
46029
46030         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
46031         Actually assign a value.
46032
46033 2008-04-20  Bruno Haible  <bruno@clisp.org>
46034
46035         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
46036         take 2.
46037         * lib/canonicalize.c (canonicalize_file_name): Elide if the
46038         'canonicalize-lgpl' module is also used.
46039         * lib/canonicalize-lgpl.c: Undo last change.
46040         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
46041
46042 2008-04-20  Bruno Haible  <bruno@clisp.org>
46043
46044         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
46045         config.h. Provide _mkdir based fallback for mingw.
46046         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
46047         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
46048         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
46049         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
46050         rather than defining mkdir in config.h.
46051         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
46052         (gl_SYS_STAT_H_DEFAULTS): New macro.
46053         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
46054         HAVE_IO_H any more.
46055         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
46056         HAVE_DECL_MKDIR and HAVE_IO_H.
46057
46058 2008-04-20  Bruno Haible  <bruno@clisp.org>
46059
46060         * lib/isapipe.c: Port to native Windows platforms.
46061
46062 2008-04-20  Bruno Haible  <bruno@clisp.org>
46063
46064         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
46065
46066 2008-04-21  Eric Blake  <ebb9@byu.net>
46067
46068         Work around preprocessors that don't handle UINTMAX_MAX.
46069         * lib/memchr2.c (memchr2): Avoid embedded #if.
46070         Reported by Alain Guibert, fix suggested by Bruno Haible.
46071
46072 2008-04-21  Simon Josefsson  <simon@josefsson.org>
46073
46074         * doc/posix-functions/strftime.texi (strftime): Explain better
46075         Windows incompatibility.  Suggested by Micah Cowan
46076         <micah@cowan.name>.
46077
46078 2008-04-20  Bruno Haible  <bruno@clisp.org>
46079
46080         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
46081         unistr/u8-mblen.
46082
46083 2008-04-20  Bruno Haible  <bruno@clisp.org>
46084
46085         Fix test failure on platforms with non-GNU iconv.
46086         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
46087         (U_TO_U8): Use it, rather than u16_to_u8.
46088         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
46089         units at the end of the input string.
46090         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
46091
46092 2008-04-20  Bruno Haible  <bruno@clisp.org>
46093
46094         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
46095         when the resulting length is 0.
46096         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
46097
46098 2008-04-20  Bruno Haible  <bruno@clisp.org>
46099
46100         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
46101         works.
46102         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
46103
46104 2008-04-20  Bruno Haible  <bruno@clisp.org>
46105
46106         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
46107         * modules/tsearch-tests (configure.ac): Test for initstate function.
46108
46109 2008-04-20  Bruno Haible  <bruno@clisp.org>
46110
46111         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
46112         for nlink_t if missing.
46113         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
46114
46115 2008-04-19  Bruno Haible  <bruno@clisp.org>
46116
46117         Work around snprintf bug on Linux libc5.
46118         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
46119         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46120         gl_SNPRINTF_SIZE1.
46121         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46122         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
46123         that test failed.
46124         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
46125         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
46126         * modules/snprintf (Files): Add m4/printf.m4.
46127         * modules/vsnprintf (Files): Likewise.
46128         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
46129         * doc/posix-functions/vsnprintf.texi: Likewise.
46130
46131 2008-04-19  Bruno Haible  <bruno@clisp.org>
46132
46133         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
46134         from 0.0058 to less than 10^-7.
46135
46136 2008-04-19  Bruno Haible  <bruno@clisp.org>
46137
46138         Fix rounding when a precision is given.
46139         * lib/vasnprintf.c (is_borderline): New function.
46140         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
46141         9...9x.
46142         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
46143         %e, %g.
46144         * tests/test-vasprintf-posix.c (test_function): Likewise.
46145         * tests/test-snprintf-posix.h (test_function): Likewise.
46146         * tests/test-sprintf-posix.h (test_function): Likewise.
46147         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
46148         * tests/test-printf-posix.h (test_function): Likewise.
46149         * tests/test-printf-posix.output: Update.
46150         Reported by John Darrington <john@darrington.wattle.id.au> via
46151         Ben Pfaff <blp@cs.stanford.edu>.
46152
46153 2008-04-18  Simon Josefsson  <simon@josefsson.org>
46154
46155         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
46156         Suggested by Bruno Haible <bruno@clisp.org>.
46157
46158 2008-04-17  Bruno Haible  <bruno@clisp.org>
46159
46160         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
46161         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
46162         implementation.
46163         Patch by Bruce Merry <bmerry@gmail.com>.
46164
46165 2008-04-17  Simon Josefsson  <simon@josefsson.org>
46166
46167         * doc/posix-functions/strftime.texi (strftime): Mention that %e
46168         doesn't work under Windows.
46169
46170 2008-04-16  Bruno Haible  <bruno@clisp.org>
46171
46172         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
46173         New macros.
46174         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
46175         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
46176         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
46177         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
46178         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
46179         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
46180         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
46181         macros.
46182         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
46183         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
46184         Northern Sotho, Uighur.
46185
46186 2008-04-16  Bruno Haible  <bruno@clisp.org>
46187
46188         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
46189         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
46190         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
46191         Reported by Daniel Bergström <daniel@octocode.com>.
46192
46193 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
46194             Bruno Haible  <bruno@clisp.org>
46195
46196         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
46197         function.
46198         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
46199         New functions, mostly extracted from gl_locale_name_default.
46200         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
46201
46202 2008-04-16  Eric Blake  <ebb9@byu.net>
46203
46204         Adjust strtod detection to catch glibc 2.7 bug.
46205         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
46206         Reported by John Gatewood Ham.
46207
46208 2008-04-16  Bruno Haible  <bruno@clisp.org>
46209
46210         Add tentative support for Linux libc5.
46211         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
46212         * lib/fpurge.c (fpurge): Likewise.
46213         * lib/freadable.c (freadable): Likewise.
46214         * lib/freadahead.c (freadahead): Likewise.
46215         * lib/freading.c (freading): Likewise.
46216         * lib/freadptr.c (freadptr): Likewise.
46217         * lib/freadseek.c (freadptrinc): Likewise.
46218         * lib/fseeko.c (rpl_fseeko): Likewise.
46219         * lib/fseterr.c (fseterr): Likewise.
46220         * lib/fwritable.c (fwritable): Likewise.
46221         * lib/fwriting.c (fwriting): Likewise.
46222         Reported by Alain Guibert <alguibert+bts@free.fr>.
46223
46224 2008-04-15  Bruno Haible  <bruno@clisp.org>
46225
46226         * modules/mathl (configure.ac): Define module indicator.
46227
46228 2008-04-15  Bruno Haible  <bruno@clisp.org>
46229
46230         * lib/logl.c (logl): Remove unused variables.
46231
46232 2008-04-15  Bruno Haible  <bruno@clisp.org>
46233
46234         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
46235         fails.
46236
46237 2008-04-15  Bruno Haible  <bruno@clisp.org>
46238
46239         * lib/trim.c (trim2): Fix argument of isspace() macro.
46240
46241 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
46242
46243         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
46244         to 0.
46245         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
46246
46247 2008-04-14  Bruno Haible  <bruno@clisp.org>
46248
46249         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
46250         AC_LANG_PROGRAM argument.
46251         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
46252         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
46253         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46254         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46255         * m4/math_h.m4 (gl_MATH_H): Likewise.
46256         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
46257         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46258         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46259         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
46260         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46261         * m4/regex.m4 (gl_REGEX): Likewise.
46262         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
46263         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
46264         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46265         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
46266         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46267         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46268         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46270
46271 2008-04-14  Jim Meyering  <meyering@redhat.com>
46272
46273         test-strtod: fix typos: s/abs/fabs/
46274         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
46275
46276 2008-04-13  Bruno Haible  <bruno@clisp.org>
46277
46278         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
46279         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
46280         module is also used and while not building the reloc-wrapper.
46281
46282 2008-04-13  Bruno Haible  <bruno@clisp.org>
46283
46284         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
46285
46286 2008-04-13  Bruno Haible  <bruno@clisp.org>
46287
46288         Fix AIX compilation failure introduced on 2008-04-02.
46289         * tests/test-frexp.c (exp): Undefine before redefining.
46290         * tests/test-frexpl.c (exp): Likewise.
46291
46292 2008-04-13  Bruno Haible  <bruno@clisp.org>
46293
46294         Work around a HP-UX stdio bug.
46295         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
46296         * tests/test-ftello.c (main): Likewise.
46297         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
46298         * doc/posix-functions/ftello.texi: Likewise.
46299
46300 2008-04-13  Bruno Haible  <bruno@clisp.org>
46301
46302         Make test-signbit pass on HP-UX/hppa.
46303         * tests/test-signbit.c (minus_zerol): New variable.
46304         (test_signbitl): Use it.
46305
46306 2008-04-13  Bruno Haible  <bruno@clisp.org>
46307
46308         Make truncl work on OSF/1 4.0.
46309         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
46310         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
46311         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
46312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
46313         HAVE_DECL_TRUNCL.
46314         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
46315         HAVE_DECL_TRUNCL.
46316         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
46317
46318 2008-04-13  Bruno Haible  <bruno@clisp.org>
46319
46320         * lib/unictype.h: Remove trailing comma from enumeration definitions.
46321
46322 2008-04-13  Bruno Haible  <bruno@clisp.org>
46323
46324         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
46325         expression, so as to avoid HP-UX 11 cc compiler bug.
46326
46327 2008-04-13  Bruno Haible  <bruno@clisp.org>
46328
46329         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
46330
46331 2008-04-13  Bruno Haible  <bruno@clisp.org>
46332
46333         * lib/git-merge-changelog.c: Remove empty declaration outside of
46334         functions.
46335
46336 2008-04-13  Bruno Haible  <bruno@clisp.org>
46337
46338         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
46339
46340 2008-04-13  Bruno Haible  <bruno@clisp.org>
46341
46342         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
46343         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
46344         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
46345         also if it exists but lacks definitions of the SHUT_* macros.
46346         * modules/sys_socket (Description): Update.
46347         Reported by Elbert Pol <e.pol@chello.nl>.
46348
46349 2008-04-13  Bruno Haible  <bruno@clisp.org>
46350
46351         * lib/localcharset.c (OS2): Don't redefine if already defined.
46352         Reported by Elbert Pol <e.pol@chello.nl>.
46353
46354 2008-04-13  Bruno Haible  <bruno@clisp.org>
46355
46356         * lib/binary-io.h [__EMX__]: Include <io.h>.
46357         Reported by Elbert Pol <e.pol@chello.nl>.
46358
46359 2008-04-12  Bruno Haible  <bruno@clisp.org>
46360
46361         * lib/fpucw.h: Enable the definitions also for x86_64.
46362         Needed for NetBSD/x86_64.
46363         Reported by Thomas Klausner <tk@giga.or.at>.
46364
46365 2008-04-12  Bruno Haible  <bruno@clisp.org>
46366
46367         * tests/test-strtod.c: Include isnand.h.
46368         (main): Use isnand instead of isnan.
46369         Reported by Jim Meyering.
46370
46371 2008-04-12  Bruno Haible  <bruno@clisp.org>
46372
46373         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
46374         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
46375
46376 2008-04-12  Jim Meyering  <meyering@redhat.com>
46377
46378         * m4/math_h.m4 (gl_MATH_H): Fix typos.
46379
46380 2008-04-12  Bruno Haible  <bruno@clisp.org>
46381
46382         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
46383         Reported by Elbert Pol <e.pol@chello.nl>.
46384
46385 2008-04-12  Eric Blake  <ebb9@byu.net>
46386
46387         Work around Solaris 10 math.h bug.
46388         * m4/math_h.m4 (gl_MATH_H): Check for bug.
46389         (gl_MATH_H_DEFAULTS): Set up default.
46390         * modules/math (Makefile.am): Replace new indicators.
46391         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
46392         * tests/test-math.c (main): Test this.
46393         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
46394         * doc/posix-headers/math.texi (math.h): Mention bug.
46395         Reported by Nelson H. F. Beebe and Jim Meyering.
46396
46397 2008-04-11  Bruno Haible  <bruno@clisp.org>
46398
46399         Adapt to future versions of Apple GCC.
46400         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
46401         Reported by Peter O'Gorman <peter@pogma.com>.
46402
46403 2008-04-11  Bruno Haible  <bruno@clisp.org>
46404
46405         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
46406
46407 2008-04-11  Bruno Haible  <bruno@clisp.org>
46408
46409         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
46410
46411         * modules/getaddrinfo-tests (Makefile.am): Define
46412         test_getaddrinfo_LDADD.
46413
46414 2008-04-11  Bruno Haible  <bruno@clisp.org>
46415
46416         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
46417         (init): Fix syntax error.
46418         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
46419         is declared.
46420
46421 2008-04-11  Bruno Haible  <bruno@clisp.org>
46422
46423         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
46424         * modules/glob (Depends-on): Add stdbool.
46425
46426 2008-04-11  Bruno Haible  <bruno@clisp.org>
46427
46428         * lib/trim.c: Include <string.h>.
46429
46430 2008-04-11  Eric Blake  <ebb9@byu.net>
46431
46432         Avoid compile failure on OS/2.
46433         * lib/regex_internal.h (internal_function): Disable optimization
46434         on OS/2 (__EMX__), where it caused compiler error.
46435         Reported by Elbert Pol.
46436
46437 2008-04-11  Bruno Haible  <bruno@clisp.org>
46438
46439         Flush the standard error stream before aborting. Needed on mingw.
46440         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
46441         * tests/test-array_list.c (ASSERT): Likewise.
46442         * tests/test-array_oset.c (ASSERT): Likewise.
46443         * tests/test-avltree_list.c (ASSERT): Likewise.
46444         * tests/test-avltree_oset.c (ASSERT): Likewise.
46445         * tests/test-avltreehash_list.c (ASSERT): Likewise.
46446         * tests/test-binary-io.c (ASSERT): Likewise.
46447         * tests/test-byteswap.c (ASSERT): Likewise.
46448         * tests/test-c-ctype.c (ASSERT): Likewise.
46449         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
46450         * tests/test-c-strcasestr.c (ASSERT): Likewise.
46451         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
46452         * tests/test-c-strstr.c (ASSERT): Likewise.
46453         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
46454         * tests/test-canonicalize.c (ASSERT): Likewise.
46455         * tests/test-carray_list.c (ASSERT): Likewise.
46456         * tests/test-ceilf1.c (ASSERT): Likewise.
46457         * tests/test-ceilf2.c (ASSERT): Likewise.
46458         * tests/test-ceill.c (ASSERT): Likewise.
46459         * tests/test-count-one-bits.c (ASSERT): Likewise.
46460         * tests/test-fbufmode.c (ASSERT): Likewise.
46461         * tests/test-fflush2.c (ASSERT): Likewise.
46462         * tests/test-floorf1.c (ASSERT): Likewise.
46463         * tests/test-floorf2.c (ASSERT): Likewise.
46464         * tests/test-floorl.c (ASSERT): Likewise.
46465         * tests/test-fopen.c (ASSERT): Likewise.
46466         * tests/test-fpending.c (ASSERT): Likewise.
46467         * tests/test-fprintf-posix.c (ASSERT): Likewise.
46468         * tests/test-fpurge.c (ASSERT): Likewise.
46469         * tests/test-freadable.c (ASSERT): Likewise.
46470         * tests/test-freadahead.c (ASSERT): Likewise.
46471         * tests/test-freading.c (ASSERT): Likewise.
46472         * tests/test-freadptr.c (ASSERT): Likewise.
46473         * tests/test-freadptr2.c (ASSERT): Likewise.
46474         * tests/test-freadseek.c (ASSERT): Likewise.
46475         * tests/test-freopen.c (ASSERT): Likewise.
46476         * tests/test-frexp.c (ASSERT): Likewise.
46477         * tests/test-frexpl.c (ASSERT): Likewise.
46478         * tests/test-fseek.c (ASSERT): Likewise.
46479         * tests/test-fseeko.c (ASSERT): Likewise.
46480         * tests/test-fstrcmp.c (ASSERT): Likewise.
46481         * tests/test-ftell.c (ASSERT): Likewise.
46482         * tests/test-ftello.c (ASSERT): Likewise.
46483         * tests/test-func.c (ASSERT): Likewise.
46484         * tests/test-fwritable.c (ASSERT): Likewise.
46485         * tests/test-fwriting.c (ASSERT): Likewise.
46486         * tests/test-getdelim.c (ASSERT): Likewise.
46487         * tests/test-getline.c (ASSERT): Likewise.
46488         * tests/test-i-ring.c (ASSERT): Likewise.
46489         * tests/test-iconv-utf.c (ASSERT): Likewise.
46490         * tests/test-iconv.c (ASSERT): Likewise.
46491         * tests/test-isfinite.c (ASSERT): Likewise.
46492         * tests/test-isnand.c (ASSERT): Likewise.
46493         * tests/test-isnanf.c (ASSERT): Likewise.
46494         * tests/test-isnanl.h (ASSERT): Likewise.
46495         * tests/test-ldexpl.c (ASSERT): Likewise.
46496         * tests/test-linked_list.c (ASSERT): Likewise.
46497         * tests/test-linkedhash_list.c (ASSERT): Likewise.
46498         * tests/test-localename.c (ASSERT): Likewise.
46499         * tests/test-lseek.c (ASSERT): Likewise.
46500         * tests/test-mbscasecmp.c (ASSERT): Likewise.
46501         * tests/test-mbscasestr1.c (ASSERT): Likewise.
46502         * tests/test-mbscasestr2.c (ASSERT): Likewise.
46503         * tests/test-mbscasestr3.c (ASSERT): Likewise.
46504         * tests/test-mbscasestr4.c (ASSERT): Likewise.
46505         * tests/test-mbschr.c (ASSERT): Likewise.
46506         * tests/test-mbscspn.c (ASSERT): Likewise.
46507         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
46508         * tests/test-mbspbrk.c (ASSERT): Likewise.
46509         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
46510         * tests/test-mbsrchr.c (ASSERT): Likewise.
46511         * tests/test-mbsspn.c (ASSERT): Likewise.
46512         * tests/test-mbsstr1.c (ASSERT): Likewise.
46513         * tests/test-mbsstr2.c (ASSERT): Likewise.
46514         * tests/test-mbsstr3.c (ASSERT): Likewise.
46515         * tests/test-memchr2.c (ASSERT): Likewise.
46516         * tests/test-memmem.c (ASSERT): Likewise.
46517         * tests/test-open.c (ASSERT): Likewise.
46518         * tests/test-printf-frexp.c (ASSERT): Likewise.
46519         * tests/test-printf-frexpl.c (ASSERT): Likewise.
46520         * tests/test-printf-posix.c (ASSERT): Likewise.
46521         * tests/test-quotearg.c (ASSERT): Likewise.
46522         * tests/test-rbtree_list.c (ASSERT): Likewise.
46523         * tests/test-rbtree_oset.c (ASSERT): Likewise.
46524         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
46525         * tests/test-round1.c (ASSERT): Likewise.
46526         * tests/test-roundf1.c (ASSERT): Likewise.
46527         * tests/test-roundl.c (ASSERT): Likewise.
46528         * tests/test-signbit.c (ASSERT): Likewise.
46529         * tests/test-sleep.c (ASSERT): Likewise.
46530         * tests/test-snprintf-posix.c (ASSERT): Likewise.
46531         * tests/test-snprintf.c (ASSERT): Likewise.
46532         * tests/test-sprintf-posix.c (ASSERT): Likewise.
46533         * tests/test-stat-time.c (ASSERT): Likewise.
46534         * tests/test-strcasestr.c (ASSERT): Likewise.
46535         * tests/test-strerror.c (ASSERT): Likewise.
46536         * tests/test-striconv.c (ASSERT): Likewise.
46537         * tests/test-striconveh.c (ASSERT): Likewise.
46538         * tests/test-striconveha.c (ASSERT): Likewise.
46539         * tests/test-strsignal.c (ASSERT): Likewise.
46540         * tests/test-strstr.c (ASSERT): Likewise.
46541         * tests/test-strtod.c (ASSERT): Likewise.
46542         * tests/test-trunc1.c (ASSERT): Likewise.
46543         * tests/test-trunc2.c (ASSERT): Likewise.
46544         * tests/test-truncf1.c (ASSERT): Likewise.
46545         * tests/test-truncf2.c (ASSERT): Likewise.
46546         * tests/test-truncl.c (ASSERT): Likewise.
46547         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
46548         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
46549         * tests/test-vasnprintf.c (ASSERT): Likewise.
46550         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
46551         * tests/test-vasprintf.c (ASSERT): Likewise.
46552         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
46553         * tests/test-vprintf-posix.c (ASSERT): Likewise.
46554         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
46555         * tests/test-vsnprintf.c (ASSERT): Likewise.
46556         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
46557         * tests/test-wcwidth.c (ASSERT): Likewise.
46558         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
46559         * tests/test-xprintf-posix.c (ASSERT): Likewise.
46560         * tests/test-xvasprintf.c (ASSERT): Likewise.
46561         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
46562         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
46563         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
46564         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
46565         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
46566         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
46567         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
46568         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
46569         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
46570         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
46571         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
46572         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
46573         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
46574         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
46575         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
46576         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
46577         * tests/unictype/test-block_list.c (ASSERT): Likewise.
46578         * tests/unictype/test-block_of.c (ASSERT): Likewise.
46579         * tests/unictype/test-block_test.c (ASSERT): Likewise.
46580         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
46581         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
46582         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
46583         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
46584         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
46585         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
46586         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
46587         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
46588         * tests/unictype/test-combining.c (ASSERT): Likewise.
46589         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
46590         * tests/unictype/test-digit.c (ASSERT): Likewise.
46591         * tests/unictype/test-mirror.c (ASSERT): Likewise.
46592         * tests/unictype/test-numeric.c (ASSERT): Likewise.
46593         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
46594         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
46595         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
46596         * tests/unictype/test-scripts.c (ASSERT): Likewise.
46597         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
46598         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
46599         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
46600         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
46601         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
46602         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
46603         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
46604         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
46605         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
46606         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
46607         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
46608         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
46609         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
46610         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
46611         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
46612         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
46613         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
46614         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
46615         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
46616         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
46617         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
46618         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
46619         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
46620         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
46621         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
46622         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
46623         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
46624         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
46625         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
46626         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
46627         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
46628         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
46629         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
46630         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
46631         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
46632         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
46633         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
46634         Reported by Eric Blake.
46635
46636 2008-04-11  Bruno Haible  <bruno@clisp.org>
46637
46638         * lib/wchar.in.h: Tweak comment.
46639
46640 2008-04-11  Bruno Haible  <bruno@clisp.org>
46641
46642         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
46643         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
46644         gl_COMMON.
46645         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
46646
46647 2008-04-11  Bruno Haible  <bruno@clisp.org>
46648
46649         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
46650
46651 2008-04-11  Simon Josefsson  <simon@josefsson.org>
46652
46653         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
46654         of attempting to use non-existing /dev/*random.  Based on patch
46655         from Adam Strzelecki <ono@java.pl> in
46656         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
46657
46658 2008-04-08  Bruno Haible  <bruno@clisp.org>
46659
46660         Add tentative support for emx+gcc.
46661         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
46662         * lib/fpurge.c (fpurge): Likewise.
46663         * lib/freadable.c (freadable): Likewise.
46664         * lib/freadahead.c (freadahead): Likewise.
46665         * lib/freading.c (freading): Likewise.
46666         * lib/freadptr.c (freadptr): Likewise.
46667         * lib/freadseek.c (freadptrinc): Likewise.
46668         * lib/fseeko.c (rpl_fseeko): Likewise.
46669         * lib/fseterr.c (fseterr): Likewise.
46670         * lib/fwritable.c (fwritable): Likewise.
46671         * lib/fwriting.c (fwriting): Likewise.
46672         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
46673
46674 2008-04-09  Eric Blake  <ebb9@byu.net>
46675
46676         Avoid some autoconf warnings.
46677         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
46678         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
46679         * m4/afs.m4 (gl_AFS): Likewise.
46680         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
46681         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
46682         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46683         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
46684         (gl_INTEGER_TYPE_SUFFIX): Likewise.
46685         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
46686         (AC_CHECK_DECLS_ONCE): Likewise.
46687         Rename file...
46688         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
46689         gnulib-tool requires autoconf 2.59 or better.
46690         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
46691
46692 2008-04-08  Eric Blake  <ebb9@byu.net>
46693
46694         Use 'git describe --match' if present (added in git 1.5.5).
46695         * build-aux/git-version-gen: Limit result to tags that match 'v*'
46696         if possible.
46697
46698 2008-04-08  Bruno Haible  <bruno@clisp.org>
46699
46700         Add tentative support for OpenServer.
46701         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
46702         _ptr, _cnt.
46703         * lib/fpurge.c (fpurge): Likewise.
46704         * lib/freadable.c (freadable): Likewise.
46705         * lib/freadahead.c (freadahead): Likewise.
46706         * lib/freading.c (freading): Likewise.
46707         * lib/freadptr.c (freadptr): Likewise.
46708         * lib/freadseek.c (freadptrinc): Likewise.
46709         * lib/fseeko.c (rpl_fseeko): Likewise.
46710         * lib/fseterr.c (fseterr): Likewise.
46711         * lib/fwritable.c (fwritable): Likewise.
46712         * lib/fwriting.c (fwriting): Likewise.
46713         Reported by Roger Cornelius <rac@tenzing.org> and
46714         Brian K. White <brian@aljex.com>.
46715
46716 2008-04-06  Jim Meyering  <meyering@redhat.com>
46717
46718         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
46719
46720 2008-04-06  Bruno Haible  <bruno@clisp.org>
46721
46722         Avoid possible error with non-ASCII bytes in UTF-8 locales.
46723         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
46724         * tests/test-printf-posix.sh: Likewise.
46725         * tests/test-vfprintf-posix.sh: Likewise.
46726         * tests/test-vprintf-posix.sh: Likewise.
46727         * tests/test-xprintf-posix.sh: Likewise.
46728
46729 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46730
46731         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
46732         hide error from 'ls', needed on OS/2.
46733         Report by Elbert Pol <elbert.pol@gmail.com>.
46734
46735 2008-04-04  Eric Blake  <ebb9@byu.net>
46736
46737         Make test-fseeko.c failures meaningful.
46738         * tests/test-fseeko.c: Print line number on failure.
46739         * tests/test-fseek.c: Likewise.
46740         Reported by Nelson H. F. Beebe.
46741
46742         Improve strtod bug detection check.
46743         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
46744         required for Solaris 10.
46745         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
46746
46747 2008-04-04  Bruno Haible  <bruno@clisp.org>
46748
46749         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
46750         by m4/setenv.m4.
46751
46752 2008-04-03  Eric Blake  <ebb9@byu.net>
46753
46754         Ensure sane .version contents.
46755         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
46756         version string.
46757         * build-aux/git-version-gen: Improve documentation.
46758
46759         Make GNU make output nicer.
46760         * top/GNUmakefile [!_have-Makefile]: Add dependency on
46761         MAKECMDGOALS to enforce message for all command line targets.  Set
46762         srcdir for use in maint.mk.
46763
46764         Another maintainer tweak.
46765         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
46766         a target that regenerates version.
46767
46768 2008-04-03  Jim Meyering  <meyering@redhat.com>
46769
46770         vc-list-files: don't cause coreutils "make po-check" failure
46771         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
46772
46773 2008-04-03  Eric Blake  <ebb9@byu.net>
46774
46775         Allow VPATH usage of vc-list-files.
46776         * build-aux/vc-list-files (scriptversion): Add timestamp.
46777         (options): Add --help, --version, -C.
46778         (CVS): Support installed cvsu.
46779
46780 2008-04-02  Bruno Haible  <bruno@clisp.org>
46781
46782         Avoid some "statement with no effect" warnings from gcc.
46783         * tests/test-wctype.c (main): Explicitly ignore unused values.
46784         Reported by Jim Meyering.
46785
46786 2008-04-02  Jim Meyering  <meyering@redhat.com>
46787
46788         Avoid some warnings from "gcc -Wshadow".
46789         * tests/test-frexp.c (exp): Define to a different identifier.
46790         * tests/test-frexpl.c (exp): Likewise.
46791
46792 2008-04-03  Jim Meyering  <meyering@redhat.com>
46793
46794         bootstrap: remove dangling *.[ch] symlinks from lib
46795         * build-aux/bootstrap [dangling symlink removal]: Move find's
46796         -depth option to precede all others, to avoid a warning.
46797         Remove *.[ch] files too, and from "$source_base" (usually lib/).
46798
46799 2008-04-02  Bruno Haible  <bruno@clisp.org>
46800
46801         Avoid some warnings from "gcc -Wshadow".
46802         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
46803         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
46804         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
46805         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
46806         Reported by Jim Meyering.
46807
46808 2008-04-01  Bruno Haible  <bruno@clisp.org>
46809
46810         Fix test to work on IRIX 6.5 with cc.
46811         * tests/test-math.c (numeric_equal): New function.
46812         (main): Use it.
46813
46814 2008-04-01  Bruno Haible  <bruno@clisp.org>
46815
46816         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
46817
46818 2008-04-01  Bruno Haible  <bruno@clisp.org>
46819
46820         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
46821         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46822         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
46823         (Depends-on): Remove math.
46824
46825         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
46826         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46827         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
46828         (Depends-on): Remove math.
46829
46830         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
46831         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46832         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
46833         (Depends-on): Remove math.
46834         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
46835         (Depends-on): Remove math.
46836
46837         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
46838         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46839         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
46840         (Depends-on): Remove math.
46841         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
46842         (Depends-on): Remove math.
46843
46844         * tests/test-round1.c: Include nan.h.
46845         (main): Use NaNd instead of NAN.
46846         * modules/round-tests (Files): Add tests/nan.h.
46847
46848         * tests/test-trunc1.c: Include nan.h.
46849         (main): Use NaNd instead of NAN.
46850         * modules/trunc-tests (Files): Add tests/nan.h.
46851
46852         * tests/test-roundf1.c: Include nan.h.
46853         (main): Use NaNf instead of NAN.
46854         * modules/roundf-tests (Files): Add tests/nan.h.
46855
46856         * tests/test-truncf1.c: Include nan.h.
46857         (main): Use NaNf instead of NAN.
46858         * modules/truncf-tests (Files): Add tests/nan.h.
46859
46860         * tests/test-ceilf1.c: Include nan.h.
46861         (main): Use NaNf instead of NAN.
46862         * modules/ceilf-tests (Files): Add tests/nan.h.
46863
46864         * tests/test-floorf1.c: Include nan.h.
46865         (main): Use NaNf instead of NAN.
46866         * modules/floorf-tests (Files): Add tests/nan.h.
46867
46868         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
46869         (main): Use NaNf instead of NAN.
46870         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
46871
46872         * tests/test-isnand.c: Include nan.h instead of <math.h>.
46873         (main): Use NaNd instead of NAN.
46874         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
46875
46876         * tests/test-frexp.c: Include nan.h.
46877         (main): Use NaNd instead of NAN.
46878         * modules/frexp-tests (Files): Add tests/nan.h.
46879
46880         * lib/isnan.c: Don't include <math.h>.
46881         (FUNC): Don't use NAN macro.
46882         * modules/isnand-nolibm (Depends-on): Remove math.
46883         * modules/isnanf-nolibm (Depends-on): Remove math.
46884         * modules/isnanl (Depends-on): Remove math.
46885         * modules/isnanl-nolibm (Depends-on): Remove math.
46886
46887         * tests/nan.h: New file.
46888
46889 2008-04-01  Eric Blake  <ebb9@byu.net>
46890
46891         Fix typos.
46892         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
46893         values to be the right type.
46894
46895         For now, cater to gnulib strtod inaccuracies.
46896         * tests/test-strtod.c (main): Allow 1-ulp error on expected
46897         fractional results.  While not as nice from a QoI perspective, it
46898         is a quicker patch than correctly implementing decimal to binary
46899         rounding.
46900
46901 2008-03-31  Eric Blake  <ebb9@byu.net>
46902
46903         Guarantee a definition of NAN.
46904         * lib/math.in.h (NAN): Define if missing.
46905         * tests/test-math.c (main): Test it.
46906         * doc/posix-headers/math.texi (math.h): Document this.
46907         * lib/isnan.c (rpl_isnand): Use it.
46908         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
46909         * tests/test-floorf1.c (NaN): Likewise.
46910         * tests/test-frexp.c (NaN): Likewise.
46911         * tests/test-isnand.c (NaN): Likewise.
46912         * tests/test-isnanf.c (NaN): Likewise.
46913         * tests/test-round1.c (NaN): Likewise.
46914         * tests/test-roundf1.c (NaN): Likewise.
46915         * tests/test-snprintf-posix.h (NaN): Likewise.
46916         * tests/test-sprintf-posix.h (NaN): Likewise.
46917         * tests/test-trunc1.c (NaN): Likewise.
46918         * tests/test-truncf1.c (NaN): Likewise.
46919         * tests/test-vasnprintf-posix.c (NaN): Likewise.
46920         * tests/test-vasprintf-posix.c (NaN): Likewise.
46921         * modules/isnand-nolibm (Depends-on): Add math.
46922         * modules/isnanf-nolibm (Depends-on): Likewise.
46923         * modules/isnanl (Depends-on): Likewise.
46924         * modules/isnanl-nolibm (Depends-on): Likewise.
46925         * modules/snprintf-posix-tests (Depends-on): Likewise.
46926         * modules/sprintf-posix-tests (Depends-on): Likewise.
46927         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
46928         * modules/vsprintf-posix-tests (Depends-on): Likewise.
46929         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
46930         * modules/vasprintf-posix-tests (Depends-on): Likewise.
46931
46932 2008-03-31  Bruno Haible  <bruno@clisp.org>
46933
46934         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
46935         * doc/posix-functions/strtod.texi: Likewise.
46936
46937 2008-03-31  Bruno Haible  <bruno@clisp.org>
46938
46939         * tests/test-strtod.c (main): Don't use C99 syntax.
46940
46941 2008-03-31  Bruno Haible  <bruno@clisp.org>
46942
46943         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
46944         Reported by Eric Blake.
46945
46946 2008-03-31  Jim Meyering  <meyering@redhat.com>
46947
46948         Don't compare actual signbit return values.
46949         * tests/test-strtod.c (main): Rather, compare only their
46950         zero/non-zero nature.
46951
46952 2008-03-31  Eric Blake  <ebb9@byu.net>
46953
46954         More strtod documentation.
46955         * doc/posix-functions/strtod.texi (strtod): Interpret more test
46956         failures as distinct bugs.
46957
46958 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
46959
46960         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
46961         Problem reported by Erik Benada in
46962         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
46963
46964 2008-03-30  Bruno Haible  <bruno@clisp.org>
46965
46966         * tests/test-strtod.c: Add comments about which assertion fails on which
46967         platform.
46968         * doc/posix-functions/strtod.texi: Add info about many more platforms.
46969
46970 2008-03-30  Eric Blake  <ebb9@byu.net>
46971
46972         Test signbit behavior on zeros.
46973         * tests/test-signbit.c (test_signbitf): Add tests for zero.
46974         (test_signbitd, test_signbitl): Likewise.
46975
46976         More strtod touchups.
46977         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
46978         sign of negative underflow, for now.  Use .5, not .1.
46979         * doc/posix-functions/strtod.texi (strtod): Mention these
46980         limitations.
46981         Reported by Jim Meyering.
46982
46983 2008-03-30  Bruno Haible  <bruno@clisp.org>
46984
46985         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
46986         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
46987
46988 2008-03-30  Bruno Haible  <bruno@clisp.org>
46989
46990         Avoid failure when attempting to return empty iconv results on some
46991         platforms.
46992         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
46993         allocation, don't report ENOMEM when the resulting string is empty.
46994
46995 2008-03-30  Bruno Haible  <bruno@clisp.org>
46996
46997         Fix buffer overrun.
46998         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
46999         Don't consider the width for tmp_length. Check count against tmp_length
47000         before doing the padding. Ensure enough allocation during padding.
47001
47002 2008-03-30  Eric Blake  <ebb9@byu.net>
47003
47004         strtod touchups.
47005         * lib/strtod.c (strtod): Avoid compiler warnings.
47006         Reported by Jim Meyering.
47007
47008 2008-03-30  Bruno Haible  <bruno@clisp.org>
47009
47010         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
47011         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
47012         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
47013         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
47014         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
47015         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
47016         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
47017         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
47018
47019         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
47020         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
47021         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
47022         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
47023         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
47024         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
47025         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
47026         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
47027
47028         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
47029         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
47030         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
47031         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
47032         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
47033         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
47034         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
47035         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
47036
47037         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
47038         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
47039
47040         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
47041         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
47042
47043         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
47044         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
47045
47046         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
47047         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
47048         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
47049
47050         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
47051         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
47052         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
47053
47054         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
47055         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
47056         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
47057
47058         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
47059         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
47060         * modules/vasprintf (Depends-on): Add EOVERFLOW.
47061
47062         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
47063         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
47064         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
47065         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
47066         (Depends-on): Add EOVERFLOW.
47067         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
47068         (Depends-on): Add EOVERFLOW.
47069         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47070         (Depends-on): Add EOVERFLOW.
47071         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47072         (Depends-on): Add EOVERFLOW.
47073         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47074         (Depends-on): Add EOVERFLOW.
47075         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47076         (Depends-on): Add EOVERFLOW.
47077         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47078         (Depends-on): Add EOVERFLOW.
47079         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47080         (Depends-on): Add EOVERFLOW.
47081
47082         * lib/sprintf.c (EOVERFLOW): Remove fallback.
47083         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
47084         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
47085
47086         * lib/snprintf.c (EOVERFLOW): Remove fallback.
47087         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
47088         * modules/snprintf (Depends-on): Add EOVERFLOW.
47089
47090         * lib/poll.c (EOVERFLOW): Remove fallback.
47091         * modules/poll (Depends-on): Add EOVERFLOW.
47092
47093         * lib/getugroups.c (EOVERFLOW): Remove fallback.
47094         * modules/getugroups (Depends-on): Add EOVERFLOW.
47095
47096         * lib/getdelim.c (EOVERFLOW): Remove fallback.
47097         * modules/getdelim (Depends-on): Add EOVERFLOW.
47098
47099         * lib/ftell.c (EOVERFLOW): Remove fallback.
47100         * modules/ftell (Depends-on): Add EOVERFLOW.
47101
47102         * lib/fprintf.c (EOVERFLOW): Remove fallback.
47103         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
47104         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
47105
47106         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
47107
47108         * modules/EOVERFLOW-tests: New file.
47109         * tests/test-EOVERFLOW.c: New file.
47110
47111         * modules/EOVERFLOW: New file.
47112         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
47113
47114 2008-03-30  Bruno Haible  <bruno@clisp.org>
47115
47116         Fix bug introduced on 2007-06-10.
47117         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
47118         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
47119
47120 2008-03-30  Bruno Haible  <bruno@clisp.org>
47121
47122         Improve freadseek's efficiency after ungetc.
47123         * lib/freadseek.c: Include freadahead.h.
47124         (freadptrinc): New function, extracted from freadseek.
47125         (freadseek): Use it in a loop. Use freadahead to determine the number
47126         of loop iterations.
47127         * modules/freadseek (Depends-on): Add freadahead.
47128         (configure.ac): Require AC_C_INLINE.
47129
47130 2008-03-30  Bruno Haible  <bruno@clisp.org>
47131
47132         * lib/freadseek.c (freadseek): Don't ignore the return value of
47133         freadptr.
47134
47135 2008-03-29  Eric Blake  <ebb9@byu.net>
47136
47137         Add hex float support.
47138         * modules/strtod (Depends-on): Add c-ctype.
47139         (Link): Mention POW_LIB.
47140         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
47141         whitespace between 'e' and exponent.
47142         * tests/test-strtod.c (main): Enable hex float tests.
47143         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
47144         now provides.
47145
47146         Document various strtod bugs, with some fixes.
47147         * doc/posix-functions/strtod.texi (strtod): Document bugs with
47148         "-0x", "inf", "nan", and hex constants.
47149         * doc/posix-functions/atof.texi (atof): Likewise.
47150         * modules/stdlib (Makefile.am): Support strtod.
47151         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
47152         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
47153         detect additional strtod bugs.
47154         * lib/stdlib.in.h (rpl_strtod): Add declarations.
47155         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
47156         bool where appropriate.  Parse 'inf' and 'nan'.
47157         * tests/test-strtod.c: New file.
47158         * modules/strtod (Depends-on): Add stdbool, stdlib.
47159         (configure.ac): Turn on module indicator.
47160         * modules/strtod-tests: New module.
47161
47162 2008-03-29  Eric Blake  <ebb9@byu.net>
47163
47164         Fix ftell on mingw.
47165         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
47166         * modules/ftell-tests (Depends-on): Add binary-io.
47167         * modules/ftello-tests (Depends-on): Likewise.
47168         * tests/test-ftell.c (main): Enhance test to cover behavior after
47169         ungetc.  Enforce binary mode.
47170         * tests/test-ftello.c (main): Likewise.
47171
47172         Pass test-freadseek on cygwin.
47173         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
47174         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
47175         ungetc buffer.
47176
47177         * tests/test-fflush2.c (main): Fix typo.
47178
47179 2008-03-29  Bruno Haible  <bruno@clisp.org>
47180
47181         * tests/test-fflush2.c (main): Temporarily disable the contents of
47182         this test.
47183         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
47184         Reported by Eric Blake.
47185
47186 2008-03-28  Simon Josefsson  <simon@josefsson.org>
47187
47188         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
47189         (GC_SHA224_DIGEST_SIZE): Add.
47190
47191         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
47192         (gc_hash_digest_length): Likewise.
47193         (gc_hash_buffer): Likewise.
47194
47195 2008-03-25  Bruno Haible  <bruno@clisp.org>
47196
47197         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
47198         detail which gettext release to use.
47199         Reported by Simon Josefsson.
47200
47201 2008-03-26  Jim Meyering  <meyering@redhat.com>
47202
47203         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
47204         * modules/gnumakefile (clean-GNUmakefile): Also, use
47205         test ... && ... || : syntax rather than if-then ... fi.
47206
47207         gnumakefile: Don't double-quote-expand $(VPATH) value.
47208         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
47209
47210 2008-03-24  Eric Blake  <ebb9@byu.net>
47211
47212         Alter GNUmakefile to install into top directory.
47213         * modules/maintainer-makefile: Split, and add dependency...
47214         * modules/gnumakefile: to this new module.
47215         * build-aux/GNUmakefile: Move...
47216         * top/GNUmakefile: ...here.
47217         * build-aux/maint.mk: Move...
47218         * top/maint.mk: ...here.
47219         * MODULES.html.sh (Support for maintaining...): Document new
47220         module.
47221
47222 2008-03-23  Bruno Haible  <bruno@clisp.org>
47223
47224         * gnulib-tool: New options --vc-files, --no-vc-files.
47225         (func_usage): Document them.
47226         (vc_files): New variable.
47227         (func_import): Consider vc_files.
47228         (func_create_testdir): Set vc_files to empty.
47229         Suggested by Jim Meyering and Karl Berry.
47230
47231 2008-03-23  Bruno Haible  <bruno@clisp.org>
47232
47233         Fix regex compilation error on HP-UX 11.
47234         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
47235         * modules/regex (Files): Add m4/mbstate_t.m4.
47236         Reported by Ton Voon <ton.voon@altinity.com>.
47237
47238 2008-03-23  Bruno Haible  <bruno@clisp.org>
47239
47240         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
47241
47242 2008-03-23  Eric Blake  <ebb9@byu.net>
47243             Bruno Haible  <bruno@clisp.org>
47244
47245         Install files from top/ in the destination directory.
47246         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47247         augmentation also for the files from top/.
47248         (func_import, func_create_testdir): Rewrite file names:
47249         top/filename -> filename.
47250
47251 2008-03-23  Bruno Haible  <bruno@clisp.org>
47252
47253         Tweak "gnulib --version" output.
47254         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
47255
47256 2008-03-23  Bruno Haible  <bruno@clisp.org>
47257
47258         Tweak "gnulib --version" output.
47259         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
47260         rather than contents of ChangeLog, when possible.
47261
47262 2008-03-21  Eric Blake  <ebb9@byu.net>
47263
47264         More --version tweaks.
47265         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
47266         date of last ChangeLog entry.
47267
47268 2008-03-21  Jim Meyering  <meyering@redhat.com>
47269
47270         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
47271
47272 2008-03-20  Eric Blake  <ebb9@byu.net>
47273
47274         VPATH fix.
47275         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
47276
47277 2008-03-20  Simon Josefsson  <simon@josefsson.org>
47278
47279         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
47280         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
47281
47282 2008-03-20  Eric Blake  <ebb9@byu.net>
47283
47284         Sync GNUmakefile with coreutils.
47285         * build-aux/GNUmakefile (have-Makefile): Rename...
47286         (_have-Makefile): ...to this, for namespace consideration.
47287         (GNUmakefile.cfg): Include, if present.
47288         (_autoreconf): Define a default.
47289         (_is-dist-target): New rule for rebuilds to pick up intra-release
47290         version.
47291         (maint-cfg.mk): Rename...
47292         (cfg.mk): ...to this.
47293
47294 2008-03-18  Jim Meyering  <meyering@redhat.com>
47295
47296         New script and module: mktempd
47297         * MODULES.html.sh (maint+release support): Add mktempd.
47298         * build-aux/mktempd: New file.
47299         * modules/mktempd: New file.
47300
47301 2008-03-15  Jim Meyering  <meyering@redhat.com>
47302
47303         Undo last change.
47304         * lib/sha1.c, lib/md5.c: 63 != ~63.
47305         Reported by Andreas Schwab.
47306
47307         sha1.c, md5.c: Hoist a redundant expression.
47308         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
47309         "ctx->buflen" only once, before calling *_process_block.
47310         * lib/md5.c (md5_process_bytes): Likewise.
47311
47312 2008-03-14  Eric Blake  <ebb9@byu.net>
47313
47314         Bump copyright year in files generated by gnulib-tool.
47315         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
47316         gnulib-tool, rather than hard-coding it.
47317
47318         Fix 'gnulib-tool --version' output to work with git.
47319         * gnulib-tool (func_gnulib_dir): New function, extracted from...
47320         (startup): ...here.
47321         (func_version): Use it to invoke git-version-gen, rather than
47322         relying on CVS keyword expansion.  Modernize wording.
47323         (cvsdatestamp, last_checkin_date, version): Kill unused
47324         variables.
47325
47326 2008-03-12  Jim Meyering  <meyering@redhat.com>
47327
47328         Recognize optional cast of the argument to free.
47329         * build-aux/useless-if-before-free: Update regexps.
47330
47331         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
47332
47333 2008-03-11  Bruno Haible  <bruno@clisp.org>
47334
47335         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
47336         by a single package.
47337         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
47338         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
47339         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
47340         Reported by Sam Steingold <sds@gnu.org>.
47341
47342 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47343
47344         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
47345         repositories.
47346
47347 2008-03-11  Bruno Haible  <bruno@clisp.org>
47348
47349         Avoid conflicts between local macro definitions.
47350         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
47351         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
47352
47353 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
47354             Bruno Haible  <bruno@clisp.org>
47355
47356         Make va_copy work with some version of xlc on AIX 5.1.
47357         * lib/stdarg.in.h: New file.
47358         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
47359         On AIX, use a <stdarg.h> file substitute.
47360         * modules/stdarg (Files): Add lib/stdarg.in.h.
47361         (Depends-on): Add include_next.
47362         (Makefile.am): Build a stdarg.h substitute if requested.
47363         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
47364
47365 2008-03-10  Bruno Haible  <bruno@clisp.org>
47366
47367         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
47368         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47369         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
47370
47371 2008-03-10  Bruno Haible  <bruno@clisp.org>
47372
47373         * modules/stdlib (Depends-on): Add include_next, remove
47374         absolute-header.
47375
47376 2008-03-09  Bruno Haible  <bruno@clisp.org>
47377
47378         * lib/freadahead.h (freadahead): Document more precisely.
47379         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
47380         the sum of both buffer sizes.
47381         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
47382         * NEWS: Document the change.
47383
47384 2008-03-09  Bruno Haible  <bruno@clisp.org>
47385
47386         Extend freadptr to return also the buffer size.
47387         * lib/freadptr.h (freadptr): Add sizep argument.
47388         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
47389         (freadptr): Add sizep argument. Determine buffer size like freadahead
47390         does.
47391         * tests/test-freadptr.c: Don't include freadahead.h.
47392         (main): Adapt for new calling convention of freadptr.
47393         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
47394         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
47395         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
47396         tests/test-freadptr2.sh.
47397         (Depends): Remove freadahead.
47398         (TESTS): Add test-freadptr2.sh.
47399         (check_PROGRAMS): Add test-freadptr2.
47400
47401 2008-03-09  Bruno Haible  <bruno@clisp.org>
47402
47403         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
47404         Report and solution by Simon Josefsson.
47405
47406 2008-03-06  Bruno Haible  <bruno@clisp.org>
47407
47408         Make fflush after ungetc work on BSD platforms.
47409         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
47410         * tests/test-fflush2.c: New file.
47411         * tests/test-fflush2.sh: New file.
47412         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
47413         tests/test-fflush2.c.
47414         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
47415         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
47416
47417 2008-03-06  Eric Blake  <ebb9@byu.net>
47418
47419         Likewise for ftello.
47420         * modules/ftello (Dependencies): Add extensions.
47421         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
47422
47423 2008-03-06  Bruno Haible  <bruno@clisp.org>
47424
47425         * modules/fseeko (Dependencies): Add extensions.
47426         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
47427         Needed on glibc systems.
47428
47429 2008-03-06  Bruno Haible  <bruno@clisp.org>
47430
47431         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
47432         email address.
47433         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47434
47435 2008-03-06  Bruno Haible  <bruno@clisp.org>
47436
47437         * users.txt: Add libgnupdf.
47438
47439 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47440
47441         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
47442         (Header File Substitutes, Function Substitutes,
47443         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
47444         (Build robot for gnulib): Fix typo.
47445
47446 2008-03-06  Bruno Haible  <bruno@clisp.org>
47447
47448         * doc/gnulib-tool.texi (VCS Issues): Small updates.
47449         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47450
47451 2008-03-06  Bruno Haible  <bruno@clisp.org>
47452
47453         * doc/func.texi: New file, extracted from doc/gnulib.texi.
47454         * doc/gnulib.texi: Include it.
47455
47456 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47457
47458         * modules/func (License): Change license to unlimited; there was
47459         no LGPL parts in the module anyway.
47460
47461 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47462
47463         * modules/__func__: Renamed to modules/func.
47464         * modules/__func__-tests: Renamed to modules/func-tests.
47465         * tests/test-__func__.c: Renamed to tests/test-func.c.
47466         * m4/__func__.m4: Renamed to m4/func.m4.
47467         * doc/gnulib.texi (__func__): Section renamed to func.
47468         Suggested by Eric Blake <ebb9@byu.net>.
47469
47470 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47471
47472         * doc/gnulib.texi (__func__): Use C99 terminology when talking
47473         about __func__.  Make example self-contained.  Suggested by Eric
47474         Blake <ebb9@byu.net>.
47475
47476         * tests/test-__func__.c (main): Avoid extraneous () around __func.
47477         Suggested by Eric Blake <ebb9@byu.net>.
47478
47479 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47480
47481         * modules/__func__: New file.
47482         * modules/__func__-tests: New file.
47483         * tests/test-__func__.c: New file.
47484         * m4/__func__.m4: New file.
47485         * doc/gnulib.texi (__func__): Document __func__ module.
47486
47487 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47488
47489         * modules/byteswap (License): Re-license as LGPLv2+.
47490
47491 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47492
47493         * doc/Makefile: Add pdf target.
47494
47495 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47496
47497         * modules/inline (License): Use 'unlimited', since there are only
47498         *.m4 files in this module.
47499
47500 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47501             Bruno Haible  <bruno@clisp.org>
47502
47503         Add support for HP C 7.1 on OpenVMS 8.3.
47504         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
47505
47506 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47507
47508         Update VMS specifics.
47509         * lib/getopt.c [VMS]: Remove include of unixlib.h.
47510
47511 2008-03-02  Jim Meyering  <meyering@redhat.com>
47512
47513         Remove the last dependency on the "free" module.
47514         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
47515         Reported by Bob Proulx.
47516
47517         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
47518
47519         Remove useless "if" tests before free.  Deprecate "free" module.
47520         * doc/posix-functions/free.texi: Mention that this
47521         module is no longer useful.
47522         * modules/free (Notice): Say this module is obsolete.
47523         * modules/readutmp (Depends-on): Remove free.
47524         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
47525         * lib/putenv.c (putenv): Likewise.
47526         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
47527         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
47528         * tests/test-c-strcasestr.c (main): Likewise.
47529         * tests/test-c-strstr.c (main): Likewise.
47530         * tests/test-mbscasestr1.c (main): Likewise.
47531         * tests/test-mbscasestr2.c (main): Likewise.
47532         * tests/test-mbsstr1.c (main): Likewise.
47533         * tests/test-mbsstr2.c (main): Likewise.
47534         * tests/test-memmem.c (main): Likewise.
47535         * tests/test-strcasestr.c (main): Likewise.
47536         * tests/test-striconv.c (main): Likewise.
47537         * tests/test-striconveh.c (main): Likewise.
47538         * tests/test-striconveha.c (main): Likewise.
47539         * tests/test-strstr.c (main): Likewise.
47540
47541         * build-aux/git-version-gen: Adjust a comment and the Usage string.
47542
47543         bootstrap: sync from coreutils again
47544         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
47545
47546 2008-03-01  Jim Meyering  <meyering@redhat.com>
47547
47548         bootstrap: sync from coreutils
47549         * build-aux/bootstrap (update_po_files): Copy a .po file into place
47550         also when the target doesn't exist.
47551
47552 2008-03-01  Eric Blake  <ebb9@byu.net>
47553
47554         Fix bugs in last patch.
47555         * lib/memchr2.c (memchr2): Fix typo.
47556         * tests/test-memchr2.c: Test previous bug, and don't use GNU
47557         extension.
47558         Reported by Bruce Korb.
47559
47560         New module 'memchr2'.
47561         * modules/memchr2: New file.
47562         * modules/memchr2-tests: Likewise.
47563         * lib/memchr2.h: Likewise.
47564         * lib/memchr2.c: Likewise, based on memchr.c.
47565         * tests/test-memchr2.c: New test.
47566         * MODULES.html.sh (String handling): Add memchr2.
47567
47568 2008-02-29  Bruno Haible  <bruno@clisp.org>
47569
47570         * modules/freadseek-tests: New file.
47571         * tests/test-freadseek.sh: New file.
47572         * tests/test-freadseek.c: New file.
47573
47574         New module 'freadseek'.
47575         * modules/freadseek: New file.
47576         * lib/freadseek.h: New file.
47577         * lib/freadseek.c: New file.
47578         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
47579
47580 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47581
47582         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
47583         wydawca.
47584
47585         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
47586         program_invocation_name and program_invocation_short_name are
47587         present.
47588
47589 2008-02-28  Bruno Haible  <bruno@clisp.org>
47590
47591         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
47592         * tests/test-freadptr.sh: Also test non-seekable stdin.
47593
47594 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
47595
47596         * build-aux/bootstrap (source_base, m4_base)
47597         (doc_base, tests_base): New variables.
47598         (gnulib_tool_options): Do not hardcode base directories, use
47599         the above variables instead.
47600
47601 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
47602
47603         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
47604
47605 2008-02-28  Bruno Haible  <bruno@clisp.org>
47606
47607         * modules/freadptr-tests: New file.
47608         * tests/test-freadptr.sh: New file.
47609         * tests/test-freadptr.c: New file.
47610
47611         New module 'freadptr'.
47612         * modules/freadptr: New file.
47613         * lib/freadptr.h: New file.
47614         * lib/freadptr.c: New file.
47615         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
47616
47617 2008-02-26  Karl Berry  <karl@freefriends.org>
47618
47619         Sync from Libtool:
47620         * libltdl/argz.c (argz_add, argz_count): New functions.
47621         * libltdl/argz.in.h: Declare them.
47622         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
47623
47624 2008-02-22  Bruno Haible  <bruno@clisp.org>
47625
47626         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
47627         is a pointer type.  Needed for HP-UX 10.
47628         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
47629         * doc/posix-functions/gmtime_r.texi: Likewise.
47630         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
47631
47632 2008-02-24  Bruno Haible  <bruno@clisp.org>
47633
47634         * modules/environ-tests: New file.
47635         * tests/test-environ.c: New file.
47636
47637         New module 'environ'.
47638         * modules/environ: New file.
47639         * lib/unistd.in.h (environ): New declaration.
47640         * m4/environ.m4: New file.
47641         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
47642         after use.
47643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
47644         HAVE_DECL_ENVIRON.
47645         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
47646         HAVE_DECL_ENVIRON.
47647         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
47648         wrong claim that 'environ' is missing on some systems.
47649         * modules/execute (Depends-on): Add environ.
47650         * lib/execute.c (environ): Remove fallback declaration.
47651         * modules/pipe (Depends-on): Add environ.
47652         * lib/pipe.c (environ): Remove fallback declaration.
47653         * modules/setenv (Depends-on): Add environ.
47654         * lib/setenv.c (environ): Remove fallback declaration.
47655         * modules/unsetenv (Depends-on): Add environ.
47656         * lib/unsetenv.c (environ): Remove fallback declaration.
47657         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
47658         m4/environ.m4.
47659         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
47660         (gl_PREREQ_UNSETENV): Likewise.
47661
47662 2008-02-24  Bruno Haible  <bruno@clisp.org>
47663
47664         * doc/posix-functions/environ.texi: Document the MacOS X problem.
47665
47666 2008-02-20  Bob Proulx  <bob@proulx.com>
47667
47668         Enable use of older two part flavor 'git describe'.
47669         * build-aux/git-version-gen: If using the older two part flavor of
47670         git version then recreate the third part now present in the
47671         newer three part flavor of git describe.
47672
47673 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
47674
47675         * lib/fts.c (fts_build): Typo correction to comment.
47676
47677 2008-02-17  Bruno Haible  <bruno@clisp.org>
47678
47679         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
47680         generating no-op conflicts.
47681
47682 2008-02-17  Bruno Haible  <bruno@clisp.org>
47683
47684         Speed up by 10%.
47685         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
47686         result_entries, rather than an index-based loop.
47687
47688 2008-02-17  Bruno Haible  <bruno@clisp.org>
47689
47690         Speed up by 25%.
47691         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
47692         'hashcode_cached'.
47693         (entry_create): New function.
47694         (entry_hashcode): Use the cached hashcode if possible.
47695         (read_changelog_file, try_split_merged_entry): Use entry_create.
47696
47697 2008-02-17  Bruno Haible  <bruno@clisp.org>
47698
47699         Speed up from O(n^2) to O(n) for long ChangeLog files.
47700         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
47701         (read_changelog_file): Change implementation of entries_reversed list
47702         to rbtreehash.
47703         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
47704
47705 2008-02-17  Bruno Haible  <bruno@clisp.org>
47706
47707         New option --split-merged-entry.
47708         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
47709         (find_paragraph_end, try_split_merged_entry): New functions.
47710         (long_options): Add option --split-merged-entry.
47711         (usage): Document option --split-merged-entry.
47712         (main): Implement option --split-merged-entry.
47713         Reported by Eric Blake.
47714
47715 2008-02-17  Bruno Haible  <bruno@clisp.org>
47716
47717         * lib/git-merge-changelog.c: Include c-strstr.h.
47718         (main): Support the "git pull --rebase" situation.
47719         * modules/git-merge-changelog (Depends-on): Add c-strstr.
47720         Reported by Eric Blake.
47721
47722 2008-02-16  Eric Blake  <ebb9@byu.net>
47723
47724         Avoid doubling \ in common case of "c-maybe" quoting style.
47725         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
47726         eliding outer quotes.
47727         * lib/quotearg.h: Document this.
47728         * tests/test-quotearg.c (result_strings, inputs, results_g)
47729         (flag_results, locale_results): Test it by adding a new string to
47730         each test group.
47731         (compare_strings): Test new string.
47732
47733 2008-02-13  Eric Blake  <ebb9@byu.net>
47734
47735         Avoid trigraph quoting in default output.
47736         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
47737         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
47738         unless explicitly requested.
47739         * tests/test-quotearg.c (flag_results, main): Add additional tests.
47740
47741 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
47742
47743         Don't rely on signed integer overflowing to negative value.
47744         * lib/getugroups.c (getugroups): Include <limits.h>.
47745         Instead, compare against INT_MAX, and increment only if the test passes.
47746
47747 2008-02-13  Jim Meyering  <meyering@redhat.com>
47748         and Eric Blake  <ebb9@byu.net>
47749
47750         Avoid shadowing warning and compile errors on Linux.
47751         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
47752         forwarding macros on Linux.
47753         (dcgettext): Define a stub, for Linux.
47754         (results_g, main): Avoid warnings.
47755
47756 2008-02-12  Eric Blake  <ebb9@byu.net>
47757
47758         Silence warning in last patch.
47759         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
47760
47761         Quotearg part 4: add tests, fix c-maybe colon quoting.
47762         * lib/quotearg.h: Improve documentation.
47763         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
47764         escapes when adding outer quotes.  When quoting trigraphs, use
47765         valid C notation.  When quoting NUL, omit extra characters if next
47766         character is not digit.  Alter prototype.
47767         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
47768         callers.
47769         * modules/quotearg-tests: New module.
47770         * tests/test-quotearg.c: New test.
47771
47772 2008-02-07  Eric Blake  <ebb9@byu.net>
47773
47774         Quotearg part 3: add flag to control outer quote elision.
47775         * lib/quotearg.h (c_maybe_quoting_style): New style.
47776         (enum quoting_flags): Better documentation of flags.
47777         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
47778         c-maybe style.
47779         (quotearg_buffer_restyled): Handle new flag to elide outer
47780         quotes.
47781
47782         Quotearg part 2: add flag that can control NUL elision.
47783         * lib/quotearg.h (set_quoting_flags): New prototype.
47784         * lib/quotearg.c (struct quoting_options): Add flag field.
47785         (set_quoting_flags): New function.
47786         (quotearg_buffer_restyled): Add flags parameter.
47787         (quotearg_alloc_mem): Set the flag if length cannot be returned.
47788         (quotearg_n_options): Set the flag, since length cannot be
47789         returned.
47790         (quoting_options_from_style): Default flags correctly.
47791
47792         Quotearg part 1: more wrappers, restore quotearg_char state.
47793         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
47794         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
47795         (quotearg_colon_mem): New wrappers.
47796         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
47797         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
47798         functions.
47799         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
47800         (quotearg_colon_mem): New functions.
47801
47802 2008-02-11  Bruno Haible  <bruno@clisp.org>
47803
47804         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
47805         library in the current directory: it does not work with parallel make.
47806         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47807
47808 2008-02-11  Bruno Haible  <bruno@clisp.org>
47809
47810         * .gitattributes: New file.
47811
47812 2008-02-11  Jim Meyering  <meyering@redhat.com>
47813
47814         useless-if-before-free: Fix reversed exit values.
47815         * build-aux/useless-if-before-free: Use correct values
47816         for EXIT_MATCH and EXIT_NO_MATCH.
47817
47818         * build-aux/useless-if-before-free: Close stdout carefully.
47819
47820 2008-02-10  Bruno Haible  <bruno@clisp.org>
47821
47822         New module 'git-merge-changelog'.
47823         * modules/git-merge-changelog: New file.
47824         * lib/git-merge-changelog.c: New file.
47825
47826 2008-02-10  Jim Meyering  <meyering@redhat.com>
47827
47828         useless-if-before-free: New option: --list (-l).
47829
47830         useless-if-before-free: Don't exit immediately upon open failure.
47831         * build-aux/useless-if-before-free: Exit 2 for errors.
47832         Upon failure to open a file, don't exit immediately.
47833         Rather, just warn and continue with any remaining files.
47834
47835 2008-02-10  Bruno Haible  <bruno@clisp.org>
47836
47837         New abstract list operation 'node_set_value'.
47838         * lib/gl_list.h (gl_list_node_set_value): New function.
47839         (struct gl_list_implementation): New field node_set_value.
47840         * lib/gl_list.c (gl_list_node_set_value): New function.
47841         * lib/gl_array_list.c (gl_array_node_set_value): New function.
47842         (gl_array_list_implementation): Update.
47843         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
47844         (gl_carray_list_implementation): Update.
47845         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
47846         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47847         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47848         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
47849         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47850         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47851         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47852         Update.
47853         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
47854         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
47855         (gl_sublist_list_implementation): Update.
47856
47857 2008-02-10  Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
47860         Needed when ELEMENT is #defined to 'some_type *'.
47861
47862 2008-02-10  Jim Meyering  <meyering@redhat.com>
47863
47864         New script and module: useless-if-before-free
47865         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
47866         * build-aux/useless-if-before-free: New file.
47867         * modules/useless-if-before-free: New file.
47868
47869         * build-aux/gitlog-to-changelog: Use committer date, not author date.
47870
47871         xstrtol_error: Fix typo.
47872         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
47873         s/exit_failure/exit_status/.
47874
47875 2008-02-09  Jim Meyering  <meyering@redhat.com>
47876
47877         New script and module: gitlog-to-changelog
47878         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
47879         * modules/gitlog-to-changelog: New file.
47880         * build-aux/gitlog-to-changelog: New file.
47881
47882 2008-02-08  Jim Meyering  <meyering@redhat.com>
47883
47884         Avoid two "parameter unused" warnings.
47885         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
47886         Mark "st" as used.
47887
47888         Use "git COMMAND", not "git-COMMAND".
47889         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
47890         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
47891         * build-aux/git-version-gen: Use "git status", not "git-status".
47892
47893 2008-02-07  Bruno Haible  <bruno@clisp.org>
47894
47895         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
47896         Avoids a crash on Windows Vista.
47897         Reported by Adam Strzelecki <ono@java.pl> via
47898         Simon Josefsson <simon@josefsson.org>.
47899
47900 2008-02-06  Bruno Haible  <bruno@clisp.org>
47901
47902         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
47903         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
47904         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
47905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
47906         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47907         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47908         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
47909         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
47910         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47911         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47912         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47913         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47914         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47915         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47916         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47917         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
47918         left-adjust flag.
47919         * tests/test-snprintf-posix.h (test_function): Likewise.
47920         * tests/test-sprintf-posix.h (test_function): Likewise.
47921         * tests/test-vasprintf-posix.c (test_function): Likewise.
47922         * doc/posix-functions/fprintf.texi: Update.
47923         * doc/posix-functions/printf.texi: Update.
47924         * doc/posix-functions/snprintf.texi: Update.
47925         * doc/posix-functions/sprintf.texi: Update.
47926         * doc/posix-functions/vfprintf.texi: Update.
47927         * doc/posix-functions/vprintf.texi: Update.
47928         * doc/posix-functions/vsnprintf.texi: Update.
47929         * doc/posix-functions/vsprintf.texi: Update.
47930         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47931
47932 2008-02-06  Bruno Haible  <bruno@clisp.org>
47933
47934         Fix bug introduced on 2008-01-26.
47935         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
47936
47937 2008-02-06  Bruno Haible  <bruno@clisp.org>
47938
47939         Fix bug introduced on 2007-06-10.
47940         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
47941         !NEED_PRINTF_FLAG_ZERO.
47942
47943 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
47944
47945         getloadavg: use libperfstat on AIX5
47946         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
47947
47948 2008-02-03  Bruno Haible  <bruno@clisp.org>
47949
47950         * lib/diffseq.h: Add comments about required #includes.
47951         Reported by Michael Biggs <gnulib@doubleplum.net>.
47952
47953 2008-02-01  Bruno Haible  <bruno@clisp.org>
47954
47955         * users.txt: Add gnuit.
47956
47957 2008-01-31  Bruno Haible  <bruno@clisp.org>
47958
47959         * lib/md4.c (set_uint32): Mark as inline.
47960         * lib/md5.c (set_uint32): Likewise.
47961         * lib/sha1.c (set_uint32): Likewise.
47962         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
47963         * m4/md5.m4 (gl_MD5): Likewise.
47964         * m4/sha1.m4 (gl_SHA1): Likewise.
47965
47966 2008-01-31  Jim Meyering  <meyering@redhat.com>
47967
47968         Use "sizeof VAR", rather than a literal "4".
47969         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
47970         * lib/md4.c (md4_read_ctx): Likewise.
47971         * lib/sha1.c (sha1_read_ctx): Likewise.
47972
47973 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47974
47975         * tests/test-sha1.c: New file, based on test-md5.c.
47976
47977         * modules/crypto/sha1-tests: New file.
47978
47979 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47980
47981         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
47982
47983 2008-01-31  Jim Meyering  <meyering@redhat.com>
47984
47985         Prefer "sizeof v" over the equivalent "4".
47986         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
47987         * lib/md5.c (set_uint32): Likewise.
47988         * lib/sha1.c (set_uint32): Likewise.
47989
47990 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47991
47992         * lib/sha1.c (set_uint32): Mark function as static.
47993
47994 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47995
47996         md2: clarify comments to say that alignment is not required.
47997         * lib/md2.h: Remove warning about alignment in comment.
47998         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
47999         never been required.
48000
48001 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48002
48003         md4: adapt alignment constraint fix from sha1.
48004         * lib/md4.c (set_uint32): New function, from sha1.c
48005         (md4_read_ctx): Use it.
48006         (md4_finish_ctx): Doc fix.
48007         * lib/md4.h: Doc fix.
48008
48009 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48010
48011         md5: adapt alignment constraint fix from sha1.
48012         * lib/md5.c (set_uint32): New function, from sha1.c
48013         (md5_read_ctx): Use it.
48014         (md5_finish_ctx): Doc fix.
48015         * lib/md5.h: Doc fix.
48016
48017 2008-01-30  Peter Palfrader  <weasel@debian.org>
48018
48019         sha1: remove the result buffer alignment constraint
48020         * lib/sha1.c (set_uint32): New function.
48021         (sha1_read_ctx): Rewrite to remove the result buffer alignment
48022         constraint.
48023         (sha1_finish_ctx): Remove comment warning about alignment constraint.
48024         * lib/sha1.h: Likewise.
48025
48026 2008-01-30  Andreas Schwab  <schwab@suse.de>
48027             Bruno Haible  <bruno@clisp.org>
48028
48029         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
48030         correct definition of LDBL_MIN_EXP.
48031
48032 2008-01-30  Karl Berry  <karl@gnu.org>
48033
48034         * config/srclist-update: try to preserve x bit on updates.
48035         * config/srclistvars.sh: update for karl.
48036
48037 2008-01-29  Jim Meyering  <meyering@redhat.com>
48038
48039         vasnprintf.c: Avoid warning about unused label
48040         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
48041         "overflow" label definition and associated code with the
48042         same cpp condition that guards the sole use of that label.
48043
48044 2008-01-26  Bruno Haible  <bruno@clisp.org>
48045
48046         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
48047         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
48048         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
48049         * lib/isnanl-nolibm.h (isnanl): Likewise.
48050         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48051
48052 2008-01-26  Bruno Haible  <bruno@clisp.org>
48053
48054         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
48055         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
48056
48057 2008-01-26  Bruno Haible  <bruno@clisp.org>
48058
48059         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
48060         GCC >= 4.0 built-in.
48061         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
48062
48063 2008-01-26  Bruno Haible  <bruno@clisp.org>
48064
48065         Rename isnan, applicable to 'double' only, to isnand.
48066         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
48067         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
48068         (configure.ac): Update.
48069         (Include): Replace "isnan.h" with "isnand.h".
48070         * m4/isnand.m4: Renamed from m4/isnan.m4.
48071         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
48072         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
48073         instead of isnan.c.
48074         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
48075         instead of HAVE_ISNAN_IN_LIBC.
48076         (isnand): Renamed from isnan.
48077         * lib/isnand.c: New file.
48078         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
48079         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
48080         (Makefile.am): Update.
48081         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
48082         Include isnand.h instead of isnan.h.
48083         (main): Test isnand instead of isnan.
48084         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
48085         isnan-nolibm.
48086         * modules/frexp (Depends-on): Likewise.
48087         * modules/frexp-tests (Depends-on): Likewise.
48088         * modules/frexp-nolibm (Depends-on): Likewise.
48089         * modules/frexp-nolibm-tests (Depends-on): Likewise.
48090         * modules/isfinite (Depends-on): Likewise.
48091         * modules/round-tests (Depends-on): Likewise.
48092         * modules/signbit (Depends-on): Likewise.
48093         * modules/signbit-tests (Depends-on): Likewise.
48094         * modules/snprintf-posix (Depends-on): Likewise.
48095         * modules/sprintf-posix (Depends-on): Likewise.
48096         * modules/trunc-tests (Depends-on): Likewise.
48097         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48098         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48099         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48100         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48101         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48102         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48103         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48104         * modules/vasnprintf-posix (Depends-on): Likewise.
48105         * modules/vasprintf-posix (Depends-on): Likewise.
48106         * modules/vfprintf-posix (Depends-on): Likewise.
48107         * modules/vsnprintf-posix (Depends-on): Likewise.
48108         * modules/vsprintf-posix (Depends-on): Likewise.
48109         * lib/frexp.c: Include isnand.h instead of isnan.h.
48110         (ISNAN): Set to isnand instead of isnan.
48111         * lib/isfinite.c: Include isnand.h instead of isnan.h.
48112         (gl_isfinited): Use isnand instead of isnan.
48113         * lib/signbitd.c: Include isnand.h instead of isnan.h.
48114         (gl_signbitd): Use isnand instead of isnan.
48115         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
48116         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
48117         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
48118         (main): Use isnand instead of isnan.
48119         * tests/test-round1.c: Include isnand.h.
48120         (main): Use isnand instead of isnan.
48121         * tests/test-round2.c: Include isnand.h instead of isnan.h.
48122         (ISNAN): Set to isnand instead of isnan.
48123         * tests/test-trunc1.c: Include isnand.h.
48124         (main): Use isnand instead of isnan.
48125         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
48126         (equal): Use isnand instead of isnan.
48127         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
48128         isnand-nolibm.
48129         * NEWS: Mention the change.
48130
48131 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48132             Bruno Haible  <bruno@clisp.org>
48133
48134         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
48135         the GCC builtins for signbits are present and set
48136         REPLACE_SIGNBIT_USING_GCC if so.
48137         * lib/math.in.h (signbit): Define using GCC builtins if
48138         REPLACE_SIGNBIT_USING_GCC is set.
48139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
48140         REPLACE_SIGNBIT_USING_GCC.
48141         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
48142
48143 2008-01-25  Jim Meyering  <meyering@redhat.com>
48144
48145         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
48146         * lib/poll.c: Include <config.h>, not "config.h".
48147         * tests/test-getaddrinfo.c: Likewise.
48148
48149 2008-01-25  Simon Josefsson  <simon@josefsson.org>
48150
48151         * modules/sockets-tests: New file.
48152
48153 2008-01-24  Simon Josefsson  <simon@josefsson.org>
48154
48155         * modules/sockets: New module, can be used to call WSA_Startup and
48156         WSA_Cleanup when needed.
48157
48158         * lib/sockets.h, lib/sockets.c: New files.
48159
48160         * m4/sockets.m4: New file.
48161
48162         * tests/test-sockets.c: New file.
48163
48164 2008-01-19  Bruno Haible  <bruno@clisp.org>
48165
48166         * doc/posix-headers: Renamed from doc/headers.
48167         * doc/posix-functions: Renamed from doc/functions.
48168         * doc/gnulib.texi: Update.
48169
48170 2008-01-19  Bruno Haible  <bruno@clisp.org>
48171
48172         * doc/glibc-functions/strcasestr.texi: Include contents of
48173         doc/functions/strcasestr.texi, fixing the list of platforms.
48174         * doc/functions/strcasestr.texi: Remove file.
48175
48176 2008-01-19  Bruno Haible  <bruno@clisp.org>
48177
48178         * doc/glibc-functions/memmem.texi: Include contents of
48179         doc/functions/memmem.texi.
48180         * doc/functions/memmem.texi: Remove file.
48181
48182 2008-01-18  Bruno Haible  <bruno@clisp.org>
48183
48184         * doc/glibc-functions/*.texi: New files.
48185         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
48186         to use the new files.
48187
48188 2008-01-17  Bruno Haible  <bruno@clisp.org>
48189
48190         * tests/test-gethostname.c (main): Fix printf statement.
48191
48192 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48193
48194         * modules/gethostname-tests: New file.
48195
48196         * tests/test-gethostname.c: New file.
48197
48198 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48199
48200         * lib/gethostname.c: Include string.h unconditionally, strncpy is
48201         used by the UNAME case.  Reported by Bruno Haible
48202         <bruno@clisp.org>.
48203
48204 2008-01-17  Eric Blake  <ebb9@byu.net>
48205
48206         Convert c-strcasestr to be more efficient.
48207         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
48208         (Depends-on): Add c-strcase, remove malloca, strnlen.
48209         * tests/test-c-strcasestr.c (main): Enhance test.
48210         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
48211
48212 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
48213
48214         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
48215         Use it in creating po/Makevars.
48216
48217 2008-01-15  Simon Josefsson  <simon@josefsson.org>
48218
48219         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
48220         Applications that requires it should initialize libgcrypt
48221         manually.
48222
48223 2008-01-16  Simon Josefsson  <simon@josefsson.org>
48224
48225         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
48226
48227 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
48228
48229         Fix problem with getdate on mingw32 reported by Simon Josefsson
48230         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
48231         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
48232         tzname", when deciding whether to declare tzname.
48233         * lib/strftime.c (tzname): Likewise.
48234
48235 2008-01-15  Bruno Haible  <bruno@clisp.org>
48236
48237         Work around a MacOS X 10.5 bug in frexpl().
48238         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
48239         * doc/functions/frexpl.texi: Document the bug.
48240         Reported by Elias Pipping <pipping@gentoo.org>.
48241
48242 2008-01-14  Eric Blake  <ebb9@byu.net>
48243
48244         Touch up previous patch.
48245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
48246         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
48247
48248         Convert strcasestr module to use Two-Way algorithm.
48249         * modules/strcasestr-simple: New module, based on the old
48250         strcasestr, but with Two-Way rather than KMP.
48251         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
48252         * lib/string.in.h (rpl_strcasestr): Declare.
48253         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
48254         performance.
48255         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
48256         * modules/string (Makefile.am): Support strcasestr.
48257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48258         * modules/strcasestr-tests (Depends-on): Check for alarm.
48259         * tests/test-strcasestr.c: Augment test.
48260         * lib/str-two-way.h: Clean up stray macro.
48261         * NEWS: Document new module.
48262         * MODULES.html.sh (string handling): Likewise.
48263         * doc/functions/strcasestr.texi: New file.
48264         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
48265         here, since it is not a POSIX function.
48266
48267 2008-01-14  Colin Watson  <cjwatson@debian.org>
48268             Bruno Haible  <bruno@clisp.org>
48269
48270         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
48271         works fine; if not, set REPLACE_STRSIGNAL.
48272         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
48273         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48274         REPLACE_STRSIGNAL.
48275         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
48276         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
48277         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
48278
48279 2008-01-14  Bruno Haible  <bruno@clisp.org>
48280
48281         * modules/strsignal (Include): Change to <string.h>.
48282
48283 2008-01-14  Colin Watson  <cjwatson@debian.org>
48284
48285         * modules/argp (Notice): Add a notice recommending to change
48286         XGETTEXT_OPTIONS.
48287         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
48288
48289 2008-01-13  Colin Watson  <cjwatson@debian.org>
48290
48291         * modules/strsignal-tests: New file.
48292         * tests/test-strsignal.c: New file.
48293
48294         * lib/strsignal.c: New file, from glibc with modifications.
48295         * lib/siglist.h: New file, from glibc with modifications.
48296         * lib/string.in.h (strsignal): New declaration.
48297         * m4/strsignal.m4: New file.
48298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48299         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
48300         * modules/strsignal: New file.
48301         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
48302         HAVE_DECL_STRSIGNAL.
48303
48304 2008-01-13  Bruno Haible  <bruno@clisp.org>
48305
48306         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
48307         locale encoding is not ASCII. Needed for OpenBSD 4.0.
48308         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
48309         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48310
48311 2008-01-13  Bruno Haible  <bruno@clisp.org>
48312
48313         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
48314         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
48315         * lib/argp.h (__attribute__): Likewise.
48316         * lib/c-stack.c (__attribute__): Likewise.
48317         * lib/error.h (__attribute__): Likewise.
48318         * lib/fts.c (__attribute__): Likewise.
48319         * lib/openat.h (__attribute__): Likewise.
48320         * lib/stdio.in.h (__attribute__): Likewise.
48321         * lib/string.in.h (__attribute__): Likewise.
48322         * lib/utimens.c (__attribute__): Likewise.
48323         * lib/vasnprintf.h (__attribute__): Likewise.
48324         * lib/xalloc.h (__attribute__): Likewise.
48325         * lib/xprintf.h (__attribute__): Likewise.
48326         * lib/xstrtol.h (__attribute__): Likewise.
48327         * lib/xvasprintf.h (__attribute__): Likewise.
48328
48329 2008-01-12  Bruno Haible  <bruno@clisp.org>
48330
48331         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
48332         * doc/glibc-headers/a.out.texi: New file.
48333         * doc/glibc-headers/aliases.texi: New file.
48334         * doc/glibc-headers/alloca.texi: New file.
48335         * doc/glibc-headers/ar.texi: New file.
48336         * doc/glibc-headers/argp.texi: New file.
48337         * doc/glibc-headers/argz.texi: New file.
48338         * doc/glibc-headers/byteswap.texi: New file.
48339         * doc/glibc-headers/crypt.texi: New file.
48340         * doc/glibc-headers/endian.texi: New file.
48341         * doc/glibc-headers/envz.texi: New file.
48342         * doc/glibc-headers/err.texi: New file.
48343         * doc/glibc-headers/error.texi: New file.
48344         * doc/glibc-headers/execinfo.texi: New file.
48345         * doc/glibc-headers/fpu_control.texi: New file.
48346         * doc/glibc-headers/fstab.texi: New file.
48347         * doc/glibc-headers/fts.texi: New file.
48348         * doc/glibc-headers/getopt.texi: New file.
48349         * doc/glibc-headers/ieee754.texi: New file.
48350         * doc/glibc-headers/ifaddrs.texi: New file.
48351         * doc/glibc-headers/libintl.texi: New file.
48352         * doc/glibc-headers/mcheck.texi: New file.
48353         * doc/glibc-headers/mntent.texi: New file.
48354         * doc/glibc-headers/obstack.texi: New file.
48355         * doc/glibc-headers/paths.texi: New file.
48356         * doc/glibc-headers/printf.texi: New file.
48357         * doc/glibc-headers/pty.texi: New file.
48358         * doc/glibc-headers/resolv.texi: New file.
48359         * doc/glibc-headers/shadow.texi: New file.
48360         * doc/glibc-headers/sysexits.texi: New file.
48361         * doc/glibc-headers/ttyent.texi: New file.
48362
48363 2008-01-12  Jim Meyering  <meyering@redhat.com>
48364
48365         announce-gen: emit Gnulib's git-based version string.
48366         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
48367         New option --gnulib-version=V, where V is expected to be
48368         the output of running git describe in the gnulib directory.
48369         (get_tool_versions): Request feedback on xdelta.  I suspect it's
48370         not useful, and plan to stop publishing an xdelta file with each
48371         coreutils release.
48372
48373         * build-aux/announce-gen: Also check for lzma-compressed files.
48374
48375 2008-01-11  Bruno Haible  <bruno@clisp.org>
48376
48377         * tests/test-memmem.c (main): Increase maximum allowed time.
48378         * tests/test-strstr.c (main): Likewise.
48379
48380 2008-01-11  Bruno Haible  <bruno@clisp.org>
48381
48382         * doc/functions/memmem.texi: Add more precisions about platforms.
48383         * doc/functions/strstr.texi: Likewise.
48384
48385 2008-01-10  Eric Blake  <ebb9@byu.net>
48386
48387         * m4/strstr.m4: Delete cruft from copy-n-paste.
48388         Reported by Bruno Haible.
48389
48390 2008-01-10  Bruno Haible  <bruno@clisp.org>
48391
48392         Make c-strstr rely on strstr.
48393         * lib/c-strstr.c: Don't include str-kmp.h.
48394         (c_strstr): Define in terms of strstr.
48395         * modules/c-strstr (Files): Remove lib/str-kmp.h.
48396         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
48397
48398 2008-01-10  Bruno Haible  <bruno@clisp.org>
48399
48400         * doc/gnulib.texi (String Functions in C Locale): New section.
48401         * doc/c-ctype.texi: New file.
48402         * doc/c-strcase.texi: New file.
48403         * doc/c-strcaseeq.texi: New file.
48404         * doc/c-strcasestr.texi: New file.
48405         * doc/c-strstr.texi: New file.
48406         * doc/c-strtod.texi: New file.
48407         * doc/c-strtold.texi: New file.
48408
48409 2008-01-10  Eric Blake  <ebb9@byu.net>
48410
48411         * lib/relocatable.h: Fix a comment.
48412
48413 2008-01-10  Eric Blake  <ebb9@byu.net>
48414
48415         Share two-way algorithm.
48416         * lib/str-two-way.h: New file, merged from...
48417         * lib/memmem.c: ...here...
48418         * lib/strstr.c: ...and here.
48419         * modules/memmem (Files): Use it.
48420         * modules/strstr (Files): Likewise.
48421
48422         Avoid quadratic strstr implementations.
48423         * lib/strstr.c: New file.
48424         * m4/strstr.m4: Likewise.
48425         * modules/strstr: Likewise.
48426         * modules/strstr-tests: Likewise.
48427         * tests/test-strstr.c: Likewise.
48428         * lib/string.in.h (rpl_strstr): Declare.
48429         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
48430         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
48431         * modules/string (Makefile.am): Likewise.
48432         * MODULES.html.sh (string handling): Mention new module.
48433         * doc/functions/strstr.texi (strstr): Document the bug.
48434
48435 2008-01-10  Bruno Haible  <bruno@clisp.org>
48436
48437         * lib/relocatable.h (relocate): State whether result is freshly
48438         allocated or not.
48439         * lib/relocatable.c (relocate): Return a freshly allocated string
48440         instead of a pointer to a privately held string.
48441         Reported by Sylvain Beucler <beuc@gnu.org>.
48442
48443 2008-01-10  Colin Watson  <cjwatson@debian.org>
48444
48445         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
48446         s/S_ISNLK/S_ISLNK/.
48447
48448 2008-01-09  Bruno Haible  <bruno@clisp.org>
48449
48450         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
48451         and other files.
48452         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
48453         if it's only a guess.
48454         * modules/memmem: Simplify by depending on memmem-simple.
48455
48456 2008-01-09  Bruno Haible  <bruno@clisp.org>
48457
48458         Work around OpenBSD 4.0 tdelete() bug.
48459         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
48460         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
48461         macros and don't redefine the enum values.
48462         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
48463         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
48464         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
48465
48466 2008-01-09  Bruno Haible  <bruno@clisp.org>
48467
48468         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
48469         (main): Don't perform the tests if setlocale did not install a UTF-8
48470         locale. Needed on OpenBSD 4.0.
48471         * modules/wcwidth-tests (Depends-on): Add localcharset.
48472
48473 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48474
48475         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
48476         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
48477         * NEWS: announce this.
48478         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
48479
48480 2008-01-09  Simon Josefsson  <simon@josefsson.org>
48481         and Eric Blake  <ebb9@byu.net>
48482
48483         Add memmem-simple module.
48484         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
48485         (gl_FUNC_MEMMEM): Separate performance from presence checks.
48486         * modules/memmem-simple: New file.
48487         * modules/memmem (Description): Tweak.
48488         * MODULES.html.sh (string handling): Mention new module.
48489         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
48490         addressed by memmem-simple.
48491         * NEWS: Document the difference.
48492
48493 2008-01-09  Eric Blake  <ebb9@byu.net>
48494
48495         Give gcc some memmem optimization hints.
48496         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
48497         (strcasestr): Declare as pure.
48498         * modules/memmem (Maintainer): Claim my implementation.
48499
48500 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48501
48502         Support AIX 6.1 and higher.
48503         * build-aux/config.libpath: Likewise.
48504         * build-aux/config.rpath: Likewise.
48505
48506 2008-01-08  Jim Meyering  <meyering@redhat.com>
48507             Bruno Haible  <bruno@clisp.org>
48508
48509         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
48510         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
48511         Reported by Peter Fales in
48512         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
48513
48514 2008-01-08  Bruno Haible  <bruno@clisp.org>
48515
48516         * modules/unictype/category-of (Depends-on): Add
48517         unictype/category-none.
48518         * modules/unictype/category-and-tests (Depends-on): Add
48519         unictype/category-{L,N,Lu,Nd}.
48520         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
48521         * modules/unictype/category-or-tests (Depends-on): Add
48522         unictype/category-{L,N}.
48523         * modules/unictype/category-name-tests (Depends-on): Add
48524         unictype/category-{Z,Nl}.
48525         Reported by Simon Josefsson.
48526
48527 2008-01-08  Bruno Haible  <bruno@clisp.org>
48528
48529         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
48530         convention better.
48531         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
48532         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
48533         Reported by Peter Miller <millerp@canb.auug.org.au>.
48534
48535 2008-01-08  Eric Blake  <ebb9@byu.net>
48536
48537         Rewrite memmem to guarantee linear complexity without malloc.
48538         * lib/memmem.c (memmem): Use Two-Way rather than
48539         Knuth-Morris-Pratt, to allow O(1) space usage.
48540         (critical_factorization, two_way_short_needle)
48541         (two_way_long_needle): New functions.
48542         (knuth_morris_pratt): Delete.
48543         * modules/memmem (Depends-on): No longer need malloca or stdbool.
48544         Add stdint.
48545         * tests/test-memmem.c (main): Add tests for periodic needle and
48546         sublinear performance.
48547         * doc/functions/memmem.texi (memmem): Document other deficiencies
48548         in cygwin and older glibc.
48549
48550 2008-01-08  Bruno Haible  <bruno@clisp.org>
48551
48552         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
48553         augmentation.
48554
48555 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
48556
48557         Add a configure time option: --disable-acl.
48558         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
48559         AC_ARG_ENABLE(acl).
48560
48561 2008-01-06  Simon Josefsson  <simon@josefsson.org>
48562
48563         * tests/test-localename.c: Don't include obsolete "setenv.h".
48564
48565         * modules/localename-tests (Depends-on): Need unsetenv.
48566
48567 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48568
48569         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
48570
48571 2008-01-06  Colin Watson  <cjwatson@debian.org>
48572
48573         * users.txt: Add man-db.
48574
48575 2008-01-07  Bruno Haible  <bruno@clisp.org>
48576
48577         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
48578         previous section name.
48579
48580 2008-01-07  Bruno Haible  <bruno@clisp.org>
48581
48582         * lib/progname.c (set_program_name): Don't strip off a leading
48583         "lt-" prefix outside a .libs directory.
48584         Suggested by Paul Eggert.
48585
48586 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
48587             Bruno Haible  <bruno@clisp.org>
48588
48589         Improve memory cleanup in 'relocatable' module.
48590         * lib/relocatable.h (compute_curr_prefix): Change return type to
48591         'char *'.
48592         * lib/relocatable.c (compute_curr_prefix): Change return type to
48593         'char *'. Free curr_installdir after use.
48594         (relocate): Free curr_prefix_better after use.
48595         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
48596
48597 2008-01-01  Bruno Haible  <bruno@clisp.org>
48598
48599         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
48600         failure on older glibc systems.
48601         Reported by Peter Fales <psfales@alcatel-lucent.com>.
48602
48603 2008-01-05  Eric Blake  <ebb9@byu.net>
48604
48605         Avoid quadratic system memmem.
48606         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
48607         Reported by Ralf Wildenhues.
48608
48609         Fix memmem test for mingw.
48610         * modules/memmem-tests (configure.ac): Check for alarm.
48611         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
48612         it.
48613         * doc/functions/memmem.texi: New file.
48614         * doc/gnulib.texi (Function Substitutes): Add memmem.
48615         Reported by Bruno Haible.
48616
48617 2008-01-04  Bruno Haible  <bruno@clisp.org>
48618
48619         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
48620         Require gl_HEADER_STRINGS_H_DEFAULTS, not
48621         gl_HEADER_STRING_H_DEFAULTS.
48622
48623 2008-01-04  Eric Blake  <ebb9@byu.net>
48624
48625         Shorten duration of memmem test.
48626         * tests/test-memmem.c (main): Use alarm to declare failure if test
48627         is taking too long.
48628         Reported by Ralf Wildenhues.
48629
48630 2007-12-21  Simon Josefsson  <simon@josefsson.org>
48631
48632         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
48633         string, needed by strerror.
48634
48635 2008-01-03  Colin Watson  <cjwatson@debian.org>
48636             Bruno Haible  <bruno@clisp.org>
48637
48638         * doc/gnulib-tool.texi (Localization): New section.
48639
48640 2008-01-02  Bruno Haible  <bruno@clisp.org>
48641
48642         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
48643         variables to 'unsigned char *' type.
48644         Reported by Paul Eggert.
48645
48646 2008-01-02  Jim Meyering  <jim@meyering.net>
48647
48648         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
48649
48650 2007-12-31  Jim Meyering  <jim@meyering.net>
48651
48652         Avoid use of private FTS type name.
48653         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
48654
48655 2007-12-30  Karl Berry  <karl@gnu.org>
48656
48657         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
48658         work around defect in Texinfo and/or the standalone Info browser.
48659
48660 2007-12-30  Bruno Haible  <bruno@clisp.org>
48661
48662         Unify 5 copies of the KMP code.
48663         * lib/str-kmp.h: New file.
48664         * lib/c-strcasestr.c: Include str-kmp.h.
48665         (knuth_morris_pratt): Remove function.
48666         (c_strcasestr): Update.
48667         * lib/c-strstr.c: Include str-kmp.h.
48668         (knuth_morris_pratt): Remove function.
48669         (c_strcasestr): Update.
48670         * lib/mbscasestr.c: Include str-kmp.h.
48671         (knuth_morris_pratt_unibyte): Remove function.
48672         * lib/mbsstr.c: Include str-kmp.h.
48673         (knuth_morris_pratt_unibyte): Remove function.
48674         * lib/strcasestr.c: Include str-kmp.h.
48675         (knuth_morris_pratt): Remove function.
48676         (strcasestr): Update.
48677         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
48678         * modules/c-strstr (Files): Likewise.
48679         * modules/mbscasestr (Files): Likewise.
48680         * modules/mbsstr (Files): Likewise.
48681         * modules/strcasestr (Files): Likewise.
48682         Suggested by Paul Eggert.
48683
48684 2007-12-30  Bruno Haible  <bruno@clisp.org>
48685
48686         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
48687         defined.
48688
48689 2007-12-30  Bruno Haible  <bruno@clisp.org>
48690
48691         * lib/xmalloca.h: Include xalloc.h.
48692         (xnmalloca): New macro.
48693
48694 2007-12-30  Bruno Haible  <bruno@clisp.org>
48695
48696         * lib/malloca.h (nmalloca): New macro.
48697         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
48698         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
48699         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
48700         knuth_morris_pratt_multibyte): Likewise.
48701         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
48702         knuth_morris_pratt_multibyte): Likewise.
48703         * lib/memmem.c (knuth_morris_pratt): Likewise.
48704         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
48705
48706 2007-12-25  Bruno Haible  <bruno@clisp.org>
48707
48708         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
48709         * lib/glob.c: Don't include openat.h.
48710         (link_exists2_p): Add back the code that deals with the
48711         !GLOB_ALTDIRFUNC case.
48712         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
48713         let it do the filename concatenation.
48714         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
48715         * modules/glob (Depends-on): Remove openat.
48716
48717 2007-12-31  Bruno Haible  <bruno@clisp.org>
48718
48719         * modules/dirfd (License): Change to LGPLv2+.
48720         Approved by Jim Meyering.
48721
48722 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
48723
48724         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
48725         when multiplying M by sizeof (size_t).
48726
48727 2007-12-10  Martin Lambers  <marlam@marlam.de>
48728
48729         Override getpagesize on mingw.
48730         * lib/getpagesize.c: New file.
48731         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
48732         * modules/getpagesize (Files): Add lib/getpagesize.c.
48733         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
48734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48735         REPLACE_GETPAGESIZE.
48736         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
48737
48738 2007-12-25  Bruno Haible  <bruno@clisp.org>
48739
48740         * modules/localcharset (Notice): New field.
48741         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
48742         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
48743
48744 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
48745             Bruno Haible  <bruno@clisp.org>
48746
48747         Avoid using the syntax symbol() in formatted documentation.
48748         * MODULES.html.sh (func_module): When replacing symbol() with a
48749         hyperlink, remove the parentheses. Show an error if some remain.
48750         Recognize and render the '...' syntax.
48751         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
48752         Rework. Add paragraph about GCC's inlining.
48753         * doc/alloca.texi: Likewise.
48754         * doc/error.texi: Remove parentheses from symbol reference.
48755         * doc/gnulib-intro.texi: Likewise.
48756         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
48757         * modules/fnmatch (Description): Reword to say "the ... function".
48758         * modules/full-read (Description): Likewise.
48759         * modules/full-write (Description): Likewise.
48760         * modules/safe-read (Description): Likewise.
48761         * modules/safe-write (Description): Likewise.
48762         * modules/strchrnul (Description): Likewise.
48763         * modules/trim (Description): Likewise.
48764         * modules/error (Description): Remove parentheses from symbol
48765         references.
48766         * modules/verror (Description): Likewise.
48767         Reported by Karl Berry.
48768
48769 2007-12-25  Bruno Haible  <bruno@clisp.org>
48770
48771         Fixup after 2007-10-16 commit.
48772         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
48773
48774 2007-12-24  Bruno Haible  <bruno@clisp.org>
48775
48776         Make --enable-relocatable work with DESTDIR.
48777         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
48778         to compute installdir from destprog.
48779         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
48780         also set the RELOC_DESTDIR variable.
48781         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
48782
48783 2007-12-24  Bruno Haible  <bruno@clisp.org>
48784
48785         Fix link error due to xalloc_die().
48786         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
48787         of xreadlink.
48788         * lib/relocwrapper.c: Update comments.
48789         * build-aux/install-reloc: Remove xreadlink.c from file list.
48790         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
48791         xreadlink.c.
48792         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
48793
48794 2007-12-24  Bruno Haible  <bruno@clisp.org>
48795
48796         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
48797         * lib/setenv.h: Remove file.
48798         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
48799         lib/setenv.h.
48800         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
48801         (Depends-on): Add stdlib.
48802         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
48803         gl_FUNC_UNSETENV.
48804         (Include): Replace setenv.h with <stdlib.h>.
48805         * modules/unsetenv: New file.
48806         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
48807         * lib/unsetenv.c: Include <stdlib.h> first.
48808         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
48809         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
48810         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
48811         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
48812         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
48813         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
48815         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48816         * doc/functions/unsetenv.texi: Update.
48817         * modules/xsetenv (Depends-on): Add unsetenv.
48818         * modules/getdate (Depends-on): Likewise.
48819         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
48820         * lib/xsetenv.c: Don't include setenv.h.
48821         * lib/getdate.y: Likewise.
48822         * lib/relocwrapper.c: Likewise.
48823         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
48824         (Depends-on): Add stdlib.
48825         * NEWS: Mention the changes.
48826         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
48827
48828 2007-12-23  Bruno Haible  <bruno@clisp.org>
48829
48830         * lib/memmem.c (memmem): Use lowercase variable names. Tab
48831         indentation.
48832
48833 2007-12-23  Bruno Haible  <bruno@clisp.org>
48834
48835         * lib/c-strcasestr.c: Add more comments.
48836         * lib/c-strstr.c: Likewise.
48837         * lib/mbscasestr.c: Likewise.
48838         * lib/mbsstr.c: Likewise.
48839         * lib/strcasestr.c: Likewise.
48840         * lib/memmem.c: Likewise.
48841
48842 2007-12-23  Bruno Haible  <bruno@clisp.org>
48843
48844         * tests/test-memmem.c: Include <string.h> first.
48845
48846 2007-12-22  Bruno Haible  <bruno@clisp.org>
48847
48848         * gnulib-tool (func_create_testdir): Change $auxdir while generating
48849         the contents of $testsbase.
48850         Reported by Ralf Wildenhues.
48851
48852 2007-12-22  Bruno Haible  <bruno@clisp.org>
48853
48854         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
48855         two variables local_ldadd_before, local_ldadd_last.
48856
48857 2007-12-20  Eric Blake  <ebb9@byu.net>
48858
48859         Work around circular library issue when cross-compiling.
48860         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
48861         that progname.o does not need to pull in rpl_memcmp.
48862
48863 2007-12-19  Eric Blake  <ebb9@byu.net>
48864
48865         Fix memmem to avoid O(n^2) worst-case complexity.
48866         * lib/memmem.c (knuth_morris_pratt): New function.
48867         (memmem): Use it if first few naive iterations fail.
48868         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
48869         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
48870         * modules/memchr (License): Likewise.
48871         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
48872         malloca.
48873         * tests/test-memmem.c: Rewrite, borrowing ideas from
48874         test-mbsstr1.c; the old version wouldn't even compile!
48875         * modules/memmem-tests: New file.
48876         * lib/string.in.h (rpl_memmem): Add declaration.
48877         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
48878         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
48879         REPLACE_MEMMEM.
48880
48881 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
48882
48883         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
48884         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
48885         before any system include files, and undef after them all.  This
48886         should fix a problem on VMS reported by John E. Malmberg in
48887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
48888
48889 2007-12-17  Eric Blake  <ebb9@byu.net>
48890
48891         Revert addition of verify, for BSD/OS.
48892         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
48893         can't handle large files, for the sake of obsolete platforms.
48894         * modules/fseeko (Depends-on): Remove verify.
48895         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
48896         * doc/functions/ftello.texi (ftello): Likewise.
48897         * doc/functions/fgetpos.texi (fgetpos): Likewise.
48898         Reported by Larry Jones.
48899
48900 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
48901
48902         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
48903         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
48904
48905 2007-12-17  Jim Meyering  <meyering@redhat.com>
48906
48907         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
48908         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
48909         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
48910         * modules/getcwd (Depends-on): Add openat.
48911         Reported by Petr Salinger.
48912
48913 2007-12-17  Bruno Haible  <bruno@clisp.org>
48914
48915         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
48916         avoid a segmentation fault of the configure test on x86_64 systems.
48917
48918 2007-12-15  Jim Meyering  <meyering@redhat.com>
48919
48920         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
48921
48922 2007-12-13  Eric Blake  <ebb9@byu.net>
48923
48924         Another fseek test.
48925         * tests/test-fseek.c (main): Also test ungetc handling.
48926         * tests/test-fseeko.c (main): Likewise.
48927         * modules/fseeko (Depends-on): Add verify.
48928         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
48929         large.
48930         Reported by Larry Jones.
48931
48932         Fix fseeko on mingw.
48933         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
48934         seek.
48935
48936         Beef up fseek tests.
48937         * tests/test-fseek.c (main): Also test eof handling.
48938         * tests/test-fseeko.c (main): Likewise.
48939         Reported by Larry Jones.
48940
48941 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
48942
48943         Fix fseeko on BSD-based platforms.
48944         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
48945         successful seek.
48946
48947 2007-12-12  Eric Blake  <ebb9@byu.net>
48948
48949         Allow circular dependency of separate libtests.a
48950         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
48951         when use_libtests.
48952
48953 2007-12-11  Eric Blake  <ebb9@byu.net>
48954
48955         Fix bug with -0.0L in previous patch.
48956         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
48957         * tests/test-isnan.c (main): Also test on zeroes.
48958         * tests/test-isnanf.c (main): Likewise.
48959         * tests/test-isnanl.h (main): Likewise.
48960
48961         Detect pseudo-denormals on x86 even when cross-compiling.
48962         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
48963         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
48964         invalid bit patterns that happen to satisfy ==.
48965
48966         Avoid link failures with separate libtests.a.
48967         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
48968         last, to satisfy circular dependencies.
48969
48970 2007-12-11  Eric Blake  <ebb9@byu.net>
48971         and Bruno Haible  <bruno@clisp.org>
48972
48973         Fix OpenBSD 4.0 <float.h> handling of long double.
48974         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
48975         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
48976         * doc/headers/float.texi (float.h): Document OpenBSD bug.
48977
48978 2007-12-11  Jim Meyering  <meyering@redhat.com>
48979
48980         * users.txt: Add libvirt.
48981
48982         Support versions of autoconf prior to 2.59c.
48983         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
48984         if it is not already defined.
48985
48986 2007-12-09  Bruno Haible  <bruno@clisp.org>
48987
48988         Let 'gnulib-tool --import' collect sources needed for the tests in
48989         tests/ rather than in lib/.
48990         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
48991         argument. If true, add rules to generate libtests.a, and put libtests.a
48992         into $(LDADD). Consider source files in subdirectories and set
48993         uses_subdirs.
48994         (func_emit_initmacro_start, func_emit_initmacro_end,
48995         func_emit_initmacro_done): Pass all arguments explicitly.
48996         (func_import): Determine two module lists main_modules,
48997         testsrelated_modules. Determine use_libtests. Determine two variables
48998         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
48999         instead of just sed_transform_lib_file. Determine two variables
49000         main_files and testsrelated_files. Compute 'files' as the union of
49001         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
49002         func_add_or_update. In the generated gnulib-comp.m4, collect the
49003         object files for tests/ in different variables than those for lib/.
49004         Substitute LIBTESTS_LIBDEPS.
49005         (func_create_testdir): Combine the uses_subdirs results from
49006         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
49007
49008 2007-12-09  Bruno Haible  <bruno@clisp.org>
49009
49010         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
49011         the build-aux directory.
49012
49013 2007-12-09  Bruno Haible  <bruno@clisp.org>
49014
49015         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
49016         introduced on 2006-09-09.
49017
49018 2007-12-07  Jim Meyering  <meyering@redhat.com>
49019
49020         Let these macros work also with autoconf-2.59.
49021         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
49022         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
49023         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49024
49025 2007-12-06  Jim Meyering  <meyering@redhat.com>
49026
49027         Avoid a configure-time syntax error in gl_FUNC_ACL.
49028         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
49029         function in each branch, before testing the cache variable.
49030
49031 2007-12-04  Eric Blake  <ebb9@byu.net>
49032
49033         Make scripts executable.
49034         * build-aux/config.guess: Add execute permissions.
49035         * build-aux/config.sub: Likewise.
49036         * build-aux/gendocs.sh: Likewise.
49037
49038         Fix frexp on mingw.
49039         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
49040         cross-compiling.
49041         * doc/functions/frexp.texi (frexp): Document the bug.
49042
49043         Make cygwin fseeko check more reliable.
49044         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
49045         version numbers, rather than unrelated feature check.
49046         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
49047         * doc/functions/ftello.texi (ftello): Likewise.
49048         Reported by Bruno Haible.
49049
49050         * m4/strerror.m4: Bump version number.
49051
49052 2007-12-03  Bruno Haible  <bruno@clisp.org>
49053
49054         * doc/functions/mprotect.texi: Mention the mingw problem.
49055
49056 2007-12-03  Eric Blake  <ebb9@byu.net>
49057
49058         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
49059         REPLACE_STRERROR is initialized before this macro.
49060
49061 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
49062
49063         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
49064         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
49065         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
49066         put -lsec in even for programs other than 'ls'.  This fixes a problem
49067         for gettext reported by Bruno Haible in
49068         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
49069         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
49070         Add support for Solaris 10.  This isn't efficient, but should get the
49071         job done for now.
49072
49073 2007-12-03  James Youngman  <jay@gnu.org>
49074
49075         * doc/regexprops-generic.texi: change "an close-group" to "a
49076         close-group" and "illegal" to "not allowed".
49077
49078 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49079
49080         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
49081         pr_byname.h. Needed for the rare case when the maintainer has done
49082         "make maintainer-clean" in the source directory and then attempts a
49083         build outside the source directory.
49084         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
49085         scripts_byname.h.
49086
49087 2007-12-02  Martin Lambers <marlam@marlam.de>
49088             Bruno Haible  <bruno@clisp.org>
49089
49090         * lib/getpagesize.h: Remove file.
49091         * lib/unistd.in.h: Include declaration of getpagesize here.
49092         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
49093         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
49094         HAVE_SYS_PARAM_H.
49095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
49096         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49097         * modules/getpagesize (Files): Remove lib/getpagesize.h.
49098         (Depends-on): Add unistd.
49099         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49100         (Include): Use <unistd.h> instead of getpagesize.h.
49101         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
49102         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49103         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
49104         gl_GETPAGESIZE invocation, already handled by module dependency.
49105         * lib/pagealign_alloc.c: Don't include getpagesize.h.
49106
49107 2007-12-02  Bruno Haible  <bruno@clisp.org>
49108
49109         * modules/strings-tests: New file.
49110         * tests/test-strings.c: New file.
49111
49112         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
49113         * lib/strings.in.h: New file.
49114         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
49115         * m4/strings_h.m4: New file.
49116         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
49117         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
49118         * modules/strings: New file.
49119         * modules/string (Makefile.am): Update.
49120         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
49121         Reported by Karl Berry.
49122
49123 2007-12-01  Eric Blake  <ebb9@byu.net>
49124
49125         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
49126         accomodate fix in cygwin 1.5.25.
49127
49128 2007-12-01  Jim Meyering  <meyering@redhat.com>
49129
49130         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
49131         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
49132         that would inhibit utf8-optimization of a regexp containing line-
49133         or buffer-anchors, e.g., `^', `$'.
49134
49135 2007-11-30  Bruno Haible  <bruno@clisp.org>
49136
49137         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
49138         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
49139         glthread_recursive_lock_init.
49140         * lib/lock.c (glthread_recursive_lock_init)
49141         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
49142         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49143
49144 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
49145
49146         New function qset_acl, like set_acl but with syscall semantics.
49147         * lib/acl.h (qset_acl): New decl.
49148         * lib/acl.c (qset_acl): New function.
49149         (set_acl): Use new function.  Use more-consistent diagnostics.
49150
49151 2007-11-28  Jim Meyering  <meyering@redhat.com>
49152
49153         * modules/physmem (License): Change from GPL to LGPLv2+.
49154
49155 2007-11-26  Bruno Haible  <bruno@clisp.org>
49156
49157         * lib/vasnprintf.c (decode_long_double): Don't abort if the
49158         'long double' type has excess precision.
49159         Reported by Jim Meyering in
49160         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
49161
49162 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49163
49164         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
49165         Sync from <http://gnu.org/licenses>.
49166         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
49167         with license text from same location.
49168         * doc/maintain.texi, doc/standards.texi:  Sync from
49169         <http://savannah.gnu.org/projects/gnustandards>.
49170
49171 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
49172         and Jim Meyering  <meyering@redhat.com>
49173
49174         Adjust getdate' grammar to accept a slightly more regular language.
49175         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
49176         Before, the former was rejected.
49177         * lib/getdate.y (digits_to_date_time): New function, factored
49178         out of ...
49179         (number): ...here.  Just call digits_to_date_time.
49180         (hybrid): New non-terminal to handle an <unsigned number,
49181         signed relative offset> sequence consistently.
49182
49183 2007-11-18  Jim Meyering  <meyering@redhat.com>
49184
49185         Pull my changes from coreutils:
49186         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
49187         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
49188         use of $gnulib_tool_option_extras, so that it's separated from the
49189         preceding argument.
49190
49191         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
49192         * build-aux/bootstrap (cp_mark_as_generated): Create any required
49193         parent destination directories before copying a file into place.
49194
49195 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
49196
49197         bootstrap: work also with 4-argument variant of AC_INIT
49198         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
49199
49200 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49201
49202         Port test-getaddrinfo to Solaris.
49203         Problem reported by Bruno Haible in
49204         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
49205         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
49206         explanation of setting 'hints'.
49207         Don't reject an implementation merely because it returns EAI_SERVICE.
49208         (EAI_SERVICE): Define to 0 if not defined.
49209
49210 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49211
49212         The license of gnu-make and posix-shell is now "GPLed build tool".
49213         * modules/gnu-make (License): Likewise.
49214         * modules/posix-shell (License): Likewise.
49215
49216         New module posix-shell, for determining a POSIX shell
49217         or perhaps something that is close enough to a POSIX shell.
49218         * m4/posix-shell.m4: New file.
49219         * modules/posix-shell: New file.
49220
49221         * MODULES.html.sh: Mention new module.
49222
49223         New module gnu-make, for determining whether we're using GNU Make.
49224         * m4/gnu-make.m4: New file.
49225         * modules/gnu-make: New file.
49226         * MODULES.html.sh: Mention new module.
49227
49228 2007-11-14  Jim Meyering  <meyering@redhat.com>
49229
49230         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
49231         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
49232         use this macro to create a function _definition_.
49233         Remove useless "#undef ARGMATCH_DIE".
49234
49235 2007-11-14  Bruno Haible  <bruno@clisp.org>
49236
49237         * lib/config.charset: Update for OpenBSD 4.1.
49238         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
49239
49240 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
49241
49242         Document 64-bit #if problems in stdint.texi.
49243         * doc/headers/stdint.texi (stdint.h): Mention problems with
49244         64-bit-#if, and how to work around them.
49245
49246         Don't insist on 'long long int' support in the preprocessor.  It
49247         breaks too many things.  For example, PRIdMAX still uses a 'long
49248         long int' format with the latest Sun compiler, even though
49249         HAVE_LONG_LONG_INT isn't defined due to that compiler's
49250         preprocessor problem.  This causes the latest coreutils to dump
49251         core on Solaris 10 sparc with the Sun C compiler.
49252         Instead, fix the 2007-10-16 problem in a different way, by evaluating
49253         the troublesome expressions at configure-time, not at #if-time.
49254         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
49255         preprocessor.
49256         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
49257         compile-time C checks, done at 'configure'-time.
49258         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
49259         * modules/inttypes (Makefile): Substitute the new symbols that
49260         gl_INTTYPES_H now generates.
49261         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
49262
49263 2007-11-12  Bruno Haible  <bruno@clisp.org>
49264
49265         Tests for Unicode character classification functions.
49266
49267         * modules/unictype/bidicategory-byname-tests: New file.
49268         * modules/unictype/bidicategory-name-tests: New file.
49269         * modules/unictype/bidicategory-of-tests: New file.
49270         * modules/unictype/bidicategory-test-tests: New file.
49271         * modules/unictype/block-list-tests: New file.
49272         * modules/unictype/block-of-tests: New file.
49273         * modules/unictype/block-test-tests: New file.
49274         * modules/unictype/category-C-tests: New file.
49275         * modules/unictype/category-Cc-tests: New file.
49276         * modules/unictype/category-Cf-tests: New file.
49277         * modules/unictype/category-Cn-tests: New file.
49278         * modules/unictype/category-Co-tests: New file.
49279         * modules/unictype/category-Cs-tests: New file.
49280         * modules/unictype/category-L-tests: New file.
49281         * modules/unictype/category-Ll-tests: New file.
49282         * modules/unictype/category-Lm-tests: New file.
49283         * modules/unictype/category-Lo-tests: New file.
49284         * modules/unictype/category-Lt-tests: New file.
49285         * modules/unictype/category-Lu-tests: New file.
49286         * modules/unictype/category-M-tests: New file.
49287         * modules/unictype/category-Mc-tests: New file.
49288         * modules/unictype/category-Me-tests: New file.
49289         * modules/unictype/category-Mn-tests: New file.
49290         * modules/unictype/category-N-tests: New file.
49291         * modules/unictype/category-Nd-tests: New file.
49292         * modules/unictype/category-Nl-tests: New file.
49293         * modules/unictype/category-No-tests: New file.
49294         * modules/unictype/category-P-tests: New file.
49295         * modules/unictype/category-Pc-tests: New file.
49296         * modules/unictype/category-Pd-tests: New file.
49297         * modules/unictype/category-Pe-tests: New file.
49298         * modules/unictype/category-Pf-tests: New file.
49299         * modules/unictype/category-Pi-tests: New file.
49300         * modules/unictype/category-Po-tests: New file.
49301         * modules/unictype/category-Ps-tests: New file.
49302         * modules/unictype/category-S-tests: New file.
49303         * modules/unictype/category-Sc-tests: New file.
49304         * modules/unictype/category-Sk-tests: New file.
49305         * modules/unictype/category-Sm-tests: New file.
49306         * modules/unictype/category-So-tests: New file.
49307         * modules/unictype/category-Z-tests: New file.
49308         * modules/unictype/category-Zl-tests: New file.
49309         * modules/unictype/category-Zp-tests: New file.
49310         * modules/unictype/category-Zs-tests: New file.
49311         * modules/unictype/category-and-not-tests: New file.
49312         * modules/unictype/category-and-tests: New file.
49313         * modules/unictype/category-byname-tests: New file.
49314         * modules/unictype/category-name-tests: New file.
49315         * modules/unictype/category-none-tests: New file.
49316         * modules/unictype/category-of-tests: New file.
49317         * modules/unictype/category-or-tests: New file.
49318         * modules/unictype/category-test-withtable-tests: New file.
49319         * modules/unictype/combining-class-tests: New file.
49320         * modules/unictype/ctype-alnum-tests: New file.
49321         * modules/unictype/ctype-alpha-tests: New file.
49322         * modules/unictype/ctype-blank-tests: New file.
49323         * modules/unictype/ctype-cntrl-tests: New file.
49324         * modules/unictype/ctype-digit-tests: New file.
49325         * modules/unictype/ctype-graph-tests: New file.
49326         * modules/unictype/ctype-lower-tests: New file.
49327         * modules/unictype/ctype-print-tests: New file.
49328         * modules/unictype/ctype-punct-tests: New file.
49329         * modules/unictype/ctype-space-tests: New file.
49330         * modules/unictype/ctype-upper-tests: New file.
49331         * modules/unictype/ctype-xdigit-tests: New file.
49332         * modules/unictype/decimal-digit-tests: New file.
49333         * modules/unictype/digit-tests: New file.
49334         * modules/unictype/mirror-tests: New file.
49335         * modules/unictype/numeric-tests: New file.
49336         * modules/unictype/property-alphabetic-tests: New file.
49337         * modules/unictype/property-ascii-hex-digit-tests: New file.
49338         * modules/unictype/property-bidi-arabic-digit-tests: New file.
49339         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
49340         * modules/unictype/property-bidi-block-separator-tests: New file.
49341         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
49342         * modules/unictype/property-bidi-common-separator-tests: New file.
49343         * modules/unictype/property-bidi-control-tests: New file.
49344         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
49345         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
49346         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
49347         * modules/unictype/property-bidi-european-digit-tests: New file.
49348         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
49349         * modules/unictype/property-bidi-left-to-right-tests: New file.
49350         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
49351         * modules/unictype/property-bidi-other-neutral-tests: New file.
49352         * modules/unictype/property-bidi-pdf-tests: New file.
49353         * modules/unictype/property-bidi-segment-separator-tests: New file.
49354         * modules/unictype/property-bidi-whitespace-tests: New file.
49355         * modules/unictype/property-byname-tests: New file.
49356         * modules/unictype/property-combining-tests: New file.
49357         * modules/unictype/property-composite-tests: New file.
49358         * modules/unictype/property-currency-symbol-tests: New file.
49359         * modules/unictype/property-dash-tests: New file.
49360         * modules/unictype/property-decimal-digit-tests: New file.
49361         * modules/unictype/property-default-ignorable-code-point-tests: New file.
49362         * modules/unictype/property-deprecated-tests: New file.
49363         * modules/unictype/property-diacritic-tests: New file.
49364         * modules/unictype/property-extender-tests: New file.
49365         * modules/unictype/property-format-control-tests: New file.
49366         * modules/unictype/property-grapheme-base-tests: New file.
49367         * modules/unictype/property-grapheme-extend-tests: New file.
49368         * modules/unictype/property-grapheme-link-tests: New file.
49369         * modules/unictype/property-hex-digit-tests: New file.
49370         * modules/unictype/property-hyphen-tests: New file.
49371         * modules/unictype/property-id-continue-tests: New file.
49372         * modules/unictype/property-id-start-tests: New file.
49373         * modules/unictype/property-ideographic-tests: New file.
49374         * modules/unictype/property-ids-binary-operator-tests: New file.
49375         * modules/unictype/property-ids-trinary-operator-tests: New file.
49376         * modules/unictype/property-ignorable-control-tests: New file.
49377         * modules/unictype/property-iso-control-tests: New file.
49378         * modules/unictype/property-join-control-tests: New file.
49379         * modules/unictype/property-left-of-pair-tests: New file.
49380         * modules/unictype/property-line-separator-tests: New file.
49381         * modules/unictype/property-logical-order-exception-tests: New file.
49382         * modules/unictype/property-lowercase-tests: New file.
49383         * modules/unictype/property-math-tests: New file.
49384         * modules/unictype/property-non-break-tests: New file.
49385         * modules/unictype/property-not-a-character-tests: New file.
49386         * modules/unictype/property-numeric-tests: New file.
49387         * modules/unictype/property-other-alphabetic-tests: New file.
49388         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
49389         * modules/unictype/property-other-grapheme-extend-tests: New file.
49390         * modules/unictype/property-other-id-continue-tests: New file.
49391         * modules/unictype/property-other-id-start-tests: New file.
49392         * modules/unictype/property-other-lowercase-tests: New file.
49393         * modules/unictype/property-other-math-tests: New file.
49394         * modules/unictype/property-other-uppercase-tests: New file.
49395         * modules/unictype/property-paired-punctuation-tests: New file.
49396         * modules/unictype/property-paragraph-separator-tests: New file.
49397         * modules/unictype/property-pattern-syntax-tests: New file.
49398         * modules/unictype/property-pattern-white-space-tests: New file.
49399         * modules/unictype/property-private-use-tests: New file.
49400         * modules/unictype/property-punctuation-tests: New file.
49401         * modules/unictype/property-quotation-mark-tests: New file.
49402         * modules/unictype/property-radical-tests: New file.
49403         * modules/unictype/property-sentence-terminal-tests: New file.
49404         * modules/unictype/property-soft-dotted-tests: New file.
49405         * modules/unictype/property-space-tests: New file.
49406         * modules/unictype/property-terminal-punctuation-tests: New file.
49407         * modules/unictype/property-test-tests: New file.
49408         * modules/unictype/property-titlecase-tests: New file.
49409         * modules/unictype/property-unassigned-code-value-tests: New file.
49410         * modules/unictype/property-unified-ideograph-tests: New file.
49411         * modules/unictype/property-uppercase-tests: New file.
49412         * modules/unictype/property-variation-selector-tests: New file.
49413         * modules/unictype/property-white-space-tests: New file.
49414         * modules/unictype/property-xid-continue-tests: New file.
49415         * modules/unictype/property-xid-start-tests: New file.
49416         * modules/unictype/property-zero-width-tests: New file.
49417         * modules/unictype/scripts-tests: New file.
49418         * modules/unictype/syntax-c-ident-tests: New file.
49419         * modules/unictype/syntax-c-whitespace-tests: New file.
49420         * modules/unictype/syntax-java-ident-tests: New file.
49421         * modules/unictype/syntax-java-whitespace-tests: New file.
49422         * tests/unictype/test-bidi_byname.c: New file.
49423         * tests/unictype/test-bidi_name.c: New file.
49424         * tests/unictype/test-bidi_of.c: New file.
49425         * tests/unictype/test-bidi_test.c: New file.
49426         * tests/unictype/test-block_list.c: New file.
49427         * tests/unictype/test-block_of.c: New file.
49428         * tests/unictype/test-block_test.c: New file.
49429         * tests/unictype/test-categ_and.c: New file.
49430         * tests/unictype/test-categ_and_not.c: New file.
49431         * tests/unictype/test-categ_byname.c: New file.
49432         * tests/unictype/test-categ_name.c: New file.
49433         * tests/unictype/test-categ_none.c: New file.
49434         * tests/unictype/test-categ_of.c: New file.
49435         * tests/unictype/test-categ_or.c: New file.
49436         * tests/unictype/test-categ_test_withtable.c: New file.
49437         * tests/unictype/test-combining.c: New file.
49438         * tests/unictype/test-decdigit.c: New file.
49439         * tests/unictype/test-digit.c: New file.
49440         * tests/unictype/test-mirror.c: New file.
49441         * tests/unictype/test-numeric.c: New file.
49442         * tests/unictype/test-pr_byname.c: New file.
49443         * tests/unictype/test-pr_test.c: New file.
49444         * tests/unictype/test-predicate-part1.h: New file.
49445         * tests/unictype/test-predicate-part2.h: New file.
49446         * tests/unictype/test-scripts.c: New file.
49447         * tests/unictype/test-sy_c_ident.c: New file.
49448         * tests/unictype/test-sy_java_ident.c: New file.
49449
49450         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
49451         for Unicode 5.0.0.
49452         * tests/unictype/test-categ_Cc.c: Likewise.
49453         * tests/unictype/test-categ_Cf.c: Likewise.
49454         * tests/unictype/test-categ_Cn.c: Likewise.
49455         * tests/unictype/test-categ_Co.c: Likewise.
49456         * tests/unictype/test-categ_Cs.c: Likewise.
49457         * tests/unictype/test-categ_L.c: Likewise.
49458         * tests/unictype/test-categ_Ll.c: Likewise.
49459         * tests/unictype/test-categ_Lm.c: Likewise.
49460         * tests/unictype/test-categ_Lo.c: Likewise.
49461         * tests/unictype/test-categ_Lt.c: Likewise.
49462         * tests/unictype/test-categ_Lu.c: Likewise.
49463         * tests/unictype/test-categ_M.c: Likewise.
49464         * tests/unictype/test-categ_Mc.c: Likewise.
49465         * tests/unictype/test-categ_Me.c: Likewise.
49466         * tests/unictype/test-categ_Mn.c: Likewise.
49467         * tests/unictype/test-categ_N.c: Likewise.
49468         * tests/unictype/test-categ_Nd.c: Likewise.
49469         * tests/unictype/test-categ_Nl.c: Likewise.
49470         * tests/unictype/test-categ_No.c: Likewise.
49471         * tests/unictype/test-categ_P.c: Likewise.
49472         * tests/unictype/test-categ_Pc.c: Likewise.
49473         * tests/unictype/test-categ_Pd.c: Likewise.
49474         * tests/unictype/test-categ_Pe.c: Likewise.
49475         * tests/unictype/test-categ_Pf.c: Likewise.
49476         * tests/unictype/test-categ_Pi.c: Likewise.
49477         * tests/unictype/test-categ_Po.c: Likewise.
49478         * tests/unictype/test-categ_Ps.c: Likewise.
49479         * tests/unictype/test-categ_S.c: Likewise.
49480         * tests/unictype/test-categ_Sc.c: Likewise.
49481         * tests/unictype/test-categ_Sk.c: Likewise.
49482         * tests/unictype/test-categ_Sm.c: Likewise.
49483         * tests/unictype/test-categ_So.c: Likewise.
49484         * tests/unictype/test-categ_Z.c: Likewise.
49485         * tests/unictype/test-categ_Zl.c: Likewise.
49486         * tests/unictype/test-categ_Zp.c: Likewise.
49487         * tests/unictype/test-categ_Zs.c: Likewise.
49488         * tests/unictype/test-ctype_alnum.c: Likewise.
49489         * tests/unictype/test-ctype_alpha.c: Likewise.
49490         * tests/unictype/test-ctype_blank.c: Likewise.
49491         * tests/unictype/test-ctype_cntrl.c: Likewise.
49492         * tests/unictype/test-ctype_digit.c: Likewise.
49493         * tests/unictype/test-ctype_graph.c: Likewise.
49494         * tests/unictype/test-ctype_lower.c: Likewise.
49495         * tests/unictype/test-ctype_print.c: Likewise.
49496         * tests/unictype/test-ctype_punct.c: Likewise.
49497         * tests/unictype/test-ctype_space.c: Likewise.
49498         * tests/unictype/test-ctype_upper.c: Likewise.
49499         * tests/unictype/test-ctype_xdigit.c: Likewise.
49500         * tests/unictype/test-decdigit.h: Likewise.
49501         * tests/unictype/test-digit.h: Likewise.
49502         * tests/unictype/test-numeric.h: Likewise.
49503         * tests/unictype/test-pr_alphabetic.c: Likewise.
49504         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
49505         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
49506         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
49507         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
49508         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
49509         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
49510         * tests/unictype/test-pr_bidi_control.c: Likewise.
49511         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
49512         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
49513         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
49514         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
49515         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
49516         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
49517         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
49518         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
49519         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
49520         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
49521         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
49522         * tests/unictype/test-pr_combining.c: Likewise.
49523         * tests/unictype/test-pr_composite.c: Likewise.
49524         * tests/unictype/test-pr_currency_symbol.c: Likewise.
49525         * tests/unictype/test-pr_dash.c: Likewise.
49526         * tests/unictype/test-pr_decimal_digit.c: Likewise.
49527         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
49528         * tests/unictype/test-pr_deprecated.c: Likewise.
49529         * tests/unictype/test-pr_diacritic.c: Likewise.
49530         * tests/unictype/test-pr_extender.c: Likewise.
49531         * tests/unictype/test-pr_format_control.c: Likewise.
49532         * tests/unictype/test-pr_grapheme_base.c: Likewise.
49533         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
49534         * tests/unictype/test-pr_grapheme_link.c: Likewise.
49535         * tests/unictype/test-pr_hex_digit.c: Likewise.
49536         * tests/unictype/test-pr_hyphen.c: Likewise.
49537         * tests/unictype/test-pr_id_continue.c: Likewise.
49538         * tests/unictype/test-pr_id_start.c: Likewise.
49539         * tests/unictype/test-pr_ideographic.c: Likewise.
49540         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
49541         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
49542         * tests/unictype/test-pr_ignorable_control.c: Likewise.
49543         * tests/unictype/test-pr_iso_control.c: Likewise.
49544         * tests/unictype/test-pr_join_control.c: Likewise.
49545         * tests/unictype/test-pr_left_of_pair.c: Likewise.
49546         * tests/unictype/test-pr_line_separator.c: Likewise.
49547         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
49548         * tests/unictype/test-pr_lowercase.c: Likewise.
49549         * tests/unictype/test-pr_math.c: Likewise.
49550         * tests/unictype/test-pr_non_break.c: Likewise.
49551         * tests/unictype/test-pr_not_a_character.c: Likewise.
49552         * tests/unictype/test-pr_numeric.c: Likewise.
49553         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
49554         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
49555         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
49556         * tests/unictype/test-pr_other_id_continue.c: Likewise.
49557         * tests/unictype/test-pr_other_id_start.c: Likewise.
49558         * tests/unictype/test-pr_other_lowercase.c: Likewise.
49559         * tests/unictype/test-pr_other_math.c: Likewise.
49560         * tests/unictype/test-pr_other_uppercase.c: Likewise.
49561         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
49562         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
49563         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
49564         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
49565         * tests/unictype/test-pr_private_use.c: Likewise.
49566         * tests/unictype/test-pr_punctuation.c: Likewise.
49567         * tests/unictype/test-pr_quotation_mark.c: Likewise.
49568         * tests/unictype/test-pr_radical.c: Likewise.
49569         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
49570         * tests/unictype/test-pr_soft_dotted.c: Likewise.
49571         * tests/unictype/test-pr_space.c: Likewise.
49572         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
49573         * tests/unictype/test-pr_titlecase.c: Likewise.
49574         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
49575         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
49576         * tests/unictype/test-pr_uppercase.c: Likewise.
49577         * tests/unictype/test-pr_variation_selector.c: Likewise.
49578         * tests/unictype/test-pr_white_space.c: Likewise.
49579         * tests/unictype/test-pr_xid_continue.c: Likewise.
49580         * tests/unictype/test-pr_xid_start.c: Likewise.
49581         * tests/unictype/test-pr_zero_width.c: Likewise.
49582         * tests/unictype/test-sy_c_whitespace.c: Likewise.
49583         * tests/unictype/test-sy_java_whitespace.c: Likewise.
49584
49585 2007-11-12  Bruno Haible  <bruno@clisp.org>
49586
49587         Unicode character classification functions.
49588         * lib/unictype.h: New file.
49589         * modules/unictype/base: New file.
49590         * modules/unictype/category-L: New file.
49591         * modules/unictype/category-Lu: New file.
49592         * modules/unictype/category-Ll: New file.
49593         * modules/unictype/category-Lt: New file.
49594         * modules/unictype/category-Lm: New file.
49595         * modules/unictype/category-Lo: New file.
49596         * modules/unictype/category-M: New file.
49597         * modules/unictype/category-Mn: New file.
49598         * modules/unictype/category-Mc: New file.
49599         * modules/unictype/category-Me: New file.
49600         * modules/unictype/category-N: New file.
49601         * modules/unictype/category-Nd: New file.
49602         * modules/unictype/category-Nl: New file.
49603         * modules/unictype/category-No: New file.
49604         * modules/unictype/category-P: New file.
49605         * modules/unictype/category-Pc: New file.
49606         * modules/unictype/category-Pd: New file.
49607         * modules/unictype/category-Ps: New file.
49608         * modules/unictype/category-Pe: New file.
49609         * modules/unictype/category-Pi: New file.
49610         * modules/unictype/category-Pf: New file.
49611         * modules/unictype/category-Po: New file.
49612         * modules/unictype/category-S: New file.
49613         * modules/unictype/category-Sm: New file.
49614         * modules/unictype/category-Sc: New file.
49615         * modules/unictype/category-Sk: New file.
49616         * modules/unictype/category-So: New file.
49617         * modules/unictype/category-Z: New file.
49618         * modules/unictype/category-Zs: New file.
49619         * modules/unictype/category-Zl: New file.
49620         * modules/unictype/category-Zp: New file.
49621         * modules/unictype/category-C: New file.
49622         * modules/unictype/category-Cc: New file.
49623         * modules/unictype/category-Cf: New file.
49624         * modules/unictype/category-Cs: New file.
49625         * modules/unictype/category-Co: New file.
49626         * modules/unictype/category-Cn: New file.
49627         * modules/unictype/category-or: New file.
49628         * modules/unictype/category-of: New file.
49629         * modules/unictype/category-test: New file.
49630         * modules/unictype/category-test-withtable: New file.
49631         * modules/unictype/category-byname: New file.
49632         * modules/unictype/category-none: New file.
49633         * modules/unictype/category-and: New file.
49634         * modules/unictype/category-and-not: New file.
49635         * modules/unictype/category-name: New file.
49636         * modules/unictype/combining-class: New file.
49637         * modules/unictype/category-all: New file.
49638         * modules/unictype/bidicategory-all: New file.
49639         * modules/unictype/bidicategory-byname: New file.
49640         * modules/unictype/bidicategory-name: New file.
49641         * modules/unictype/bidicategory-of: New file.
49642         * modules/unictype/bidicategory-test: New file.
49643         * modules/unictype/decimal-digit: New file.
49644         * modules/unictype/digit: New file.
49645         * modules/unictype/numeric: New file.
49646         * modules/unictype/mirror: New file.
49647         * modules/unictype/property-white-space: New file.
49648         * modules/unictype/property-alphabetic: New file.
49649         * modules/unictype/property-other-alphabetic: New file.
49650         * modules/unictype/property-not-a-character: New file.
49651         * modules/unictype/property-default-ignorable-code-point: New file.
49652         * modules/unictype/property-other-default-ignorable-code-point: New
49653         file.
49654         * modules/unictype/property-deprecated: New file.
49655         * modules/unictype/property-logical-order-exception: New file.
49656         * modules/unictype/property-variation-selector: New file.
49657         * modules/unictype/property-private-use: New file.
49658         * modules/unictype/property-unassigned-code-value: New file.
49659         * modules/unictype/property-uppercase: New file.
49660         * modules/unictype/property-other-uppercase: New file.
49661         * modules/unictype/property-lowercase: New file.
49662         * modules/unictype/property-other-lowercase: New file.
49663         * modules/unictype/property-titlecase: New file.
49664         * modules/unictype/property-soft-dotted: New file.
49665         * modules/unictype/property-id-start: New file.
49666         * modules/unictype/property-other-id-start: New file.
49667         * modules/unictype/property-id-continue: New file.
49668         * modules/unictype/property-other-id-continue: New file.
49669         * modules/unictype/property-xid-start: New file.
49670         * modules/unictype/property-xid-continue: New file.
49671         * modules/unictype/property-pattern-white-space: New file.
49672         * modules/unictype/property-pattern-syntax: New file.
49673         * modules/unictype/property-join-control: New file.
49674         * modules/unictype/property-grapheme-base: New file.
49675         * modules/unictype/property-grapheme-extend: New file.
49676         * modules/unictype/property-other-grapheme-extend: New file.
49677         * modules/unictype/property-grapheme-link: New file.
49678         * modules/unictype/property-bidi-control: New file.
49679         * modules/unictype/property-bidi-left-to-right: New file.
49680         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
49681         * modules/unictype/property-bidi-arabic-right-to-left: New file.
49682         * modules/unictype/property-bidi-european-digit: New file.
49683         * modules/unictype/property-bidi-eur-num-separator: New file.
49684         * modules/unictype/property-bidi-eur-num-terminator: New file.
49685         * modules/unictype/property-bidi-arabic-digit: New file.
49686         * modules/unictype/property-bidi-common-separator: New file.
49687         * modules/unictype/property-bidi-block-separator: New file.
49688         * modules/unictype/property-bidi-segment-separator: New file.
49689         * modules/unictype/property-bidi-whitespace: New file.
49690         * modules/unictype/property-bidi-non-spacing-mark: New file.
49691         * modules/unictype/property-bidi-boundary-neutral: New file.
49692         * modules/unictype/property-bidi-pdf: New file.
49693         * modules/unictype/property-bidi-embedding-or-override: New file.
49694         * modules/unictype/property-bidi-other-neutral: New file.
49695         * modules/unictype/property-hex-digit: New file.
49696         * modules/unictype/property-ascii-hex-digit: New file.
49697         * modules/unictype/property-ideographic: New file.
49698         * modules/unictype/property-unified-ideograph: New file.
49699         * modules/unictype/property-radical: New file.
49700         * modules/unictype/property-ids-binary-operator: New file.
49701         * modules/unictype/property-ids-trinary-operator: New file.
49702         * modules/unictype/property-zero-width: New file.
49703         * modules/unictype/property-space: New file.
49704         * modules/unictype/property-non-break: New file.
49705         * modules/unictype/property-iso-control: New file.
49706         * modules/unictype/property-format-control: New file.
49707         * modules/unictype/property-dash: New file.
49708         * modules/unictype/property-hyphen: New file.
49709         * modules/unictype/property-punctuation: New file.
49710         * modules/unictype/property-line-separator: New file.
49711         * modules/unictype/property-paragraph-separator: New file.
49712         * modules/unictype/property-quotation-mark: New file.
49713         * modules/unictype/property-sentence-terminal: New file.
49714         * modules/unictype/property-terminal-punctuation: New file.
49715         * modules/unictype/property-currency-symbol: New file.
49716         * modules/unictype/property-math: New file.
49717         * modules/unictype/property-other-math: New file.
49718         * modules/unictype/property-paired-punctuation: New file.
49719         * modules/unictype/property-left-of-pair: New file.
49720         * modules/unictype/property-combining: New file.
49721         * modules/unictype/property-composite: New file.
49722         * modules/unictype/property-decimal-digit: New file.
49723         * modules/unictype/property-numeric: New file.
49724         * modules/unictype/property-diacritic: New file.
49725         * modules/unictype/property-extender: New file.
49726         * modules/unictype/property-ignorable-control: New file.
49727         * modules/unictype/property-test: New file.
49728         * modules/unictype/property-byname: New file.
49729         * modules/unictype/property-all: New file.
49730         * modules/unictype/scripts: New file.
49731         * modules/unictype/scripts-all: New file.
49732         * modules/unictype/block-of: New file.
49733         * modules/unictype/block-test: New file.
49734         * modules/unictype/block-list: New file.
49735         * modules/unictype/block-all: New file.
49736         * modules/unictype/syntax-c-whitespace: New file.
49737         * modules/unictype/syntax-java-whitespace: New file.
49738         * modules/unictype/syntax-c-ident: New file.
49739         * modules/unictype/syntax-java-ident: New file.
49740         * modules/unictype/ctype-alnum: New file.
49741         * modules/unictype/ctype-alpha: New file.
49742         * modules/unictype/ctype-cntrl: New file.
49743         * modules/unictype/ctype-digit: New file.
49744         * modules/unictype/ctype-graph: New file.
49745         * modules/unictype/ctype-lower: New file.
49746         * modules/unictype/ctype-print: New file.
49747         * modules/unictype/ctype-punct: New file.
49748         * modules/unictype/ctype-space: New file.
49749         * modules/unictype/ctype-upper: New file.
49750         * modules/unictype/ctype-xdigit: New file.
49751         * modules/unictype/ctype-blank: New file.
49752         * lib/unictype/bidi_byname.c: New file.
49753         * lib/unictype/bidi_name.c: New file.
49754         * lib/unictype/bidi_of.c: New file.
49755         * lib/unictype/bidi_test.c: New file.
49756         * lib/unictype/bitmap.h: New file.
49757         * lib/unictype/block_test.c: New file.
49758         * lib/unictype/blocks.c: New file.
49759         * lib/unictype/categ_C.c: New file.
49760         * lib/unictype/categ_Cc.c: New file.
49761         * lib/unictype/categ_Cf.c: New file.
49762         * lib/unictype/categ_Cn.c: New file.
49763         * lib/unictype/categ_Co.c: New file.
49764         * lib/unictype/categ_Cs.c: New file.
49765         * lib/unictype/categ_L.c: New file.
49766         * lib/unictype/categ_Ll.c: New file.
49767         * lib/unictype/categ_Lm.c: New file.
49768         * lib/unictype/categ_Lo.c: New file.
49769         * lib/unictype/categ_Lt.c: New file.
49770         * lib/unictype/categ_Lu.c: New file.
49771         * lib/unictype/categ_M.c: New file.
49772         * lib/unictype/categ_Mc.c: New file.
49773         * lib/unictype/categ_Me.c: New file.
49774         * lib/unictype/categ_Mn.c: New file.
49775         * lib/unictype/categ_N.c: New file.
49776         * lib/unictype/categ_Nd.c: New file.
49777         * lib/unictype/categ_Nl.c: New file.
49778         * lib/unictype/categ_No.c: New file.
49779         * lib/unictype/categ_P.c: New file.
49780         * lib/unictype/categ_Pc.c: New file.
49781         * lib/unictype/categ_Pd.c: New file.
49782         * lib/unictype/categ_Pe.c: New file.
49783         * lib/unictype/categ_Pf.c: New file.
49784         * lib/unictype/categ_Pi.c: New file.
49785         * lib/unictype/categ_Po.c: New file.
49786         * lib/unictype/categ_Ps.c: New file.
49787         * lib/unictype/categ_S.c: New file.
49788         * lib/unictype/categ_Sc.c: New file.
49789         * lib/unictype/categ_Sk.c: New file.
49790         * lib/unictype/categ_Sm.c: New file.
49791         * lib/unictype/categ_So.c: New file.
49792         * lib/unictype/categ_Z.c: New file.
49793         * lib/unictype/categ_Zl.c: New file.
49794         * lib/unictype/categ_Zp.c: New file.
49795         * lib/unictype/categ_Zs.c: New file.
49796         * lib/unictype/categ_and.c: New file.
49797         * lib/unictype/categ_and_not.c: New file.
49798         * lib/unictype/categ_byname.c: New file.
49799         * lib/unictype/categ_name.c: New file.
49800         * lib/unictype/categ_none.c: New file.
49801         * lib/unictype/categ_of.c: New file.
49802         * lib/unictype/categ_or.c: New file.
49803         * lib/unictype/categ_test.c: New file.
49804         * lib/unictype/combining.c: New file.
49805         * lib/unictype/ctype_alnum.c: New file.
49806         * lib/unictype/ctype_alpha.c: New file.
49807         * lib/unictype/ctype_blank.c: New file.
49808         * lib/unictype/ctype_cntrl.c: New file.
49809         * lib/unictype/ctype_digit.c: New file.
49810         * lib/unictype/ctype_graph.c: New file.
49811         * lib/unictype/ctype_lower.c: New file.
49812         * lib/unictype/ctype_print.c: New file.
49813         * lib/unictype/ctype_punct.c: New file.
49814         * lib/unictype/ctype_space.c: New file.
49815         * lib/unictype/ctype_upper.c: New file.
49816         * lib/unictype/ctype_xdigit.c: New file.
49817         * lib/unictype/decdigit.c: New file.
49818         * lib/unictype/digit.c: New file.
49819         * lib/unictype/identsyntaxmap.h: New file.
49820         * lib/unictype/mirror.c: New file.
49821         * lib/unictype/numeric.c: New file.
49822         * lib/unictype/pr_alphabetic.c: New file.
49823         * lib/unictype/pr_ascii_hex_digit.c: New file.
49824         * lib/unictype/pr_bidi_arabic_digit.c: New file.
49825         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
49826         * lib/unictype/pr_bidi_block_separator.c: New file.
49827         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
49828         * lib/unictype/pr_bidi_common_separator.c: New file.
49829         * lib/unictype/pr_bidi_control.c: New file.
49830         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
49831         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
49832         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
49833         * lib/unictype/pr_bidi_european_digit.c: New file.
49834         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
49835         * lib/unictype/pr_bidi_left_to_right.c: New file.
49836         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
49837         * lib/unictype/pr_bidi_other_neutral.c: New file.
49838         * lib/unictype/pr_bidi_pdf.c: New file.
49839         * lib/unictype/pr_bidi_segment_separator.c: New file.
49840         * lib/unictype/pr_bidi_whitespace.c: New file.
49841         * lib/unictype/pr_byname.c: New file.
49842         * lib/unictype/pr_byname.gperf: New file.
49843         * lib/unictype/pr_combining.c: New file.
49844         * lib/unictype/pr_composite.c: New file.
49845         * lib/unictype/pr_currency_symbol.c: New file.
49846         * lib/unictype/pr_dash.c: New file.
49847         * lib/unictype/pr_decimal_digit.c: New file.
49848         * lib/unictype/pr_default_ignorable_code_point.c: New file.
49849         * lib/unictype/pr_deprecated.c: New file.
49850         * lib/unictype/pr_diacritic.c: New file.
49851         * lib/unictype/pr_extender.c: New file.
49852         * lib/unictype/pr_format_control.c: New file.
49853         * lib/unictype/pr_grapheme_base.c: New file.
49854         * lib/unictype/pr_grapheme_extend.c: New file.
49855         * lib/unictype/pr_grapheme_link.c: New file.
49856         * lib/unictype/pr_hex_digit.c: New file.
49857         * lib/unictype/pr_hyphen.c: New file.
49858         * lib/unictype/pr_id_continue.c: New file.
49859         * lib/unictype/pr_id_start.c: New file.
49860         * lib/unictype/pr_ideographic.c: New file.
49861         * lib/unictype/pr_ids_binary_operator.c: New file.
49862         * lib/unictype/pr_ids_trinary_operator.c: New file.
49863         * lib/unictype/pr_ignorable_control.c: New file.
49864         * lib/unictype/pr_iso_control.c: New file.
49865         * lib/unictype/pr_join_control.c: New file.
49866         * lib/unictype/pr_left_of_pair.c: New file.
49867         * lib/unictype/pr_line_separator.c: New file.
49868         * lib/unictype/pr_logical_order_exception.c: New file.
49869         * lib/unictype/pr_lowercase.c: New file.
49870         * lib/unictype/pr_math.c: New file.
49871         * lib/unictype/pr_non_break.c: New file.
49872         * lib/unictype/pr_not_a_character.c: New file.
49873         * lib/unictype/pr_numeric.c: New file.
49874         * lib/unictype/pr_other_alphabetic.c: New file.
49875         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
49876         * lib/unictype/pr_other_grapheme_extend.c: New file.
49877         * lib/unictype/pr_other_id_continue.c: New file.
49878         * lib/unictype/pr_other_id_start.c: New file.
49879         * lib/unictype/pr_other_lowercase.c: New file.
49880         * lib/unictype/pr_other_math.c: New file.
49881         * lib/unictype/pr_other_uppercase.c: New file.
49882         * lib/unictype/pr_paired_punctuation.c: New file.
49883         * lib/unictype/pr_paragraph_separator.c: New file.
49884         * lib/unictype/pr_pattern_syntax.c: New file.
49885         * lib/unictype/pr_pattern_white_space.c: New file.
49886         * lib/unictype/pr_private_use.c: New file.
49887         * lib/unictype/pr_punctuation.c: New file.
49888         * lib/unictype/pr_quotation_mark.c: New file.
49889         * lib/unictype/pr_radical.c: New file.
49890         * lib/unictype/pr_sentence_terminal.c: New file.
49891         * lib/unictype/pr_soft_dotted.c: New file.
49892         * lib/unictype/pr_space.c: New file.
49893         * lib/unictype/pr_terminal_punctuation.c: New file.
49894         * lib/unictype/pr_test.c: New file.
49895         * lib/unictype/pr_titlecase.c: New file.
49896         * lib/unictype/pr_unassigned_code_value.c: New file.
49897         * lib/unictype/pr_unified_ideograph.c: New file.
49898         * lib/unictype/pr_uppercase.c: New file.
49899         * lib/unictype/pr_variation_selector.c: New file.
49900         * lib/unictype/pr_white_space.c: New file.
49901         * lib/unictype/pr_xid_continue.c: New file.
49902         * lib/unictype/pr_xid_start.c: New file.
49903         * lib/unictype/pr_zero_width.c: New file.
49904         * lib/unictype/scripts.c: New file.
49905         * lib/unictype/sy_c_ident.c: New file.
49906         * lib/unictype/sy_c_whitespace.c: New file.
49907         * lib/unictype/sy_java_ident.c: New file.
49908         * lib/unictype/sy_java_whitespace.c: New file.
49909
49910         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
49911         Unicode 5.0.0.
49912         * lib/unictype/blocks.h: Likewise.
49913         * lib/unictype/categ_C.h: Likewise.
49914         * lib/unictype/categ_Cc.h: Likewise.
49915         * lib/unictype/categ_Cf.h: Likewise.
49916         * lib/unictype/categ_Cn.h: Likewise.
49917         * lib/unictype/categ_Co.h: Likewise.
49918         * lib/unictype/categ_Cs.h: Likewise.
49919         * lib/unictype/categ_L.h: Likewise.
49920         * lib/unictype/categ_Ll.h: Likewise.
49921         * lib/unictype/categ_Lm.h: Likewise.
49922         * lib/unictype/categ_Lo.h: Likewise.
49923         * lib/unictype/categ_Lt.h: Likewise.
49924         * lib/unictype/categ_Lu.h: Likewise.
49925         * lib/unictype/categ_M.h: Likewise.
49926         * lib/unictype/categ_Mc.h: Likewise.
49927         * lib/unictype/categ_Me.h: Likewise.
49928         * lib/unictype/categ_Mn.h: Likewise.
49929         * lib/unictype/categ_N.h: Likewise.
49930         * lib/unictype/categ_Nd.h: Likewise.
49931         * lib/unictype/categ_Nl.h: Likewise.
49932         * lib/unictype/categ_No.h: Likewise.
49933         * lib/unictype/categ_P.h: Likewise.
49934         * lib/unictype/categ_Pc.h: Likewise.
49935         * lib/unictype/categ_Pd.h: Likewise.
49936         * lib/unictype/categ_Pe.h: Likewise.
49937         * lib/unictype/categ_Pf.h: Likewise.
49938         * lib/unictype/categ_Pi.h: Likewise.
49939         * lib/unictype/categ_Po.h: Likewise.
49940         * lib/unictype/categ_Ps.h: Likewise.
49941         * lib/unictype/categ_S.h: Likewise.
49942         * lib/unictype/categ_Sc.h: Likewise.
49943         * lib/unictype/categ_Sk.h: Likewise.
49944         * lib/unictype/categ_Sm.h: Likewise.
49945         * lib/unictype/categ_So.h: Likewise.
49946         * lib/unictype/categ_Z.h: Likewise.
49947         * lib/unictype/categ_Zl.h: Likewise.
49948         * lib/unictype/categ_Zp.h: Likewise.
49949         * lib/unictype/categ_Zs.h: Likewise.
49950         * lib/unictype/categ_of.h: Likewise.
49951         * lib/unictype/combining.h: Likewise.
49952         * lib/unictype/ctype_alnum.h: Likewise.
49953         * lib/unictype/ctype_alpha.h: Likewise.
49954         * lib/unictype/ctype_blank.h: Likewise.
49955         * lib/unictype/ctype_cntrl.h: Likewise.
49956         * lib/unictype/ctype_digit.h: Likewise.
49957         * lib/unictype/ctype_graph.h: Likewise.
49958         * lib/unictype/ctype_lower.h: Likewise.
49959         * lib/unictype/ctype_print.h: Likewise.
49960         * lib/unictype/ctype_punct.h: Likewise.
49961         * lib/unictype/ctype_space.h: Likewise.
49962         * lib/unictype/ctype_upper.h: Likewise.
49963         * lib/unictype/ctype_xdigit.h: Likewise.
49964         * lib/unictype/decdigit.h: Likewise.
49965         * lib/unictype/digit.h: Likewise.
49966         * lib/unictype/mirror.h: Likewise.
49967         * lib/unictype/numeric.h: Likewise.
49968         * lib/unictype/pr_alphabetic.h: Likewise.
49969         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
49970         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
49971         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
49972         * lib/unictype/pr_bidi_block_separator.h: Likewise.
49973         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
49974         * lib/unictype/pr_bidi_common_separator.h: Likewise.
49975         * lib/unictype/pr_bidi_control.h: Likewise.
49976         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
49977         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
49978         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
49979         * lib/unictype/pr_bidi_european_digit.h: Likewise.
49980         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
49981         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
49982         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
49983         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
49984         * lib/unictype/pr_bidi_pdf.h: Likewise.
49985         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
49986         * lib/unictype/pr_bidi_whitespace.h: Likewise.
49987         * lib/unictype/pr_combining.h: Likewise.
49988         * lib/unictype/pr_composite.h: Likewise.
49989         * lib/unictype/pr_currency_symbol.h: Likewise.
49990         * lib/unictype/pr_dash.h: Likewise.
49991         * lib/unictype/pr_decimal_digit.h: Likewise.
49992         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
49993         * lib/unictype/pr_deprecated.h: Likewise.
49994         * lib/unictype/pr_diacritic.h: Likewise.
49995         * lib/unictype/pr_extender.h: Likewise.
49996         * lib/unictype/pr_format_control.h: Likewise.
49997         * lib/unictype/pr_grapheme_base.h: Likewise.
49998         * lib/unictype/pr_grapheme_extend.h: Likewise.
49999         * lib/unictype/pr_grapheme_link.h: Likewise.
50000         * lib/unictype/pr_hex_digit.h: Likewise.
50001         * lib/unictype/pr_hyphen.h: Likewise.
50002         * lib/unictype/pr_id_continue.h: Likewise.
50003         * lib/unictype/pr_id_start.h: Likewise.
50004         * lib/unictype/pr_ideographic.h: Likewise.
50005         * lib/unictype/pr_ids_binary_operator.h: Likewise.
50006         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
50007         * lib/unictype/pr_ignorable_control.h: Likewise.
50008         * lib/unictype/pr_iso_control.h: Likewise.
50009         * lib/unictype/pr_join_control.h: Likewise.
50010         * lib/unictype/pr_left_of_pair.h: Likewise.
50011         * lib/unictype/pr_line_separator.h: Likewise.
50012         * lib/unictype/pr_logical_order_exception.h: Likewise.
50013         * lib/unictype/pr_lowercase.h: Likewise.
50014         * lib/unictype/pr_math.h: Likewise.
50015         * lib/unictype/pr_non_break.h: Likewise.
50016         * lib/unictype/pr_not_a_character.h: Likewise.
50017         * lib/unictype/pr_numeric.h: Likewise.
50018         * lib/unictype/pr_other_alphabetic.h: Likewise.
50019         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
50020         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
50021         * lib/unictype/pr_other_id_continue.h: Likewise.
50022         * lib/unictype/pr_other_id_start.h: Likewise.
50023         * lib/unictype/pr_other_lowercase.h: Likewise.
50024         * lib/unictype/pr_other_math.h: Likewise.
50025         * lib/unictype/pr_other_uppercase.h: Likewise.
50026         * lib/unictype/pr_paired_punctuation.h: Likewise.
50027         * lib/unictype/pr_paragraph_separator.h: Likewise.
50028         * lib/unictype/pr_pattern_syntax.h: Likewise.
50029         * lib/unictype/pr_pattern_white_space.h: Likewise.
50030         * lib/unictype/pr_private_use.h: Likewise.
50031         * lib/unictype/pr_punctuation.h: Likewise.
50032         * lib/unictype/pr_quotation_mark.h: Likewise.
50033         * lib/unictype/pr_radical.h: Likewise.
50034         * lib/unictype/pr_sentence_terminal.h: Likewise.
50035         * lib/unictype/pr_soft_dotted.h: Likewise.
50036         * lib/unictype/pr_space.h: Likewise.
50037         * lib/unictype/pr_terminal_punctuation.h: Likewise.
50038         * lib/unictype/pr_titlecase.h: Likewise.
50039         * lib/unictype/pr_unassigned_code_value.h: Likewise.
50040         * lib/unictype/pr_unified_ideograph.h: Likewise.
50041         * lib/unictype/pr_uppercase.h: Likewise.
50042         * lib/unictype/pr_variation_selector.h: Likewise.
50043         * lib/unictype/pr_white_space.h: Likewise.
50044         * lib/unictype/pr_xid_continue.h: Likewise.
50045         * lib/unictype/pr_xid_start.h: Likewise.
50046         * lib/unictype/pr_zero_width.h: Likewise.
50047         * lib/unictype/scripts.h: Likewise.
50048         * lib/unictype/scripts_byname.gperf: Likewise.
50049         * lib/unictype/sy_c_ident.h: Likewise.
50050         * lib/unictype/sy_c_whitespace.h: Likewise.
50051         * lib/unictype/sy_java_ident.h: Likewise.
50052         * lib/unictype/sy_java_whitespace.h: Likewise.
50053
50054         * lib/unictype/Makefile: New file.
50055         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
50056         glibc.
50057         * lib/unictype/3level.h: New file, copied from glibc.
50058         * lib/unictype/3levelbit.h: New file.
50059
50060 2007-11-11  Bruno Haible  <bruno@clisp.org>
50061
50062         * modules/gperf: New file.
50063         * modules/iconv_open (Depends-on): Add it.
50064         (Makefile.am): Remove the GPERF definition.
50065
50066 2007-11-11  Bruno Haible  <bruno@clisp.org>
50067
50068         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
50069         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
50070
50071 2007-11-11  Bruno Haible  <bruno@clisp.org>
50072
50073         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
50074         (usage): Remove function.
50075
50076 2007-11-11  Bruno Haible  <bruno@clisp.org>
50077
50078         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
50079         gl_FUNC_CEILF_LIBS.
50080         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
50081         gl_FUNC_CEIL_LIBS.
50082         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
50083         gl_FUNC_CEILL_LIBS.
50084         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
50085         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
50086         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
50087
50088 2007-11-11  Bruno Haible  <bruno@clisp.org>
50089
50090         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
50091         roundf were declared but do not exist on functions.
50092         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
50093         roundl were declared but do not exist on functions.
50094         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
50095         HAVE_FLOORL_AND_CEILL, respectively.
50096         Needed for Sun C on Solaris 10.
50097
50098 2007-11-11  Bruno Haible  <bruno@clisp.org>
50099
50100         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
50101         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
50102         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
50103         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
50104         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
50105         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
50106         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
50107         HAVE_DECL_ROUNDF.
50108         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
50109         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
50110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
50111         of HAVE_DECL_ROUND*.
50112         * modules/math (Makefile.am): Update.
50113
50114 2007-11-10  Bruno Haible  <bruno@clisp.org>
50115
50116         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
50117         ptrdiff_t as m4/intl.m4.
50118
50119 2007-11-10  Jim Meyering  <meyering@redhat.com>
50120
50121         Avoid link failure for the argmatch test.
50122         * tests/test-argmatch.c (usage): Define function to avoid a link
50123         failure: argmatch_die requires a usage function.
50124
50125 2007-11-09  Bruno Haible  <bruno@clisp.org>
50126
50127         * doc/functions/snprintf.texi: Mention BeOS deficiency.
50128         * doc/functions/vsnprintf.texi: Likewise.
50129         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
50130         with a size argument < 2.
50131
50132 2007-11-09  Bruno Haible  <bruno@clisp.org>
50133
50134         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
50135         buffer. Fixes an inefficiency introduced on 2007-11-03.
50136
50137 2007-11-09  Bruno Haible  <bruno@clisp.org>
50138
50139         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
50140         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
50141
50142 2007-11-08  Jim Meyering  <meyering@redhat.com>
50143
50144         Change cache variable name prefix "jm_" to "gl_" everywhere.
50145         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
50146         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
50147         * m4/uptime.m4: s/gl_/jm_/
50148
50149 2007-11-07  Bruno Haible  <bruno@clisp.org>
50150
50151         Update to GNU gettext 0.17.
50152         * m4/intl.m4: Update to GNU gettext 0.17.
50153         * m4/po.m4: Likewise.
50154         * modules/gettext (Files): Remove m4/ulonglong.m4.
50155         (configure.ac): Require gettext infrastructure from version 0.17.
50156
50157 2007-11-06  Bruno Haible  <bruno@clisp.org>
50158
50159         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
50160         symbolic values are not defined in a public header.
50161         * lib/freadable.c (freadable) [QNX]: Likewise.
50162         * lib/freadahead.c (freadahead) [QNX]: Likewise.
50163         * lib/freading.c (freading) [QNX]: Likewise.
50164         * lib/fseterr.c (fseterr) [QNX]: Likewise.
50165         * lib/fwritable.c (fwritable) [QNX]: Likewise.
50166         * lib/fwriting.c (fwriting) [QNX]: Likewise.
50167         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
50168         Reported by Alain Magloire.
50169
50170         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
50171
50172 2007-11-05  Bruno Haible  <bruno@clisp.org>
50173
50174         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
50175         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
50176         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
50177         Reported by Eric Blake.
50178
50179 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50180             Bruno Haible  <bruno@clisp.org>
50181
50182         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
50183         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
50184         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
50185         (malloc): Undefine also before including <stdlib.h>.
50186         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
50187         Needed on OSF/1 4.0.
50188
50189 2007-11-05  Jim Meyering  <meyering@redhat.com>
50190
50191         git-version-gen: sync from coreutils.
50192         * build-aux/git-version-gen: Add comments.
50193         Change the first '-' to '.' in the snapshot version string,
50194         e.g., 6.9-377-08144 -> 6.9.377-08144
50195         Remove first parameter.
50196         Don't declare a version "-dirty" merely because a time
50197         stamp has changed.
50198
50199 2007-11-04  Bruno Haible  <bruno@clisp.org>
50200
50201         * lib/lock.h: Protect all macro definitions containing an 'if'
50202         statement through a "do { ... } while (0)".
50203         * lib/tls.h: Likewise.
50204
50205 2007-11-04  Bruno Haible  <bruno@clisp.org>
50206
50207         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
50208
50209 2007-11-04  Bruno Haible  <bruno@clisp.org>
50210
50211         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
50212         * modules/fprintf-posix (Depends-on): Add nocrash.
50213         * modules/snprintf-posix (Depends-on): Likewise.
50214         * modules/sprintf-posix (Depends-on): Likewise.
50215         * modules/vasnprintf-posix (Depends-on): Likewise.
50216         * modules/vasprintf-posix (Depends-on): Likewise.
50217         * modules/vfprintf-posix (Depends-on): Likewise.
50218         * modules/vsnprintf-posix (Depends-on): Likewise.
50219         * modules/vsprintf-posix (Depends-on): Likewise.
50220         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50221         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50222         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50223         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50224         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50225         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50226         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50227
50228 2007-11-04  Bruno Haible  <bruno@clisp.org>
50229
50230         * modules/nocrash: New file.
50231         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
50232         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
50233
50234 2007-11-04  Bruno Haible  <bruno@clisp.org>
50235
50236         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
50237         precision handling.
50238         * tests/test-vasprintf-posix.c (test_function): Likewise.
50239         * tests/test-snprintf-posix.h (test_function): Likewise.
50240         * tests/test-sprintf-posix.h (test_function): Likewise.
50241
50242         Fix *printf behaviour for large precisions on mingw and BeOS.
50243         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
50244         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
50245         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
50246         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50247         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50248         gl_PRINTF_PRECISION and test its result. Invoke
50249         gl_PREREQ_VASNPRINTF_PRECISION.
50250         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50251         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50252         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50253         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50254         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50255         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50256         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50257         * doc/functions/fprintf.texi: Update.
50258         * doc/functions/printf.texi: Update.
50259         * doc/functions/snprintf.texi: Update.
50260         * doc/functions/sprintf.texi: Update.
50261         * doc/functions/vfprintf.texi: Update.
50262         * doc/functions/vprintf.texi: Update.
50263         * doc/functions/vsnprintf.texi: Update.
50264         * doc/functions/vsprintf.texi: Update.
50265
50266 2007-11-04  Bruno Haible  <bruno@clisp.org>
50267
50268         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
50269
50270 2007-11-04  Bruno Haible  <bruno@clisp.org>
50271
50272         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
50273         Reported by Sylvain Beucler <beuc@gnu.org>.
50274
50275 2007-11-03  Bruno Haible  <bruno@clisp.org>
50276
50277         * tests/test-fprintf-posix2.sh: New file.
50278         * tests/test-fprintf-posix2.c: New file.
50279         * modules/fprintf-posix-tests (Files): Add them.
50280         (TESTS): Add test-fprintf-posix2.sh.
50281         (configure.ac): Check for getrlimit and setrlimit.
50282         (check_PROGRAMS): Add test-fprintf-posix2.
50283
50284         * tests/test-printf-posix2.sh: New file.
50285         * tests/test-printf-posix2.c: New file.
50286         * modules/printf-posix-tests (Files): Add them.
50287         (TESTS): Add test-printf-posix2.sh.
50288         (configure.ac): Check for getrlimit and setrlimit.
50289         (check_PROGRAMS): Add test-printf-posix2.
50290
50291         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
50292         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
50293         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
50294         (decode_double): New function, copied from decode_long_double.
50295         (scale10_round_decimal_decoded): New function, extracted from
50296         scale10_round_decimal_long_double.
50297         (scale10_round_decimal_long_double): Use it.
50298         (scale10_round_decimal_double): New function.
50299         (floorlog10): New function.
50300         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
50301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
50302         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50303         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50304         gl_PRINTF_ENOMEM and test its result. Invoke
50305         gl_PREREQ_VASNPRINTF_ENOMEM.
50306         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50307         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50308         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50309         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50310         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50311         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50312         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50313         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
50314         * modules/snprintf-posix (Depends-on): Likewise.
50315         * modules/sprintf-posix (Depends-on): Likewise.
50316         * modules/vasnprintf-posix (Depends-on): Likewise.
50317         * modules/vasprintf-posix (Depends-on): Likewise.
50318         * modules/vfprintf-posix (Depends-on): Likewise.
50319         * modules/vsnprintf-posix (Depends-on): Likewise.
50320         * modules/vsprintf-posix (Depends-on): Likewise.
50321         * doc/functions/fprintf.texi: Update.
50322         * doc/functions/printf.texi: Update.
50323         * doc/functions/snprintf.texi: Update.
50324         * doc/functions/sprintf.texi: Update.
50325         * doc/functions/vfprintf.texi: Update.
50326         * doc/functions/vprintf.texi: Update.
50327         * doc/functions/vsnprintf.texi: Update.
50328         * doc/functions/vsprintf.texi: Update.
50329
50330 2007-11-03  Bruno Haible  <bruno@clisp.org>
50331
50332         * modules/frexp-nolibm-tests: New file.
50333
50334         * modules/frexp-nolibm: New file.
50335         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
50336
50337 2007-11-03  Bruno Haible  <bruno@clisp.org>
50338
50339         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
50340         value is C99 compliant.
50341         Needed for OSF/1 5.1.
50342
50343 2007-11-03  Bruno Haible  <bruno@clisp.org>
50344
50345         Fix out-of-memory handling of vasnprintf.
50346         * lib/printf-parse.c: Include <errno.h>.
50347         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
50348         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
50349         is already set.
50350
50351 2007-11-02  Eric Blake  <ebb9@byu.net>
50352
50353         Fix tests on cygwin.
50354         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
50355
50356 2007-11-01  Bruno Haible  <bruno@clisp.org>
50357
50358         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
50359         warning.
50360         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
50361         needed for POSIX compatibility.
50362
50363 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50364
50365         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
50366         for compatibility with GNU.
50367
50368 2007-11-01  Bruno Haible  <bruno@clisp.org>
50369
50370         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
50371         (putenv): Renamed from rpl_putenv. Change argument type from
50372         'const char *' to 'char *'.
50373         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
50374         of defining putenv in config.h, just set REPLACE_PUTENV.
50375         * modules/putenv (Depends-on): Add stdlib.
50376         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50377         (Include): Use <stdlib.h>.
50378         * lib/stdlib.in.h (putenv): New declaration.
50379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
50380         REPLACE_PUTENV.
50381         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
50382         REPLACE_PUTENV.
50383         Needed for MacOS X 10.5.0.
50384         Reported by Peter O'Gorman <peter@pogma.com>.
50385
50386 2007-11-01  Jim Meyering  <meyering@redhat.com>
50387
50388         Treat an empty date string exactly like "0".
50389         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
50390         if the remaining date string (to be parsed) is empty, use "0".
50391         Reported by Mischa Molhoek and discussed in this thread:
50392         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
50393
50394 2007-10-31  Bruno Haible  <bruno@clisp.org>
50395
50396         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
50397         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
50398         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
50399         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
50400         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
50401         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
50402
50403 2007-10-31  Bruno Haible  <bruno@clisp.org>
50404
50405         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
50406         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
50407         (AC_TYPE_LONG_LONG_INT): Use it.
50408         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
50409         it as well.
50410         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
50411         to m4/longlong.m4.
50412         * modules/stdint (Files): Remove m4/ulonglong.m4.
50413         * modules/strtoull (Files): Use m4/longlong.m4 instead of
50414         m4/ulonglong.m4.
50415         * modules/strtoumax (Files): Likewise.
50416
50417 2007-10-30  Bruno Haible  <bruno@clisp.org>
50418
50419         * modules/xvasprintf-posix: New file.
50420         Suggested by Eric Blake.
50421
50422 2007-10-30  Bruno Haible  <bruno@clisp.org>
50423
50424         * modules/xprintf-posix-tests: New file.
50425         * tests/test-xprintf-posix.sh: New file.
50426         * tests/test-xprintf-posix.c: New file.
50427         * tests/test-xfprintf-posix.c: New file.
50428
50429         * modules/xprintf-posix: New file.
50430
50431 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50432
50433         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
50434         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
50435         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
50436
50437 2007-10-29  Bruno Haible  <bruno@clisp.org>
50438
50439         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
50440         contain the special marker '_cv_'.
50441         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50442         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50443         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50444         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
50445         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50446         Reported by Ralf Wildenhues.
50447
50448 2007-10-29  Bruno Haible  <bruno@clisp.org>
50449
50450         * gnulib-tool (func_import): When --lgpl is not specified, set
50451         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
50452         GPLv3.
50453         Reported by Simon Josefsson.
50454
50455 2007-10-28  Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
50458         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
50459         HAVE_DECL_ISFINITE.
50460         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
50461         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
50462         HAVE_DECL_ISFINITE.
50463
50464 2007-10-28  Bruno Haible  <bruno@clisp.org>
50465
50466         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
50467         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
50468
50469 2007-10-28  Bruno Haible  <bruno@clisp.org>
50470
50471         Fix link errors with Sun C 5.0 on Solaris 10.
50472         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
50473         function is declared but not present in the compiler's libm.
50474         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
50475         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
50476         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
50477         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
50478         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
50479         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
50480         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
50481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
50482         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
50483         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
50484         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
50485         HAVE_DECL_FLOORL.
50486
50487 2007-10-28  Bruno Haible  <bruno@clisp.org>
50488
50489         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
50490         gl_FUNC_FLOORL. Cache the result.
50491         (gl_FUNC_FLOORL): Use it.
50492         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
50493         gl_FUNC_CEILL. Cache the result.
50494         (gl_FUNC_CEILL): Use it.
50495
50496         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
50497         gl_FUNC_FLOOR. Cache the result.
50498         (gl_FUNC_FLOOR): Use it.
50499         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
50500         gl_FUNC_CEIL. Cache the result.
50501         (gl_FUNC_CEIL): Use it.
50502
50503         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
50504         gl_FUNC_FLOORF. Cache the result.
50505         (gl_FUNC_FLOORF): Use it.
50506         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
50507         gl_FUNC_CEILF. Cache the result.
50508         (gl_FUNC_CEILF): Use it.
50509
50510 2007-10-28  Bruno Haible  <bruno@clisp.org>
50511
50512         * gnulib-tool: Allow specifying the LGPL version number through
50513         --lgpl=2 or --lgpl=3.
50514         (func_usage): Document --lgpl with argument.
50515         Handle --lgpl=... arguments.
50516         (func_import): Recognize also gl_LGPL calls with an argument. When
50517         --lgpl=2 is used and the module's license is just LGPL, report an
50518         error. Set sed_transform_lib_file according to the lgpl variable. In
50519         the generated files, use --lgpl or gl_LGPL invocations with argument,
50520         if necessary.
50521         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
50522         an LGPv2+ license.
50523         * doc/gnulib-tool.texi (Modified imports): Update explanation of
50524         gl_LGPL macro.
50525
50526 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50527             Bruno Haible  <bruno@clisp.org>
50528
50529         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
50530         (u16_uctomb_aux): Likewise.
50531         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
50532         !HAVE_INLINE.
50533         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
50534
50535 2007-10-28  Bruno Haible  <bruno@clisp.org>
50536
50537         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
50538         Invoke AM_GETTEXT_OPTION if it exists.
50539         * modules/vasprintf: Likewise.
50540         * modules/verror: Likewise.
50541         * modules/xprintf: Likewise.
50542         * modules/xvasprintf: Likewise.
50543
50544 2007-10-27  Ben Pfaff  <blp@gnu.org>
50545
50546         * lib/math.in.h: Define isfinite macro and prototypes for
50547         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
50548         implementations.
50549         * m4/math_h.m4: New substitutions for isfinite module.
50550         * lib/isfinite.c: New file.
50551         * m4/isfinite.m4: New file.
50552         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
50553         * modules/isfinite: New file.
50554         * modules/isfinite-tests: New file.
50555         * tests/tests-isfinite.c: New file.
50556         * doc/functions/isfinite.texi: Mention isfinite module.
50557         * MODULES.html.sh: Mention new module.
50558
50559 2007-10-27  Ben Pfaff  <blp@gnu.org>
50560
50561         Ralf Wildenhues reported that Tru64 4.0D declares the round
50562         functions but does not have definitions.
50563         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
50564         cannot be found in any library, set the output variable to
50565         "missing" instead of "".
50566         * m4/round.m4: Also use our substitute if we cannot find round in
50567         any library, even if it is declared.
50568         * m4/roundf.m4: Likewise for roundf.
50569         * m4/roundl.m4: Likewise for roundl.
50570         * lib/math.in.h: Undefine roundf, round, roundl before defining
50571         their replacements, to allow for hypothetical systems where these
50572         may be defined as macros but not available in libraries.
50573
50574 2007-10-27  Bruno Haible  <bruno@clisp.org>
50575
50576         * doc/gnulib.texi: Invoke @firstparagraphindent.
50577         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
50578         changes in gnulib.
50579         (Source changes): New section.
50580
50581 2007-10-26  Bruno Haible  <bruno@clisp.org>
50582
50583         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
50584         borrowed from autoconf.
50585
50586 2007-10-26  Bruno Haible  <bruno@clisp.org>
50587
50588         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
50589         strerror returned the empty string. Needed on HP-UX 11.00.
50590
50591 2007-10-24  Micah Cowan  <micah@cowan.name>
50592
50593         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
50594         * build-aux/bootstrap: Remove support for now-unnecessary option,
50595         --cvs-user, and envvars CVS_USER, CVS_RSH.
50596
50597 2007-10-24  Jim Meyering  <meyering@redhat.com>
50598
50599         Avoid diagnostics from sha1sum when there is no cached checksum.
50600         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
50601         if the po.s1 file hasn't been created yet.
50602
50603         * build-aux/bootstrap: Sync from coreutils:
50604         2007-10-24  Jim Meyering  <meyering@redhat.com>
50605         Get gnulib from the git repository, not from an obsolete cvs one.
50606         * build-aux/bootstrap: Suggestion from Micah Cowan.
50607         2007-10-04  Jim Meyering  <jim@meyering.net>
50608         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
50609         (update_po_files): Work also when there are no .po files in po/.
50610
50611 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50612
50613         * README: Append ".git" to git and cg examples.
50614         Problem reported by Benoit Sigoure.
50615
50616 2007-10-23  Micah Cowan  <micah@cowan.name>
50617
50618         * users.txt: Add wget.
50619
50620 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50621
50622         Fix linking of some unistdio tests on FreeBSD.
50623         * modules/unistdio/u16-vsnprintf-tests
50624         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
50625         * modules/unistdio/u16-vsprintf-tests
50626         (test_u16_vsnprintf1_LDADD): Likewise.
50627         * modules/unistdio/u32-vsnprintf-tests
50628         (test_u32_vsnprintf1_LDADD): Likewise.
50629         * modules/unistdio/u32-vsprintf-tests
50630         (test_u32_vsprintf1_LDADD): Likewise.
50631         * modules/unistdio/u8-vsnprintf-tests
50632         (test_u8_vsnprintf1_LDADD): Likewise.
50633         * modules/unistdio/u8-vsprintf-tests
50634         (test_u8_vsprintf1_LDADD): Likewise.
50635         * modules/unistdio/ulc-vsnprintf-tests
50636         (test_ulc_vsnprintf1_LDADD): Likewise.
50637         * modules/unistdio/ulc-vsprintf-tests
50638         (test_ulc_vsprintf1_LDADD): Likewise.
50639
50640         Fix linking of some uniconv tests on FreeBSD.
50641         * modules/uniconv/u16-conv-from-enc-tests
50642         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
50643         * modules/uniconv/u16-conv-to-enc-tests
50644         (test_u16_conv_to_enc_LDADD): Likewise.
50645         * modules/uniconv/u16-strconv-from-enc-tests
50646         (test_u16_strconv_from_enc_LDADD): Likewise.
50647         * modules/uniconv/u16-strconv-to-enc-tests
50648         (test_u16_strconv_to_enc_LDADD): Likewise.
50649         * modules/uniconv/u32-conv-from-enc-tests
50650         (test_u32_conv_from_enc_LDADD): Likewise.
50651         * modules/uniconv/u32-conv-to-enc-tests
50652         (test_u32_conv_to_enc_LDADD): Likewise.
50653         * modules/uniconv/u32-strconv-from-enc-tests
50654         (test_u32_strconv_from_enc_LDADD): Likewise.
50655         * modules/uniconv/u32-strconv-to-enc-tests
50656         (test_u32_strconv_to_enc_LDADD): Likewise.
50657         * modules/uniconv/u8-conv-from-enc-tests
50658         (test_u8_conv_from_enc_LDADD): Likewise.
50659         * modules/uniconv/u8-conv-to-enc-tests
50660         (test_u8_conv_to_enc_LDADD): Likewise.
50661         * modules/uniconv/u8-strconv-from-enc-tests
50662         (test_u8_strconv_from_enc_LDADD): Likewise.
50663         * modules/uniconv/u8-strconv-to-enc-tests
50664         (test_u8_strconv_to_enc_LDADD): Likewise.
50665
50666 2007-10-22  Bruno Haible  <bruno@clisp.org>
50667
50668         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
50669         size.
50670
50671 2007-10-22  Eric Blake  <ebb9@byu.net>
50672
50673         Tweak x*printf documentation.
50674         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
50675         variable name and comments.
50676         Suggested by Bruno Haible.
50677
50678 2007-10-22  Bruno Haible  <bruno@clisp.org>
50679
50680         * lib/acl.c (copy_acl): Fix file name in comment.
50681
50682 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50683
50684         Fix Tru64 problem with stdbool.h.
50685         * lib/stdbool.in.h (false, true):
50686         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
50687         Don't declare as an enum in this situation; it runs afoul of Tru64.
50688         Problem reported by Steven M. Schweda in
50689         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
50690
50691 2007-10-22  Eric Blake  <ebb9@byu.net>
50692
50693         Also wrap vf?printf.
50694         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
50695         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
50696         (xvprintf, xvfprintf): New functions.
50697
50698 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50699
50700         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
50701         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
50702
50703         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
50704         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
50705
50706 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50707
50708         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
50709         by Bruno Haible.
50710
50711 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50712
50713         * lib/getloadavg.c
50714         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
50715         Undef `sys' after including sys/table.h, for Tru64 4.0D.
50716
50717         * tests/test-i-ring.c: Work for C89.
50718
50719 2007-10-22  Bruno Haible  <bruno@clisp.org>
50720
50721         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
50722         -1u, in preprocessor expression, so that we don't test for the bug
50723         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
50724         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
50725
50726 2007-10-22  Eric Blake  <ebb9@byu.net>
50727
50728         * tests/test-yesno.sh: Silence stderr during test.
50729
50730 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50731
50732         * modules/crypto/gc-camellia: New file.
50733
50734         * m4/gc-camellia.m4: New file.
50735
50736         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
50737
50738         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
50739
50740 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50741
50742         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
50743         --help to stdout.  Reported by sms@antinode.org (Steven
50744         M. Schweda).
50745
50746 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50747
50748         * users.txt: Fix link to libksba.
50749
50750 2007-10-21  Ben Pfaff  <blp@gnu.org>
50751
50752         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
50753         round.c roundf implementation that depends on floorf and ceilf to
50754         be tested unconditionally.
50755
50756 2007-10-21  Ben Pfaff  <blp@gnu.org>
50757
50758         * m4/check-libm-func.m4: Removed.
50759         * m4/check-math-lib.m4: New file.
50760         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
50761         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
50762         definition and lack of AC_LIBOBJ([roundf]).
50763         * m4/roundl.m4: Ditto, and similarly for roundl.
50764         * modules/round: Reference new m4 file.
50765         * modules/roundf: Ditto.
50766         * modules/roundl: Ditto.
50767         * tests/test-round2.c (main): Use ROUND instead of round.
50768         Bug report from Bruno Haible.
50769
50770 2007-10-21  Bruno Haible  <bruno@clisp.org>
50771
50772         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
50773         context.
50774
50775 2007-10-21  Bruno Haible  <bruno@clisp.org>
50776
50777         * tests/test-wcwidth.c (main): Allow negative result for some control
50778         characters.
50779
50780         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
50781         Needed on OSF/1 5.1.
50782
50783 2007-10-21  Bruno Haible  <bruno@clisp.org>
50784
50785         * tests/test-floorf1.c: Include isnanf.h.
50786         (main): Use isnanf() instead of isnan().
50787         * tests/test-ceilf1.c: Include isnanf.h.
50788         (main): Use isnanf() instead of isnan().
50789         * tests/test-truncf1.c: Include isnanf.h.
50790         (main): Use isnanf() instead of isnan().
50791         * tests/test-roundf1.c: Include isnanf.h.
50792         (main): Use isnanf() instead of isnan().
50793
50794 2007-10-21  Eric Blake  <ebb9@byu.net>
50795
50796         * users.txt: Update URL for m4.
50797
50798 2007-10-21  Bruno Haible  <bruno@clisp.org>
50799
50800         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
50801
50802 2007-10-21  Bruno Haible  <bruno@clisp.org>
50803
50804         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
50805         Git's management files if the CVS files are not present.
50806
50807 2007-10-20  Bruno Haible  <bruno@clisp.org>
50808
50809         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
50810         gcc-3.4.x.
50811
50812 2007-10-20  Ben Pfaff  <blp@gnu.org>
50813
50814         * lib/math.in.h: Declare round, roundf, roundl if we are providing
50815         implementations.
50816         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
50817         * lib/round.c: New file.
50818         * lib/roundf.c: New file.
50819         * lib/roundl.c: New file.
50820         * m4/round.m4: New file.
50821         * m4/roundf.m4: New file.
50822         * m4/roundl.m4: New file.
50823         * m4/check-libm-func-m4: New file.
50824         * modules/math: Replace round, roundf, roundl related @VARS@ in
50825         math.in.h.
50826         * modules/round: New file.
50827         * modules/round-tests: New file.
50828         * modules/roundf: New file.
50829         * modules/roundf-tests: New file.
50830         * modules/roundl: New file.
50831         * modules/roundl-tests: New file.
50832         * tests/test-round1.c: New file.
50833         * tests/test-round2.c: New file.
50834         * tests/test-roundf1.c: New file.
50835         * tests/test-roundf2.c: New file.
50836         * tests/test-roundl.c: New file.
50837         * doc/functions/round.texi: Mention round module.
50838         * doc/functions/roundf.texi: Mention roundf module.
50839         * doc/functions/roundl.texi: Mention roundl module.
50840         * MODULES.html.sh: Mention new modules.
50841         Thanks to Bruno Haible for suggestions.
50842
50843 2007-10-20  Jim Meyering  <meyering@redhat.com>
50844
50845         * lib/xprintf.c: Include <config.h> unconditionally.
50846
50847         Change xprintf's license to GPL.
50848         * modules/xprintf (License): s/LGPL/GPL/, since this module
50849         depends on modules (exit and exitfail) which are GPL.
50850         Suggestion from Bruno Haible.
50851
50852         xprintf fixes.
50853         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
50854         Use a clearer diagnostic.
50855         Patch from Bruno Haible.
50856
50857 2007-10-20  Bruno Haible  <bruno@clisp.org>
50858
50859         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
50860         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
50861         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50862
50863 2007-10-20  Bruno Haible  <bruno@clisp.org>
50864
50865         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
50866         precision in the comparison result > x - 1 or similar.
50867         * tests/test-ceilf2.c (correct_result_p): Likewise.
50868         * tests/test-truncf2.c (correct_result_p): Likewise.
50869         * tests/test-trunc2.c (correct_result_p): Likewise.
50870         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50871
50872 2007-10-20  Bruno Haible  <bruno@clisp.org>
50873
50874         * modules/ceil: New file.
50875         * m4/ceil.m4: New file.
50876         * doc/functions/ceil.texi: Mention the 'ceil' module.
50877
50878 2007-10-20  Bruno Haible  <bruno@clisp.org>
50879
50880         * modules/floor: New file.
50881         * m4/floor.m4: New file.
50882         * doc/functions/floor.texi: Mention the 'floor' module.
50883
50884 2007-10-20  Bruno Haible  <bruno@clisp.org>
50885
50886         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
50887         of %a.
50888         * modules/floorf-tests (Depends-on): Likewise.
50889         * modules/truncf-tests (Depends-on): Likewise.
50890         * modules/trunc-tests (Depends-on): Likewise.
50891         Reported by Ben Pfaff.
50892
50893 2007-10-19  Jim Meyering  <meyering@redhat.com>
50894
50895         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
50896         Don't bother testing specific errno values.  Just test ferror.
50897
50898         New module: xprintf
50899         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
50900
50901 2007-10-19  Bruno Haible  <bruno@clisp.org>
50902
50903         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
50904         syntax.
50905         * modules/javaexec (Makefile.am): Likewise.
50906         * modules/relocatable-prog (Makefile.am): Likewise.
50907         Suggested by Jim Meyering.
50908
50909 2007-10-18  Bruno Haible  <bruno@clisp.org>
50910
50911         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
50912         Reported by Jim Meyering.
50913
50914 2007-10-18  Eric Blake  <ebb9@byu.net>
50915
50916         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
50917
50918 2007-10-18  Bruno Haible  <bruno@clisp.org>
50919
50920         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
50921         the format string into writable memory. Needed in Fortify conditions.
50922
50923 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
50924             Bruno Haible  <bruno@clisp.org>
50925
50926         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
50927         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
50928         * modules/trim (Depends-on): Add mbchar.
50929         (configure.ac): Add gl_FUNC_MBRTOWC.
50930         (Makefile.am): Augment lib_SOURCES.
50931
50932 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50933
50934         Modify glob.c to use fstatat and dirfd, to simplify it.
50935         Suggested by Eric Blake.
50936         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
50937         Don't include <stdbool.h>; not used.
50938         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
50939         (link_exists_p): Simplify implementation, since we can now assume
50940         dirfd and fstatat.
50941         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
50942
50943 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50944
50945         * gnulib-tool (func_get_dependencies): Fix sed script to
50946         match only tests.
50947
50948 2007-10-17  Bruno Haible  <bruno@clisp.org>
50949
50950         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
50951         allow locale names without encoding suffix.
50952         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
50953         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50954
50955 2007-10-16  Bruno Haible  <bruno@clisp.org>
50956
50957         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
50958         * lib/getgroups.c (getgroups): Likewise.
50959         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
50960
50961 2007-10-16  Bruno Haible  <bruno@clisp.org>
50962
50963         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
50964         * modules/malloc-posix (License): Likewise.
50965         * modules/realloc-posix (License): Likewise.
50966         * modules/calloc-posix (License): Likewise.
50967         * modules/intprops (License): Change from GPL to LGPL, with
50968         Paul Eggert's approval.
50969
50970 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50971
50972         Merge glibc changes into lib/glob.c.
50973
50974         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
50975         2007-10-15 04:59:03 UTC.  Here are the changes:
50976
50977         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
50978
50979         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
50980
50981         * lib/glob.c: Add some branch prediction throughout.
50982
50983         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
50984
50985         [BZ #5103]
50986         * lib/glob.c (glob): Recognize patterns starting \/.
50987
50988         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
50989
50990         [BZ #3996]
50991         * lib/glob.c (attribute_hidden): Define if not defined.
50992         (glob): Unescape dirname, filename or username when needed and not
50993         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
50994         is NULL.  Handle unescaped [ in pattern without closing ].
50995         Don't pass GLOB_CHECK down to recursive glob for directories.
50996         (__glob_pattern_type): New function.
50997         (__glob_pattern_p): Implement using __glob_pattern_type.
50998         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
50999         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
51000         Remove unreachable code.
51001
51002         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
51003
51004         * lib/glob.c (glob_in_dir): Add some comments and asserts to
51005         explain why there are no leaks.
51006
51007         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
51008
51009         [BZ #3253]
51010         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
51011         time, rather allocate increasingly bigger arrays of pointers, if
51012         possible with alloca, if too large with malloc.
51013
51014 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51015
51016         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
51017         Problem reported by H.Merijn Brand in
51018         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
51019         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
51020         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
51021
51022 2007-10-15  Bruno Haible  <bruno@clisp.org>
51023
51024         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
51025         with explicit rpl_ prefix.
51026         * lib/fopen.c (fopen): Likewise.
51027         * lib/freopen.c (freopen): Likewise.
51028         * lib/iconv.c (iconv): Likewise.
51029         * lib/iconv_close.c (iconv_close): Likewise.
51030
51031 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51032
51033         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
51034
51035 2007-10-15  Bruno Haible  <bruno@clisp.org>
51036
51037         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
51038         <stddef.h> instead of <stdlib.h> since we only need NULL.
51039         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51040
51041 2007-10-15  Bruno Haible  <bruno@clisp.org>
51042
51043         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
51044         Replace paragraph talking about LIBOBJS.
51045         Reported by Colin Watson <cjwatson@debian.org>.
51046
51047 2007-10-15  Bruno Haible  <bruno@clisp.org>
51048
51049         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
51050         <stdlib.h> before using NULL.
51051
51052 2007-10-15  Simon Josefsson  <simon@josefsson.org>
51053
51054         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
51055         Reported by Albert Chin <china@thewrittenword.com>.
51056
51057 2007-10-14  Bruno Haible  <bruno@clisp.org>
51058
51059         * modules/iconv_open-utf-tests: New file.
51060         * tests/test-iconv-utf.c: New file.
51061
51062         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
51063         * modules/iconv_open-utf: New file.
51064         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
51065         (iconv, iconv_close): New declarations.
51066         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
51067         be defined.
51068         (iconv_open): Add special handling of conversion between UTF-8 and
51069         UTF-{16,32}{BE,LE}.
51070         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
51071         * lib/iconv_close.c: New file.
51072         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
51073         gl_FUNC_ICONV_OPEN.
51074         (gl_FUNC_ICONV_OPEN): Use it.
51075         (gl_FUNC_ICONV_OPEN_UTF): New macro.
51076         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
51077         and REPLACE_ICONV_UTF.
51078         * modules/iconv_open (Depends-on): Add c-strcase.
51079         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
51080         ICONV_CONST.
51081         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
51082
51083 2007-10-13  Albert Chin  <china@thewrittenword.com>
51084             Bruno Haible  <bruno@clisp.org>
51085
51086         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
51087         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
51088
51089 2007-10-13  Bruno Haible  <bruno@clisp.org>
51090
51091         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
51092         defined, use the ISO C99 inline semantics.
51093         * lib/argp.h (ARGP_EI): Likewise.
51094
51095 2007-10-13  Bruno Haible  <bruno@clisp.org>
51096
51097         Handle 'inline' change in gcc 4.3.0.
51098         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
51099         argp_fmtstream_write, argp_fmtstream_set_lmargin,
51100         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
51101         argp_fmtstream_point): Disable 'extern' declaration if the function
51102         definition is going to be provided inline.
51103         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
51104         semantics, not the ISO C99 inline semantics.
51105         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
51106         'extern' declaration if the function definition is going to be provided
51107         inline.
51108         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
51109         the GNU C inline semantics, not the ISO C99 inline semantics. With
51110         GCC 4.2, avoid a warning.
51111
51112 2007-10-13  Bruno Haible  <bruno@clisp.org>
51113
51114         * lib/freading.h (freading): Enable the use of __freading for
51115         glibc >= 2.7.
51116         * lib/freading.c (freading): Likewise.
51117
51118 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
51119
51120         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
51121         "warning: C99 inline functions are not supported; using GNU89".
51122
51123 2007-10-12  Bruno Haible  <bruno@clisp.org>
51124
51125         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
51126         of 2.
51127         * tests/test-ceilf2.c: New file.
51128         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
51129
51130         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
51131         * modules/ceilf-tests: Update.
51132
51133 2007-10-12  Bruno Haible  <bruno@clisp.org>
51134
51135         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
51136         of 2.
51137         * tests/test-floorf2.c: New file.
51138         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
51139
51140         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
51141         * modules/floorf-tests: Update.
51142
51143 2007-10-12  Bruno Haible  <bruno@clisp.org>
51144
51145         * tests/test-trunc2.c: New file.
51146         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
51147
51148         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
51149         * modules/trunc-tests: Update.
51150
51151 2007-10-12  Bruno Haible  <bruno@clisp.org>
51152
51153         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
51154         of 2.
51155         * tests/test-truncf2.c: New file.
51156         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
51157
51158         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
51159         * modules/truncf-tests: Update.
51160
51161 2007-10-11  Eric Blake  <ebb9@byu.net>
51162
51163         Don't claim strerror is broken on Interix.
51164         * doc/functions/strerror.texi (strerror): Known broken systems are
51165         now Solaris 8, and not Interix.
51166         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
51167         Interix on cross-compile.
51168         Reported by Martin Koeppe in
51169         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
51170
51171 2007-10-11  Bruno Haible  <bruno@clisp.org>
51172
51173         * modules/i-ring-tests: New file.
51174         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
51175         instead of assert.
51176
51177 2007-10-11  Bruno Haible  <bruno@clisp.org>
51178
51179         * modules/filenamecat-tests: New file.
51180         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
51181         * lib/filenamecat.c: Remove test code.
51182
51183 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
51184
51185         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
51186
51187         * lib/strerror.c: Include <string.h> always, to test interface,
51188         and to remove the need for the dummy.
51189         Include intprops.h to compute width instead of doing it ourselves
51190         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
51191         (strerror): Define it to return NULL if there's no system strerror.
51192         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
51193         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
51194         ancient pre-strerror Unix systems well any more.  Saying "unknown
51195         system error" is enough.
51196         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
51197         simpler strerror.c implementation.
51198         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
51199         Simplify the tests to reflect the simpler strerror implementation.
51200         * modules/strerror (Depends-on): Add intprops.
51201
51202 2007-10-09  Eric Blake  <ebb9@byu.net>
51203
51204         Silence test-fpending.
51205         * modules/fpending-tests (Files): Add wrapper script.
51206         * tests/test-fpending.sh: New file.
51207
51208 2007-10-09  Bruno Haible  <bruno@clisp.org>
51209
51210         * MODULES.html.sh (func_module): Don't create a hyperlink for
51211         function names like 'printf_frexp'.
51212         (Misc): Add crc, memxor.
51213         (Characteristics of floating types): New section.
51214         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
51215         isnanf-nolibm, signbit, trunc, truncf, truncl.
51216         (Enhancements for ISO C 99 functions): New subsection Input/output.
51217         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
51218         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
51219         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
51220         (Compatibility checks for POSIX:2001 functions): Add clock-time.
51221         (Enhancements for POSIX:2001 functions): Add chdir-long.
51222         (File system functions): Add areadlink, chdir-safer, read-file.
51223         Remove cycle-check.
51224         (File system as inode set): New section.
51225         (Date and time): Add gethrxtime.
51226         (Multithreading): Add openmp.
51227         (Internationalization functions): Add localename.
51228         (Unicode string functions): Add unistr/u*-mbsnlen.
51229         (Support for maintaining and releasing projects): Add git-version-gen.
51230         (Lone files): Remove directories.
51231
51232 2007-10-08  Ben Pfaff  <blp@gnu.org>
51233
51234         * lib/xmalloca.h: Fix typo in comment.
51235
51236 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
51237
51238         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
51239         when avoiding problems with integer overflow.  Use a portable test
51240         instead.
51241
51242 2007-10-08  Simon Josefsson  <simon@josefsson.org>
51243
51244         * modules/dummy (License): Change to LGPLv2+.
51245         * modules/float (License): Likewise
51246         * modules/realloc (License): Likewise
51247         * modules/stdlib (License): Likewise
51248
51249 2007-10-07  Bruno Haible  <bruno@clisp.org>
51250
51251         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
51252         * floor.c (TWO_MANT_DIG): Likewise.
51253         * ceil.c (TWO_MANT_DIG): Likewise.
51254         Reported by Ben Pfaff.
51255
51256 2007-10-07  Bruno Haible  <bruno@clisp.org>
51257
51258         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
51259         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
51260         * lib/frexp.c (FUNC): Likewise.
51261         * lib/printf-frexp.h (printf_frexp): Likewise.
51262         * lib/printf-frexpl.h (printf_frexpl): Likewise.
51263         * lib/printf-frexp.c (FUNC): Likewise.
51264         Suggested by Jim Meyering.
51265
51266 2007-10-07  Jim Meyering  <meyering@redhat.com>
51267
51268         Make xnanosleep's integer overflow test more robust.
51269         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
51270         so that gcc-4.3.0 doesn't optimize away this test for overflow.
51271
51272 2007-10-07  Bruno Haible  <bruno@clisp.org>
51273
51274         * NEWS: Mention the license change.
51275
51276         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
51277         abbreviations in the modules files.
51278
51279         Change copyright notice from GPLv2+ to GPLv3+.
51280         * README: Change copyright notice.
51281         * MODULES.html.sh: Likewise.
51282         * build-aux/bootstrap.conf: Likewise.
51283         * build-aux/config.libpath: Likewise.
51284         * build-aux/csharpcomp.sh.in: Likewise.
51285         * build-aux/csharpexec.sh.in: Likewise.
51286         * build-aux/install-reloc: Likewise.
51287         * build-aux/javacomp.sh.in: Likewise.
51288         * build-aux/javaexec.sh.in: Likewise.
51289         * build-aux/ldd.sh.in: Likewise.
51290         * build-aux/reloc-ldflags: Likewise.
51291         * build-aux/relocatable.sh.in: Likewise.
51292         * build-aux/x-to-1.in: Likewise.
51293         * check-module: Likewise.
51294         * config/srclistvars.sh: Likewise.
51295         * gnulib-tool: Likewise.
51296         * lib/acl-internal.h: Likewise.
51297         * lib/acl.c: Likewise.
51298         * lib/acl.h: Likewise.
51299         * lib/acl_entries.c: Likewise.
51300         * lib/areadlink-with-size.c: Likewise.
51301         * lib/areadlink.c: Likewise.
51302         * lib/areadlink.h: Likewise.
51303         * lib/argmatch.c: Likewise.
51304         * lib/argmatch.h: Likewise.
51305         * lib/argp-ba.c: Likewise.
51306         * lib/argp-eexst.c: Likewise.
51307         * lib/argp-fmtstream.c: Likewise.
51308         * lib/argp-fmtstream.h: Likewise.
51309         * lib/argp-fs-xinl.c: Likewise.
51310         * lib/argp-help.c: Likewise.
51311         * lib/argp-namefrob.h: Likewise.
51312         * lib/argp-parse.c: Likewise.
51313         * lib/argp-pin.c: Likewise.
51314         * lib/argp-pv.c: Likewise.
51315         * lib/argp-pvh.c: Likewise.
51316         * lib/argp-xinl.c: Likewise.
51317         * lib/argp.h: Likewise.
51318         * lib/at-func.c: Likewise.
51319         * lib/atanl.c: Likewise.
51320         * lib/backupfile.c: Likewise.
51321         * lib/backupfile.h: Likewise.
51322         * lib/basename.c: Likewise.
51323         * lib/binary-io.h: Likewise.
51324         * lib/byteswap.in.h: Likewise.
51325         * lib/c-stack.c: Likewise.
51326         * lib/c-stack.h: Likewise.
51327         * lib/c-strcasestr.c: Likewise.
51328         * lib/c-strcasestr.h: Likewise.
51329         * lib/c-strstr.c: Likewise.
51330         * lib/c-strstr.h: Likewise.
51331         * lib/c-strtod.c: Likewise.
51332         * lib/calloc.c: Likewise.
51333         * lib/canon-host.c: Likewise.
51334         * lib/canon-host.h: Likewise.
51335         * lib/canonicalize-lgpl.c: Likewise.
51336         * lib/canonicalize.c: Likewise.
51337         * lib/canonicalize.h: Likewise.
51338         * lib/ceil.c: Likewise.
51339         * lib/ceilf.c: Likewise.
51340         * lib/ceill.c: Likewise.
51341         * lib/chdir-long.c: Likewise.
51342         * lib/chdir-long.h: Likewise.
51343         * lib/chdir-safer.c: Likewise.
51344         * lib/chdir-safer.h: Likewise.
51345         * lib/chown.c: Likewise.
51346         * lib/classpath.c: Likewise.
51347         * lib/classpath.h: Likewise.
51348         * lib/clean-temp.c: Likewise.
51349         * lib/clean-temp.h: Likewise.
51350         * lib/cloexec.c: Likewise.
51351         * lib/close-stream.c: Likewise.
51352         * lib/closein.c: Likewise.
51353         * lib/closein.h: Likewise.
51354         * lib/closeout.c: Likewise.
51355         * lib/closeout.h: Likewise.
51356         * lib/concat-filename.c: Likewise.
51357         * lib/copy-file.c: Likewise.
51358         * lib/copy-file.h: Likewise.
51359         * lib/count-one-bits.h: Likewise.
51360         * lib/crc.c: Likewise.
51361         * lib/crc.h: Likewise.
51362         * lib/creat-safer.c: Likewise.
51363         * lib/csharpcomp.c: Likewise.
51364         * lib/csharpcomp.h: Likewise.
51365         * lib/csharpexec.c: Likewise.
51366         * lib/csharpexec.h: Likewise.
51367         * lib/cycle-check.c: Likewise.
51368         * lib/cycle-check.h: Likewise.
51369         * lib/diacrit.c: Likewise.
51370         * lib/diacrit.h: Likewise.
51371         * lib/diffseq.h: Likewise.
51372         * lib/dirchownmod.c: Likewise.
51373         * lib/dirent.in.h: Likewise.
51374         * lib/dirfd.c: Likewise.
51375         * lib/dirfd.h: Likewise.
51376         * lib/dirname.c: Likewise.
51377         * lib/dirname.h: Likewise.
51378         * lib/dummy.c: Likewise.
51379         * lib/dup-safer.c: Likewise.
51380         * lib/dup2.c: Likewise.
51381         * lib/eealloc.h: Likewise.
51382         * lib/error.c: Likewise.
51383         * lib/error.h: Likewise.
51384         * lib/euidaccess.c: Likewise.
51385         * lib/exclude.c: Likewise.
51386         * lib/exclude.h: Likewise.
51387         * lib/execute.c: Likewise.
51388         * lib/execute.h: Likewise.
51389         * lib/exitfail.c: Likewise.
51390         * lib/exitfail.h: Likewise.
51391         * lib/expl.c: Likewise.
51392         * lib/fatal-signal.c: Likewise.
51393         * lib/fatal-signal.h: Likewise.
51394         * lib/fbufmode.c: Likewise.
51395         * lib/fbufmode.h: Likewise.
51396         * lib/fchdir.c: Likewise.
51397         * lib/fchmodat.c: Likewise.
51398         * lib/fchownat.c: Likewise.
51399         * lib/fcntl--.h: Likewise.
51400         * lib/fcntl-safer.h: Likewise.
51401         * lib/fcntl.in.h: Likewise.
51402         * lib/fd-safer.c: Likewise.
51403         * lib/fflush.c: Likewise.
51404         * lib/file-has-acl.c: Likewise.
51405         * lib/file-set.c: Likewise.
51406         * lib/file-type.c: Likewise.
51407         * lib/file-type.h: Likewise.
51408         * lib/fileblocks.c: Likewise.
51409         * lib/filemode.c: Likewise.
51410         * lib/filemode.h: Likewise.
51411         * lib/filename.h: Likewise.
51412         * lib/filenamecat.c: Likewise.
51413         * lib/filenamecat.h: Likewise.
51414         * lib/findprog.c: Likewise.
51415         * lib/findprog.h: Likewise.
51416         * lib/float.in.h: Likewise.
51417         * lib/floor.c: Likewise.
51418         * lib/floorf.c: Likewise.
51419         * lib/floorl.c: Likewise.
51420         * lib/fopen-safer.c: Likewise.
51421         * lib/fopen.c: Likewise.
51422         * lib/fpending.c: Likewise.
51423         * lib/fpending.h: Likewise.
51424         * lib/fprintf.c: Likewise.
51425         * lib/fprintftime.h: Likewise.
51426         * lib/fpucw.h: Likewise.
51427         * lib/fpurge.c: Likewise.
51428         * lib/fpurge.h: Likewise.
51429         * lib/freadable.c: Likewise.
51430         * lib/freadable.h: Likewise.
51431         * lib/freadahead.c: Likewise.
51432         * lib/freadahead.h: Likewise.
51433         * lib/freading.c: Likewise.
51434         * lib/freading.h: Likewise.
51435         * lib/free.c: Likewise.
51436         * lib/freopen.c: Likewise.
51437         * lib/frexp.c: Likewise.
51438         * lib/frexpl.c: Likewise.
51439         * lib/fseek.c: Likewise.
51440         * lib/fseterr.c: Likewise.
51441         * lib/fseterr.h: Likewise.
51442         * lib/fstatat.c: Likewise.
51443         * lib/fstrcmp.c: Likewise.
51444         * lib/fstrcmp.h: Likewise.
51445         * lib/fsusage.c: Likewise.
51446         * lib/fsusage.h: Likewise.
51447         * lib/ftell.c: Likewise.
51448         * lib/ftello.c: Likewise.
51449         * lib/fts-cycle.c: Likewise.
51450         * lib/fts.c: Likewise.
51451         * lib/fts_.h: Likewise.
51452         * lib/full-read.c: Likewise.
51453         * lib/full-read.h: Likewise.
51454         * lib/full-write.c: Likewise.
51455         * lib/full-write.h: Likewise.
51456         * lib/fwritable.c: Likewise.
51457         * lib/fwritable.h: Likewise.
51458         * lib/fwriteerror.c: Likewise.
51459         * lib/fwriteerror.h: Likewise.
51460         * lib/fwriting.c: Likewise.
51461         * lib/fwriting.h: Likewise.
51462         * lib/gcd.c: Likewise.
51463         * lib/gcd.h: Likewise.
51464         * lib/getcwd.c: Likewise.
51465         * lib/getdate.h: Likewise.
51466         * lib/getdate.y: Likewise.
51467         * lib/getdomainname.c: Likewise.
51468         * lib/getdomainname.h: Likewise.
51469         * lib/getgroups.c: Likewise.
51470         * lib/gethostname.c: Likewise.
51471         * lib/gethrxtime.c: Likewise.
51472         * lib/gethrxtime.h: Likewise.
51473         * lib/getloadavg.c: Likewise.
51474         * lib/getndelim2.c: Likewise.
51475         * lib/getndelim2.h: Likewise.
51476         * lib/getnline.c: Likewise.
51477         * lib/getnline.h: Likewise.
51478         * lib/getopt.c: Likewise.
51479         * lib/getopt.in.h: Likewise.
51480         * lib/getopt1.c: Likewise.
51481         * lib/getopt_int.h: Likewise.
51482         * lib/getpagesize.h: Likewise.
51483         * lib/getsubopt.c: Likewise.
51484         * lib/gettime.c: Likewise.
51485         * lib/getugroups.c: Likewise.
51486         * lib/getugroups.h: Likewise.
51487         * lib/getusershell.c: Likewise.
51488         * lib/gl_anyavltree_list1.h: Likewise.
51489         * lib/gl_anyavltree_list2.h: Likewise.
51490         * lib/gl_anyhash_list1.h: Likewise.
51491         * lib/gl_anyhash_list2.h: Likewise.
51492         * lib/gl_anylinked_list1.h: Likewise.
51493         * lib/gl_anylinked_list2.h: Likewise.
51494         * lib/gl_anyrbtree_list1.h: Likewise.
51495         * lib/gl_anyrbtree_list2.h: Likewise.
51496         * lib/gl_anytree_list1.h: Likewise.
51497         * lib/gl_anytree_list2.h: Likewise.
51498         * lib/gl_anytree_oset.h: Likewise.
51499         * lib/gl_anytreehash_list1.h: Likewise.
51500         * lib/gl_anytreehash_list2.h: Likewise.
51501         * lib/gl_array_list.c: Likewise.
51502         * lib/gl_array_list.h: Likewise.
51503         * lib/gl_array_oset.c: Likewise.
51504         * lib/gl_array_oset.h: Likewise.
51505         * lib/gl_avltree_list.c: Likewise.
51506         * lib/gl_avltree_list.h: Likewise.
51507         * lib/gl_avltree_oset.c: Likewise.
51508         * lib/gl_avltree_oset.h: Likewise.
51509         * lib/gl_avltreehash_list.c: Likewise.
51510         * lib/gl_avltreehash_list.h: Likewise.
51511         * lib/gl_carray_list.c: Likewise.
51512         * lib/gl_carray_list.h: Likewise.
51513         * lib/gl_linked_list.c: Likewise.
51514         * lib/gl_linked_list.h: Likewise.
51515         * lib/gl_linkedhash_list.c: Likewise.
51516         * lib/gl_linkedhash_list.h: Likewise.
51517         * lib/gl_list.c: Likewise.
51518         * lib/gl_list.h: Likewise.
51519         * lib/gl_oset.c: Likewise.
51520         * lib/gl_oset.h: Likewise.
51521         * lib/gl_rbtree_list.c: Likewise.
51522         * lib/gl_rbtree_list.h: Likewise.
51523         * lib/gl_rbtree_oset.c: Likewise.
51524         * lib/gl_rbtree_oset.h: Likewise.
51525         * lib/gl_rbtreehash_list.c: Likewise.
51526         * lib/gl_rbtreehash_list.h: Likewise.
51527         * lib/gl_sublist.c: Likewise.
51528         * lib/gl_sublist.h: Likewise.
51529         * lib/group-member.c: Likewise.
51530         * lib/group-member.h: Likewise.
51531         * lib/hard-locale.c: Likewise.
51532         * lib/hard-locale.h: Likewise.
51533         * lib/hash-pjw.c: Likewise.
51534         * lib/hash-pjw.h: Likewise.
51535         * lib/hash-triple.c: Likewise.
51536         * lib/hash.c: Likewise.
51537         * lib/hash.h: Likewise.
51538         * lib/human.c: Likewise.
51539         * lib/human.h: Likewise.
51540         * lib/i-ring.c: Likewise.
51541         * lib/i-ring.h: Likewise.
51542         * lib/idcache.c: Likewise.
51543         * lib/imaxabs.c: Likewise.
51544         * lib/imaxdiv.c: Likewise.
51545         * lib/inet_pton.c: Likewise.
51546         * lib/inet_pton.h: Likewise.
51547         * lib/intprops.h: Likewise.
51548         * lib/inttostr.c: Likewise.
51549         * lib/inttostr.h: Likewise.
51550         * lib/inttypes.in.h: Likewise.
51551         * lib/isapipe.c: Likewise.
51552         * lib/isdir.c: Likewise.
51553         * lib/isnan.c: Likewise.
51554         * lib/isnan.h: Likewise.
51555         * lib/isnanf.c: Likewise.
51556         * lib/isnanf.h: Likewise.
51557         * lib/isnanl-nolibm.h: Likewise.
51558         * lib/isnanl.c: Likewise.
51559         * lib/isnanl.h: Likewise.
51560         * lib/javacomp.c: Likewise.
51561         * lib/javacomp.h: Likewise.
51562         * lib/javaexec.c: Likewise.
51563         * lib/javaexec.h: Likewise.
51564         * lib/javaversion.c: Likewise.
51565         * lib/javaversion.h: Likewise.
51566         * lib/javaversion.java: Likewise.
51567         * lib/lbrkprop.h: Likewise.
51568         * lib/lchmod.h: Likewise.
51569         * lib/lchown.c: Likewise.
51570         * lib/ldexpl.c: Likewise.
51571         * lib/linebreak.c: Likewise.
51572         * lib/linebreak.h: Likewise.
51573         * lib/linebuffer.c: Likewise.
51574         * lib/linebuffer.h: Likewise.
51575         * lib/locale.in.h: Likewise.
51576         * lib/logl.c: Likewise.
51577         * lib/long-options.c: Likewise.
51578         * lib/long-options.h: Likewise.
51579         * lib/lstat.c: Likewise.
51580         * lib/lstat.h: Likewise.
51581         * lib/math.in.h: Likewise.
51582         * lib/mbchar.c: Likewise.
51583         * lib/mbchar.h: Likewise.
51584         * lib/mbfile.h: Likewise.
51585         * lib/mbiter.h: Likewise.
51586         * lib/mbscasecmp.c: Likewise.
51587         * lib/mbscasestr.c: Likewise.
51588         * lib/mbschr.c: Likewise.
51589         * lib/mbscspn.c: Likewise.
51590         * lib/mbslen.c: Likewise.
51591         * lib/mbsncasecmp.c: Likewise.
51592         * lib/mbsnlen.c: Likewise.
51593         * lib/mbspbrk.c: Likewise.
51594         * lib/mbspcasecmp.c: Likewise.
51595         * lib/mbsrchr.c: Likewise.
51596         * lib/mbssep.c: Likewise.
51597         * lib/mbsspn.c: Likewise.
51598         * lib/mbsstr.c: Likewise.
51599         * lib/mbstok_r.c: Likewise.
51600         * lib/mbswidth.c: Likewise.
51601         * lib/mbswidth.h: Likewise.
51602         * lib/mbuiter.h: Likewise.
51603         * lib/memcasecmp.c: Likewise.
51604         * lib/memcasecmp.h: Likewise.
51605         * lib/memchr.c: Likewise.
51606         * lib/memcmp.c: Likewise.
51607         * lib/memcoll.c: Likewise.
51608         * lib/memcoll.h: Likewise.
51609         * lib/memcpy.c: Likewise.
51610         * lib/memrchr.c: Likewise.
51611         * lib/mkancesdirs.c: Likewise.
51612         * lib/mkdir-p.c: Likewise.
51613         * lib/mkdir-p.h: Likewise.
51614         * lib/mkdir.c: Likewise.
51615         * lib/mkdirat.c: Likewise.
51616         * lib/mkdtemp.c: Likewise.
51617         * lib/mkstemp-safer.c: Likewise.
51618         * lib/mkstemp.c: Likewise.
51619         * lib/modechange.c: Likewise.
51620         * lib/modechange.h: Likewise.
51621         * lib/mountlist.c: Likewise.
51622         * lib/mountlist.h: Likewise.
51623         * lib/mpsort.c: Likewise.
51624         * lib/nanosleep.c: Likewise.
51625         * lib/obstack.c: Likewise.
51626         * lib/obstack.h: Likewise.
51627         * lib/open-safer.c: Likewise.
51628         * lib/open.c: Likewise.
51629         * lib/openat-die.c: Likewise.
51630         * lib/openat-priv.h: Likewise.
51631         * lib/openat-proc.c: Likewise.
51632         * lib/openat.c: Likewise.
51633         * lib/openat.h: Likewise.
51634         * lib/pagealign_alloc.c: Likewise.
51635         * lib/pagealign_alloc.h: Likewise.
51636         * lib/physmem.c: Likewise.
51637         * lib/physmem.h: Likewise.
51638         * lib/pipe-safer.c: Likewise.
51639         * lib/pipe.c: Likewise.
51640         * lib/pipe.h: Likewise.
51641         * lib/posixtm.c: Likewise.
51642         * lib/posixtm.h: Likewise.
51643         * lib/posixver.c: Likewise.
51644         * lib/printf-frexp.c: Likewise.
51645         * lib/printf-frexp.h: Likewise.
51646         * lib/printf-frexpl.c: Likewise.
51647         * lib/printf-frexpl.h: Likewise.
51648         * lib/printf.c: Likewise.
51649         * lib/progname.c: Likewise.
51650         * lib/progname.h: Likewise.
51651         * lib/progreloc.c: Likewise.
51652         * lib/putenv.c: Likewise.
51653         * lib/quote.c: Likewise.
51654         * lib/quote.h: Likewise.
51655         * lib/quotearg.c: Likewise.
51656         * lib/quotearg.h: Likewise.
51657         * lib/raise.c: Likewise.
51658         * lib/readline.c: Likewise.
51659         * lib/readline.h: Likewise.
51660         * lib/readlink.c: Likewise.
51661         * lib/readtokens.c: Likewise.
51662         * lib/readtokens.h: Likewise.
51663         * lib/readtokens0.c: Likewise.
51664         * lib/readtokens0.h: Likewise.
51665         * lib/readutmp.c: Likewise.
51666         * lib/readutmp.h: Likewise.
51667         * lib/realloc.c: Likewise.
51668         * lib/relocwrapper.c: Likewise.
51669         * lib/rename-dest-slash.c: Likewise.
51670         * lib/rename.c: Likewise.
51671         * lib/rmdir.c: Likewise.
51672         * lib/rpmatch.c: Likewise.
51673         * lib/safe-read.c: Likewise.
51674         * lib/safe-read.h: Likewise.
51675         * lib/safe-write.c: Likewise.
51676         * lib/safe-write.h: Likewise.
51677         * lib/same-inode.h: Likewise.
51678         * lib/same.c: Likewise.
51679         * lib/same.h: Likewise.
51680         * lib/save-cwd.c: Likewise.
51681         * lib/save-cwd.h: Likewise.
51682         * lib/savedir.c: Likewise.
51683         * lib/savedir.h: Likewise.
51684         * lib/savewd.c: Likewise.
51685         * lib/savewd.h: Likewise.
51686         * lib/search.in.h: Likewise.
51687         * lib/setenv.c: Likewise.
51688         * lib/setenv.h: Likewise.
51689         * lib/settime.c: Likewise.
51690         * lib/sh-quote.c: Likewise.
51691         * lib/sh-quote.h: Likewise.
51692         * lib/sig2str.c: Likewise.
51693         * lib/sig2str.h: Likewise.
51694         * lib/signal.in.h: Likewise.
51695         * lib/signbitd.c: Likewise.
51696         * lib/signbitf.c: Likewise.
51697         * lib/signbitl.c: Likewise.
51698         * lib/sigprocmask.c: Likewise.
51699         * lib/sincosl.c: Likewise.
51700         * lib/sleep.c: Likewise.
51701         * lib/sprintf.c: Likewise.
51702         * lib/sqrtl.c: Likewise.
51703         * lib/stat-time.h: Likewise.
51704         * lib/stdio--.h: Likewise.
51705         * lib/stdio-safer.h: Likewise.
51706         * lib/stdlib--.h: Likewise.
51707         * lib/stdlib-safer.h: Likewise.
51708         * lib/stdlib.in.h: Likewise.
51709         * lib/stpcpy.c: Likewise.
51710         * lib/stpncpy.c: Likewise.
51711         * lib/strchrnul.c: Likewise.
51712         * lib/strcspn.c: Likewise.
51713         * lib/strerror.c: Likewise.
51714         * lib/strftime.c: Likewise.
51715         * lib/strftime.h: Likewise.
51716         * lib/striconveh.c: Likewise.
51717         * lib/striconveh.h: Likewise.
51718         * lib/striconveha.c: Likewise.
51719         * lib/striconveha.h: Likewise.
51720         * lib/stripslash.c: Likewise.
51721         * lib/strnlen1.c: Likewise.
51722         * lib/strnlen1.h: Likewise.
51723         * lib/strtod.c: Likewise.
51724         * lib/strtoimax.c: Likewise.
51725         * lib/strtok_r.c: Likewise.
51726         * lib/strtol.c: Likewise.
51727         * lib/strtoll.c: Likewise.
51728         * lib/strtoul.c: Likewise.
51729         * lib/strtoull.c: Likewise.
51730         * lib/sysexits.in.h: Likewise.
51731         * lib/tempname.c: Likewise.
51732         * lib/tempname.h: Likewise.
51733         * lib/timespec.h: Likewise.
51734         * lib/tls.c: Likewise.
51735         * lib/tls.h: Likewise.
51736         * lib/tmpdir.c: Likewise.
51737         * lib/tmpdir.h: Likewise.
51738         * lib/tmpfile-safer.c: Likewise.
51739         * lib/tmpfile.c: Likewise.
51740         * lib/trigl.c: Likewise.
51741         * lib/trigl.h: Likewise.
51742         * lib/trim.c: Likewise.
51743         * lib/trim.h: Likewise.
51744         * lib/trunc.c: Likewise.
51745         * lib/truncf.c: Likewise.
51746         * lib/truncl.c: Likewise.
51747         * lib/tsearch.c: Likewise.
51748         * lib/unicodeio.c: Likewise.
51749         * lib/unicodeio.h: Likewise.
51750         * lib/unistd--.h: Likewise.
51751         * lib/unistd-safer.h: Likewise.
51752         * lib/unistdio/ulc-fprintf.c: Likewise.
51753         * lib/unistdio/ulc-vfprintf.c: Likewise.
51754         * lib/unlinkdir.c: Likewise.
51755         * lib/unlinkdir.h: Likewise.
51756         * lib/unlocked-io.h: Likewise.
51757         * lib/unsetenv.c: Likewise.
51758         * lib/userspec.c: Likewise.
51759         * lib/utime.c: Likewise.
51760         * lib/utimecmp.c: Likewise.
51761         * lib/utimecmp.h: Likewise.
51762         * lib/utimens.c: Likewise.
51763         * lib/verify.h: Likewise.
51764         * lib/verror.c: Likewise.
51765         * lib/verror.h: Likewise.
51766         * lib/version-etc-fsf.c: Likewise.
51767         * lib/version-etc.c: Likewise.
51768         * lib/version-etc.h: Likewise.
51769         * lib/vfprintf.c: Likewise.
51770         * lib/vprintf.c: Likewise.
51771         * lib/vsprintf.c: Likewise.
51772         * lib/w32spawn.h: Likewise.
51773         * lib/wait-process.c: Likewise.
51774         * lib/wait-process.h: Likewise.
51775         * lib/wcwidth.c: Likewise.
51776         * lib/write-any-file.c: Likewise.
51777         * lib/xalloc-die.c: Likewise.
51778         * lib/xalloc.h: Likewise.
51779         * lib/xasprintf.c: Likewise.
51780         * lib/xgetcwd.c: Likewise.
51781         * lib/xgetcwd.h: Likewise.
51782         * lib/xgetdomainname.c: Likewise.
51783         * lib/xgetdomainname.h: Likewise.
51784         * lib/xgethostname.c: Likewise.
51785         * lib/xmalloc.c: Likewise.
51786         * lib/xmalloca.c: Likewise.
51787         * lib/xmalloca.h: Likewise.
51788         * lib/xmemcoll.c: Likewise.
51789         * lib/xnanosleep.c: Likewise.
51790         * lib/xreadlink.c: Likewise.
51791         * lib/xreadlink.h: Likewise.
51792         * lib/xsetenv.c: Likewise.
51793         * lib/xsetenv.h: Likewise.
51794         * lib/xstriconv.c: Likewise.
51795         * lib/xstriconv.h: Likewise.
51796         * lib/xstrndup.c: Likewise.
51797         * lib/xstrndup.h: Likewise.
51798         * lib/xstrtod.c: Likewise.
51799         * lib/xstrtod.h: Likewise.
51800         * lib/xstrtol-error.c: Likewise.
51801         * lib/xstrtol.c: Likewise.
51802         * lib/xstrtol.h: Likewise.
51803         * lib/xtime.h: Likewise.
51804         * lib/xvasprintf.c: Likewise.
51805         * lib/xvasprintf.h: Likewise.
51806         * lib/yesno.c: Likewise.
51807         * lib/yesno.h: Likewise.
51808         * posix-modules: Likewise.
51809         * tests/test-alloca-opt.c: Likewise.
51810         * tests/test-arcfour.c: Likewise.
51811         * tests/test-arctwo.c: Likewise.
51812         * tests/test-argmatch.c: Likewise.
51813         * tests/test-argp-2.sh: Likewise.
51814         * tests/test-argp.c: Likewise.
51815         * tests/test-arpa_inet.c: Likewise.
51816         * tests/test-array_list.c: Likewise.
51817         * tests/test-array_oset.c: Likewise.
51818         * tests/test-atexit.c: Likewise.
51819         * tests/test-avltree_list.c: Likewise.
51820         * tests/test-avltree_oset.c: Likewise.
51821         * tests/test-avltreehash_list.c: Likewise.
51822         * tests/test-base64.c: Likewise.
51823         * tests/test-binary-io.c: Likewise.
51824         * tests/test-byteswap.c: Likewise.
51825         * tests/test-c-ctype.c: Likewise.
51826         * tests/test-c-strcasecmp.c: Likewise.
51827         * tests/test-c-strcasestr.c: Likewise.
51828         * tests/test-c-strncasecmp.c: Likewise.
51829         * tests/test-c-strstr.c: Likewise.
51830         * tests/test-canonicalize-lgpl.c: Likewise.
51831         * tests/test-canonicalize.c: Likewise.
51832         * tests/test-carray_list.c: Likewise.
51833         * tests/test-ceilf.c: Likewise.
51834         * tests/test-ceill.c: Likewise.
51835         * tests/test-count-one-bits.c: Likewise.
51836         * tests/test-crc.c: Likewise.
51837         * tests/test-dirname.c: Likewise.
51838         * tests/test-fbufmode.c: Likewise.
51839         * tests/test-fcntl.c: Likewise.
51840         * tests/test-fflush.c: Likewise.
51841         * tests/test-floorf.c: Likewise.
51842         * tests/test-floorl.c: Likewise.
51843         * tests/test-fopen.c: Likewise.
51844         * tests/test-fprintf-posix.c: Likewise.
51845         * tests/test-fprintf-posix.h: Likewise.
51846         * tests/test-fpurge.c: Likewise.
51847         * tests/test-freadable.c: Likewise.
51848         * tests/test-freadahead.c: Likewise.
51849         * tests/test-freading.c: Likewise.
51850         * tests/test-freopen.c: Likewise.
51851         * tests/test-frexp.c: Likewise.
51852         * tests/test-frexpl.c: Likewise.
51853         * tests/test-fseek.c: Likewise.
51854         * tests/test-fseeko.c: Likewise.
51855         * tests/test-fseterr.c: Likewise.
51856         * tests/test-fstrcmp.c: Likewise.
51857         * tests/test-ftell.c: Likewise.
51858         * tests/test-ftello.c: Likewise.
51859         * tests/test-fwritable.c: Likewise.
51860         * tests/test-fwriting.c: Likewise.
51861         * tests/test-getaddrinfo.c: Likewise.
51862         * tests/test-getpass.c: Likewise.
51863         * tests/test-gettimeofday.c: Likewise.
51864         * tests/test-hmac-md5.c: Likewise.
51865         * tests/test-hmac-sha1.c: Likewise.
51866         * tests/test-iconv.c: Likewise.
51867         * tests/test-iconvme.c: Likewise.
51868         * tests/test-inttypes.c: Likewise.
51869         * tests/test-isnan.c: Likewise.
51870         * tests/test-isnanf.c: Likewise.
51871         * tests/test-isnanl-nolibm.c: Likewise.
51872         * tests/test-isnanl.c: Likewise.
51873         * tests/test-isnanl.h: Likewise.
51874         * tests/test-ldexpl.c: Likewise.
51875         * tests/test-linked_list.c: Likewise.
51876         * tests/test-linkedhash_list.c: Likewise.
51877         * tests/test-locale.c: Likewise.
51878         * tests/test-localename.c: Likewise.
51879         * tests/test-lock.c: Likewise.
51880         * tests/test-lseek.c: Likewise.
51881         * tests/test-malloca.c: Likewise.
51882         * tests/test-math.c: Likewise.
51883         * tests/test-mbscasecmp.c: Likewise.
51884         * tests/test-mbscasestr1.c: Likewise.
51885         * tests/test-mbscasestr2.c: Likewise.
51886         * tests/test-mbscasestr3.c: Likewise.
51887         * tests/test-mbscasestr4.c: Likewise.
51888         * tests/test-mbschr.c: Likewise.
51889         * tests/test-mbscspn.c: Likewise.
51890         * tests/test-mbsncasecmp.c: Likewise.
51891         * tests/test-mbspbrk.c: Likewise.
51892         * tests/test-mbspcasecmp.c: Likewise.
51893         * tests/test-mbsrchr.c: Likewise.
51894         * tests/test-mbsspn.c: Likewise.
51895         * tests/test-mbsstr1.c: Likewise.
51896         * tests/test-mbsstr2.c: Likewise.
51897         * tests/test-mbsstr3.c: Likewise.
51898         * tests/test-md5.c: Likewise.
51899         * tests/test-memmem.c: Likewise.
51900         * tests/test-netinet_in.c: Likewise.
51901         * tests/test-open.c: Likewise.
51902         * tests/test-printf-frexp.c: Likewise.
51903         * tests/test-printf-frexpl.c: Likewise.
51904         * tests/test-printf-posix.c: Likewise.
51905         * tests/test-printf-posix.h: Likewise.
51906         * tests/test-rbtree_list.c: Likewise.
51907         * tests/test-rbtree_oset.c: Likewise.
51908         * tests/test-rbtreehash_list.c: Likewise.
51909         * tests/test-read-file.c: Likewise.
51910         * tests/test-rijndael.c: Likewise.
51911         * tests/test-search.c: Likewise.
51912         * tests/test-signbit.c: Likewise.
51913         * tests/test-sleep.c: Likewise.
51914         * tests/test-snprintf-posix.c: Likewise.
51915         * tests/test-snprintf-posix.h: Likewise.
51916         * tests/test-snprintf.c: Likewise.
51917         * tests/test-sprintf-posix.c: Likewise.
51918         * tests/test-sprintf-posix.h: Likewise.
51919         * tests/test-stat-time.c: Likewise.
51920         * tests/test-stdbool.c: Likewise.
51921         * tests/test-stdint.c: Likewise.
51922         * tests/test-stdio.c: Likewise.
51923         * tests/test-stdlib.c: Likewise.
51924         * tests/test-stpncpy.c: Likewise.
51925         * tests/test-strcasestr.c: Likewise.
51926         * tests/test-striconv.c: Likewise.
51927         * tests/test-striconveh.c: Likewise.
51928         * tests/test-striconveha.c: Likewise.
51929         * tests/test-string.c: Likewise.
51930         * tests/test-sys_select.c: Likewise.
51931         * tests/test-sys_socket.c: Likewise.
51932         * tests/test-sys_stat.c: Likewise.
51933         * tests/test-sys_time.c: Likewise.
51934         * tests/test-sysexits.c: Likewise.
51935         * tests/test-time.c: Likewise.
51936         * tests/test-tls.c: Likewise.
51937         * tests/test-trunc.c: Likewise.
51938         * tests/test-truncf.c: Likewise.
51939         * tests/test-truncl.c: Likewise.
51940         * tests/test-unistd.c: Likewise.
51941         * tests/test-vasnprintf-posix.c: Likewise.
51942         * tests/test-vasnprintf-posix2.c: Likewise.
51943         * tests/test-vasnprintf.c: Likewise.
51944         * tests/test-vasprintf-posix.c: Likewise.
51945         * tests/test-vasprintf.c: Likewise.
51946         * tests/test-verify.c: Likewise.
51947         * tests/test-vfprintf-posix.c: Likewise.
51948         * tests/test-vprintf-posix.c: Likewise.
51949         * tests/test-vsnprintf-posix.c: Likewise.
51950         * tests/test-vsnprintf.c: Likewise.
51951         * tests/test-vsprintf-posix.c: Likewise.
51952         * tests/test-wchar.c: Likewise.
51953         * tests/test-wctype.c: Likewise.
51954         * tests/test-wcwidth.c: Likewise.
51955         * tests/test-xstrtol.c: Likewise.
51956         * tests/test-xvasprintf.c: Likewise.
51957         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
51958         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
51959         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51960         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51961         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51962         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
51963         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51964         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51965         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51966         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
51967         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51968         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51969         * tests/uniname/test-uninames.c: Likewise.
51970         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
51971         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
51972         * tests/unistdio/test-u16-printf1.h: Likewise.
51973         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
51974         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
51975         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
51976         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
51977         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
51978         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
51979         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
51980         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
51981         * tests/unistdio/test-u32-printf1.h: Likewise.
51982         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
51983         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
51984         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
51985         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
51986         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
51987         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
51988         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
51989         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
51990         * tests/unistdio/test-u8-printf1.h: Likewise.
51991         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
51992         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
51993         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
51994         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
51995         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
51996         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
51997         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
51998         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
51999         * tests/unistdio/test-ulc-printf1.h: Likewise.
52000         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
52001         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
52002         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
52003         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
52004         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
52005         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
52006         * tests/uniwidth/test-u16-strwidth.c: Likewise.
52007         * tests/uniwidth/test-u16-width.c: Likewise.
52008         * tests/uniwidth/test-u32-strwidth.c: Likewise.
52009         * tests/uniwidth/test-u32-width.c: Likewise.
52010         * tests/uniwidth/test-u8-strwidth.c: Likewise.
52011         * tests/uniwidth/test-u8-width.c: Likewise.
52012         * tests/uniwidth/test-uc_width.c: Likewise.
52013         * config/srclist-update: Likewise.
52014         (fixlicense): Update to GPLv3+.
52015
52016         Change copyright notice from LGPLv2.1+ to LGPLv3+.
52017         * tests/test-tsearch.c: Change copyright notice.
52018
52019         Change copyright notice from LGPLv2.0+ to LGPLv3+.
52020         * lib/c-strcaseeq.h: Change copyright notice.
52021         * lib/streq.h: Likewise.
52022         * lib/uniconv.h: Likewise.
52023         * lib/uniconv/u-conv-from-enc.h: Likewise.
52024         * lib/uniconv/u-conv-to-enc.h: Likewise.
52025         * lib/uniconv/u-strconv-from-enc.h: Likewise.
52026         * lib/uniconv/u-strconv-to-enc.h: Likewise.
52027         * lib/uniconv/u16-conv-from-enc.c: Likewise.
52028         * lib/uniconv/u16-conv-to-enc.c: Likewise.
52029         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
52030         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
52031         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
52032         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
52033         * lib/uniconv/u32-conv-from-enc.c: Likewise.
52034         * lib/uniconv/u32-conv-to-enc.c: Likewise.
52035         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
52036         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
52037         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
52038         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
52039         * lib/uniconv/u8-conv-from-enc.c: Likewise.
52040         * lib/uniconv/u8-conv-to-enc.c: Likewise.
52041         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
52042         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
52043         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
52044         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
52045         * lib/uniname.h: Likewise.
52046         * lib/uniname/uniname.c: Likewise.
52047         * lib/unistdio.h: Likewise.
52048         * lib/unistdio/u-asnprintf.h: Likewise.
52049         * lib/unistdio/u-asprintf.h: Likewise.
52050         * lib/unistdio/u-printf-args.c: Likewise.
52051         * lib/unistdio/u-printf-args.h: Likewise.
52052         * lib/unistdio/u-printf-parse.h: Likewise.
52053         * lib/unistdio/u-snprintf.h: Likewise.
52054         * lib/unistdio/u-sprintf.h: Likewise.
52055         * lib/unistdio/u-vasprintf.h: Likewise.
52056         * lib/unistdio/u-vsnprintf.h: Likewise.
52057         * lib/unistdio/u-vsprintf.h: Likewise.
52058         * lib/unistdio/u16-asnprintf.c: Likewise.
52059         * lib/unistdio/u16-asprintf.c: Likewise.
52060         * lib/unistdio/u16-printf-parse.c: Likewise.
52061         * lib/unistdio/u16-snprintf.c: Likewise.
52062         * lib/unistdio/u16-sprintf.c: Likewise.
52063         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
52064         * lib/unistdio/u16-u16-asprintf.c: Likewise.
52065         * lib/unistdio/u16-u16-snprintf.c: Likewise.
52066         * lib/unistdio/u16-u16-sprintf.c: Likewise.
52067         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
52068         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
52069         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
52070         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
52071         * lib/unistdio/u16-vasnprintf.c: Likewise.
52072         * lib/unistdio/u16-vasprintf.c: Likewise.
52073         * lib/unistdio/u16-vsnprintf.c: Likewise.
52074         * lib/unistdio/u16-vsprintf.c: Likewise.
52075         * lib/unistdio/u32-asnprintf.c: Likewise.
52076         * lib/unistdio/u32-asprintf.c: Likewise.
52077         * lib/unistdio/u32-printf-parse.c: Likewise.
52078         * lib/unistdio/u32-snprintf.c: Likewise.
52079         * lib/unistdio/u32-sprintf.c: Likewise.
52080         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
52081         * lib/unistdio/u32-u32-asprintf.c: Likewise.
52082         * lib/unistdio/u32-u32-snprintf.c: Likewise.
52083         * lib/unistdio/u32-u32-sprintf.c: Likewise.
52084         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
52085         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
52086         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
52087         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
52088         * lib/unistdio/u32-vasnprintf.c: Likewise.
52089         * lib/unistdio/u32-vasprintf.c: Likewise.
52090         * lib/unistdio/u32-vsnprintf.c: Likewise.
52091         * lib/unistdio/u32-vsprintf.c: Likewise.
52092         * lib/unistdio/u8-asnprintf.c: Likewise.
52093         * lib/unistdio/u8-asprintf.c: Likewise.
52094         * lib/unistdio/u8-printf-parse.c: Likewise.
52095         * lib/unistdio/u8-snprintf.c: Likewise.
52096         * lib/unistdio/u8-sprintf.c: Likewise.
52097         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
52098         * lib/unistdio/u8-u8-asprintf.c: Likewise.
52099         * lib/unistdio/u8-u8-snprintf.c: Likewise.
52100         * lib/unistdio/u8-u8-sprintf.c: Likewise.
52101         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
52102         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
52103         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
52104         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
52105         * lib/unistdio/u8-vasnprintf.c: Likewise.
52106         * lib/unistdio/u8-vasprintf.c: Likewise.
52107         * lib/unistdio/u8-vsnprintf.c: Likewise.
52108         * lib/unistdio/u8-vsprintf.c: Likewise.
52109         * lib/unistdio/ulc-asnprintf.c: Likewise.
52110         * lib/unistdio/ulc-asprintf.c: Likewise.
52111         * lib/unistdio/ulc-printf-parse.c: Likewise.
52112         * lib/unistdio/ulc-snprintf.c: Likewise.
52113         * lib/unistdio/ulc-sprintf.c: Likewise.
52114         * lib/unistdio/ulc-vasnprintf.c: Likewise.
52115         * lib/unistdio/ulc-vasprintf.c: Likewise.
52116         * lib/unistdio/ulc-vsnprintf.c: Likewise.
52117         * lib/unistdio/ulc-vsprintf.c: Likewise.
52118         * lib/unistr.h: Likewise.
52119         * lib/unistr/u-cpy-alloc.h: Likewise.
52120         * lib/unistr/u-cpy.h: Likewise.
52121         * lib/unistr/u-endswith.h: Likewise.
52122         * lib/unistr/u-move.h: Likewise.
52123         * lib/unistr/u-set.h: Likewise.
52124         * lib/unistr/u-startswith.h: Likewise.
52125         * lib/unistr/u-stpcpy.h: Likewise.
52126         * lib/unistr/u-stpncpy.h: Likewise.
52127         * lib/unistr/u-strcat.h: Likewise.
52128         * lib/unistr/u-strcpy.h: Likewise.
52129         * lib/unistr/u-strcspn.h: Likewise.
52130         * lib/unistr/u-strdup.h: Likewise.
52131         * lib/unistr/u-strlen.h: Likewise.
52132         * lib/unistr/u-strncat.h: Likewise.
52133         * lib/unistr/u-strncpy.h: Likewise.
52134         * lib/unistr/u-strnlen.h: Likewise.
52135         * lib/unistr/u-strpbrk.h: Likewise.
52136         * lib/unistr/u-strspn.h: Likewise.
52137         * lib/unistr/u-strstr.h: Likewise.
52138         * lib/unistr/u-strtok.h: Likewise.
52139         * lib/unistr/u16-check.c: Likewise.
52140         * lib/unistr/u16-chr.c: Likewise.
52141         * lib/unistr/u16-cmp.c: Likewise.
52142         * lib/unistr/u16-cpy-alloc.c: Likewise.
52143         * lib/unistr/u16-cpy.c: Likewise.
52144         * lib/unistr/u16-endswith.c: Likewise.
52145         * lib/unistr/u16-mblen.c: Likewise.
52146         * lib/unistr/u16-mbsnlen.c: Likewise.
52147         * lib/unistr/u16-mbtouc-aux.c: Likewise.
52148         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
52149         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
52150         * lib/unistr/u16-mbtouc.c: Likewise.
52151         * lib/unistr/u16-mbtoucr.c: Likewise.
52152         * lib/unistr/u16-move.c: Likewise.
52153         * lib/unistr/u16-next.c: Likewise.
52154         * lib/unistr/u16-prev.c: Likewise.
52155         * lib/unistr/u16-set.c: Likewise.
52156         * lib/unistr/u16-startswith.c: Likewise.
52157         * lib/unistr/u16-stpcpy.c: Likewise.
52158         * lib/unistr/u16-stpncpy.c: Likewise.
52159         * lib/unistr/u16-strcat.c: Likewise.
52160         * lib/unistr/u16-strchr.c: Likewise.
52161         * lib/unistr/u16-strcmp.c: Likewise.
52162         * lib/unistr/u16-strcpy.c: Likewise.
52163         * lib/unistr/u16-strcspn.c: Likewise.
52164         * lib/unistr/u16-strdup.c: Likewise.
52165         * lib/unistr/u16-strlen.c: Likewise.
52166         * lib/unistr/u16-strmblen.c: Likewise.
52167         * lib/unistr/u16-strmbtouc.c: Likewise.
52168         * lib/unistr/u16-strncat.c: Likewise.
52169         * lib/unistr/u16-strncmp.c: Likewise.
52170         * lib/unistr/u16-strncpy.c: Likewise.
52171         * lib/unistr/u16-strnlen.c: Likewise.
52172         * lib/unistr/u16-strpbrk.c: Likewise.
52173         * lib/unistr/u16-strrchr.c: Likewise.
52174         * lib/unistr/u16-strspn.c: Likewise.
52175         * lib/unistr/u16-strstr.c: Likewise.
52176         * lib/unistr/u16-strtok.c: Likewise.
52177         * lib/unistr/u16-to-u32.c: Likewise.
52178         * lib/unistr/u16-to-u8.c: Likewise.
52179         * lib/unistr/u16-uctomb-aux.c: Likewise.
52180         * lib/unistr/u16-uctomb.c: Likewise.
52181         * lib/unistr/u32-check.c: Likewise.
52182         * lib/unistr/u32-chr.c: Likewise.
52183         * lib/unistr/u32-cmp.c: Likewise.
52184         * lib/unistr/u32-cpy-alloc.c: Likewise.
52185         * lib/unistr/u32-cpy.c: Likewise.
52186         * lib/unistr/u32-endswith.c: Likewise.
52187         * lib/unistr/u32-mblen.c: Likewise.
52188         * lib/unistr/u32-mbsnlen.c: Likewise.
52189         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
52190         * lib/unistr/u32-mbtouc.c: Likewise.
52191         * lib/unistr/u32-mbtoucr.c: Likewise.
52192         * lib/unistr/u32-move.c: Likewise.
52193         * lib/unistr/u32-next.c: Likewise.
52194         * lib/unistr/u32-prev.c: Likewise.
52195         * lib/unistr/u32-set.c: Likewise.
52196         * lib/unistr/u32-startswith.c: Likewise.
52197         * lib/unistr/u32-stpcpy.c: Likewise.
52198         * lib/unistr/u32-stpncpy.c: Likewise.
52199         * lib/unistr/u32-strcat.c: Likewise.
52200         * lib/unistr/u32-strchr.c: Likewise.
52201         * lib/unistr/u32-strcmp.c: Likewise.
52202         * lib/unistr/u32-strcpy.c: Likewise.
52203         * lib/unistr/u32-strcspn.c: Likewise.
52204         * lib/unistr/u32-strdup.c: Likewise.
52205         * lib/unistr/u32-strlen.c: Likewise.
52206         * lib/unistr/u32-strmblen.c: Likewise.
52207         * lib/unistr/u32-strmbtouc.c: Likewise.
52208         * lib/unistr/u32-strncat.c: Likewise.
52209         * lib/unistr/u32-strncmp.c: Likewise.
52210         * lib/unistr/u32-strncpy.c: Likewise.
52211         * lib/unistr/u32-strnlen.c: Likewise.
52212         * lib/unistr/u32-strpbrk.c: Likewise.
52213         * lib/unistr/u32-strrchr.c: Likewise.
52214         * lib/unistr/u32-strspn.c: Likewise.
52215         * lib/unistr/u32-strstr.c: Likewise.
52216         * lib/unistr/u32-strtok.c: Likewise.
52217         * lib/unistr/u32-to-u16.c: Likewise.
52218         * lib/unistr/u32-to-u8.c: Likewise.
52219         * lib/unistr/u32-uctomb.c: Likewise.
52220         * lib/unistr/u8-check.c: Likewise.
52221         * lib/unistr/u8-chr.c: Likewise.
52222         * lib/unistr/u8-cmp.c: Likewise.
52223         * lib/unistr/u8-cpy-alloc.c: Likewise.
52224         * lib/unistr/u8-cpy.c: Likewise.
52225         * lib/unistr/u8-endswith.c: Likewise.
52226         * lib/unistr/u8-mblen.c: Likewise.
52227         * lib/unistr/u8-mbsnlen.c: Likewise.
52228         * lib/unistr/u8-mbtouc-aux.c: Likewise.
52229         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
52230         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
52231         * lib/unistr/u8-mbtouc.c: Likewise.
52232         * lib/unistr/u8-mbtoucr.c: Likewise.
52233         * lib/unistr/u8-move.c: Likewise.
52234         * lib/unistr/u8-next.c: Likewise.
52235         * lib/unistr/u8-prev.c: Likewise.
52236         * lib/unistr/u8-set.c: Likewise.
52237         * lib/unistr/u8-startswith.c: Likewise.
52238         * lib/unistr/u8-stpcpy.c: Likewise.
52239         * lib/unistr/u8-stpncpy.c: Likewise.
52240         * lib/unistr/u8-strcat.c: Likewise.
52241         * lib/unistr/u8-strchr.c: Likewise.
52242         * lib/unistr/u8-strcmp.c: Likewise.
52243         * lib/unistr/u8-strcpy.c: Likewise.
52244         * lib/unistr/u8-strcspn.c: Likewise.
52245         * lib/unistr/u8-strdup.c: Likewise.
52246         * lib/unistr/u8-strlen.c: Likewise.
52247         * lib/unistr/u8-strmblen.c: Likewise.
52248         * lib/unistr/u8-strmbtouc.c: Likewise.
52249         * lib/unistr/u8-strncat.c: Likewise.
52250         * lib/unistr/u8-strncmp.c: Likewise.
52251         * lib/unistr/u8-strncpy.c: Likewise.
52252         * lib/unistr/u8-strnlen.c: Likewise.
52253         * lib/unistr/u8-strpbrk.c: Likewise.
52254         * lib/unistr/u8-strrchr.c: Likewise.
52255         * lib/unistr/u8-strspn.c: Likewise.
52256         * lib/unistr/u8-strstr.c: Likewise.
52257         * lib/unistr/u8-strtok.c: Likewise.
52258         * lib/unistr/u8-to-u16.c: Likewise.
52259         * lib/unistr/u8-to-u32.c: Likewise.
52260         * lib/unistr/u8-uctomb-aux.c: Likewise.
52261         * lib/unistr/u8-uctomb.c: Likewise.
52262         * lib/unitypes.h: Likewise.
52263         * lib/uniwidth.h: Likewise.
52264         * lib/uniwidth/cjk.h: Likewise.
52265         * lib/uniwidth/u16-strwidth.c: Likewise.
52266         * lib/uniwidth/u16-width.c: Likewise.
52267         * lib/uniwidth/u32-strwidth.c: Likewise.
52268         * lib/uniwidth/u32-width.c: Likewise.
52269         * lib/uniwidth/u8-strwidth.c: Likewise.
52270         * lib/uniwidth/u8-width.c: Likewise.
52271         * lib/uniwidth/width.c: Likewise.
52272
52273 2007-10-07  Bruno Haible  <bruno@clisp.org>
52274
52275         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
52276         The file is still under LGPL (see modules/inttypes).
52277
52278 2007-10-06  Bruno Haible  <bruno@clisp.org>
52279
52280         * modules/trunc (Dependencies): Add 'extensions'.
52281         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
52282         Reported by Ben Pfaff <blp@gnu.org>.
52283
52284 2007-10-06  Bruno Haible  <bruno@clisp.org>
52285
52286         * modules/freopen-tests: New file.
52287         * tests/test-freopen.c: New file.
52288
52289         * modules/fopen-tests: New file.
52290         * tests/test-fopen.c: New file.
52291
52292         * modules/fopen: New file.
52293         * lib/fopen.c: New file.
52294         * m4/fopen.m4: New file.
52295         * modules/freopen: New file.
52296         * lib/freopen.c: New file.
52297         * m4/freopen.m4: New file.
52298         * lib/stdio.in.h (fopen, freopen): New declarations.
52299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
52300         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
52301         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
52302         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
52303         * doc/functions/fopen.texi: Mention the 'fopen' module.
52304         * doc/functions/freopen.texi: Mention the 'freopen' module.
52305
52306 2007-10-06  Bruno Haible  <bruno@clisp.org>
52307
52308         * modules/open-tests: New file.
52309         * tests/test-open.c: New file.
52310
52311         * modules/open: New file.
52312         * lib/open.c: New file.
52313         * m4/open.m4: New file.
52314         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
52315         lib/open.c does.
52316         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
52317         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
52318         macros.
52319         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
52320         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
52321         REPLACE_OPEN.
52322         * doc/functions/open.texi: Mention the 'open' module.
52323
52324 2007-10-04  Bruno Haible  <bruno@clisp.org>
52325
52326         * modules/ceill-tests: New file.
52327         * tests/test-ceill.c: New file.
52328
52329         * modules/ceill: New file.
52330         * lib/ceill.c: Replace entire file.
52331         * m4/ceill.m4: New file.
52332         * lib/math.in.h (ceill): Replace declaration.
52333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
52334         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
52335         * doc/functions/ceill.texi: Mention the 'ceill' module.
52336         * modules/mathl (Files): Remove lib/ceill.c.
52337         (Depends-on): Add ceill.
52338
52339 2007-10-04  Bruno Haible  <bruno@clisp.org>
52340
52341         * modules/ceilf-tests: New file.
52342         * tests/test-ceilf.c: New file.
52343
52344         * modules/ceilf: New file.
52345         * lib/ceil.c: New file.
52346         * lib/ceilf.c: New file.
52347         * m4/ceilf.m4: New file.
52348         * lib/math.in.h (ceilf): New declaration.
52349         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
52350         HAVE_DECL_CEILF.
52351         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
52352         HAVE_DECL_CEILF.
52353         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
52354
52355 2007-10-04  Bruno Haible  <bruno@clisp.org>
52356
52357         * modules/floorl-tests: New file.
52358         * tests/test-floorl.c: New file.
52359
52360         * modules/floorl: New file.
52361         * lib/floorl.c: Replace entire file.
52362         * m4/floorl.m4: New file.
52363         * lib/math.in.h (floorl): Replace declaration.
52364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
52365         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
52366         * doc/functions/floorl.texi: Mention the 'floorl' module.
52367         * modules/mathl (Files): Remove lib/floorl.c.
52368         (Depends-on): Add floorl.
52369
52370 2007-10-04  Bruno Haible  <bruno@clisp.org>
52371
52372         * modules/floorf-tests: New file.
52373         * tests/test-floorf.c: New file.
52374
52375         * modules/floorf: New file.
52376         * lib/floor.c: New file.
52377         * lib/floorf.c: New file.
52378         * m4/floorf.m4: New file.
52379         * lib/math.in.h (floorf): New declaration.
52380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
52381         HAVE_DECL_FLOORF.
52382         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
52383         HAVE_DECL_FLOORF.
52384         * doc/functions/floorf.texi: Mention the 'floorf' module.
52385
52386 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
52387             Bruno Haible  <bruno@clisp.org>
52388
52389         Advertise for the Git server instead of the CVS server.
52390         * doc/gnulib-intro.texi (Steady Development): Mention the Git
52391         repository instead of the CVS one.
52392         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
52393         about all VCS systems generically.
52394         * doc/gnulib.texi (Introduction): Capitalize `Git'.
52395
52396 2007-10-04  Bruno Haible  <bruno@clisp.org>
52397
52398         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
52399         means.
52400         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
52401
52402 2007-10-04  Bruno Haible  <bruno@clisp.org>
52403
52404         * modules/truncl-tests: New file.
52405         * tests/test-truncl.c: New file.
52406
52407         * modules/truncl: New file.
52408         * lib/truncl.c: New file.
52409         * m4/truncl.m4: New file.
52410         * lib/math.in.h (truncl): New declaration.
52411         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
52412         HAVE_DECL_TRUNCL.
52413         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
52414         HAVE_DECL_TRUNCL.
52415         * doc/functions/truncl.texi: Mention the 'truncl' module.
52416
52417 2007-10-04  Bruno Haible  <bruno@clisp.org>
52418
52419         * modules/truncf-tests: New file.
52420         * tests/test-truncf.c: New file.
52421
52422         * modules/truncf: New file.
52423         * lib/trunc.c: Make paramerizable through USE_* macros.
52424         * lib/truncf.c: New file.
52425         * m4/truncf.m4: New file.
52426         * lib/math.in.h (truncf): New declaration.
52427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
52428         HAVE_DECL_TRUNCF.
52429         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
52430         HAVE_DECL_TRUNCF.
52431         * doc/functions/truncf.texi: Mention the 'truncf' module.
52432
52433 2007-10-03  Bruno Haible  <bruno@clisp.org>
52434
52435         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
52436         augmentation also for tests modules.
52437         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
52438         * modules/atexit-tests (Makefile.am): Likewise.
52439         * modules/binary-io-tests (Makefile.am): Likewise.
52440         * modules/c-strcase-tests (Makefile.am): Likewise.
52441         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
52442         * modules/canonicalize-tests (Makefile.am): Likewise.
52443         * modules/closein-tests (Makefile.am): Likewise.
52444         * modules/fprintf-posix-tests (Makefile.am): Likewise.
52445         * modules/freadahead-tests (Makefile.am): Likewise.
52446         * modules/fseek-tests (Makefile.am): Likewise.
52447         * modules/fseeko-tests (Makefile.am): Likewise.
52448         * modules/ftell-tests (Makefile.am): Likewise.
52449         * modules/ftello-tests (Makefile.am): Likewise.
52450         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
52451         * modules/isnanl-tests (Makefile.am): Likewise.
52452         * modules/lseek-tests (Makefile.am): Likewise.
52453         * modules/mbscasecmp-tests (Makefile.am): Likewise.
52454         * modules/mbscasestr-tests (Makefile.am): Likewise.
52455         * modules/mbschr-tests (Makefile.am): Likewise.
52456         * modules/mbscspn-tests (Makefile.am): Likewise.
52457         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
52458         * modules/mbspbrk-tests (Makefile.am): Likewise.
52459         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
52460         * modules/mbsrchr-tests (Makefile.am): Likewise.
52461         * modules/mbsspn-tests (Makefile.am): Likewise.
52462         * modules/mbsstr-tests (Makefile.am): Likewise.
52463         * modules/printf-posix-tests (Makefile.am): Likewise.
52464         * modules/snprintf-posix-tests (Makefile.am): Likewise.
52465         * modules/sprintf-posix-tests (Makefile.am): Likewise.
52466         * modules/tsearch-tests (Makefile.am): Likewise.
52467         * modules/uniname/uniname-tests (Makefile.am): Likewise.
52468         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
52469         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
52470         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
52471         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
52472         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
52473         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
52474         * modules/vprintf-posix-tests (Makefile.am): Likewise.
52475         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
52476         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
52477         * modules/xstrtoimax-tests (Makefile.am): Likewise.
52478         * modules/xstrtol-tests (Makefile.am): Likewise.
52479         * modules/xstrtoumax-tests (Makefile.am): Likewise.
52480         * modules/yesno-tests (Makefile.am): Likewise.
52481
52482 2007-10-03  Bruno Haible  <bruno@clisp.org>
52483
52484         * modules/trunc-tests: New file.
52485         * tests/test-trunc.c: New file.
52486
52487         * modules/trunc: New file.
52488         * lib/trunc.c: New file.
52489         * m4/trunc.m4: New file.
52490         * lib/math.in.h (trunc): New declaration.
52491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
52492         HAVE_DECL_TRUNC.
52493         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
52494         HAVE_DECL_TRUNC.
52495         * doc/functions/trunc.texi: Mention the 'trunc' module.
52496
52497 2007-10-03  Bruno Haible  <bruno@clisp.org>
52498
52499         * tests/test-fpending.c: New file, mostly copied
52500         from coreutils/lib/t-fpending.c.
52501         * modules/fpending-tests: New file.
52502
52503 2007-10-03  Bruno Haible  <bruno@clisp.org>
52504
52505         Port the stdio extensions to QNX (untested).
52506         * lib/fseterr.c (fseterr): Add support for QNX.
52507         * lib/fbufmode.c (fbufmode): Likewise.
52508         * lib/freadable.c (freadable): Likewise.
52509         * lib/fwritable.c (fwritable): Likewise.
52510         * lib/freading.c (freading): Likewise.
52511         * lib/fwriting.c (fwriting): Likewise.
52512         * lib/freadahead.c (freadahed): Likewise.
52513         * lib/fpurge.c (fpurge): Likewise.
52514         * lib/fseeko.c (rpl_fseeko): Likewise.
52515
52516 2007-10-03  Bruno Haible  <bruno@clisp.org>
52517             Jim Meyering  <jim@meyering.net>
52518             Eric Blake  <ebb9@byu.net>
52519
52520         * doc/relocatable.texi: Use @command instead of @program.
52521
52522 2007-10-02  Jim Meyering  <jim@meyering.net>
52523
52524         Perform one more "_.h" -> ".in.h" substitution.
52525         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
52526         instead of unistd_.h here, too.
52527
52528 2007-10-01  Bruno Haible  <bruno@clisp.org>
52529
52530         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
52531         Needed for the alloca-opt module.
52532
52533 2007-09-30  Bruno Haible  <bruno@clisp.org>
52534
52535         * lib/alloca.in.h: Renamed from lib/alloca_.h.
52536         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
52537         alloca_.h.
52538         * lib/argz.in.h: Renamed from lib/argz_.h.
52539         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
52540         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
52541         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
52542         byteswap_.h.
52543         * lib/dirent.in.h: Renamed from lib/dirent_.h.
52544         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
52545         dirent_.h.
52546         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
52547         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
52548         fcntl_.h.
52549         * lib/float.in.h: Renamed from lib/float_.h.
52550         * modules/float (Files, Makefile.am): Use float.in.h instead of
52551         float_.h.
52552         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
52553         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
52554         fnmatch_.h.
52555         * lib/getopt.in.h: Renamed from lib/getopt_.h.
52556         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
52557         getopt_.h.
52558         * lib/glob.in.h: Renamed from lib/glob_.h.
52559         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
52560         * lib/iconv.in.h: Renamed from lib/iconv_.h.
52561         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
52562         iconv_.h.
52563         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
52564         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
52565         inttypes_.h.
52566         * lib/locale.in.h: Renamed from lib/locale_.h.
52567         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
52568         locale_.h.
52569         * lib/math.in.h: Renamed from lib/math_.h.
52570         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
52571         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
52572         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
52573         of netinet_in_.h. Add dependency.
52574         * lib/poll.in.h: Renamed from lib/poll_.h.
52575         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
52576         * lib/search.in.h: Renamed from lib/search_.h.
52577         * modules/search (Files, Makefile.am): Use search.in.h instead of
52578         search_.h.
52579         * lib/signal.in.h: Renamed from lib/signal_.h.
52580         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
52581         _signal.h.
52582         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
52583         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
52584         stdbool_.h.
52585         * lib/stdint.in.h: Renamed from lib/stdint_.h.
52586         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
52587         stdint_.h.
52588         * lib/stdio.in.h: Renamed from lib/stdio_.h.
52589         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
52590         stdio_.h.
52591         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
52592         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
52593         stdlib_.h.
52594         * lib/string.in.h: Renamed from lib/string_.h.
52595         * modules/string (Files, Makefile.am): Use string.in.h instead of
52596         string_.h.
52597         * doc/gnulib-tool.texi (Initial import): Update.
52598         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
52599         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
52600         of sys_select_.h. Add dependency.
52601         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
52602         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
52603         of sys_socket_.h.
52604         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
52605         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
52606         sys_stat_.h.
52607         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
52608         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
52609         sys_time_.h.
52610         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
52611         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
52612         sysexits_.h.
52613         * lib/time.in.h: Renamed from lib/time_.h.
52614         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
52615         * lib/unistd.in.h: Renamed from lib/unistd_.h.
52616         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
52617         unistd_.h.
52618         * lib/wchar.in.h: Renamed from lib/wchar_.h.
52619         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
52620         wchar_.h.
52621         * lib/wctype.in.h: Renamed from lib/wctype_.h.
52622         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
52623         wctype_.h.
52624         * build-aux/bootstrap (slurp): Update.
52625         * lib/.cppi-disable: Update.
52626
52627 2007-09-30  Bruno Haible  <bruno@clisp.org>
52628
52629         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
52630         Needed on BeOS.
52631
52632 2007-09-30  Bruno Haible  <bruno@clisp.org>
52633
52634         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
52635
52636 2007-09-29  Bruno Haible  <bruno@clisp.org>
52637
52638         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
52639
52640 2007-09-29  Bruno Haible  <bruno@clisp.org>
52641
52642         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
52643         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
52644         * build-aux/install-reloc: Compile also areadlink.c.
52645         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
52646
52647 2007-09-29  Bruno Haible  <bruno@clisp.org>
52648
52649         * gnulib-tool (func_emit_initmacro_done): Indentation.
52650
52651 2007-09-29  Bruno Haible  <bruno@clisp.org>
52652
52653         * README: Add CVS checkout update instructions.
52654         Info from Bob Proulx <bob@proulx.com>.
52655
52656 2007-09-28  Eric Blake  <ebb9@byu.net>
52657
52658         Provide move-if-change.
52659         * build-aux/move-if-change: New file, based on best practice
52660         rather than any canonical upstream location.
52661
52662 2007-09-28  Jim Meyering  <jim@meyering.net>
52663
52664         Fix canonicalize loop-detection corner case.
52665         Do not attempt to stat the symlink values stored via seen_triple.
52666         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
52667         on linux-2.6.18, (but not 2.6.22).
52668         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
52669         triple_compare.  The former compares dev,ino,filename, while the latter
52670         would actually stat dirname(filename) when dev and ino were equal.
52671         * lib/hash-triple.c: Install <string.h>.
52672         (STREQ): Define.
52673         (triple_compare_ino_str): New function.
52674         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
52675
52676 2007-09-28  Eric Blake  <ebb9@byu.net>
52677
52678         Enforce that AC_REPLACE_FUNCS files exist.
52679         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
52680         override check for typos.
52681
52682         Fix test-closein on Solaris 10.
52683         * tests/test-closein.c (main): Don't assume stdin can be inherited
52684         closed on all systems.
52685         * tests/test-closein.sh: Likewise.
52686         Reported by Piotr Tarnowski.
52687
52688 2007-09-28  Jim Meyering  <jim@meyering.net>
52689
52690         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
52691
52692 2007-09-27  Jim Meyering  <jim@meyering.net>
52693
52694         canonicalize: Avoid a false-positive cycle failure.
52695         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
52696         Sort.  Remove cycle-check.
52697         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
52698         not cycle-check.h.
52699         (seen_triple): New function.
52700         (canonicalize_filename_mode): Use it instead of cycle-check.
52701         * tests/test-canonicalize.c: Add a test for this bug.
52702         * tests/test-canonicalize.sh: Set up and run the test.
52703
52704         New module, file-set, from coreutils.
52705         * modules/file-set: Define it.
52706         * lib/file-set.c, lib/file-set.h: Implement.
52707
52708         New module, hash-triple, from coreutils.
52709         * modules/hash-triple: Define it.
52710         * lib/hash-triple.c, lib/hash-triple.h: Implement.
52711
52712 2007-09-25  Eric Blake  <ebb9@byu.net>
52713
52714         Fix strerror on Interix.
52715         * lib/string_.h (strerror): Declare replacement.
52716         * doc/functions/strerror.texi (strerror): Document the Interix
52717         shortcoming.
52718         * modules/string (Makefile.am): Support new hooks.
52719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
52720         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
52721         gl_FUNC_STRERROR_SEPARATE.
52722         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
52723         * lib/strerror.c (rpl_strerror): Provide replacement.
52724         * modules/strerror (Depends-on): Add string.
52725         (configure.ac): Detect use of module.
52726         * tests/test-strerror.c: New file.
52727         * modules/strerror-tests: New test module.
52728         * modules/argp (Depends-on): Add strerror.
52729         * modules/error (Depends-on): Likewise.
52730         Reported by Martin Koeppe.
52731
52732 2007-09-24  Bruno Haible  <bruno@clisp.org>
52733
52734         * README: Update git instructions.
52735
52736 2007-09-24  Eric Blake  <ebb9@byu.net>
52737
52738         Revert fpending breakage from 2007-09-08.
52739         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
52740         __fpending.c.
52741
52742 2007-09-24  Jim Meyering  <jim@meyering.net>
52743
52744         filenamecat.c: Add a test.
52745         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
52746         showing how the function works when DIR is the empty string.
52747
52748 2007-09-21  Simon Josefsson  <simon@josefsson.org>
52749
52750         * tests/test-canonicalize.sh: Turn on executable bit.
52751
52752 2007-09-19  Eric Blake  <ebb9@byu.net>
52753
52754         * README: Update CVS instructions.
52755
52756 2007-09-18  Bruno Haible  <bruno@clisp.org>
52757
52758         * modules/areadlink: New file.
52759         * lib/areadlink.h (areadlink): New declaration.
52760         * lib/areadlink.c: New file, based on lib/xreadlink.c.
52761
52762 2007-09-17  Jim Meyering  <jim@meyering.net>
52763
52764         * lib/savewd.c (ESTALE) [!defined]: Define.
52765         Reported to be required on Interix by Martin Koeppe.
52766
52767 2007-09-17  Bruno Haible  <bruno@clisp.org>
52768
52769         * gnulib-tool (func_version): Use $version.
52770
52771 2007-09-16  Bruno Haible  <bruno@clisp.org>
52772
52773         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
52774         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
52775         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
52776         Reported by Greg Schafer <gschafer@zip.com.au>.
52777
52778 2007-09-15  Bruno Haible  <bruno@clisp.org>
52779
52780         * gnulib-tool (sed): Try a little harder to make bash understand the
52781         alias.
52782         Reported by Bruce Korb <bruce.korb@gmail.com>.
52783
52784 2007-09-13  Eric Blake  <ebb9@byu.net>
52785
52786         * ChangeLog: Remove conflict markers.
52787
52788 2007-09-13  Simon Josefsson  <simon@josefsson.org>
52789
52790         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
52791         Reported by Bruno Haible <bruno@clisp.org>.
52792
52793 2007-09-12  Bruno Haible  <bruno@clisp.org>
52794
52795         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
52796         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
52797         is not defined.
52798
52799 2007-09-12  Eric Blake  <ebb9@byu.net>
52800
52801         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
52802         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
52803         Autoconf definition.
52804         * modules/euidaccess (Depends-on): Add extensions, for
52805         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
52806         * modules/fnmatch (Depends-on): Likewise.
52807         * modules/getaddrinfo (Depends-on): Likewise.
52808         * modules/getdelim (Depends-on): Likewise.
52809         * modules/getline (Depends-on): Likewise.
52810         * modules/getsubopt (Depends-on): Likewise.
52811         * modules/gettext (Depends-on): Likewise.
52812         * modules/group-member (Depends-on): Likewise.
52813         * modules/mbchar (Depends-on): Likewise.
52814         * modules/memmem (Depends-on): Likewise.
52815         * modules/mempcpy (Depends-on): Likewise.
52816         * modules/memrchr (Depends-on): Likewise.
52817         * modules/pagealign_alloc (Depends-on): Likewise.
52818         * modules/readutmp (Depends-on): Likewise.
52819         * modules/stpcpy (Depends-on): Likewise.
52820         * modules/stpncpy (Depends-on): Likewise.
52821         * modules/strchrnul (Depends-on): Likewise.
52822         * modules/strndup (Depends-on): Likewise.
52823         * modules/strsep (Depends-on): Likewise.
52824         * modules/strverscmp (Depends-on): Likewise.
52825         * modules/vasprintf (Depends-on): Likewise.
52826         * modules/wcwidth (Depends-on): Likewise.
52827         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
52828         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
52829         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
52830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
52831         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52832         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52833         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
52834         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
52835         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
52836         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
52837         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52838         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52839         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52840         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
52841         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
52842         * m4/readutmp.m4 (gl_READUTMP): Likewise.
52843         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52844         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52845         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52846         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52847         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52848         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52849         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52850         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
52851         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
52852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52853         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
52854         so that lock.m4 can be used in gettext without extensions module.
52855
52856 2007-09-11  Bruno Haible  <bruno@clisp.org>
52857
52858         * m4/isc-posix.m4: Remove file.
52859         Suggested by Eric Blake.
52860
52861 2007-09-11  Eric Blake  <ebb9@byu.net>
52862
52863         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
52864
52865 2007-09-10  Bruno Haible  <bruno@clisp.org>
52866
52867         * posix-modules: Fix typo in error message.
52868         Reported by Matt <mkraai@beckman.com>.
52869
52870 2007-09-09  Bruno Haible  <bruno@clisp.org>
52871
52872         * doc/functions/getdelim.texi: Update list of platforms lacking the
52873         function.
52874         * doc/functions/getline.texi: Likewise.
52875
52876 2007-09-09  Jim Meyering  <jim@meyering.net>
52877
52878         * lib/hash.c (hash_initialize): Detect calloc failure.
52879         Reported by Bruno Haible.
52880
52881 2007-09-09  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
52884         malloc or realloc fails.
52885
52886 2007-09-09  Bruno Haible  <bruno@clisp.org>
52887
52888         * modules/getcwd (Depends-on): Add malloc-posix.
52889         * modules/glob (Depends-on): Likewise.
52890         * modules/putenv (Depends-on): Likewise.
52891         * modules/strdup (Depends-on): Likewise.
52892         * modules/getdelim (Depends-on): Add realloc-posix.
52893         * modules/read-file (Depends-on): Likewise.
52894
52895 2007-09-09  Bruno Haible  <bruno@clisp.org>
52896
52897         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
52898         (gl_FUNC_MALLOC_POSIX): Require it.
52899         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
52900         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
52901         * modules/realloc (Files): Add m4/malloc.m4.
52902         * modules/calloc (Files): Likewise.
52903
52904 2007-09-09  Bruno Haible  <bruno@clisp.org>
52905
52906         * modules/malloc-posix: New file.
52907         * modules/malloc (Depends-on): Add malloc-posix.
52908         * lib/malloc.c: Include errno.h.
52909         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
52910         and a POSIX-compatible malloc into a single function. Set ENOMEM
52911         when returning NULL.
52912         * m4/malloc.m4: New file.
52913         * doc/functions/malloc.texi: Mention the malloc-posix module.
52914         * lib/stdlib_.h (malloc): New declaration.
52915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52916         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
52917         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
52918         and HAVE_MALLOC_POSIX.
52919
52920 2007-09-09  Bruno Haible  <bruno@clisp.org>
52921
52922         * modules/realloc-posix: New file.
52923         * modules/realloc (Depends-on): Add realloc-posix.
52924         * lib/realloc.c: Include errno.h.
52925         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
52926         and a POSIX-compatible realloc into a single function. Set ENOMEM
52927         when returning NULL.
52928         * m4/realloc.m4: New file.
52929         * doc/functions/realloc.texi: Mention the realloc-posix module.
52930         * lib/stdlib_.h (realloc): New declaration.
52931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52932         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
52933         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
52934         and HAVE_REALLOC_POSIX.
52935
52936 2007-09-09  Bruno Haible  <bruno@clisp.org>
52937
52938         * modules/calloc-posix: New file.
52939         * modules/calloc (Depends-on): Add calloc-posix.
52940         * lib/calloc.c: Include errno.h.
52941         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
52942         and a POSIX-compatible calloc into a single function. Set ENOMEM
52943         when returning NULL.
52944         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
52945         * doc/functions/calloc.texi: Mention the calloc-posix module.
52946         * lib/stdlib_.h (calloc): New declaration.
52947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52948         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
52949         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
52950         and HAVE_CALLOC_POSIX.
52951
52952 2007-09-09  Bruno Haible  <bruno@clisp.org>
52953
52954         Allow for modules to show an arbitrary notice.
52955         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
52956         * gnulib-tool: New option --extract-notice.
52957         (func_usage): Document it.
52958         (sed_extract_prog): Update.
52959         (func_get_notice): New function.
52960         (func_modules_notice): New function.
52961         (func_import, func_create_testdir): Invoke it.
52962         Suggested by Jim Meyering.
52963
52964 2007-09-09  Bruno Haible  <bruno@clisp.org>
52965
52966         * gnulib-tool: New options --verbose, --quiet.
52967         (func_usage): Document them.
52968         (verbose): New variable.
52969         (func_execute_command): New function.
52970         (func_import): Don't show the module list and the file list if
52971         $verbose < 0.
52972         (func_create_testdir): Likewise. Use func_execute_command.
52973         (func_create_megatestdir): Use func_execute_command.
52974
52975 2007-09-08  Bruno Haible  <bruno@clisp.org>
52976
52977         * gnulib-tool (func_import): Prefer rsync over wget when available,
52978         for fetching the PO files.
52979
52980 2007-09-08  Bruno Haible  <bruno@clisp.org>
52981
52982         * posix-modules: New file. Portions copied from gnulib-tool.
52983         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
52984
52985 2007-09-08  Jim Meyering  <jim@meyering.net>
52986
52987         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
52988         * lib/fpending.h: Rename from __fpending.h.
52989         * lib/fpending.c: Rename from __fpending.c.
52990         Include "fpending.h", not "__fpending.h".
52991         * lib/__fpending.h, lib/__fpending.c: Remove files.
52992         * modules/fpending (Files): Reflect new file names.
52993         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
52994
52995 2007-09-08  Bruno Haible  <bruno@clisp.org>
52996
52997         * m4/inttypes-h.m4: Remove stub file.
52998
52999 2007-09-07  Simon Josefsson  <simon@josefsson.org>
53000
53001         * doc/headers/stdint.texi: Discuss #include_next issue.
53002
53003 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53004
53005         * build-aux/bootstrap: Remove obsolete comment about wget --help.
53006
53007 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53008
53009         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
53010         in variable name.
53011
53012 2007-09-03  Jim Meyering  <jim@meyering.net>
53013
53014         New module: git-version-gen.
53015         * modules/git-version-gen: New file.
53016
53017         Import changes from coreutils for bootstrap script.
53018
53019         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
53020
53021         bootstrap: uses rsync to download the .po files
53022         * build-aux/bootstrap (po_download_command_format): New global.
53023         (download_po_files): Use rsync.
53024         (update_po_files): Don't remove .po files after download,
53025         so future rsync runs can take advantage of the copies.
53026
53027         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
53028
53029         Solve the unnecessary-.po-file-regeneration problem once and for all.
53030         * build-aux/bootstrap (download_po_files): New function, renamed from
53031         get_translations.  Now, downloads, but doesn't update LINGUAS.
53032         (update_po_files): New function.
53033
53034         bootstrap: Ignore more.
53035         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
53036         uniwidth to e.g., lib/.gitignore.
53037         (slurp): Handle the sys_stat_.h -> sys mapping, too.
53038
53039         * build-aux/bootstrap: New setting: vc_ignore.
53040         (insert_sorted_if_absent): Create $file if absent.
53041         Adapt to new, possibly empty, list: $vc_ignore.
53042
53043         bootstrap: generate more ignorable names
53044         * build-aux/bootstrap (slurp): When generating ignorable names,
53045         also map .sin to .sed, .gperf to .c, and .y to .c.
53046
53047 2007-09-03  Jim Meyering  <jim@meyering.net>
53048
53049         * build-aux/git-version-gen: New file, from coreutils.  For details, see
53050         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
53051
53052 2007-09-02  Bruno Haible  <bruno@clisp.org>
53053
53054         Fix mis-recognition of 'mcs' on QNX 6.
53055         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
53056         output contains the string "Mono".
53057         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
53058         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
53059
53060 2007-09-01  Bruno Haible  <bruno@clisp.org>
53061
53062         Fix collision between uniwidth/* and linebreak modules.
53063         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
53064         u32_width): Remove declarations.
53065         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
53066         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
53067         streq3, streq2, streq1, streq0): Remove functions.
53068         (STREQ): Remove macro.
53069         (is_cjk_encoding): Remove function.
53070         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
53071         (uc_width, u8_width, u16_width, u32_width): Remove functions.
53072         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
53073         * NEWS: Document the change.
53074
53075 2007-09-01  Bruno Haible  <bruno@clisp.org>
53076
53077         * lib/streq.h: Add double-inclusion guard.
53078
53079 2007-09-01  Karl Berry  <karl@gnu.org>
53080
53081         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
53082
53083 2007-08-28  Jim Meyering  <jim@meyering.net>
53084
53085         Rename mreadlink_with_size to areadlink_with_size.
53086         * NEWS: Document the change.
53087         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
53088         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
53089         * lib/mreadlink.h: Rename this to...
53090         * lib/areadlink.h: ...this.
53091         * modules/mreadlink-with-size: Rename this to...
53092         * modules/areadlink-with-size: ...this.
53093         * lib/canonicalize.c: Reflect the renaming.
53094         * modules/canonicalize: Likewise.
53095
53096 2007-08-26  Bruno Haible  <bruno@clisp.org>
53097
53098         * gnulib-tool (func_import): When deciding which files to remove,
53099         consider also dangling symbolic links.
53100         Reported by Eric Blake.
53101
53102 2007-08-26  Bruno Haible  <bruno@clisp.org>
53103
53104         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
53105
53106 2007-08-23  Simon Josefsson  <simon@josefsson.org>
53107
53108         * lib/readline.c: Don't include getline.h, the prototype is now
53109         found in stdio.h.
53110
53111 2007-08-23  Jim Meyering  <jim@meyering.net>
53112
53113         Getdelim touchup.
53114         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
53115         around the funlockfile call, since funlockfile never sets errno.
53116         Don't set errno upon failed realloc.
53117
53118 2007-08-22  Eric Blake  <ebb9@byu.net>
53119
53120         Getline touchups.
53121         * lib/getdelim.c (getdelim): Revert regression that required *n to
53122         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
53123         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
53124         getdelim, rather than whether implementation is missing.
53125         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
53126         * lib/stdio_.h (getline): Also declare if replacement is
53127         required.
53128         * doc/functions/getdelim.texi: New file.
53129         * doc/functions/getline.texi: Likewise.
53130         * doc/gnulib.texi (Function Substitutes): Add new files.
53131         Reported by Bruno Haible.
53132
53133 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
53134
53135         * users.txt: Add Guile.
53136
53137 2007-08-22  Eric Blake  <ebb9@byu.net>
53138
53139         * tests/test-getdelim.c (main): Use remove, not unlink.
53140         * tests/test-getline.c (main): Likewise.
53141
53142         Move getline and getdelim into stdio.h, per POSIX 200x.
53143         * modules/getline (Files): Remove getline.h.
53144         (Depends-on): Add stdio.
53145         (configure.ac): Add module indicator.
53146         * modules/getdelim (Files): Remove getdelim.h.
53147         (Depends-on): Add stdio.
53148         (configure.ac): Add module indicator.
53149         * modules/stdio (Makefile.am): Work with new indicators.
53150         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
53151         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
53152         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53153         * lib/getdelim.h: Delete.
53154         * lib/getline.h: Delete.
53155         * lib/stdio_.h (getdelim, getline): Declare.
53156         * modules/getdelim-tests: New module.
53157         * modules/getline-tests: Likewise.
53158         * tests/test-getdelim.c: New file.
53159         * tests/test-getline.c: Likewise.
53160         * NEWS: Document the change.
53161         * lib/getline.c: Update choice of header.
53162         * lib/csharpcomp.c: Likewise.
53163         * lib/getpass.c: Likewise.
53164         * lib/javacomp.c: Likewise.
53165         * lib/javaversion.c: Likewise.
53166         * lib/yesno.c: Likewise.
53167         * lib/getdelim.c: Likewise.
53168         (getdelim): Set errno on failure, and avoid memory leak.
53169
53170 2007-08-19  Bruno Haible  <bruno@clisp.org>
53171
53172         * modules/closein (Depends-on): Add freadahead.
53173         * lib/closein.c: Include freadahead.h.
53174         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
53175         is zero.
53176
53177 2007-08-19  Bruno Haible  <bruno@clisp.org>
53178
53179         * modules/freadahead-tests: New file.
53180         * tests/test-freadahead.sh: New file.
53181         * tests/test-freadahead.c: New file.
53182
53183         * modules/freadahead: New file.
53184         * lib/freadahead.h: New file.
53185         * lib/freadahead.c: New file.
53186         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
53187         fbufmode, fpurge, freadable, fwritable.
53188
53189 2007-08-19  Eric Blake  <ebb9@byu.net>
53190
53191         Test yesno in combination with closein.
53192         * lib/yesno.c (yesno): Document use of stdin.
53193         * modules/yesno-tests (Files): New module.
53194         * tests/test-yesno.c (main): New file.
53195         * tests/test-yesno.sh: Likewise.
53196
53197 2007-08-19  Bruno Haible  <bruno@clisp.org>
53198
53199         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
53200         * lib/fseeko.c (rpl_fseeko): Likewise.
53201         * lib/fseterr.c (fseterr): Likewise.
53202
53203 2007-08-19  Bruno Haible  <bruno@clisp.org>
53204
53205         * tests/test-lseek.c (main): Disable a test for BeOS.
53206         * doc/functions/lseek.texi: Document the BeOS bug.
53207
53208 2007-08-19  Bruno Haible  <bruno@clisp.org>
53209             Eric Blake  <ebb9@byu.net>
53210
53211         * lib/lseek.c: Include <sys/stat.h>.
53212         (rpl_lseek): Add workaround code also for Unix platforms.
53213         Needed for BeOS.
53214         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
53215         * doc/functions/lseek.texi: Document BeOS definiency.
53216
53217 2007-08-18  Bruno Haible  <bruno@clisp.org>
53218
53219         * modules/fstrcmp-tests: New file.
53220         * tests/test-fstrcmp.c: New file.
53221
53222 2007-08-18  Bruno Haible  <bruno@clisp.org>
53223
53224         * modules/fstrcmp: New file, from GNU gettext with modifications.
53225         * lib/fstrcmp.h: New file, from GNU gettext.
53226         * lib/fstrcmp.c: New file, from GNU gettext.
53227         * MODULES.html.sh (String handling): Add fstrcmp.
53228
53229 2007-08-18  Bruno Haible  <bruno@clisp.org>
53230
53231         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
53232         'bool'.
53233         (diag, compareseq): Remove const from the ctxt argument.
53234         (USE_HEURISTIC): Undefine at the end.
53235
53236 2007-08-18  Jim Meyering  <jim@meyering.net>
53237
53238         New file: lib/idcache.h
53239         * NEWS: Mention the addition.
53240         * modules/idcache (Files): Add lib/idcache.h
53241         * lib/idcache.c: Include "idcache.h".
53242         Don't include <sys/types.h>.
53243         Add a FIXME comment.
53244         Move file-scoped "static" declarations to the top.
53245         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
53246
53247 2007-08-17  Bruno Haible  <bruno@clisp.org>
53248         and Paul Eggert  <eggert@cs.ucla.edu>
53249
53250         * MODULES.html.sh: Add diffseq.
53251         * modules/diffseq: New file.
53252         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
53253         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
53254
53255 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53256
53257         Import changes from coreutils for bootstrap script.
53258
53259         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
53260
53261         * build-aux/bootstrap (slurp): Work even in environments where
53262         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
53263         current code does not slurp files whose names start with ".", and
53264         this looks like it might be a troublesome area.
53265
53266         2007-07-11  Jim Meyering  <jim@meyering.net>
53267
53268         If there's a GPL vN copyright comment, require that N == 3.
53269
53270         2007-07-08  Jim Meyering  <jim@meyering.net>
53271
53272         Run the coreutils-specific code only if tests/Makefile.am.in exists.
53273         * build-aux/bootstrap (mam_template): Move definition out of loop.
53274
53275         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
53276
53277         * build-aux/bootstrap (symlink_to_dir): Rename function from
53278         symlink_to_gnulib.  Add a directory parameter.  Update all
53279         callers.
53280         (cp_mark_as_generated): Also check for -- and link to -- files in
53281         gl/.
53282
53283         2007-07-08  Jim Meyering  <jim@meyering.net>
53284
53285         Adapt to deeper hierarchy in gnulib.
53286         * build-aux/bootstrap (symlink_to_dir): If the destination
53287         directory doesn't exist, create it. This is required at least for
53288         "lib/uniwidth/cjk.h".
53289
53290         2007-05-15  Jim Meyering  <jim@meyering.net>
53291
53292         * build-aux/bootstrap: Now that generated Makefile.am files
53293         are no longer under version control, they must be created at
53294         bootstrap time.
53295
53296 2007-08-14  Ben Pfaff  <blp@gnu.org>
53297
53298         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
53299
53300 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53301
53302         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
53303         given the changes below.
53304         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
53305         even on hosts that have padding bits beyond the supported 64.
53306
53307 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
53308
53309         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
53310         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
53311         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
53312         depends on it.
53313         (xstrtol_error): Remove.
53314         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
53315         but with a different signature.
53316         (ATTRIBUTE_NORETURN, __attribute__): New macros.
53317         * lib/xstrtol-error.c: Include exitfail.h.
53318         (xstrtol_fatal): New function, with a different signature from the
53319         old xstrtol_error, so that the caller need not worry about passing
53320         in an exit status, or about storage management of the option argument.
53321         (xstrtol_error): Now a static function.  Redo signature to
53322         implement xstrtol_fatal.  Output the correct number of hyphens in
53323         front of the option so that the caller need not worry about
53324         storage management.
53325         (N_): New macro.
53326         (_): Remove; not used now.
53327         * modules/xstrtol: Depend on getopt.
53328         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
53329         of old STRTOL_FATAL_ERROR macro.
53330         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
53331         of test program.
53332         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
53333         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
53334
53335 2007-08-08  Eric Blake  <ebb9@byu.net>
53336
53337         * lib/xstrtol-error.c: Add missing include.
53338
53339         Move xstrtol messages into gnulib domain, when --pobase is used.
53340         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
53341         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
53342         * modules/xstrtol (Files): Distribute new file.
53343         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
53344         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
53345         * tests/test-xstrtol.c: ...into new file.
53346         * tests/test-xstrtoul.c: Also test xstrtoul.
53347         * tests/test-xstrtoimax.c: Also test xstrtoimax.
53348         * tests/test-xstrtoumax.c: Also test xstrtoumax.
53349         * tests/test-xstrtol.sh: Drive the tests.
53350         * tests/test-xstrtoimax.sh: Likewise.
53351         * tests/test-xstrtoumax.sh: Likewise.
53352         * modules/xstrtol-tests: New module.
53353         * modules/xstrtoimax-tests: Likewise.
53354         * modules/xstrtoumax-tests: Likewise.
53355
53356 2007-08-08  Jim Meyering  <jim@meyering.net>
53357
53358         New function: mfile_name_concat.
53359         * lib/filenamecat.c (mfile_name_concat): New function, just like
53360         file_name_concat, but return NULL upon failure rather than exiting
53361         with a diagnostic.
53362         * lib/filenamecat.h: Declare it.
53363
53364 2007-08-07  Bruno Haible  <bruno@clisp.org>
53365
53366         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
53367         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
53368         warning from gcc.
53369         Reported by Eric Blake.
53370
53371 2007-08-07  Simon Josefsson  <simon@josefsson.org>
53372
53373         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
53374         * modules/crypto/arcfour (License): Likewise.
53375         * modules/crypto/des-tests (License): Likewise.
53376         * modules/crypto/gc-arctwo-tests (License): Likewise.
53377         * modules/crypto/gc-des-tests (License): Likewise.
53378         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
53379         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
53380         * modules/crypto/gc-md2-tests (License): Likewise.
53381         * modules/crypto/gc-md4-tests (License): Likewise.
53382         * modules/crypto/gc-md5-tests (License): Likewise.
53383         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
53384         * modules/crypto/gc-rijndael-tests (License): Likewise.
53385         * modules/crypto/gc-sha1-tests (License): Likewise.
53386         * modules/crypto/gc-tests (License): Likewise.
53387         * modules/crypto/hmac-md5 (License): Likewise.
53388         * modules/crypto/hmac-sha1 (License): Likewise.
53389         * modules/crypto/md2-tests (License): Likewise.
53390         * modules/crypto/md4-tests (License): Likewise.
53391         * modules/crypto/md5 (License): Likewise.
53392         * modules/crypto/rijndael (License): Likewise.
53393         * modules/crypto/sha1 (License): Likewise.
53394         * modules/memxor (License): Likewise.
53395
53396 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53397         and Bruno Haible  <bruno@clisp.org>
53398
53399         * NEWS: Describe interface changes to human, xstrtol.
53400         * lib/human.h: Include <xstrtol.h>.
53401         (human_options): Return enum strtol_error, not int.  Remove
53402         bool arg; take int * instead.
53403         * lib/human.c: Don't include "gettext.h".
53404         (_): Remove; no longer used.
53405         Don't include <xstrtol.h>, since human.h does it.
53406         (human_options): Adjust to abovementioned interface changes.
53407         Do not report error to stderr; that's now the caller's
53408         responsibility.
53409         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
53410         interface change.
53411         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
53412         Str, Argument_type_string.  All uses changed.  Put " argument"
53413         in diagnostics to make them clearer.  Change wording of suffix
53414         message for clarity.
53415         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
53416         Argument_type_string.
53417         (STRTOL_FATAL_WARN): Remove; no longer used.
53418         * modules/human (Depends-on): Remove gettext-h.
53419
53420 2007-08-06  Simon Josefsson  <simon@josefsson.org>
53421
53422         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
53423
53424 2007-07-31  Bruno Haible  <bruno@clisp.org>
53425
53426         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
53427         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
53428         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
53429
53430 2007-07-31  Bruno Haible  <bruno@clisp.org>
53431
53432         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
53433         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
53434
53435 2007-07-30  Bruno Haible  <bruno@clisp.org>
53436
53437         * modules/base64 (License): Use the synonymous term "LGPLv2+".
53438         * modules/c-ctype (License): Likewise.
53439         * modules/c-strcase (License): Likewise.
53440         * modules/check-version (License): Likewise.
53441         * modules/iconv (License): Likewise.
53442         * modules/iconv_open (License): Likewise.
53443         * modules/read-file (License): Likewise.
53444         * modules/striconv (License): Likewise.
53445         * modules/strverscmp (License): Likewise.
53446         * modules/vasprintf (License): Likewise.
53447         * modules/crypto/des (License): Likewise.
53448         * modules/crypto/gc (License): Likewise.
53449         * modules/crypto/gc-arcfour (License): Likewise.
53450         * modules/crypto/gc-arctwo (License): Likewise.
53451         * modules/crypto/gc-des (License): Likewise.
53452         * modules/crypto/gc-hmac-md5 (License): Likewise.
53453         * modules/crypto/gc-hmac-sha1 (License): Likewise.
53454         * modules/crypto/gc-md2 (License): Likewise.
53455         * modules/crypto/gc-md4 (License): Likewise.
53456         * modules/crypto/gc-md5 (License): Likewise.
53457         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
53458         * modules/crypto/gc-random (License): Likewise.
53459         * modules/crypto/gc-rijndael (License): Likewise.
53460         * modules/crypto/gc-sha1 (License): Likewise.
53461         * modules/crypto/md2 (License): Likewise.
53462         * modules/crypto/md4 (License): Likewise.
53463
53464 2007-07-30  Jim Meyering  <jim@meyering.net>
53465
53466         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
53467         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
53468         it has valid stat data.  This bug would cause du not to count the
53469         sizes of inaccessible directories.
53470         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
53471         in <http://bugzilla.redhat.com/250077>.
53472
53473 2007-07-25  Peter O'Gorman  <peter@pogma.com>
53474             Bruno Haible  <bruno@clisp.org>
53475
53476         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
53477         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
53478         #include_next, gives a diagnostic about it, but reports no error in
53479         the exit code.
53480         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
53481
53482 2007-07-24  Ben Pfaff  <blp@gnu.org>
53483
53484         Improve name: "count-one-bits" is better than "popcount".
53485         * MODULES.html.sh: Update name.
53486         * lib/popcount.h: Renamed lib/count-one-bits.h.
53487         (popcount): Renamed count_one_bits.
53488         (popcountl): Renamed count_one_bits_l.
53489         (popcountll): Renamed count_one_bits_ll.
53490         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
53491         * modules/popcount: Renamed module/count-one-bits.
53492         * modules/popcount-tests: Renamed module/count-one-bits-tests.
53493         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
53494
53495 2007-07-23  Ben Pfaff  <blp@gnu.org>
53496
53497         * lib/popcount.h (popcount32): Reduce size of constants, to allow
53498         better code generation, and add U to large constants to avoid
53499         warnings, in non-GCC case.
53500         Suggested by Bruno Haible.
53501
53502 2007-07-23  Ben Pfaff  <blp@gnu.org>
53503
53504         * lib/popcount.h: Use verify_true instead of if...abort.
53505         * modules/popcount: Depend on verify module.
53506         Suggested by Jim Meyering.
53507
53508 2007-07-23  Bruno Haible  <bruno@clisp.org>
53509
53510         * gnulib-tool (func_import): Create a .cvsignore file also when the
53511         directory is not yet in CVS but the toplevel directory is. When
53512         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
53513         Reported by Karl Berry.
53514
53515 2007-07-22  Ben Pfaff  <blp@gnu.org>
53516
53517         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
53518         case.
53519         Suggested by Eric Blake.
53520
53521 2007-07-22  Ben Pfaff  <blp@gnu.org>
53522
53523         New module: popcount.
53524         * MODULES.html.sh: Add popcount.
53525         * modules/popcount: New file.
53526         * modules/popcount-tests: New file.
53527         * tests/test-popcount.c: New file.
53528         * lib/popcount.h: New file.
53529         * m4/popcount.m4: New file.
53530
53531 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53532
53533         * build-aux/announce-gen: Update to GPLv3.
53534
53535         * build-aux/config.guess: Update from config.
53536
53537 2007-07-21  Bruno Haible  <bruno@clisp.org>
53538
53539         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
53540         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
53541
53542 2007-07-20  Jim Meyering  <jim@meyering.net>
53543
53544         * check-module: Diagnose a self-dependency.
53545
53546 2007-07-19  Bruno Haible  <bruno@clisp.org>
53547
53548         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
53549         empty.
53550         Reported by Eric Blake.
53551
53552 2007-07-18  Bruno Haible  <bruno@clisp.org>
53553
53554         * gnulib-tool: New options --po-base, --po-domain.
53555         (func_usage): Document them.
53556         (pobase, po_domain): New variables.
53557         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
53558         DEFAULT_TEXT_DOMAIN.
53559         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
53560         (func_import): Consider pobase and po_domain. Create a po/ directory.
53561         (func_create_testdir): Set pobase and po_domain to empty.
53562         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
53563         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
53564
53565 2007-07-18  Bruno Haible  <bruno@clisp.org>
53566
53567         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53568         EXTRA_DIST augmentation for files in build-aux/.
53569
53570 2007-07-16  Bruno Haible  <bruno@clisp.org>
53571
53572         * modules/lseek (License): Use the synonymous term "LGPLv2+".
53573         * modules/getdelim (License): Likewise.
53574
53575 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53576
53577         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
53578         * modules/d-type (License): Likewise.
53579         * modules/extensions (License): Likewise.
53580         * modules/fnmatch (License): Likewise.
53581         * modules/fseeko (License): Likewise.
53582         * modules/getaddrinfo (License): Likewise.
53583         * modules/getline (License): Likewise.
53584         * modules/getlogin_r (License): Likewise.
53585         * modules/getpass (License): Likewise.
53586         * modules/gettimeofday (License): Likewise.
53587         * modules/glob (License): Likewise.
53588         * modules/inet_ntop (License): Likewise.
53589         * modules/malloc (License): Likewise.
53590         * modules/malloca (License): Likewise.
53591         * modules/memmem (License): Likewise.
53592         * modules/mempcpy (License): Likewise.
53593         * modules/memset (License): Likewise.
53594         * modules/minmax (License): Likewise.
53595         * modules/mktime (License): Likewise.
53596         * modules/netinet_in (License): Likewise.
53597         * modules/pathmax (License): Likewise.
53598         * modules/poll (License): Likewise.
53599         * modules/regex (License): Likewise.
53600         * modules/snprintf (License): Likewise.
53601         * modules/stdbool (License): Likewise.
53602         * modules/stdint (License): Likewise.
53603         * modules/stdio (License): Likewise.
53604         * modules/strcase (License): Likewise.
53605         * modules/strcasestr (License): Likewise.
53606         * modules/strdup (License): Likewise.
53607         * modules/string (License): Likewise.
53608         * modules/strndup (License): Likewise.
53609         * modules/strnlen (License): Likewise.
53610         * modules/strpbrk (License): Likewise.
53611         * modules/strptime (License): Likewise.
53612         * modules/strsep (License): Likewise.
53613         * modules/sys_select (License): Likewise.
53614         * modules/sys_socket (License): Likewise.
53615         * modules/sys_stat (License): Likewise.
53616         * modules/sys_time (License): Likewise.
53617         * modules/time (License): Likewise.
53618         * modules/time_r (License): Likewise.
53619         * modules/timegm (License): Likewise.
53620         * modules/unistd (License): Likewise.
53621         * modules/vsnprintf (License): Likewise.
53622         * modules/wctype (License): Likewise.
53623
53624 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53625
53626         * modules/argz (License): LGPLv2+.
53627
53628 2007-07-15  Karl Berry  <karl@gnu.org>
53629
53630         * doc/gnulib.texi: revise node structure per new fdl.texi.
53631
53632 2007-07-14  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
53635         the output file.
53636         * lib/uniname/uninames.h: Regenerated.
53637
53638 2007-07-14  Karl Berry  <karl@gnu.org>
53639
53640         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
53641         omitting sectioning and index commands.
53642
53643 2007-07-13  Bruno Haible  <bruno@clisp.org>
53644
53645         New gnulib-tool option --more-symlinks.
53646         * gnulib-tool (func_usage): Document --more-symlinks.
53647         (do_copyrights): New variable.
53648         Recognize option --more-symlinks.
53649         (func_import): Don't add a copyright notice transform to
53650         sed_transform_lib_file if do_copyrights is empty.
53651
53652 2007-07-13  Bruno Haible  <bruno@clisp.org>
53653
53654         * lib/vasnprintf.c (decimal_point_char): Define also if
53655         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
53656         && !NEED_PRINTF_DIRECTIVE_A.
53657         Reported by Clemens Koller <clemens.koller@anagramm.de> via
53658         Gary V. Vaughan <gary@gnu.org>.
53659
53660 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
53661
53662         * lib/inttypes_.h: Undo previous change, since it was fixed
53663         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
53664
53665 2007-07-13  Bruno Haible  <bruno@clisp.org>
53666
53667         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
53668         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
53669
53670 2007-07-13  Jim Meyering  <jim@meyering.net>
53671
53672         df: Don't fail for Tru64's "file-on-file mount".
53673         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
53674         so we fall through and use statfs instead.  Details here:
53675         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
53676         Reported by Albert Chin.
53677
53678 2007-07-13  Bruno Haible  <bruno@clisp.org>
53679
53680         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
53681         * modules/configmake (License): Likewise.
53682         * modules/gettext (License): Likewise.
53683         * modules/gettext-h (License): Likewise.
53684         * modules/include_next (License): Likewise.
53685         * modules/link-warning (License): Likewise.
53686         * modules/localcharset (License): Likewise.
53687         * modules/localename (License): Likewise.
53688         * modules/lock (License): Likewise.
53689         * modules/relocatable-lib-lgpl (License): Likewise.
53690         * modules/size_max (License): Likewise.
53691         * modules/vasnprintf (License): Likewise.
53692         * modules/wchar (License): Likewise.
53693         * modules/xsize (License): Likewise.
53694
53695 2007-07-13  Bruno Haible  <bruno@clisp.org>
53696
53697         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
53698         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
53699
53700 2007-07-12  Bruno Haible  <bruno@clisp.org>
53701
53702         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
53703         in the modules files.
53704
53705 2007-07-11  Karl Berry  <karl@gnu.org>
53706
53707         * MODULES.html.sh (func_module): use
53708          sed -e '\|^'"${includefile}"'$|d'
53709          instead of /.../d, to avoid errors on $includefile's containing /.
53710
53711 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
53712
53713         * gnulib-tool (func_import): Avoid duplication of --avoid
53714         statements
53715         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
53716         names to `_' in variable names.
53717
53718 2007-07-10  Eric Blake  <ebb9@byu.net>
53719
53720         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
53721         * NEWS: Document this change.
53722
53723 2007-07-08  Bruno Haible  <bruno@clisp.org>
53724
53725         Update to Unicode 5.0.
53726         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
53727         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
53728         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
53729         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
53730         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
53731         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
53732         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
53733         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
53734         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
53735         U+10A3F, U+1D242..U+1D244.
53736         (nonspacing_table_ind): Update.
53737         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
53738         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
53739
53740 2007-07-08  Bruno Haible  <bruno@clisp.org>
53741
53742         Update to Unicode 5.0.
53743         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
53744         code transform. Extend the name index field of unicode_name_to_code and
53745         unicode_code_to_name from 16 to 24 bits.
53746         * lib/uniname/uniname.c (unicode_character_name,
53747         unicode_name_character): Add the range 0x12xxx to the code transform.
53748         * lib/uniname/uninames.h: Regenerated.
53749         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
53750
53751 2007-07-07  Bruno Haible  <bruno@clisp.org>
53752
53753         * modules/wcwidth-tests: New file.
53754         * tests/test-wcwidth.c: New file.
53755
53756         Work around MacOS X wcwidth() bug.
53757         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
53758         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
53759         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
53760         original wcwidth in non-UTF-8 locales.
53761         * modules/wcwidth (Depends-on): Add localcharset, streq,
53762         uniwidth/width.
53763         * doc/functions/wcwidth.texi: Update.
53764
53765 2007-07-07  Bruno Haible  <bruno@clisp.org>
53766
53767         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
53768         (wcwidth): New declaration.
53769         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
53770         macros.
53771         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
53772         here. Prepare for creating <wchar.h> unconditionally.
53773         * modules/wchar (Depends-on): Add link-warning.
53774         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
53775         REPLACE_WCWIDTH, and GL_LINK_WARNING.
53776         * lib/wcwidth.h: Remove file.
53777         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
53778         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
53779         * modules/wcwidth (Files): Remove lib/wcwidth.h.
53780         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
53781         (Include): Replace wcwidth.h with <wchar.h>.
53782         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
53783         * lib/mbchar.h: Don't include wcwidth.h.
53784         * lib/mbswidth.c: Likewise.
53785         * NEWS: Mention the change.
53786
53787 2007-07-07  Bruno Haible  <bruno@clisp.org>
53788
53789         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
53790         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
53791         definition with an external declaration.
53792         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
53793         defined as a function. Remove AC_C_INLINE requirement.
53794         * modules/wcwidth (Files): Add lib/wcwidth.c.
53795         (Makefile.am): Remove redundant statement.
53796
53797 2007-07-07  Bruno Haible  <bruno@clisp.org>
53798
53799         * MODULES.html.sh (Unicode string functions): Add the new modules.
53800
53801         * tests/uniwidth/test-u32-strwidth.c: New file.
53802         * modules/uniwidth/u32-strwidth-tests: New file.
53803
53804         * lib/uniwidth/u32-strwidth.c: New file.
53805         * modules/uniwidth/u32-strwidth: New file.
53806
53807         * tests/uniwidth/test-u16-strwidth.c: New file.
53808         * modules/uniwidth/u16-strwidth-tests: New file.
53809
53810         * lib/uniwidth/u16-strwidth.c: New file.
53811         * modules/uniwidth/u16-strwidth: New file.
53812
53813         * tests/uniwidth/test-u8-strwidth.c: New file.
53814         * modules/uniwidth/u8-strwidth-tests: New file.
53815
53816         * lib/uniwidth/u8-strwidth.c: New file.
53817         * modules/uniwidth/u8-strwidth: New file.
53818
53819         * tests/uniwidth/test-u32-width.c: New file.
53820         * modules/uniwidth/u32-width-tests: New file.
53821
53822         * lib/uniwidth/u32-width.c: New file.
53823         * modules/uniwidth/u32-width: New file.
53824
53825         * tests/uniwidth/test-u16-width.c: New file.
53826         * modules/uniwidth/u16-width-tests: New file.
53827
53828         * lib/uniwidth/u16-width.c: New file.
53829         * modules/uniwidth/u16-width: New file.
53830
53831         * tests/uniwidth/test-u8-width.c: New file.
53832         * modules/uniwidth/u8-width-tests: New file.
53833
53834         * lib/uniwidth/u8-width.c: New file.
53835         * modules/uniwidth/u8-width: New file.
53836
53837         * tests/uniwidth/test-uc_width.c: New file.
53838         * modules/uniwidth/width-tests: New file.
53839
53840         * lib/uniwidth/width.c: New file, from GNU libiconv.
53841         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
53842         * modules/uniwidth/width: New file.
53843
53844         * lib/uniwidth.h: New file, from GNU libiconv.
53845         * modules/uniwidth/base: New file.
53846
53847 2007-07-07  Bruno Haible  <bruno@clisp.org>
53848
53849         * lib/uniname.h: New file, from GNU gettext.
53850         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
53851         * lib/uniname/uninames.h: New file, from GNU gettext.
53852         * lib/uniname/uniname.c: New file, from GNU gettext.
53853         * tests/uniname/test-uninames.sh: New file.
53854         * tests/uniname/test-uninames.c: New file, from GNU gettext.
53855         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
53856         * modules/uniname/base: New file.
53857         * modules/uniname/uniname: New file.
53858         * modules/uniname/uniname-tests: New file.
53859         * MODULES.html.sh (Unicode string functions): Add the new modules.
53860
53861 2007-07-06  Bruno Haible  <bruno@clisp.org>
53862
53863         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
53864
53865 2007-07-06  Bruno Haible  <bruno@clisp.org>
53866
53867         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
53868         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
53869         includes <cygwin/sys_time.h> which includes <sys/select.h> which
53870         include <sys/time.h>.
53871         Reported by Eric Blake.
53872
53873 2007-07-06  Eric Blake  <ebb9@byu.net>
53874
53875         Fix testing canonicalize on cygwin.
53876         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53877         Revert patch from 2007-06-19.
53878         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
53879         canonicalize module is also in use.
53880         * tests/test-canonicalize.c: New file.
53881         * tests/test-canonicalize.sh: Likewise.
53882         * modules/canonicalize-tests: Likewise.
53883
53884 2007-07-06  Jim Meyering  <jim@meyering.net>
53885
53886         * lib/getugroups.c (getugroups): Detect getgrent failure.
53887         Adjust comment to reflect reality: this function may return -1.
53888
53889 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
53890
53891         * build-aux/bootstrap (TP_URL,get_translations): Update to use
53892         the new TP address.
53893         (usage): Fix typo
53894         (gnulib_mk): New variable.
53895
53896 2007-07-05  Jim Meyering  <jim@meyering.net>
53897
53898         Don't let endgrent clobber errno, no matter how improbable.
53899         * lib/getugroups.c (getugroups): Save and restore errno around
53900         endgrent call.
53901
53902         Close the group DB even when failing with 2^31 or more members.
53903         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
53904
53905 2007-07-04  Jim Meyering  <jim@meyering.net>
53906
53907         * lib/getugroups.h: New file.
53908         * lib/getugroups.c: Include "getugroups.h".
53909         Remove uses of "register" keyword.
53910         Move local variable, "cp", down into scope where used.
53911         Give "username" parameter the "const" attribute.
53912         * modules/getugroups (Files): Add lib/getugroups.h
53913
53914 2007-07-04  Karl Berry  <karl@gnu.org>
53915
53916         * MODULES.html.sh (func_all_modules): Complete rename of
53917         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
53918
53919 2007-07-02  Bruno Haible  <bruno@clisp.org>
53920
53921         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
53922         mode, when inttypes.h comes from gnulib.
53923         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53924
53925 2007-07-02  Simon Josefsson  <simon@josefsson.org>
53926
53927         * NEWS: Mention lgpl module name change.
53928
53929         * modules/lgpl-2.1: Renamed from lgpl.
53930
53931         * NEWS: Mention gpl module name change.
53932
53933         * modules/gpl-3.0: New file, based on gpl-2.0.
53934
53935         * modules/gpl-2.0: Renamed from gpl.
53936
53937         * modules/gpl: Fix filename, doc/gpl.texi is now found at
53938         doc/gpl-2.0.texi.
53939
53940 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
53941
53942         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
53943         #define __STDC_LIMIT_MACROS temporarily while including
53944         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
53945         Problem reported by Joel E. Denny in
53946         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
53947
53948 2007-07-01  Bruno Haible  <bruno@clisp.org>
53949
53950         * lib/unistdio.h: New file.
53951         * lib/unistdio/u-asnprintf.h: New file.
53952         * lib/unistdio/u-asprintf.h: New file.
53953         * lib/unistdio/u-printf-args.c: New file.
53954         * lib/unistdio/u-printf-args.h: New file.
53955         * lib/unistdio/u-printf-parse.h: New file.
53956         * lib/unistdio/u-snprintf.h: New file.
53957         * lib/unistdio/u-sprintf.h: New file.
53958         * lib/unistdio/u-vasprintf.h: New file.
53959         * lib/unistdio/u-vsnprintf.h: New file.
53960         * lib/unistdio/u-vsprintf.h: New file.
53961         * lib/unistdio/ulc-asnprintf.c: New file.
53962         * lib/unistdio/ulc-asprintf.c: New file.
53963         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
53964         * lib/unistdio/ulc-printf-parse.c: New file.
53965         * lib/unistdio/ulc-snprintf.c: New file.
53966         * lib/unistdio/ulc-sprintf.c: New file.
53967         * lib/unistdio/ulc-vasnprintf.c: New file.
53968         * lib/unistdio/ulc-vasprintf.c: New file.
53969         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
53970         * lib/unistdio/ulc-vsnprintf.c: New file.
53971         * lib/unistdio/ulc-vsprintf.c: New file.
53972         * lib/unistdio/u8-asnprintf.c: New file.
53973         * lib/unistdio/u8-asprintf.c: New file.
53974         * lib/unistdio/u8-printf-parse.c: New file.
53975         * lib/unistdio/u8-snprintf.c: New file.
53976         * lib/unistdio/u8-sprintf.c: New file.
53977         * lib/unistdio/u8-vasnprintf.c: New file.
53978         * lib/unistdio/u8-vasprintf.c: New file.
53979         * lib/unistdio/u8-vsnprintf.c: New file.
53980         * lib/unistdio/u8-vsprintf.c: New file.
53981         * lib/unistdio/u8-u8-asnprintf.c: New file.
53982         * lib/unistdio/u8-u8-asprintf.c: New file.
53983         * lib/unistdio/u8-u8-snprintf.c: New file.
53984         * lib/unistdio/u8-u8-sprintf.c: New file.
53985         * lib/unistdio/u8-u8-vasnprintf.c: New file.
53986         * lib/unistdio/u8-u8-vasprintf.c: New file.
53987         * lib/unistdio/u8-u8-vsnprintf.c: New file.
53988         * lib/unistdio/u8-u8-vsprintf.c: New file.
53989         * lib/unistdio/u16-asnprintf.c: New file.
53990         * lib/unistdio/u16-asprintf.c: New file.
53991         * lib/unistdio/u16-printf-parse.c: New file.
53992         * lib/unistdio/u16-snprintf.c: New file.
53993         * lib/unistdio/u16-sprintf.c: New file.
53994         * lib/unistdio/u16-vasnprintf.c: New file.
53995         * lib/unistdio/u16-vasprintf.c: New file.
53996         * lib/unistdio/u16-vsnprintf.c: New file.
53997         * lib/unistdio/u16-vsprintf.c: New file.
53998         * lib/unistdio/u16-u16-asnprintf.c: New file.
53999         * lib/unistdio/u16-u16-asprintf.c: New file.
54000         * lib/unistdio/u16-u16-snprintf.c: New file.
54001         * lib/unistdio/u16-u16-sprintf.c: New file.
54002         * lib/unistdio/u16-u16-vasnprintf.c: New file.
54003         * lib/unistdio/u16-u16-vasprintf.c: New file.
54004         * lib/unistdio/u16-u16-vsnprintf.c: New file.
54005         * lib/unistdio/u16-u16-vsprintf.c: New file.
54006         * lib/unistdio/u32-asnprintf.c: New file.
54007         * lib/unistdio/u32-asprintf.c: New file.
54008         * lib/unistdio/u32-printf-parse.c: New file.
54009         * lib/unistdio/u32-snprintf.c: New file.
54010         * lib/unistdio/u32-sprintf.c: New file.
54011         * lib/unistdio/u32-vasnprintf.c: New file.
54012         * lib/unistdio/u32-vasprintf.c: New file.
54013         * lib/unistdio/u32-vsnprintf.c: New file.
54014         * lib/unistdio/u32-vsprintf.c: New file.
54015         * lib/unistdio/u32-u32-asnprintf.c: New file.
54016         * lib/unistdio/u32-u32-asprintf.c: New file.
54017         * lib/unistdio/u32-u32-snprintf.c: New file.
54018         * lib/unistdio/u32-u32-sprintf.c: New file.
54019         * lib/unistdio/u32-u32-vasnprintf.c: New file.
54020         * lib/unistdio/u32-u32-vasprintf.c: New file.
54021         * lib/unistdio/u32-u32-vsnprintf.c: New file.
54022         * lib/unistdio/u32-u32-vsprintf.c: New file.
54023         * tests/unistdio/test-ulc-asnprintf1.c: New file.
54024         * tests/unistdio/test-ulc-asnprintf1.h: New file.
54025         * tests/unistdio/test-ulc-printf1.h: New file.
54026         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
54027         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
54028         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
54029         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
54030         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
54031         * tests/unistdio/test-ulc-vasprintf1.c: New file.
54032         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
54033         * tests/unistdio/test-ulc-vsprintf1.c: New file.
54034         * tests/unistdio/test-u8-asnprintf1.c: New file.
54035         * tests/unistdio/test-u8-asnprintf1.h: New file.
54036         * tests/unistdio/test-u8-printf1.h: New file.
54037         * tests/unistdio/test-u8-vasnprintf1.c: New file.
54038         * tests/unistdio/test-u8-vasnprintf2.c: New file.
54039         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
54040         * tests/unistdio/test-u8-vasnprintf3.c: New file.
54041         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
54042         * tests/unistdio/test-u8-vasprintf1.c: New file.
54043         * tests/unistdio/test-u8-vsnprintf1.c: New file.
54044         * tests/unistdio/test-u8-vsprintf1.c: New file.
54045         * tests/unistdio/test-u16-asnprintf1.c: New file.
54046         * tests/unistdio/test-u16-asnprintf1.h: New file.
54047         * tests/unistdio/test-u16-printf1.h: New file.
54048         * tests/unistdio/test-u16-vasnprintf1.c: New file.
54049         * tests/unistdio/test-u16-vasnprintf2.c: New file.
54050         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
54051         * tests/unistdio/test-u16-vasnprintf3.c: New file.
54052         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
54053         * tests/unistdio/test-u16-vasprintf1.c: New file.
54054         * tests/unistdio/test-u16-vsnprintf1.c: New file.
54055         * tests/unistdio/test-u16-vsprintf1.c: New file.
54056         * tests/unistdio/test-u32-asnprintf1.c: New file.
54057         * tests/unistdio/test-u32-asnprintf1.h: New file.
54058         * tests/unistdio/test-u32-printf1.h: New file.
54059         * tests/unistdio/test-u32-vasnprintf1.c: New file.
54060         * tests/unistdio/test-u32-vasnprintf2.c: New file.
54061         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
54062         * tests/unistdio/test-u32-vasnprintf3.c: New file.
54063         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
54064         * tests/unistdio/test-u32-vasprintf1.c: New file.
54065         * tests/unistdio/test-u32-vsnprintf1.c: New file.
54066         * tests/unistdio/test-u32-vsprintf1.c: New file.
54067         * modules/unistdio/base: New file.
54068         * modules/unistdio/u-printf-args: New file.
54069         * modules/unistdio/ulc-asnprintf: New file.
54070         * modules/unistdio/ulc-asprintf: New file.
54071         * modules/unistdio/ulc-fprintf: New file.
54072         * modules/unistdio/ulc-printf-parse: New file.
54073         * modules/unistdio/ulc-snprintf: New file.
54074         * modules/unistdio/ulc-sprintf: New file.
54075         * modules/unistdio/ulc-vasnprintf: New file.
54076         * modules/unistdio/ulc-vasprintf: New file.
54077         * modules/unistdio/ulc-vfprintf: New file.
54078         * modules/unistdio/ulc-vsnprintf: New file.
54079         * modules/unistdio/ulc-vsprintf: New file.
54080         * modules/unistdio/u8-asnprintf: New file.
54081         * modules/unistdio/u8-asprintf: New file.
54082         * modules/unistdio/u8-printf-parse: New file.
54083         * modules/unistdio/u8-snprintf: New file.
54084         * modules/unistdio/u8-sprintf: New file.
54085         * modules/unistdio/u8-vasnprintf: New file.
54086         * modules/unistdio/u8-vasprintf: New file.
54087         * modules/unistdio/u8-vsnprintf: New file.
54088         * modules/unistdio/u8-vsprintf: New file.
54089         * modules/unistdio/u8-u8-asnprintf: New file.
54090         * modules/unistdio/u8-u8-asprintf: New file.
54091         * modules/unistdio/u8-u8-snprintf: New file.
54092         * modules/unistdio/u8-u8-sprintf: New file.
54093         * modules/unistdio/u8-u8-vasnprintf: New file.
54094         * modules/unistdio/u8-u8-vasprintf: New file.
54095         * modules/unistdio/u8-u8-vsnprintf: New file.
54096         * modules/unistdio/u8-u8-vsprintf: New file.
54097         * modules/unistdio/u16-asnprintf: New file.
54098         * modules/unistdio/u16-asprintf: New file.
54099         * modules/unistdio/u16-printf-parse: New file.
54100         * modules/unistdio/u16-snprintf: New file.
54101         * modules/unistdio/u16-sprintf: New file.
54102         * modules/unistdio/u16-vasnprintf: New file.
54103         * modules/unistdio/u16-vasprintf: New file.
54104         * modules/unistdio/u16-vsnprintf: New file.
54105         * modules/unistdio/u16-vsprintf: New file.
54106         * modules/unistdio/u16-u16-asnprintf: New file.
54107         * modules/unistdio/u16-u16-asprintf: New file.
54108         * modules/unistdio/u16-u16-snprintf: New file.
54109         * modules/unistdio/u16-u16-sprintf: New file.
54110         * modules/unistdio/u16-u16-vasnprintf: New file.
54111         * modules/unistdio/u16-u16-vasprintf: New file.
54112         * modules/unistdio/u16-u16-vsnprintf: New file.
54113         * modules/unistdio/u16-u16-vsprintf: New file.
54114         * modules/unistdio/u32-asnprintf: New file.
54115         * modules/unistdio/u32-asprintf: New file.
54116         * modules/unistdio/u32-printf-parse: New file.
54117         * modules/unistdio/u32-snprintf: New file.
54118         * modules/unistdio/u32-sprintf: New file.
54119         * modules/unistdio/u32-vasnprintf: New file.
54120         * modules/unistdio/u32-vasprintf: New file.
54121         * modules/unistdio/u32-vsnprintf: New file.
54122         * modules/unistdio/u32-vsprintf: New file.
54123         * modules/unistdio/u32-u32-asnprintf: New file.
54124         * modules/unistdio/u32-u32-asprintf: New file.
54125         * modules/unistdio/u32-u32-snprintf: New file.
54126         * modules/unistdio/u32-u32-sprintf: New file.
54127         * modules/unistdio/u32-u32-vasnprintf: New file.
54128         * modules/unistdio/u32-u32-vasprintf: New file.
54129         * modules/unistdio/u32-u32-vsnprintf: New file.
54130         * modules/unistdio/u32-u32-vsprintf: New file.
54131         * modules/unistdio/ulc-asnprintf-tests: New file.
54132         * modules/unistdio/ulc-vasnprintf-tests: New file.
54133         * modules/unistdio/ulc-vasprintf-tests: New file.
54134         * modules/unistdio/ulc-vsnprintf-tests: New file.
54135         * modules/unistdio/ulc-vsprintf-tests: New file.
54136         * modules/unistdio/u8-asnprintf-tests: New file.
54137         * modules/unistdio/u8-vasnprintf-tests: New file.
54138         * modules/unistdio/u8-vasprintf-tests: New file.
54139         * modules/unistdio/u8-vsnprintf-tests: New file.
54140         * modules/unistdio/u8-vsprintf-tests: New file.
54141         * modules/unistdio/u16-asnprintf-tests: New file.
54142         * modules/unistdio/u16-vasnprintf-tests: New file.
54143         * modules/unistdio/u16-vasprintf-tests: New file.
54144         * modules/unistdio/u16-vsnprintf-tests: New file.
54145         * modules/unistdio/u16-vsprintf-tests: New file.
54146         * modules/unistdio/u32-asnprintf-tests: New file.
54147         * modules/unistdio/u32-vasnprintf-tests: New file.
54148         * modules/unistdio/u32-vasprintf-tests: New file.
54149         * modules/unistdio/u32-vsnprintf-tests: New file.
54150         * modules/unistdio/u32-vsprintf-tests: New file.
54151         * MODULES.html.sh (Unicode string functions): Add the new modules.
54152
54153 2007-07-01  Bruno Haible  <bruno@clisp.org>
54154
54155         * lib/sprintf.c (sprintf): Limit the available length estimation,
54156         to avoid address wraparound.
54157         * lib/vsprintf.c (vsprintf): Likewise.
54158         * modules/sprintf-posix (Dependencies): Add stdint.
54159         * modules/vsprintf-posix (Dependencies): Likewise.
54160
54161 2007-07-01  Bruno Haible  <bruno@clisp.org>
54162
54163         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
54164         Windows PATH as well. Conservative double-quoting. Comments.
54165
54166 2007-07-01  Bruno Haible  <bruno@clisp.org>
54167             Eric Blake  <ebb9@byu.net>
54168             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54169
54170         * gnulib-tool (self_abspathname): Fix algorithm to cope with
54171         empty components in $PATH, denoting '.'.
54172
54173 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54174
54175         * gnulib-tool: Fix indentation.
54176         (func_create_megatestdir): Likewise.
54177         Report by Bruno Haible.
54178
54179 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54180
54181         Sync from Automake.
54182         * build-aux/gnupload: Fix shell portability issues with for loops.
54183         Report by Karl Berry.
54184
54185 2007-06-29  Simon Josefsson  <simon@josefsson.org>
54186
54187         * build-aux/maint.mk (POURL): Use translationproject.org.
54188
54189 2007-06-27  Simon Josefsson  <simon@josefsson.org>
54190             Bruno Haible  <bruno@clisp.org>
54191
54192         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
54193         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
54194         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
54195         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
54196         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
54197
54198 2007-06-27  Bruno Haible  <bruno@clisp.org>
54199
54200         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
54201         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
54202
54203 2007-06-26  Karl Berry  <karl@gnu.org>
54204
54205         * MODULES.html.sh: remove xreadlink-with-size.
54206
54207 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54208
54209         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
54210         method that I hope also handles the double-include problem noted
54211         by Bruno Haible in
54212         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
54213
54214 2007-06-23  Bruno Haible  <bruno@clisp.org>
54215
54216         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54217         Don't let the 'mostlyclean' target fail if the last subdirectory could
54218         not be removed.
54219         Reported by Karl Berry.
54220
54221 2007-06-23  Bruno Haible  <bruno@clisp.org>
54222
54223         * gnulib-tool (echo): Add a speedier workaround for ksh.
54224         * tests/test-echo.sh: Likewise.
54225
54226 2007-06-23  Bruno Haible  <bruno@clisp.org>
54227
54228         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
54229         * tests/test-echo.sh: Likewise.
54230
54231 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54232
54233         * gnulib-tool (IFS): Initialize early, so we don't set it to
54234         empty later.
54235         (self_abspathname): Rewrite algorithm to set it, reindent.
54236         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
54237         (func_create_megatestdir): Merge some sed scripts.
54238
54239 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54240
54241         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
54242         exposed by Sun Studio 11 cc on Solaris 8.
54243
54244 2007-06-22  Bruno Haible  <bruno@clisp.org>
54245
54246         * gnulib-tool (echo): Ensure the echo primitive does not interpret
54247         backslashes.
54248         * tests/test-echo.sh: New file.
54249
54250 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54251
54252         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
54253         simplify `sed_replace_build_aux' scripts, they are portable but
54254         echoing them with `echo' is not.
54255         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
54256
54257 2007-06-21  Karl Berry  <karl@gnu.org>
54258
54259         * config/srclist.txt: guess we can't handle the licenses via
54260         srclist at the moment.
54261
54262 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
54263
54264         * MODULES.html.sh: Add include_next.
54265         * modules/include_next: New file.
54266
54267 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
54268
54269         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
54270         INCLUDE_NEXT.
54271         (gl_CHECK_NEXT_HEADERS): New macro.
54272         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
54273         the obsolescent gl_ABSOLUTE_HEADER.
54274         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
54275         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
54276         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
54277         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54278         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
54279         * m4/math_h.m4 (gl_MATH_H): Likewise.
54280         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54281         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
54282         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
54283         * m4/stdint.m4 (gl_STDINT_H): Likewise.
54284         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
54285         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
54286         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
54287         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54288         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54289         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
54290         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
54291         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
54292         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
54293         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
54294         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
54295         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
54296         * m4/inttypes.m4 (gl_INTTYPES_H): Define
54297         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
54298         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
54299         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
54300         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
54301         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
54302         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
54303         * lib/float_.h: Likewise.
54304         * lib/inttypes_.h: Likewise.
54305         * lib/math_.h: Likewise.
54306         * lib/search_.h: Likewise.
54307         * lib/signal_.h: Likewise.
54308         * lib/stdint_.h: Likewise.
54309         * lib/stdio_.h: Likewise.
54310         * lib/stdlib_.h: Likewise.
54311         * lib/string_.h: Likewise.
54312         * lib/sys_stat_.h: Likewise.
54313         * lib/sys_time_.h: Likewise.
54314         * lib/time_.h: Likewise.
54315         * lib/unistd_.h: Likewise.
54316         * lib/wchar_.h: Likewise.
54317         * lib/wctype_.h: Likewise.
54318         * lib/dirent_.h: Likewise.
54319         * lib/iconv_.h: Likewise.
54320         * lib/locale_.h: Likewise.
54321         * lib/netinet_in_.h: Likewise.
54322         * lib/sys_select_.h: Likewise.
54323         * lib/sys_socket_.h: Likewise.
54324         * lib/sysexits_.h: Likewise.
54325         * modules/fcntl (Depends-on): Depend on include_next, not
54326         absolute_header.
54327         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
54328         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
54329         * modules/fchdir: Likewise.
54330         * modules/float: Likewise.
54331         * modules/iconv_open: Likewise.
54332         * modules/inttypes: Likewise.
54333         * modules/locale: Likewise.
54334         * modules/math: Likewise.
54335         * modules/netinet_in: Likewise.
54336         * modules/search: Likewise.
54337         * modules/signal: Likewise.
54338         * modules/stdint: Likewise.
54339         * modules/stdio: Likewise.
54340         * modules/stdlib: Likewise.
54341         * modules/string: Likewise.
54342         * modules/sys_select: Likewise.
54343         * modules/sys_socket: Likewise.
54344         * modules/sys_stat: Likewise.
54345         * modules/sys_time: Likewise.
54346         * modules/sysexits: Likewise.
54347         * modules/time: Likewise.
54348         * modules/unistd: Likewise.
54349         * modules/wchar: Likewise.
54350         * modules/wctype: Likewise.
54351         * modules/sys_stat: Change maintainer to "all".
54352         * modules/unistd: Likewise.
54353
54354 2007-06-20  Karl Berry  <karl@gnu.org>
54355
54356         * config/srclist.txt: track www changes in license files.
54357
54358 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
54359
54360         * build-aux/bootstrap: Remove stray dot.
54361         Make sure build_aux settings are honored when linking
54362         gnulib_extra_files.
54363
54364 2007-06-19  Eric Blake  <ebb9@byu.net>
54365
54366         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
54367         Allow compilation on cygwin.
54368
54369 2007-06-19  Jim Meyering  <jim@meyering.net>
54370
54371         xreadlink-with-size: Remove module.  No longer used.
54372         Ex-callers now use xreadlink or mreadlink-with-size.
54373         * modules/xreadlink-with-size: Remove module.
54374         * lib/xreadlink-with-size.c: Remove file.
54375         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
54376         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
54377         just before the function definition *is* accurate.
54378
54379         Eliminate one way canonicalize_filename_mode could exit.
54380         * lib/canonicalize.c (canonicalize_filename_mode):
54381         Use mreadlink_with_size, not xreadlink_with_size.
54382
54383 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
54384
54385         Detect porting problems to FreeBSD/arm, which has time_t wider than
54386         long int.  Original problem reported for GNU diff by Xin Li in
54387         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
54388         * modules/getdate (Depends-on): Add intprops, verify.
54389         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
54390         is an integer type no wider than long int.
54391
54392 2007-06-18  Jim Meyering  <jim@meyering.net>
54393
54394         New module: mreadlink-with-size.
54395         * MODULES.html.sh: Add mreadlink-with-size.
54396         * modules/mreadlink-with-size: New module
54397         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
54398         not xreadlink-with-size.
54399         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
54400
54401 2007-06-16  Bruno Haible  <bruno@clisp.org>
54402
54403         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
54404         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
54405         Reported by Gary V. Vaughan <gary@gnu.org>.
54406
54407 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
54408
54409         Revamp lchown so that it lives in unistd.h where it belongs.
54410         * lib/lchown.h: Remove.
54411         * lib/dirchownmod.c: Don't include lib/lchown.h.
54412         * lib/fchownat.c: Likewise.
54413         * lib/openat.c: Likewise.
54414         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
54415         does not follow symlinks.
54416         (EOPNOTSUPP): Define if not defined.
54417         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
54418         is defined to 0.
54419         (lchown): New decl.
54420         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
54421         Do not check for lchown decl.
54422         Set REPLACE_LCHOWN.
54423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
54424         REPLACE_LCHOWN.
54425         * modules/chown: Make it clear it follows symlinks.
54426         * modules/lchown: Make it clear it doesn't follow symlinks.
54427         (Files): Remove lib/lchown.h
54428         (Depends-on): Add unistd.
54429         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
54430         (Include): Include <unistd.h>, not "lchown.h".
54431         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
54432         REPLACE_LCHOWN.
54433
54434 2007-06-15  Jim Meyering  <jim@meyering.net>
54435
54436         Change license (GPL to LGPL) of fsusage and dependents.
54437         * modules/fsusage (License): Change to LGPL.
54438         * modules/full-read (License): Likewise.
54439         * modules/full-write (License): Likewise.
54440         * modules/safe-read (License): Likewise.
54441         * modules/safe-write (License): Likewise.
54442
54443 2007-06-14  Ben Pfaff  <blp@gnu.org>
54444
54445         Missing part of allocsa -> malloca transition.
54446         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
54447         gl_MALLOCA.
54448
54449 2007-06-12  Bruno Haible  <bruno@clisp.org>
54450
54451         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
54452         to ia64, x86_64, i386.
54453         Reported by Eric Blake.
54454
54455 2007-06-12  Bruno Haible  <bruno@clisp.org>
54456
54457         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
54458         cross-compiling to x86_64.
54459
54460 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
54461
54462         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
54463         glitch reported by Ralf Wildenhues in
54464         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
54465
54466         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
54467         Vin Shelton.
54468
54469 2007-06-11  Bruno Haible  <bruno@clisp.org>
54470
54471         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
54472         replacement string.
54473         Reported by Eric Blake.
54474
54475 2007-06-10  Bruno Haible  <bruno@clisp.org>
54476
54477         Prepare vasnprintf code for use with Unicode strings.
54478         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
54479         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
54480         TYPE_U32_STRING.
54481         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
54482         a_u32_string variants.
54483         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
54484         * lib/printf-args.c: Don't include config.h and the specification
54485         header if PRINTF_FETCHARGS is already defined.
54486         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
54487         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
54488         TYPE_U16_STRING, TYPE_U32_STRING.
54489         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
54490         u16_directive, u16_directives, u32_directive, u32_directives): New
54491         types.
54492         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
54493         New declarations.
54494         * lib/printf-parse.c: Don't include config.h and the specification
54495         header if PRINTF_PARSE is already defined. Eliminate the set of
54496         parameters for WIDE_CHAR_VERSION; the user of this file must provide
54497         them now. Include c-ctype.h.
54498         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
54499         directive and CHAR_T_ONLY_ASCII.
54500         * lib/vasnprintf.c: Don't include config.h and the specification header
54501         if VASNPRINTF is already defined.
54502         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
54503         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
54504         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
54505         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
54506         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
54507         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
54508         code accordingly.
54509         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
54510         pad_ourselves also in this case, with the 'c' and 's' directives, and
54511         with a different notion of "width".
54512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
54513
54514 2007-06-10  Bruno Haible  <bruno@clisp.org>
54515
54516         * modules/unistr/u32-mbsnlen: New file.
54517         * lib/unistr/u32-mbsnlen.c: New file.
54518
54519         * modules/unistr/u16-mbsnlen: New file.
54520         * lib/unistr/u16-mbsnlen.c: New file.
54521
54522         * modules/unistr/u8-mbsnlen: New file.
54523         * lib/unistr/u8-mbsnlen.c: New file.
54524
54525         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
54526         declarations.
54527
54528 2007-06-10  Bruno Haible  <bruno@clisp.org>
54529
54530         * lib/string_.h (mbsnlen): New declaration.
54531         * lib/mbsnlen.c: New file.
54532         * m4/mbsnlen.m4: New file.
54533         * modules/mbsnlen: New file.
54534         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
54535         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
54536         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
54537
54538 2007-06-10  Bruno Haible  <bruno@clisp.org>
54539
54540         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
54541
54542 2007-06-10  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
54545         * lib/mbuiter.h: Likewise.
54546
54547 2007-06-10  Bruno Haible  <bruno@clisp.org>
54548
54549         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
54550         declaration.
54551
54552 2007-06-10  Karl Berry  <karl@gnu.org>
54553
54554         * config/srclist.txt: remove gettext entries, Bruno prefers
54555         to update individually.
54556
54557 2007-06-10  Bruno Haible  <bruno@clisp.org>
54558
54559         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
54560         'maxlen'. Ensure only length + width bytes are allocated, not
54561         length + 1 + width.
54562
54563 2007-06-09  Bruno Haible  <bruno@clisp.org>
54564
54565         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
54566         (CHAR_T): Remove macro.
54567         (VASNPRINTF): Update.
54568
54569 2007-06-09  Bruno Haible  <bruno@clisp.org>
54570
54571         * MODULES.html.sh (Unicode string functions): Add the new modules.
54572
54573         * modules/uniconv/u32-conv-to-enc: New file.
54574         * lib/uniconv/u32-conv-to-enc.c: New file.
54575         * modules/uniconv/u32-conv-to-enc-tests: New file.
54576         * tests/uniconv/test-u32-conv-to-enc.c: New file.
54577
54578         * modules/uniconv/u16-conv-to-enc: New file.
54579         * lib/uniconv/u16-conv-to-enc.c: New file.
54580         * lib/uniconv/u-conv-to-enc.h: New file.
54581         * modules/uniconv/u16-conv-to-enc-tests: New file.
54582         * tests/uniconv/test-u16-conv-to-enc.c: New file.
54583
54584         * modules/uniconv/u8-conv-to-enc: New file.
54585         * lib/uniconv/u8-conv-to-enc.c: New file.
54586         * modules/uniconv/u8-conv-to-enc-tests: New file.
54587         * tests/uniconv/test-u8-conv-to-enc.c: New file.
54588
54589         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
54590         u32_conv_to_encoding): New declarations.
54591
54592 2007-06-09  Bruno Haible  <bruno@clisp.org>
54593
54594         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
54595
54596 2007-06-09  Bruno Haible  <bruno@clisp.org>
54597
54598         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
54599         * modules/malloca: Renamed from modules/allocsa, updated.
54600         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
54601         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
54602         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
54603         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
54604         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
54605         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
54606         * modules/xmalloca: Renamed from modules/xallocsa, updated.
54607         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
54608         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
54609         * modules/c-strcasestr (Depends-on): Update.
54610         * lib/c-strcasestr.c: Update.
54611         * modules/c-strstr (Depends-on): Update.
54612         * lib/c-strstr.c: Update.
54613         * modules/canonicalize-lgpl (Depends-on): Update.
54614         * lib/canonicalize-lgpl.c: Update.
54615         * modules/clean-temp (Depends-on): Update.
54616         * lib/clean-temp.c: Update.
54617         * modules/csharpcomp (Depends-on): Update.
54618         * lib/csharpcomp.c: Update.
54619         * modules/csharpexec (Depends-on): Update.
54620         * lib/csharpexec.c: Update.
54621         * modules/javacomp (Depends-on): Update.
54622         * lib/javacomp.c: Update.
54623         * modules/javaexec (Depends-on): Update.
54624         * lib/javaexec.c: Update.
54625         * modules/mbscasestr (Depends-on): Update.
54626         * lib/mbscasestr.c: Update.
54627         * modules/mbsstr (Depends-on): Update.
54628         * lib/mbsstr.c: Update.
54629         * modules/setenv (Depends-on): Update.
54630         * lib/setenv.c: Update.
54631         * modules/strcasestr (Depends-on): Update.
54632         * lib/strcasestr.c: Update.
54633         * modules/striconveha (Depends-on): Update.
54634         * lib/striconveha.c: Update.
54635         * modules/relocatable-prog-wrapper (Files): Update.
54636         * lib/relocwrapper.c: Update.
54637         * build-aux/install-reloc: Update.
54638         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
54639
54640 2007-06-08  Bruno Haible  <bruno@clisp.org>
54641
54642         Port to uClibc.
54643         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
54644         * lib/fpurge.c (fpurge): Likewise.
54645         * lib/freading.c (freading): Likewise.
54646         * lib/fseeko.c (rpl_fseeko): Likewise.
54647         * lib/fseterr.c (fseterr): Likewise.
54648         * lib/fwriting.c (fwriting): Likewise.
54649         * tests/test-fflush.c (main): Avoid a failure on uClibc.
54650
54651 2007-06-08  Bruno Haible  <bruno@clisp.org>
54652
54653         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
54654         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
54655         * modules/gettext (Files): Add m4/intlmacosx.m4.
54656
54657 2007-06-07  Bruno Haible  <bruno@clisp.org>
54658
54659         * modules/localename-tests: New file.
54660         * tests/test-localename.c: New file.
54661
54662         New module 'localename'.
54663         * lib/localename.h: New file.
54664         * lib/localename.c: New file, from GNU gettext.
54665         * m4/localename.m4: New file.
54666         * modules/localename: New file.
54667
54668 2007-06-07  Bruno Haible  <bruno@clisp.org>
54669
54670         Work around the lack of <wchar.h> on some builds of uClibc.
54671         * doc/headers/wchar.texi: Update.
54672         * lib/wchar_.h: Include <wchar.h> only if it exists.
54673         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
54674         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
54675         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
54676         doesn't exist.
54677         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
54678         * modules/mbfile (Depends-on): Add wchar.
54679         * modules/mbiter (Depends-on): Likewise.
54680         * modules/mbuiter (Depends-on): Likewise.
54681         Reported by Simon Josefsson.
54682
54683 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
54684
54685         Work around problem reported by Steven M. Schweda in
54686         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
54687         Tru64 5.1B with the Compaq compiler environment installed declares
54688         an 'isblank' function but does not define it in the C library.
54689         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
54690         * lib/regex_internal.h (isblank): Likewise.
54691         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
54692         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54693
54694 2007-06-05  Bruno Haible  <bruno@clisp.org>
54695
54696         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
54697         ia64.
54698         * modules/printf-safe: New file.
54699         * modules/fprintf-posix (Depends-on): Add printf-safe.
54700         * modules/printf-posix (Depends-on): Likewise.
54701         * modules/snprintf-posix (Depends-on): Likewise.
54702         * modules/sprintf-posix (Depends-on): Likewise.
54703         * modules/vasnprintf-posix (Depends-on): Likewise.
54704         * modules/vasprintf-posix (Depends-on): Likewise.
54705         * modules/vfprintf-posix (Depends-on): Likewise.
54706         * modules/vprintf-posix (Depends-on): Likewise.
54707         * modules/vsnprintf-posix (Depends-on): Likewise.
54708         * modules/vsprintf-posix (Depends-on): Likewise.
54709         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
54710         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
54711         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
54712         "no" on i386, x86_64, ia64.
54713         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
54714         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54715         on i386, x86_64, ia64.
54716         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
54717         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54718         on i386, x86_64, ia64.
54719         * tests/test-vasnprintf-posix.c: Include float.h.
54720         (LDBL80_WORDS): New macro.
54721         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54722         on i386, x86_64, ia64.
54723         * tests/test-vasprintf-posix.c: Include float.h.
54724         (LDBL80_WORDS): New macro.
54725         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54726         on i386, x86_64, ia64.
54727         * tests/test-snprintf-posix.c: Include float.h.
54728         * tests/test-sprintf-posix.c: Likewise.
54729         * tests/test-vsnprintf-posix.c: Likewise.
54730         * tests/test-vsprintf-posix.c: Likewise.
54731
54732 2007-06-05  Bruno Haible  <bruno@clisp.org>
54733
54734         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
54735         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
54736         non-IEEE numbers on i386, x86_64, ia64.
54737         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
54738         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
54739         * tests/test-isnanl.h: Include float.h.
54740         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
54741
54742 2007-06-05  Bruno Haible  <bruno@clisp.org>
54743
54744         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
54745         also the %a / %A. Handle the %a / %A code before this extra handling.
54746
54747 2007-06-05  Bruno Haible  <bruno@clisp.org>
54748
54749         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
54750         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
54751
54752 2007-06-05  Bruno Haible  <bruno@clisp.org>
54753
54754         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
54755         typo in variable name.
54756
54757 2007-06-05  Eric Blake  <ebb9@byu.net>
54758
54759         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
54760         Reported by Simon Josefsson.
54761
54762 2007-06-04  Bruno Haible  <bruno@clisp.org>
54763
54764         Avoid test failures on some PowerPC platforms.
54765         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
54766         Define differently for PowerPC.
54767         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
54768         Reported by Gary V. Vaughan <gary@gnu.org>.
54769
54770 2007-06-02  Bruno Haible  <bruno@clisp.org>
54771
54772         Fix test-stdint failure on FreeBSD/ia64.
54773         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
54774         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
54775         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
54776         * doc/headers/stdint.texi: Update.
54777
54778 2007-06-01  Bruno Haible  <bruno@clisp.org>
54779
54780         * tests/test-binary-io.c (main): Pass a third argument to open().
54781         Reported by Gary V. Vaughan <gary@gnu.org>.
54782
54783 2007-06-01  Bruno Haible  <bruno@clisp.org>
54784
54785         * doc/functions/frexpl.texi: Update for mingw.
54786
54787 2007-06-01  Bruno Haible  <bruno@clisp.org>
54788
54789         * tests/test-lseek.c (main): Disable test of errno for invalid third
54790         argument.
54791         * doc/functions/lseek.texi: Update.
54792         Reported by Gary V. Vaughan <gary@gnu.org>.
54793
54794 2007-05-28  Bruno Haible  <bruno@clisp.org>
54795
54796         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
54797
54798 2007-05-31  Eric Blake  <ebb9@byu.net>
54799
54800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
54801         cross compiling.
54802
54803 2007-05-30  Eric Blake  <ebb9@byu.net>
54804         and Bruno Haible  <bruno@clisp.org>
54805
54806         Work around mingw test failures exposed by m4-1.4.9b.
54807         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
54808         * tests/test-unistd.c: Disable uid_t and git_t tests for the
54809         moment.
54810
54811 2007-05-30  Bruno Haible  <bruno@clisp.org>
54812
54813         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
54814         assuming that they are closed. Needed on HP-UX 11.
54815
54816 2007-05-29  Bruno Haible  <bruno@clisp.org>
54817
54818         Fix a problem with #include_next.
54819         * lib/dirent_.h: Split the double-inclusion guard.
54820         * lib/fcntl_.h: Likewise.
54821         * lib/float_.h: Likewise.
54822         * lib/iconv_.h: Likewise.
54823         * lib/inttypes_.h: Likewise.
54824         * lib/locale_.h: Likewise.
54825         * lib/math_.h: Likewise.
54826         * lib/netinet_in_.h: Likewise.
54827         * lib/search_.h: Likewise.
54828         * lib/signal_.h: Likewise.
54829         * lib/stdint_.h: Likewise.
54830         * lib/stdio_.h: Likewise.
54831         * lib/stdlib_.h: Likewise.
54832         * lib/string_.h: Likewise.
54833         * lib/sys_select_.h: Likewise.
54834         * lib/sys_socket_.h: Likewise.
54835         * lib/sys_stat_.h: Likewise.
54836         * lib/sys_time_.h: Likewise.
54837         * lib/sysexits_.h: Likewise.
54838         * lib/time_.h: Likewise.
54839         * lib/unistd_.h: Likewise.
54840         * lib/wchar_.h: Likewise.
54841         * lib/wctype_.h: Likewise.
54842
54843 2007-05-29  Bruno Haible  <bruno@clisp.org>
54844
54845         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
54846         for the moment.
54847
54848 2007-05-29  Bruno Haible  <bruno@clisp.org>
54849
54850         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
54851         invocation.
54852         Reported by Eric Blake.
54853
54854 2007-05-29  Bruno Haible  <bruno@clisp.org>
54855
54856         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
54857         compiling case.
54858
54859 2007-05-29  Eric Blake  <ebb9@byu.net>
54860             Bruno Haible  <bruno@clisp.org>
54861
54862         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
54863         cross compiles.
54864
54865 2007-05-28  Eric Blake  <ebb9@byu.net>
54866
54867         * modules/closein-tests (test_closein_LDADD): Support test on
54868         cygwin with libtool.
54869
54870 2007-05-28  Bruno Haible  <bruno@clisp.org>
54871
54872         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
54873         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
54874         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
54875         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
54876         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
54877         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
54878         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
54879         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
54880         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
54881
54882 2007-05-28  Eric Blake  <ebb9@byu.net>
54883
54884         Unconditionally include <config.h> in unit tests.
54885         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
54886         * tests/test-allocsa.c, tests/test-arcfour.c,
54887         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
54888         tests/test-array_list.c, tests/test-array_oset.c,
54889         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
54890         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
54891         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
54892         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
54893         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
54894         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
54895         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
54896         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
54897         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
54898         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
54899         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
54900         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
54901         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
54902         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
54903         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
54904         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
54905         test-md5.c, test-memmem.c, test-printf-posix.c,
54906         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
54907         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
54908         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
54909         test-strcasestr.c, test-striconv.c, test-striconveh.c,
54910         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
54911         test-vasnprintf-posix2.c, test-vasnprintf.c,
54912         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
54913         test-vfprintf-posix.c, test-vprintf-posix.c,
54914         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
54915         test-xvasprintf.c: Likewise.
54916
54917 2007-05-28  Bruno Haible  <bruno@clisp.org>
54918
54919         * gnulib-tool (func_import): Remember the --with-tests command-line
54920         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
54921         Reported by Eric Blake.
54922
54923 2007-05-28  Bruno Haible  <bruno@clisp.org>
54924
54925         * modules/ftell-tests: New file.
54926         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
54927         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
54928
54929         * lib/ftell.c: New file.
54930         * modules/ftell: New file.
54931         * m4/ftell.m4: New file.
54932         * doc/functions/ftell.texi: Update.
54933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
54934         REPLACE_FTELL.
54935         * lib/stdio_.h (rpl_ftell): New declaration.
54936         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
54937         REPLACE_FTELL.
54938
54939 2007-05-28  Eric Blake  <ebb9@byu.net>
54940
54941         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
54942
54943 2007-05-28  Bruno Haible  <bruno@clisp.org>
54944
54945         * modules/fseek-tests: New file.
54946         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
54947         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
54948
54949         * lib/fseek.c: New file.
54950         * modules/fseek: New file.
54951         * m4/fseek.m4: New file.
54952         * doc/functions/fseek.texi: Update.
54953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
54954         REPLACE_FSEEK.
54955         * lib/stdio_.h (rpl_fseek): New declaration.
54956         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
54957         REPLACE_FSEEK.
54958
54959 2007-05-28  Bruno Haible  <bruno@clisp.org>
54960
54961         * lib/stdio_.h (fflush): More comments.
54962
54963 2007-05-28  Bruno Haible  <bruno@clisp.org>
54964
54965         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
54966         runtime test.
54967
54968 2007-05-28  Eric Blake  <ebb9@byu.net>
54969
54970         Improve lseek module.
54971         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
54972         * lib/unistd_.h (lseek): Scale back link warning message.
54973         * tests/test-lseek.c: Beef up test.
54974         * tests/test-lseek.sh: Exercise more facets of lseek.
54975         Reported by Bruno Haible.
54976
54977 2007-05-28  Bruno Haible  <bruno@clisp.org>
54978
54979         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
54980         to define.
54981
54982 2007-05-27  Bruno Haible  <bruno@clisp.org>
54983
54984         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
54985
54986 2007-05-27  Bruno Haible  <bruno@clisp.org>
54987
54988         * modules/openmp: New file.
54989         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
54990         Noah Misch.
54991
54992 2007-05-26  Bruno Haible  <bruno@clisp.org>
54993
54994         * modules/chdir-long (Depends-on): Add fchdir.
54995         * modules/chdir-safer (Depends-on): Likewise.
54996         * modules/fts (Depends-on): Likewise.
54997         * modules/fts-lgpl (Depends-on): Likewise.
54998         * modules/openat (Depends-on): Likewise.
54999         * modules/savewd (Depends-on): Likewise.
55000
55001 2007-05-24  Eric Blake  <ebb9@byu.net>
55002
55003         Fix lseek on mingw.
55004         * modules/lseek: New module.
55005         * m4/lseek.m4: New file.
55006         * lib/lseek.c: New file.
55007         * modules/lseek-tests: New file.
55008         * tests/test-lseek.c: New file.
55009         * tests/test-lseek.sh: New file.
55010         * MODULES.html.sh: Document lseek module.
55011         * modules/fflush (Depends-on): Add lseek, fseeko.
55012         * modules/fseeko (Depends-on): Likewise.
55013         * modules/ftello (Depends-on): Likewise.
55014         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
55015         broken.
55016         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
55017         broken.
55018         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
55019         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
55020         * lib/ftello.c (rpl_ftello): Likewise.
55021         * tests/test-fseeko.c (main): Test this.
55022         * tests/test-fseeko.sh: Likewise.
55023         * tests/test-ftello.c (main): Likewise.
55024         * tests/test-ftello.sh: Likewise.
55025         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
55026         implies replacing fseek.
55027         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
55028         HAVE_FTELLO.
55029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
55030         * modules/unistd (Makefile.am): Likewise.
55031         * lib/unistd_.h (lseek): Declare a replacement.
55032         * doc/functions/lseek.texi (lseek): Document this fix.
55033         * doc/functions/fseek.texi (fseek): Likewise.
55034         * doc/functions/ftell.texi (ftell): Likewise.
55035
55036 2007-05-24  Bruno Haible  <bruno@clisp.org>
55037
55038         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
55039         in the printed representation of a NaN.
55040         * tests/test-vasprintf-posix.c (test_function): Likewise.
55041         * tests/test-snprintf-posix.h (test_function): Likewise.
55042         * tests/test-sprintf-posix.h (test_function): Likewise.
55043         Reported by Eric Blake.
55044
55045 2007-05-23  Eric Blake  <ebb9@byu.net>
55046
55047         Fix fseeko/ftello on cygwin 1.5.24.
55048         * doc/functions/fseeko.texi (fseeko): Document the fix.
55049         * doc/functions/ftello.texi (ftello): Document the fix.
55050         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
55051         * doc/functions/stdout.text (stdout): New file.
55052         * doc/functions/stderr.text (stderr): New file.
55053         * doc/gnulib.texi (Function Substitutes): Use new files.
55054         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
55055         prior to 1.7.0.
55056         * tests/test-ftello.c (main): Likewise for ftello.
55057         * tests/test-fseeko.sh: New file.
55058         * tests/test-ftello.sh: New file.
55059         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
55060         with seekable stdin.
55061         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
55062         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
55063         (gl_REPLACE_FSEEKO): New macro.
55064         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
55065         * modules/fseeko (Files): Distribute fseeko.c.
55066         * modules/ftello (Files): Distribute ftello.c.
55067         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
55068         mode.
55069         * lib/ftello.c (rpl_ftello): New file.
55070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
55071         fseeko, ftello.
55072         (gl_STDIN_LARGE_OFFSET): New macro.
55073         * modules/stdio (Makefile.am): Perform the replacement.
55074         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
55075
55076 2007-05-23  Bruno Haible  <bruno@clisp.org>
55077
55078         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
55079         GNULIB_POSIXCHECK is defined.
55080
55081 2007-05-21  Bruno Haible  <bruno@clisp.org>
55082
55083         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
55084         Check also the output for NaN arguments. When cross-compiling, guess
55085         no on IRIX.
55086         * lib/vasnprintf.c: Update comments.
55087         * tests/test-vasnprintf-posix.c (strisnan): New function.
55088         (test_function): Use it.
55089         * tests/test-vasprintf-posix.c (strisnan): New function.
55090         (test_function): Use it.
55091         * tests/test-snprintf-posix.h (strisnan): New function.
55092         (test_function): Use it.
55093         * tests/test-sprintf-posix.h (strisnan): New function.
55094         (test_function): Use it.
55095         Reported by Eric Blake.
55096
55097 2007-05-20  Bruno Haible  <bruno@clisp.org>
55098
55099         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
55100         numbers that fails on BeOS.
55101         * doc/functions/frexpl.texi: Update.
55102
55103 2007-05-20  Jim Meyering  <jim@meyering.net>
55104
55105         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
55106         forced upon us by glibc-2.6.
55107
55108 2007-05-20  Bruno Haible  <bruno@clisp.org>
55109
55110         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
55111         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
55112         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
55113         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
55114         NEED_PRINTF_INFINITE.
55115         (is_infinitel): New function.
55116         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
55117         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
55118         gl_PREREQ_VASNPRINTF_INFINITE.
55119         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
55120         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55121         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
55122         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
55123         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
55124         gl_PREREQ_VASNPRINTF_INFINITE.
55125         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55126         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55127         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55128         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55129         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55130         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55131         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55132         * doc/functions/fprintf.texi: Update.
55133         * doc/functions/printf.texi: Update.
55134         * doc/functions/snprintf.texi: Update.
55135         * doc/functions/sprintf.texi: Update.
55136         * doc/functions/vfprintf.texi: Update.
55137         * doc/functions/vprintf.texi: Update.
55138         * doc/functions/vsnprintf.texi: Update.
55139         * doc/functions/vsprintf.texi: Update.
55140
55141 2007-05-20  Bruno Haible  <bruno@clisp.org>
55142
55143         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
55144         was not found in libc.
55145         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
55146
55147 2007-05-20  Bruno Haible  <bruno@clisp.org>
55148
55149         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55150         printed as "-nan" instead of "nan".
55151         * tests/test-vasprintf-posix.c (test_function): Likewise.
55152         * tests/test-snprintf-posix.h (test_function): Likewise.
55153         * tests/test-sprintf-posix.h (test_function): Likewise.
55154         Needed for HP-UX 11.
55155
55156 2007-05-20  Jim Meyering  <jim@meyering.net>
55157
55158         Fix buggy test for the fchownat-deref bug.
55159         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
55160         symlink required for the run-test.  Without it, this test would
55161         always declare that fchownat doesn't work, and client code would
55162         unnecessarily use the replacement function with fixed libc.
55163         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
55164         Reported by Greg Schafer.
55165
55166 2007-05-19  Bruno Haible  <bruno@clisp.org>
55167
55168         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
55169         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
55170         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
55171         Needed for IRIX 6.5 and Solaris 2.5.1.
55172
55173 2007-05-19  Bruno Haible  <bruno@clisp.org>
55174
55175         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
55176         (test_function): Skip tests involving -0.0 on platforms where
55177         -0.0 = 0.0.
55178         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
55179         (test_function): Skip tests involving -0.0 on platforms where
55180         -0.0 = 0.0.
55181         * tests/test-snprintf-posix.h (have_minus_zero): New function.
55182         (test_function): Skip tests involving -0.0 on platforms where
55183         -0.0 = 0.0.
55184         * tests/test-sprintf-posix.h (have_minus_zero): New function.
55185         (test_function): Skip tests involving -0.0 on platforms where
55186         -0.0 = 0.0.
55187         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
55188         tests.
55189         * tests/test-printf-posix.h (test_function): Likewise.
55190         * tests/test-printf-posix.output: Remove all -0.0 related results.
55191         Needed for IRIX 6.5.
55192
55193 2007-05-19  Bruno Haible  <bruno@clisp.org>
55194
55195         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55196         printed as "nan0x7fffffff" instead of "nan".
55197         * tests/test-vasprintf-posix.c (test_function): Likewise.
55198         * tests/test-snprintf-posix.h (test_function): Likewise.
55199         * tests/test-sprintf-posix.h (test_function): Likewise.
55200         * tests/test-fprintf-posix.h (NaN): Remove macro.
55201         (test_function): Remove all NaN related tests.
55202         * tests/test-printf-posix.h (NaN): Remove macro.
55203         (test_function): Remove all NaN related tests.
55204         * tests/test-printf-posix.output: Remove all NaN related results.
55205         Needed for IRIX 6.5.
55206
55207 2007-05-19  Bruno Haible  <bruno@clisp.org>
55208
55209         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
55210         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
55211
55212 2007-05-19  Bruno Haible  <bruno@clisp.org>
55213
55214         * lib/float_.h: New file.
55215         * m4/float_h.m4: New file.
55216         * modules/float: New file.
55217         * modules/isnanl (Dependencies): Add float.
55218         * modules/isnanl-nolibm (Dependencies): Likewise.
55219         * modules/mathl (Dependencies): Likewise.
55220         * modules/printf-frexpl (Dependencies): Likewise.
55221         * modules/signbit (Dependencies): Likewise.
55222         * modules/vasnprintf (Dependencies): Likewise.
55223         * doc/headers/float.texi: Update.
55224
55225 2007-05-19  Jim Meyering  <jim@meyering.net>
55226
55227         * lib/utimens.c (gl_futimens): Rename from futimens,
55228         now that glibc-2.6 declares futimens.
55229         * lib/utimens.h: Likewise.
55230
55231 2007-05-19  Bruno Haible  <bruno@clisp.org>
55232
55233         Avoid test failures on mingw.
55234         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
55235         * tests/test-printf-posix.sh: Likewise.
55236         * tests/test-vfprintf-posix.sh: Likewise.
55237         * tests/test-vprintf-posix.sh: Likewise.
55238
55239 2007-05-19  Bruno Haible  <bruno@clisp.org>
55240
55241         Fix *printf result for NaN, Inf, -0.0 on mingw.
55242         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
55243         * lib/vasnprintf.c: Include math.h and isnan.h.
55244         (is_infinite_or_zero): New function.
55245         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
55246         values in the %f, %F, %e, %E, %g, %G directives.
55247         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
55248         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55249         gl_PRINTF_INFINITE and test its result. Invoke
55250         gl_PREREQ_VASNPRINTF_INFINITE.
55251         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55252         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55253         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55254         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55255         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55256         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55257         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55258         * doc/functions/fprintf.texi: Update.
55259         * doc/functions/printf.texi: Update.
55260         * doc/functions/snprintf.texi: Update.
55261         * doc/functions/sprintf.texi: Update.
55262         * doc/functions/vfprintf.texi: Update.
55263         * doc/functions/vprintf.texi: Update.
55264         * doc/functions/vsnprintf.texi: Update.
55265         * doc/functions/vsprintf.texi: Update.
55266
55267 2007-05-19  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
55270         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
55271         Instead of multiplying with 10^k, set extra_zeroes to k.
55272         (scale10_round_long_double): Remove function.
55273
55274 2007-05-18  Bruno Haible  <bruno@clisp.org>
55275
55276         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
55277         introduced on 2007-05-06.
55278
55279 2007-05-18  Bruno Haible  <bruno@clisp.org>
55280
55281         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
55282         %g directives.
55283         * tests/test-vasprintf-posix.c (test_function): Likewise.
55284         * tests/test-snprintf-posix.h (test_function): Likewise.
55285         * tests/test-sprintf-posix.h (test_function): Likewise.
55286
55287 2007-05-18  Bruno Haible  <bruno@clisp.org>
55288
55289         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
55290         (strmatch): New function.
55291         (test_function): Test the %f directive on numbers of various exponents.
55292         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
55293         (strmatch): New function.
55294         (test_function): Test the %f directive on numbers of various exponents.
55295         * tests/test-snprintf-posix.h (strmatch): New function.
55296         (test_function): Test the %f directive on numbers of various exponents.
55297         * tests/test-sprintf-posix.h (strmatch): New function.
55298         (test_function): Test the %f directive on numbers of various exponents.
55299         * tests/test-snprintf-posix.c (SIZEOF): New macro.
55300         * tests/test-sprintf-posix.c (SIZEOF): New macro.
55301         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
55302         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
55303
55304 2007-05-18  Bruno Haible  <bruno@clisp.org>
55305
55306         Add support for 'long double' number output.
55307         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
55308         * lib/vasnprintf.c: Include math.h and float+.h.
55309         (mp_limb_t): New type.
55310         (GMP_LIMB_BITS): New macro.
55311         (mp_twolimb_t): New type.
55312         (GMP_TWOLIMB_BITS): New macro.
55313         (mpn_t): New type.
55314         (multiply, divide, convert_to_decimal, decode_long_double,
55315         scale10_round_long_double, scale10_round_decimal_long_double,
55316         floorlog10l): New functions.
55317         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
55318         for the %f, %F, %e, %E, %g, %G directives.
55319         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
55320         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55321         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
55322         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
55323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55324         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55325         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55326         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55327         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55329         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55330         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
55331         * modules/snprintf-posix (Depends-on): Likewise.
55332         * modules/sprintf-posix (Depends-on): Likewise.
55333         * modules/vasnprintf-posix (Depends-on): Likewise.
55334         * modules/vasprintf-posix (Depends-on): Likewise.
55335         * modules/vfprintf-posix (Depends-on): Likewise.
55336         * modules/vsnprintf-posix (Depends-on): Likewise.
55337         * modules/vsprintf-posix (Depends-on): Likewise.
55338         * modules/vasnprintf (Files): Add lib/float+.h.
55339         * doc/functions/fprintf.texi: Update.
55340         * doc/functions/printf.texi: Update.
55341         * doc/functions/snprintf.texi: Update.
55342         * doc/functions/sprintf.texi: Update.
55343         * doc/functions/vfprintf.texi: Update.
55344         * doc/functions/vprintf.texi: Update.
55345         * doc/functions/vsnprintf.texi: Update.
55346         * doc/functions/vsprintf.texi: Update.
55347
55348 2007-05-18  Bruno Haible  <bruno@clisp.org>
55349
55350         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
55351
55352 2007-05-18  Bruno Haible  <bruno@clisp.org>
55353
55354         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
55355         for printing 64-bit integers. Needed for mingw.
55356
55357 2007-05-18  Bruno Haible  <bruno@clisp.org>
55358
55359         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
55360         gl_FUNC_FREXPL_WORKS.
55361         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
55362
55363 2007-05-18  Bruno Haible  <bruno@clisp.org>
55364
55365         * modules/frexpl-nolibm-tests: New file.
55366
55367         * modules/frexpl-nolibm: New file.
55368         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
55369
55370 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55371
55372         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
55373         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
55374         GCC 4.2, which otherwise issues a lot of warnings.
55375         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
55376         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
55377         Likewise.
55378         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
55379         * modules/iconv_open (iconv.h): Likewise.
55380         * modules/locale (locale.h): Likewise.
55381         * modules/netinet_in (netinet/in.h): Likewise.
55382         * modules/sys_select (sys_select.h): Likewise.
55383         * modules/sys_socket (sys/socket.h): Likewise.
55384         * modules/sys_stat (sys/stat.h): Likewise.
55385         * modules/sysexits (sysexits.h): Likewise.
55386         * modules/unistd (unistd.h): Likewise.
55387
55388 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55389
55390         * modules/closein-tests (Makefile.am): Distribute
55391         `test-closein.sh'.
55392
55393 2007-05-17  Bruno Haible  <bruno@clisp.org>
55394
55395         * tests/test-printf-posix.output: Renamed from
55396         tests/test-fprintf-posix.out.
55397         * modules/fprintf-posix-tests: Update.
55398         * modules/printf-posix-tests: Update.
55399         * modules/vfprintf-posix-tests: Update.
55400         * modules/vprintf-posix-tests: Update.
55401         * tests/test-fprintf-posix.sh: Update.
55402         * tests/test-printf-posix.sh: Update.
55403         * tests/test-vfprintf-posix.sh: Update.
55404         * tests/test-vprintf-posix.sh: Update.
55405         Reported by Ralf Wildenhues.
55406
55407 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55408
55409         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
55410         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
55411         GCC 4.2, which otherwise issues a lot of warnings.
55412         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
55413         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
55414         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
55415         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
55416         it should no longer be needed.
55417         * lib/string_.h: Likewise.
55418         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
55419         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
55420         * modules/inttypes (inttypes.h): Likewise.
55421         * modules/math (math.h): Likewise.
55422         * modules/search (search.h): Likewise.
55423         * modules/signal (signal.h): Likewise.
55424         * modules/stdint (stdint.h): Likewise.
55425         * modules/stdio (stdio.h): Likewise.
55426         * modules/stdlib (stdlib.h): Likewise.
55427         * modules/string (string.h): Likewise.
55428         * modules/sys_time (sys/time.h): Likewise.
55429         * modules/time (time.h): Likewise.
55430         * modules/wchar (wchar.h): Likewise.
55431         * modules/wctype (wtype.h): Likewise.
55432
55433 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55434
55435         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
55436
55437 2007-05-13  Bruno Haible  <bruno@clisp.org>
55438
55439         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
55440         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55441         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
55442         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55443         (gl_PREREQ_STRTOK_R): Don't require it here.
55444
55445 2007-05-13  Bruno Haible  <bruno@clisp.org>
55446
55447         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
55448         when used in C++ mode.
55449
55450 2007-05-12  Bruno Haible  <bruno@clisp.org>
55451
55452         * lib/linebuffer.h: Tweak doc.
55453         * lib/linebuffer.c: Likewise.
55454
55455 2007-05-12  James Youngman  <jay@gnu.org>
55456
55457         * lib/linebuffer.c (readlinebuffer_delim): New function,
55458         like readlinebuffer, but use a caller-specified delimiter.
55459         (readlinebuffer): Just call readlinebuffer_delim with '\n'
55460         as the delimiter.
55461         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
55462
55463 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55464
55465         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
55466         * modules/openat (Files): Remove openat-die.c.
55467         (Depends-on): Add openat-die.
55468         * modules/openat-die: New module.
55469
55470 2007-05-06  Bruno Haible  <bruno@clisp.org>
55471
55472         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
55473         Update with info about Cygwin.
55474         * doc/functions/fprintf.texi: Update.
55475         * doc/functions/printf.texi: Update.
55476         * doc/functions/snprintf.texi: Update.
55477         * doc/functions/sprintf.texi: Update.
55478         * doc/functions/vfprintf.texi: Update.
55479         * doc/functions/vprintf.texi: Update.
55480         * doc/functions/vsnprintf.texi: Update.
55481         * doc/functions/vsprintf.texi: Update.
55482         Reported by Eric Blake.
55483
55484 2007-05-06  Bruno Haible  <bruno@clisp.org>
55485
55486         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
55487         padding ourselves for the floating-point directives.
55488         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
55489         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
55490         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55491         gl_PRINTF_FLAG_ZERO and test its result. Invoke
55492         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
55493         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55494         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
55495         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55496         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55497         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55498         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55499         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55500         * tests/test-snprintf-posix.h (test_function): Also check the width
55501         and some flags in the %f directive.
55502         * tests/test-sprintf-posix.h (test_function): Likewise.
55503         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55504         * tests/test-vasprintf-posix.c (test_function): Likewise.
55505         * doc/functions/fprintf.texi: Update.
55506         * doc/functions/printf.texi: Update.
55507         * doc/functions/snprintf.texi: Update.
55508         * doc/functions/sprintf.texi: Update.
55509         * doc/functions/vfprintf.texi: Update.
55510         * doc/functions/vprintf.texi: Update.
55511         * doc/functions/vsnprintf.texi: Update.
55512         * doc/functions/vsprintf.texi: Update.
55513
55514 2007-05-06  Bruno Haible  <bruno@clisp.org>
55515
55516         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
55517         pass the ' flag character to sprintf or snprintf.
55518         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
55519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
55520         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55521         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
55522         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
55523         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55524         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
55525         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55526         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55527         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55528         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55529         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55530         * tests/test-snprintf-posix.h (test_function): Also check the grouping
55531         flag.
55532         * tests/test-sprintf-posix.h (test_function): Likewise.
55533         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55534         * tests/test-vasprintf-posix.c (test_function): Likewise.
55535         * doc/functions/fprintf.texi: Update.
55536         * doc/functions/printf.texi: Update.
55537         * doc/functions/snprintf.texi: Update.
55538         * doc/functions/sprintf.texi: Update.
55539         * doc/functions/vfprintf.texi: Update.
55540         * doc/functions/vprintf.texi: Update.
55541         * doc/functions/vsnprintf.texi: Update.
55542         * doc/functions/vsprintf.texi: Update.
55543
55544 2007-05-01  Bruno Haible  <bruno@clisp.org>
55545
55546         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
55547
55548 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
55549
55550         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
55551         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
55552
55553 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55554
55555         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
55556         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
55557         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
55558
55559 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
55560
55561         * lib/argp-help.c (struct hol_entry): New member `ord'.
55562         (HOL_ENTRY_PTRCMP): Use ord for comparison
55563         (hol_sort): Initialize ord.
55564
55565 2007-05-01  Bruno Haible  <bruno@clisp.org>
55566
55567         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
55568         Reported by Eric Blake.
55569         * doc/gnulib.texi (Function Substitutes): Update.
55570
55571 2007-05-01  Bruno Haible  <bruno@clisp.org>
55572
55573         * doc/functions.texi: Remove file, now redundant through
55574         doc/functions/*.texi.
55575
55576 2007-05-01  Bruno Haible  <bruno@clisp.org>
55577
55578         * modules/argp (Depends-on): Add sleep.
55579
55580 2007-05-01  Bruno Haible  <bruno@clisp.org>
55581
55582         * modules/sleep-tests: New file.
55583         * tests/test-sleep.c: New file.
55584
55585         * modules/sleep: New file.
55586         * lib/sleep.c: New file.
55587         * m4/sleep.m4: New file.
55588         * lib/unistd_.h (sleep): New declaration.
55589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
55590         HAVE_SLEEP.
55591         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
55592         * doc/functions/sleep.texi: Document the sleep module.
55593
55594 2007-05-01  Bruno Haible  <bruno@clisp.org>
55595
55596         * lib/sigprocmask.h: Remove file.
55597         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
55598         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
55599         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
55600         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
55601         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
55602         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
55603         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
55604         HAVE_SIGSET_T as a shell variable.
55605         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
55606         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
55607         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
55608         (Depends-on): Add signal. Remove verify.
55609         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
55610         (Include): Mention <signal.h> instead of sigprocmask.h.
55611         * NEWS: Mention the change.
55612         * lib/fatal-signal.c: Don't include sigprocmask.h.
55613
55614 2007-05-01  Bruno Haible  <bruno@clisp.org>
55615
55616         * modules/signal: New file.
55617         * lib/signal_.h: New file.
55618         * m4/signal_h.m4: New file.
55619
55620 2007-05-01  Bruno Haible  <bruno@clisp.org>
55621
55622         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
55623         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
55624         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
55625         HAVE_WCTYPE_CTMP_BUG into wctype.h.
55626
55627 2007-05-01  Bruno Haible  <bruno@clisp.org>
55628
55629         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
55630         configure time.
55631         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
55632         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
55633         * modules/sys_stat (Makefile.am): Substitute their values into
55634         sys/stat.h.
55635
55636 2007-05-01  Bruno Haible  <bruno@clisp.org>
55637
55638         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
55639         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
55640         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
55641
55642 2007-05-01  Bruno Haible  <bruno@clisp.org>
55643
55644         * doc/header/assert.texi: Undo last change: don't mention the gnulib
55645         'assert' module here.
55646
55647 2007-05-01  Bruno Haible  <bruno@clisp.org>
55648
55649         * doc/functions/*.texi: New files.
55650         * doc/functions/google-ranking.txt: New file.
55651         * doc/gnulib.texi (Function Substitutes): New chapter.
55652         (ctime, inet_ntoa): Remove sections.
55653         * doc/ctime.texi: Remove file.
55654         * doc/inet_ntoa.texi: Remove file.
55655         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
55656         dependencies.
55657         (%.info): New rule, specifying a --reference-limit.
55658
55659 2007-05-01  Bruno Haible  <bruno@clisp.org>
55660
55661         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
55662
55663 2007-05-01  Bruno Haible  <bruno@clisp.org>
55664
55665         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
55666         the portability of 'mkdir' to mingw systems.
55667
55668 2007-05-01  Bruno Haible  <bruno@clisp.org>
55669
55670         * doc/headers/google-ranking.txt: New file.
55671
55672 2007-04-30  Eric Blake  <ebb9@byu.net>
55673
55674         Prefer fseeko to fseek.
55675         * modules/getpass (Depends-on): Add fseeko.
55676         * lib/getpass.c (getpass): Use fseeko, not fseek.
55677
55678 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
55679
55680         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
55681         assumes the sorting is stable, while most qsort implementations
55682         are not.  Use argument addresses to ensure they never compare as
55683         equal.
55684
55685         * tests/test-argp-2.sh (usage-indent test): Fix output
55686         (func_compare): Restore diff options
55687         * tests/test-argp.c: Restore #include "progname.h"
55688
55689 2007-04-29  Bruno Haible  <bruno@clisp.org>
55690
55691         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
55692         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55693         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
55694         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55695         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
55696         (configure.ac): Define CHECK_SNPRINTF_POSIX.
55697         (TESTS, check_PROGRAMS): Add test-snprintf.
55698         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
55699         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
55700         (TESTS, check_PROGRAMS): Add test-vsnprintf.
55701         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
55702         assertions that fail on HP-UX, OSF/1, or IRIX.
55703         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
55704
55705 2007-04-29  Bruno Haible  <bruno@clisp.org>
55706
55707         * MODULES.html.sh (posix_functions): Remove 'contents'.
55708
55709 2007-04-29  Karl Berry  <karl@gnu.org>
55710
55711         * config/srclist.txt (gendocs_template_min): new entry.
55712
55713 2007-04-29  Bruno Haible  <bruno@clisp.org>
55714
55715         Work around fpurge bug on BSD systems.
55716         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
55717         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
55718         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
55719         fpurge to rpl_fpurge if the system already has this function.
55720         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
55721         the case where the system already has this function. Correct invariants
55722         on BSD systems.
55723         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
55724         BSD systems.
55725
55726 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55727
55728         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
55729         proposed by Sven Verdoolaege.
55730
55731         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
55732         options.
55733         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
55734         (usage and help tests): Update
55735
55736 2007-04-29  Bruno Haible  <bruno@clisp.org>
55737
55738         * tests/test-fflush.c (main): Use a file of size 17, not 10.
55739         Print more information in case of failure. Disable a test on BeOS.
55740
55741 2007-04-29  Bruno Haible  <bruno@clisp.org>
55742
55743         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
55744         This helps debugging on systems on which no gdb is available.
55745
55746 2007-04-29  Bruno Haible  <bruno@clisp.org>
55747
55748         * lib/freading.h: Improve comments.
55749         * lib/fwriting.h: Likewise.
55750         * tests/test-freading.c (main): Don't check freading immediately after
55751         repositioning. Needed for glibc.
55752
55753 2007-04-29  Bruno Haible  <bruno@clisp.org>
55754
55755         * lib/freading.c (freading): Trivial simplification.
55756
55757 2007-04-28  Bruno Haible  <bruno@clisp.org>
55758
55759         * tests/test-fwriting.c (main): Also test the interaction between
55760         fflush and fwriting.
55761         * modules/fwriting-tests (Depends-on): Add fflush.
55762
55763         * tests/test-freading.c (main): Also test the interaction between
55764         fflush and freading.
55765         * modules/freading-tests (Depends-on): Add fflush.
55766
55767 2007-04-28  Bruno Haible  <bruno@clisp.org>
55768
55769         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
55770         fseeko and ftello.
55771         Suggested by Eric Blake.
55772
55773 2007-04-28  Jim Meyering  <jim@meyering.net>
55774
55775         Avoid false-negative in gl_STDINT_H's C99 conformance test.
55776         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
55777         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
55778
55779 2007-04-27  Eric Blake  <ebb9@byu.net>
55780
55781         * doc/headers/assert.texi (assert.h): Document assert module use.
55782
55783 2007-04-27  Bruno Haible  <bruno@clisp.org>
55784
55785         * doc/headers/*.texi: New files.
55786         * doc/gnulib.texi (Header File Substitutes): New chapter.
55787         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
55788         dependencies.
55789         (standards.info ,standards.html, standards.dvi): Update dependencies.
55790         (mostlyclean, clean): New targets.
55791
55792 2007-04-27  Bruno Haible  <bruno@clisp.org>
55793
55794         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
55795         * modules/sysexits (Files, Makefile.am): Update.
55796
55797         * lib/sys_socket_.h: Renamed from lib/socket_.h.
55798         * modules/sys_socket (Files, Makefile.am): Update.
55799
55800         * lib/sys_stat_.h: Renamed from lib/stat_.h.
55801         * modules/sys_stat (Files, Makefile.am): Update.
55802
55803 2007-04-27  Eric Blake  <ebb9@byu.net>
55804
55805         * lib/freading.h: Improve comments.
55806         * lib/fwriting.h: Likewise.
55807         * lib/fflush.c: Likewise.
55808
55809         Fix closein for mingw.
55810         * modules/closein-tests: Add tests for closein.
55811         * tests/test-closein.c: New file.
55812         * tests/test-closein.sh: Likewise.
55813         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
55814         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
55815
55816 2007-04-27  Bruno Haible  <bruno@clisp.org>
55817
55818         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
55819         version is < 6.
55820         * lib/math_.h [__DECC]: Likewise.
55821         * lib/stdio_.h [__DECC]: Likewise.
55822         * lib/stdlib_.h [__DECC]: Likewise.
55823         * lib/string_.h [__DECC]: Likewise.
55824         * lib/time_.h [__DECC]: Likewise.
55825         * lib/wchar_.h [__DECC]: Likewise.
55826         * lib/wctype_.h [__DECC]: Likewise.
55827
55828 2007-04-27  Bruno Haible  <bruno@clisp.org>
55829
55830         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
55831
55832 2007-04-27  Bruno Haible  <bruno@clisp.org>
55833
55834         * lib/fflush.c: Add comments.
55835         * modules/fpurge-tests (Depends-on): Add fflush.
55836         * modules/freadable-tests (Depends-on): Likewise.
55837         * modules/fwritable-tests (Depends-on): Likewise.
55838
55839 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
55840
55841         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
55842         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
55843         Report by Bruno Haible <bruno@clisp.org>.
55844
55845 2007-04-26  Eric Blake  <ebb9@byu.net>
55846
55847         Fix fflush on mingw.
55848         * modules/fflush (Depends-on): Add freading.
55849         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
55850         but unread data.
55851
55852 2007-04-26  Eric Blake  <ebb9@byu.net>
55853         and Bruno Haible  <bruno@clisp.org>
55854
55855         Implement freading and fwriting.
55856         * lib/freading.c: New file.
55857         * lib/freading.h: Likewise.
55858         * m4/freading.m4: Likewise.
55859         * modules/freading: Likewise.
55860         * modules/freading-tests: Likewise.
55861         * tests/test-freading.c: Likewise.
55862         * lib/fwriting.c: New file.
55863         * lib/fwriting.h: Likewise.
55864         * m4/fwriting.m4: Likewise.
55865         * modules/fwriting: Likewise.
55866         * modules/fwriting-tests: Likewise.
55867         * tests/test-fwriting.c: Likewise.
55868         * MODULES.html.sh (File stream based Input/Output): Mention them.
55869
55870 2007-04-26  Bruno Haible  <bruno@clisp.org>
55871
55872         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
55873         'long' when we assume it.
55874         Suggested by Eric Blake.
55875
55876 2007-04-26  Bruno Haible  <bruno@clisp.org>
55877
55878         Ensure fseeko, ftello are declared on glibc systems.
55879         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
55880         * modules/fseeko (configure.ac-early): Likewise.
55881         * modules/ftello (configure.ac-early): Likewise.
55882         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
55883         AC_FUNC_FSEEKO for this.
55884         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
55885         (gl_CHECK_FSEEKO): Remove macro.
55886
55887 2007-04-26  Bruno Haible  <bruno@clisp.org>
55888
55889         * tests/test-fflush.c (main): Also check the ftell result after
55890         fflush and fseek/fseeko.
55891         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
55892         file descriptor position cache in the stream.
55893         * lib/fseeko.c (rpl_fseeko): Likewise.
55894
55895 2007-04-26  Bruno Haible  <bruno@clisp.org>
55896
55897         * modules/fflush-tests (Depends-on): Add fseeko.
55898
55899 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
55900             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55901
55902         * lib/argz_.h: ensure error_t definition is obtained in same
55903         mechanism system argz.h would have.
55904         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
55905         argz facilities are known bad.  Err on the side of caution if
55906         cross-compiling.
55907
55908 2007-04-25  Eric Blake  <ebb9@byu.net>
55909
55910         * lib/fpurge.c (includes): Use stdlib.h for free.
55911         * tests/test-fflush.c (main): Also test fflush-fseeko.
55912
55913 2007-04-25  Bruno Haible  <bruno@clisp.org>
55914
55915         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
55916         * lib/fseeko.c: New file.
55917         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
55918         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
55919         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
55920         gl_FUNC_FSEEKO.
55921         (gl_FUNC_FSEEKO): Invoke it.
55922         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
55923         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
55924         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
55925
55926 2007-04-25  Bruno Haible  <bruno@clisp.org>
55927
55928         * modules/fflush (Depends-on): Add ftello.
55929
55930 2007-04-25  Bruno Haible  <bruno@clisp.org>
55931
55932         * modules/ftello-tests: New file.
55933         * tests/test-ftello.c: New file.
55934
55935         * modules/ftello: New file.
55936         * m4/ftello.m4: New file.
55937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
55938         HAVE_FTELLO.
55939         * lib/stdio_.h (ftello): New declaration.
55940         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
55941         HAVE_FTELLO.
55942
55943 2007-04-25  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/fseeko-tests: New file.
55946         * tests/test-fseeko.c: New file.
55947
55948         * modules/fseeko: New file.
55949         * m4/fseeko.m4: New file.
55950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
55951         HAVE_FSEEKO.
55952         * lib/stdio_.h (fseeko): New declaration.
55953         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
55954         HAVE_FSEEKO.
55955
55956 2007-04-25  Bruno Haible  <bruno@clisp.org>
55957
55958         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
55959
55960 2007-04-25  Bruno Haible  <bruno@clisp.org>
55961
55962         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
55963         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
55964         * tests/test-unistd.c: Likewise.
55965         * tests/test-fcntl.c: Likewise.
55966
55967 2007-04-23  Eric Blake  <ebb9@byu.net>
55968
55969         * lib/fflush.c: Fix missing include.
55970         Reported by Bruno Haible.
55971
55972 2007-04-23  Bruno Haible  <bruno@clisp.org>
55973
55974         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
55975         Reported by Eric Blake.
55976
55977 2007-04-23  Bruno Haible  <bruno@clisp.org>
55978
55979         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
55980
55981 2007-04-23  Bruno Haible  <bruno@clisp.org>
55982
55983         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
55984
55985 2007-04-23  Bruno Haible  <bruno@clisp.org>
55986
55987         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
55988         Needed on HP-UX 11.
55989
55990 2007-04-16  Eric Blake  <ebb9@byu.net>
55991
55992         Make fflush rely on fpurge.
55993         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
55994         open coding all variants.
55995         * modules/fflush (Depends-on): Add fpurge and unistd.
55996         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
55997         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
55998
55999         Fix --with-tests compilation on cygwin.
56000         * modules/argmatch-tests (Makefile.am): List gnulib library first
56001         in LDADD.
56002         * modules/argp-tests (Makefile.am): Likewise.
56003         * modules/array-list-tests (Makefile.am): Likewise.
56004         * modules/array-oset-tests (Makefile.am): Likewise.
56005         * modules/avltree-list-tests (Makefile.am): Likewise.
56006         * modules/avltree-oset-tests (Makefile.am): Likewise.
56007         * modules/avltreehash-list-tests (Makefile.am): Likewise.
56008         * modules/carray-list-tests (Makefile.am): Likewise.
56009         * modules/dirname-tests (Makefile.am): Likewise.
56010         * modules/frexp-tests (Makefile.am): Likewise.
56011         * modules/isnanl-tests (Makefile.am): Likewise.
56012         * modules/linked-list-tests (Makefile.am): Likewise.
56013         * modules/linkedhash-list-tests (Makefile.am): Likewise.
56014         * modules/lock-tests (Makefile.am): Likewise.
56015         * modules/rbtree-list-tests (Makefile.am): Likewise.
56016         * modules/rbtree-oset-tests (Makefile.am): Likewise.
56017         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
56018         * modules/tls-tests (Makefile.am): Likewise.
56019         * modules/tsearch-tests (Makefile.am): Likewise.
56020         * modules/xvasprintf-tests (Makefile.am): Likewise.
56021
56022         Fix fpurge for cygwin.
56023         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
56024         value.
56025         * modules/fpurge-tests (Depends-on): Clean up trash.
56026
56027 2007-04-16  Simon Josefsson  <simon@josefsson.org>
56028
56029         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
56030
56031         * m4/autobuild.m4: Re-indent.
56032
56033 2007-04-13  Bruno Haible  <bruno@clisp.org>
56034
56035         * modules/fpurge-tests: New file.
56036         * tests/test-fpurge.c: New file.
56037
56038         * modules/fpurge: New file.
56039         * lib/fpurge.h: New file.
56040         * lib/fpurge.c: New file.
56041         * m4/fpurge.m4: New file.
56042
56043 2007-04-13  Bruno Haible  <bruno@clisp.org>
56044
56045         * modules/fbufmode-tests: New file.
56046         * tests/test-fbufmode.c: New file.
56047
56048         * modules/fbufmode: New file.
56049         * lib/fbufmode.h: New file.
56050         * lib/fbufmode.c: New file.
56051         * m4/fbufmode.m4: New file.
56052
56053 2007-04-13  Bruno Haible  <bruno@clisp.org>
56054
56055         * modules/fwritable-tests: New file.
56056         * tests/test-fwritable.c: New file.
56057
56058         * modules/fwritable: New file.
56059         * lib/fwritable.h: New file.
56060         * lib/fwritable.c: New file.
56061         * m4/fwritable.m4: New file.
56062
56063 2007-04-13  Bruno Haible  <bruno@clisp.org>
56064
56065         * modules/freadable-tests: New file.
56066         * tests/test-freadable.c: New file.
56067
56068         * modules/freadable: New file.
56069         * lib/freadable.h: New file.
56070         * lib/freadable.c: New file.
56071         * m4/freadable.m4: New file.
56072
56073 2007-04-13  Bruno Haible  <bruno@clisp.org>
56074
56075         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
56076         MOSTLYCLEANFILES.
56077
56078 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56079
56080         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
56081         gzip bootstrap.conf to avoid dragging in i18n machinery.
56082         (gnulib_tool_option): Use it.
56083
56084 2007-04-13  Bruno Haible  <bruno@clisp.org>
56085
56086         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
56087         %F directives.
56088         * tests/test-vasprintf-posix.c (test_function): Likewise.
56089         * tests/test-snprintf-posix.h (test_function): Likewise.
56090         * tests/test-sprintf-posix.h (test_function): Likewise.
56091         * tests/test-fprintf-posix.h (test_function): Likewise.
56092         * tests/test-printf-posix.h (test_function): Likewise.
56093         * tests/test-fprintf-posix.out: Likewise.
56094
56095 2007-04-13  Bruno Haible  <bruno@clisp.org>
56096
56097         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
56098         * modules/tls-tests (configure.ac): Likewise.
56099         Reported by Arto C. Nirkko <anirkko@insel.ch>.
56100
56101 2007-04-13  Bruno Haible  <bruno@clisp.org>
56102
56103         * lib/tls.c (glthread_tls_get): Fix return type.
56104         Patch by Arto C. Nirkko <anirkko@insel.ch>.
56105
56106 2007-04-12  Eric Blake  <ebb9@byu.net>
56107
56108         * modules/gettime (Depends-on): Remove gettime.
56109         Reported by Dmitry V. Levin.
56110
56111 2007-04-12  Bruno Haible  <bruno@clisp.org>
56112
56113         * modules/fflush (Include): Mention <stdio.h>.
56114         * modules/strtoimax (Include): Mention <inttypes.h>.
56115         * modules/strtoumax (Include): Likewise.
56116
56117 2007-04-12  Eric Blake  <ebb9@byu.net>
56118
56119         * .cvsignore: New file.
56120         * .gitignore: Likewise.
56121
56122 2007-04-12  Bruno Haible  <bruno@clisp.org>
56123
56124         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
56125         not before, since $(LDADD) often contains libgnu.a.
56126         * modules/striconv-tests (test_striconv_LDADD): Likewise.
56127         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
56128         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
56129         Needed on Cygwin.
56130
56131 2007-04-12  Eric Blake  <ebb9@byu.net>
56132
56133         Work around glibc's failure to flush stdin on fclose.
56134         * lib/closein.c (close_stdin): Flush stdin before closing.
56135
56136         Work around glibc's failure to reset seekable stdin on exit.
56137         * modules/closein: New module.
56138         * lib/closein.c: New file.
56139         * lib/closein.h: Likewise.
56140         * m4/closein.m4: Likewise.
56141         * MODULES.html.sh (File stream based Input/Output): Document it.
56142
56143 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56144
56145         * gnulib-tool: Rename generated 'autobuild' script to
56146         'do-autobuild' in --create-megatestdir output.
56147
56148         * doc/gnulib.texi (Build robot for gnulib): Fix.
56149
56150 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56151
56152         * modules/sysexits (Depends-on): Add absolute-header.
56153
56154 2007-04-12  Eric Blake  <ebb9@byu.net>
56155
56156         No need to preserve errno on success.
56157         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
56158         Reported by Bruno Haible.
56159
56160 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56161
56162         * MODULES.html.sh (Support for maintaining and releasing
56163         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
56164
56165 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56166
56167         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
56168
56169 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56170
56171         * modules/autobuild: New module.
56172
56173         * m4/autobuild.m4: New file.
56174
56175 2007-04-11  Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
56178         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
56179         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
56180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
56181         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56182         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56183         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56184         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56185         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56186         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56187         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
56188         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56189         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56190         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
56191         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56192         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56193         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
56194         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56195         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56196         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
56197         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56198         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56199         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
56200         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56201         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56202         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
56203         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56204         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56205         Reported by Eric Blake.
56206
56207 2007-04-11  Bruno Haible  <bruno@clisp.org>
56208
56209         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
56210
56211 2007-04-10  Bruno Haible  <bruno@clisp.org>
56212
56213         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
56214         for NaN and Infinity. Needed on FreeBSD 6.1.
56215         * tests/test-vasnprintf-posix.c (test_function): Undo last change
56216         regarding results for "%010a" of Infinity and NaN.
56217         * tests/test-vasprintf-posix.c (test_function): Likewise.
56218         * tests/test-snprintf-posix.h (test_function): Likewise.
56219         * tests/test-sprintf-posix.h (test_function): Likewise.
56220         * tests/test-fprintf-posix.h (test_function): Likewise.
56221         * tests/test-printf-posix.h (test_function): Likewise.
56222         * tests/test-fprintf-posix.out: Likewise.
56223
56224 2007-04-10  Bruno Haible  <bruno@clisp.org>
56225
56226         * modules/locale-tests: New file.
56227         * tests/test-locale.c: New file.
56228
56229         * modules/locale: New file.
56230         * lib/locale_.h: New file.
56231         * m4/locale_h.m4: New file.
56232
56233 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
56234             Bruno Haible  <bruno@clisp.org>
56235
56236         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
56237         be determined, test for availability of the copysignf, copysign,
56238         copysignl functions.
56239         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
56240         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
56241         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
56242
56243 2007-04-09  Eric Blake  <ebb9@byu.net>
56244
56245         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
56246         * modules/stdio (Makefile.am): Support fflush.
56247         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56248         * modules/fflush: New file.
56249         * lib/fflush.c: Likewise.
56250         * m4/fflush.m4: Likewise.
56251         * modules/fflush-tests: New test.
56252         * tests/test-fflush.c: Likewise.
56253         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
56254
56255 2007-04-06  Bruno Haible  <bruno@clisp.org>
56256
56257         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
56258         (VASNPRINTF): Use signbit for faster determination whether to print a
56259         minus sign.
56260         * modules/vasnprintf (Files): Remove lib/float+.h.
56261         * modules/fprintf-posix (Depends-on): Add signbit.
56262         * modules/snprintf-posix (Depends-on): Likewise.
56263         * modules/sprintf-posix (Depends-on): Likewise.
56264         * modules/vasnprintf-posix (Depends-on): Likewise.
56265         * modules/vasprintf-posix (Depends-on): Likewise.
56266         * modules/vfprintf-posix (Depends-on): Likewise.
56267         * modules/vsnprintf-posix (Depends-on): Likewise.
56268         * modules/vsprintf-posix (Depends-on): Likewise.
56269
56270 2007-04-06  Bruno Haible  <bruno@clisp.org>
56271
56272         * tests/test-frexp.c (main): Test also the sign bit of zero results.
56273         * tests/test-frexpl.c (main): Likewise.
56274         * tests/test-ldexpl.c (main): Likewise.
56275         * modules/frexp-tests (Depends-on): Add signbit.
56276         * modules/frexpl-tests (Depdends-on): Likewise.
56277         * modules/ldexpl-tests (Depdends-on): Likewise.
56278
56279 2007-04-06  Bruno Haible  <bruno@clisp.org>
56280
56281         * modules/signbit-tests: New file.
56282         * tests/test-signbit.c: New file.
56283
56284         * modules/signbit: New file.
56285         * lib/signbitf.c: New file.
56286         * lib/signbitd.c: New file.
56287         * lib/signbitl.c: New file.
56288         * m4/signbit.m4: New file.
56289         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
56290         (signbit): New macro.
56291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
56292         REPLACE_SIGNBIT.
56293         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
56294         REPLACE_FREXPL into math.h.
56295
56296 2007-04-06  Bruno Haible  <bruno@clisp.org>
56297
56298         * modules/isnanf-nolibm-tests: New file.
56299         * tests/test-isnanf.c: New file.
56300
56301         * modules/isnanf-nolibm: New file.
56302         * lib/isnanf.h: New file.
56303         * lib/isnanf.c: New file.
56304         * lib/isnan.c: Consider the USE_FLOAT macro.
56305         * m4/isnanf.m4: New file.
56306
56307 2007-04-06  Bruno Haible  <bruno@clisp.org>
56308
56309         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
56310         (Link): New section.
56311
56312         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
56313
56314 2007-04-06  Bruno Haible  <bruno@clisp.org>
56315
56316         Assume the 'long double' type.
56317         * m4/longdouble.m4: Remove file.
56318         * config/srclist.txt: Don't mention longdouble.m4.
56319         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
56320         * lib/float+.h: Likewise.
56321         * lib/frexp.c: Likewise.
56322         * lib/printf-args.h: Likewise.
56323         * lib/printf-args.c: Likewise.
56324         * lib/printf-frexp.c: Likewise.
56325         * lib/printf-parse.c: Likewise.
56326         * lib/vasnprintf.c: Likewise.
56327         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
56328         * m4/intl.m4: Likewise.
56329         * m4/isnanl.m4: Likewise.
56330         * m4/printf.m4: Likewise.
56331         * m4/printf-frexpl.m4: Likewise.
56332         * m4/vasnprintf.m4: Likewise.
56333         * modules/allocsa (Files): Remove m4/longdouble.m4.
56334         * modules/gettext (Files): Likewise.
56335         * modules/relocatable-prog-wrapper (Files): Likewise.
56336         * modules/vasnprintf (Files): Likewise.
56337         * modules/isnanl (Files): Likewise.
56338         (Include): Simplify.
56339         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
56340         (Include): Simplify.
56341         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
56342         (Include): Simplify.
56343         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
56344         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56345         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
56346         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56347         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
56348         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56349         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
56350         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56351         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
56352         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56353         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
56354         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56355         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
56356         * tests/test-isnanl.c: Likewise.
56357         * tests/test-snprintf-posix.h: Likewise.
56358         * tests/test-sprintf-posix.h: Likewise.
56359         * tests/test-vasnprintf-posix.c: Likewise.
56360         * tests/test-vasnprintf-posix2.c: Likewise.
56361         * tests/test-vasprintf-posix.c: Likewise.
56362
56363 2007-04-06  Bruno Haible  <bruno@clisp.org>
56364
56365         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
56366         * lib/math_.h [__DECC]: Include the overridden include file through
56367         #include_next, outside the double-inclusion guard.
56368         * lib/stdio_.h [__DECC]: Likewise.
56369         * lib/stdlib_.h [__DECC]: Likewise.
56370         * lib/string_.h [__DECC]: Likewise.
56371         * lib/time_.h [__DECC]: Likewise.
56372         * lib/wchar_.h [__DECC]: Likewise.
56373         * lib/wctype_.h [__DECC]: Likewise.
56374         * lib/inttypes_.h [__DECC]: Likewise.
56375         Reported by Albert Chin <china@thewrittenword.com> in
56376         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
56377
56378 2007-04-04  Eric Blake  <ebb9@byu.net>
56379
56380         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
56381         1.5.x.
56382
56383 2007-04-04  Bruno Haible  <bruno@clisp.org>
56384
56385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
56386         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
56387
56388 2007-04-04  Bruno Haible  <bruno@clisp.org>
56389
56390         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
56391         results for "%010a" of Infinity and NaN.
56392         * tests/test-vasprintf-posix.c (test_function): Likewise.
56393         * tests/test-snprintf-posix.h (test_function): Likewise.
56394         * tests/test-sprintf-posix.h (test_function): Likewise.
56395         * tests/test-fprintf-posix.h (test_function): Remove these tests.
56396         * tests/test-printf-posix.h (test_function): Likewise.
56397         * tests/test-fprintf-posix.out: Update.
56398         Needed for FreeBSD 6.1.
56399
56400 2007-04-04  Bruno Haible  <bruno@clisp.org>
56401
56402         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
56403         directly used by the gnulib modules nor by gnulib-tool.
56404
56405 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56406
56407         * DEPENDENCIES: Give overall description of version dependency
56408         desirability.  Use more-typical names for apps.
56409         Add shell, coreutils, diffutils, grep, tar, gzip.
56410
56411 2007-04-04  Simon Josefsson  <simon@josefsson.org>
56412
56413         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
56414
56415 2007-04-04  Karl Berry  <karl@gnu.org>
56416
56417         * MODULES.html.sh (func_module): missing '.
56418
56419 2007-04-03  Bruno Haible  <bruno@clisp.org>
56420
56421         * modules/argmatch-tests (Makefile.am): New variable
56422         test_argmatch_LDADD.
56423         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
56424         * modules/array-list-tests (Makefile.am): New variable
56425         test_array_list_LDADD.
56426         * modules/array-oset-tests (Makefile.am): New variable
56427         test_array_oset_LDADD.
56428         * modules/avltree-list-tests (Makefile.am): New variable
56429         test_avltree_list_LDADD.
56430         * modules/avltree-oset-tests (Makefile.am): New variable
56431         test_avltree_oset_LDADD.
56432         * modules/avltreehash-list-tests (Makefile.am): New variable
56433         test_avltreehash_list_LDADD.
56434         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
56435         test_canonicalize_lgpl_LDADD.
56436         * modules/carray-list-tests (Makefile.am): New variable
56437         test_carray_list_LDADD.
56438         * modules/dirname-tests (Makefile.am): New variable
56439         test_dirname_LDADD.
56440         * modules/linked-list-tests (Makefile.am): New variable
56441         test_linked_list_LDADD.
56442         * modules/linkedhash-list-tests (Makefile.am): New variable
56443         test_linkedhash_list_LDADD.
56444         * modules/rbtree-list-tests (Makefile.am): New variable
56445         test_rbtree_list_LDADD.
56446         * modules/rbtree-oset-tests (Makefile.am): New variable
56447         test_rbtree_oset_LDADD.
56448         * modules/rbtreehash-list-tests (Makefile.am): New variable
56449         test_rbtreehash_list_LDADD.
56450         * modules/xvasprintf-tests (Makefile.am): New variable
56451         test_xvasprintf_LDADD.
56452         Reported by Eric Blake.
56453
56454 2007-04-03  Eric Blake  <ebb9@byu.net>
56455
56456         * DEPENDENCIES: Weaken m4 requirements.
56457
56458 2007-04-03  Bruno Haible  <bruno@clisp.org>
56459
56460         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
56461         * modules/isnanl-tests (configure.ac): Likewise.
56462
56463 2007-04-03  Ben Pfaff  <blp@gnu.org>
56464
56465         * modules/iconv_open: Add $(srcdir)/ to source directory
56466         references in Makefile fragments that call gperf, to fix VPATH
56467         builds.
56468
56469 2007-04-03  Bruno Haible  <bruno@clisp.org>
56470
56471         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
56472         * lib/ldexpl.c: Undo last change.
56473
56474 2007-04-03  Bruno Haible  <bruno@clisp.org>
56475
56476         * modules/printf-frexpl (Depends-on): Undo last change.
56477         (Files): Add m4/ldexpl.m4.
56478
56479 2007-04-03  Bruno Haible  <bruno@clisp.org>
56480
56481         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
56482         * modules/isnanl (Link): New section.
56483
56484         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
56485         * modules/frexp (Link): New section.
56486
56487         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
56488         * modules/frexpl (Link): New section.
56489
56490         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
56491         * modules/ldexpl (Link): New section.
56492
56493 2007-04-03  Bruno Haible  <bruno@clisp.org>
56494
56495         * modules/TEMPLATE-EXTENDED: New file.
56496         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
56497
56498 2007-04-03  Bruno Haible  <bruno@clisp.org>
56499
56500         * DEPENDENCIES: New file.
56501         Suggested by Simon Josefsson.
56502
56503 2007-04-03  Bruno Haible  <bruno@clisp.org>
56504
56505         * doc/gnulib.texi: Escape @.
56506
56507 2007-04-03  James Youngman  <jay@gnu.org>
56508         and Paul Eggert  <eggert@cs.ucla.edu>
56509
56510         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
56511         birthtime on all systems that have birthtime, not just those which
56512         use st_birthtimensec rather than st_birthtim.  Putting zero in
56513         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
56514         that the birth time is not available for files on an NFS mount.
56515
56516 2007-04-03  Simon Josefsson  <simon@josefsson.org>
56517
56518         * modules/memxor: Move back from crypto/, suggested by Bruno.
56519         * modules/crypto/hmac-sha1: Fix memxor dependency.
56520
56521         * modules/crypto/gc: Moved from ../.
56522
56523 2007-04-02  Eric Blake  <ebb9@byu.net>
56524
56525         * lib/ldexpl.c (includes): Avoid libm.
56526
56527         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
56528
56529 2007-04-02  Bruno Haible  <bruno@clisp.org>
56530
56531         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
56532         on IRIX.
56533
56534 2007-04-02  Bruno Haible  <bruno@clisp.org>
56535
56536         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
56537         x86 or x86_64 platforms running MacOS X.
56538         Reported by Ryan Schmidt <@ryandesign.com>.
56539
56540 2007-04-02  Bruno Haible  <bruno@clisp.org>
56541
56542         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
56543         i386.
56544
56545 2007-04-01  Simon Josefsson  <simon@josefsson.org>
56546
56547         * modules/crypto/arcfour: Moved from ../.
56548         * modules/crypto/arcfour-tests: Moved from ../.
56549         * modules/crypto/arctwo: Moved from ../.
56550         * modules/crypto/arctwo-tests: Moved from ../.
56551         * modules/crypto/des: Moved from ../.
56552         * modules/crypto/des-tests: Moved from ../.
56553         * modules/crypto/gc-arcfour: Moved from ../.
56554         * modules/crypto/gc-arcfour-tests: Moved from ../.
56555         * modules/crypto/gc-arctwo: Moved from ../.
56556         * modules/crypto/gc-arctwo-tests: Moved from ../.
56557         * modules/crypto/gc-des: Moved from ../.
56558         * modules/crypto/gc-des-tests: Moved from ../.
56559         * modules/crypto/gc-hmac-md5: Moved from ../.
56560         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
56561         * modules/crypto/gc-hmac-sha1: Moved from ../.
56562         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
56563         * modules/crypto/gc-md2: Moved from ../.
56564         * modules/crypto/gc-md2-tests: Moved from ../.
56565         * modules/crypto/gc-md4: Moved from ../.
56566         * modules/crypto/gc-md4-tests: Moved from ../.
56567         * modules/crypto/gc-md5: Moved from ../.
56568         * modules/crypto/gc-md5-tests: Moved from ../.
56569         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
56570         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
56571         * modules/crypto/gc-random: Moved from ../.
56572         * modules/crypto/gc-rijndael: Moved from ../.
56573         * modules/crypto/gc-rijndael-tests: Moved from ../.
56574         * modules/crypto/gc-sha1: Moved from ../.
56575         * modules/crypto/gc-sha1-tests: Moved from ../.
56576         * modules/crypto/gc-tests: Moved from ../.
56577         * modules/crypto/hmac-md5: Moved from ../.
56578         * modules/crypto/hmac-md5-tests: Moved from ../.
56579         * modules/crypto/hmac-sha1: Moved from ../.
56580         * modules/crypto/hmac-sha1-tests: Moved from ../.
56581         * modules/crypto/md2: Moved from ../.
56582         * modules/crypto/md2-tests: Moved from ../.
56583         * modules/crypto/md4: Moved from ../.
56584         * modules/crypto/md4-tests: Moved from ../.
56585         * modules/crypto/md5: Moved from ../.
56586         * modules/crypto/md5-tests: Moved from ../.
56587         * modules/crypto/memxor: Moved from ../.
56588         * modules/crypto/rijndael: Moved from ../.
56589         * modules/crypto/rijndael-tests: Moved from ../.
56590         * modules/crypto/sha1: Moved from ../.
56591
56592 2007-03-30  James Youngman  <jay@gnu.org>
56593
56594         * tests/test-stat-time.c (prepare_test): use chmod() rather than
56595         rename() to change the ctime of a file (because ctime is unaffected
56596         by rename on jfs2 on AIX 5.1).
56597         (main): Start by doing cleanup, in case a previous run failed leaving
56598         test files behind.
56599
56600 2007-03-31  Bruno Haible  <bruno@clisp.org>
56601
56602         Support old proprietary implementations of iconv.
56603         * modules/iconv_open: New file.
56604         * lib/iconv_.h: New file.
56605         * m4/iconv_h.m4: New file.
56606         * lib/iconv_open.c: New file.
56607         * lib/iconv_open-aix.gperf: New file.
56608         * lib/iconv_open-hpux.gperf: New file.
56609         * lib/iconv_open-irix.gperf: New file.
56610         * lib/iconv_open-osf.gperf: New file.
56611         * m4/iconv_open.m4: New file.
56612         * modules/linebreak (Depends-on): Add iconv_open.
56613         * modules/striconv (Depends-on): Likewise.
56614         * modules/striconveh (Depends-on): Likewise.
56615         * modules/unicodeio (Depends-on): Likewise.
56616         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
56617         (iconv_t)(-1).
56618         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
56619         conversion if cd is (iconv_t)(-1).
56620         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
56621         is not possible.
56622
56623 2007-03-31  Bruno Haible  <bruno@clisp.org>
56624
56625         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
56626         work on Solaris either. Protect also second use of "autodetect_jp".
56627
56628 2007-03-31  Bruno Haible  <bruno@clisp.org>
56629
56630         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
56631         the function is not present.
56632
56633 2007-03-31  Bruno Haible  <bruno@clisp.org>
56634
56635         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
56636         the function is not present.
56637
56638 2007-03-31  Bruno Haible  <bruno@clisp.org>
56639
56640         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
56641         a bug in HP-UX iconv_open().
56642
56643 2007-03-31  Bruno Haible  <bruno@clisp.org>
56644
56645         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
56646         (Mathematics <math.h>): New section, add fpieee.
56647         (Input/output <stdio.h>): Add fseterr.
56648         (Mathematics <math.h>): New section, add printf-frexp.
56649         (Container data structures): Add sublist.
56650         (Core language properties): Add fpucw, inline.
56651         (Functions for greatest-width integer types <inttypes.h>): Add
56652         imaxabs, imaxdiv, inttypes.
56653         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
56654         isnanl-nolibm, ldexp.
56655         (Mathematics <math.h>): New section, add printf-frexpl.
56656         (Support for systems lacking POSIX:2001): Add fprintf-posix,
56657         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
56658         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
56659         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
56660         (Unicode string functions): Add unistr/u*-mbtoucr.
56661         (Java): Add javacomp-script, javaexec-script.
56662         (C#): Add csharpcomp-script, csharpexec-script.
56663         (Support for building libraries and executables): Add havelib,
56664         relocatable-*.
56665         (Support for maintaining and releasing projects): Renamed from
56666         'Support for maintaining and release projects'. Add announce-gen.
56667
56668 2007-03-31  Bruno Haible  <bruno@clisp.org>
56669
56670         * README: Talk primarily about git.
56671         (git and CVS): Renamed from CVS.
56672         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
56673         gnulib is available through git.
56674         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
56675
56676 2007-03-30  Bruno Haible  <bruno@clisp.org>
56677
56678         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
56679         * lib/poll_.h: Likewise.
56680         * lib/stat_.h: Likewise.
56681         * lib/sys_time_.h: Likewise.
56682         * lib/sysexit_.h: Likewise.
56683         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
56684         * lib/stdbool_.h: Likewise.
56685         * lib/byteswap_.h: Add double-inclusion guard.
56686
56687 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
56688
56689         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
56690
56691 2007-03-30  Karl Berry  <karl@gnu.org>
56692
56693         * config/srclist-update: double space after USA in the license
56694         substitution, since that's how it's usually (?) written.
56695
56696 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56697
56698         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
56699         reported by Bruno Haible.
56700
56701 2007-03-29  Bruno Haible  <bruno@clisp.org>
56702
56703         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
56704         a bug in AIX iconv().
56705
56706 2007-03-29  Bruno Haible  <bruno@clisp.org>
56707
56708         * modules/ldexpl-tests: New file.
56709         * tests/test-ldexpl.c: New file.
56710
56711 2007-03-29  Bruno Haible  <bruno@clisp.org>
56712
56713         * lib/ldexpl.c: Include fpucw.h.
56714         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
56715         multiplication.
56716         * modules/ldexpl (Depends-on): Add fpucw.
56717
56718 2007-03-29  Bruno Haible  <bruno@clisp.org>
56719
56720         * modules/ldexpl: New file.
56721         * m4/ldexpl.m4: New file.
56722         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
56723         set.
56724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
56725         REPLACE_LDEXPL.
56726         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
56727         REPLACE_LDEXPL.
56728         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
56729         gl_FUNC_LDEXPL_WORKS.
56730         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
56731         * modules/mathl (Files): Remove lib/ldexpl.c.
56732         (Depends-on): Add ldexpl.
56733
56734 2007-03-29  Bruno Haible  <bruno@clisp.org>
56735
56736         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
56737
56738 2007-03-29  Bruno Haible  <bruno@clisp.org>
56739
56740         * tests/test-striconveh.c (main): Don't assume that a direct conversion
56741         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
56742         and possibly also HP-UX.
56743         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
56744         work on AIX, IRIX, HP-UX, OSF/1.
56745         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
56746         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
56747         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
56748         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
56749         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
56750         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
56751
56752 2007-03-29  Bruno Haible  <bruno@clisp.org>
56753
56754         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
56755
56756 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56757
56758         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
56759         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
56760
56761 2007-03-29  Eric Blake  <ebb9@byu.net>
56762
56763         * lib/acl-internal.h: Remove redundant include.
56764         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
56765         Cygwin when a file is locked.
56766
56767 2007-03-29  Bruno Haible  <bruno@clisp.org>
56768
56769         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
56770         file.
56771         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
56772
56773 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56774
56775         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
56776         try to remove a parent directory if the child couldn't be removed
56777         (except for the first rmdir, which could fail because the child
56778         doesn't exist).  Problem reported by Jeff Blaine in
56779         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
56780
56781 2007-03-28  Bruno Haible  <bruno@clisp.org>
56782
56783         * lib/striconveh.c (utf8conv_carefully): New function.
56784         (mem_cd_iconveh_internal): Invoke it.
56785
56786 2007-03-28  Bruno Haible  <bruno@clisp.org>
56787
56788         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
56789         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
56790         input.
56791         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
56792         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
56793         unistr/u8-uctomb.
56794
56795 2007-03-28  Bruno Haible  <bruno@clisp.org>
56796
56797         * modules/unistr/u8-mbtoucr: New file.
56798         * lib/unistr/u8-mbtoucr.c: New file.
56799         * modules/unistr/u16-mbtoucr: New file.
56800         * lib/unistr/u16-mbtoucr.c: New file.
56801         * modules/unistr/u16-mbtoucr: New file.
56802         * lib/unistr/u16-mbtoucr.c: New file.
56803         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
56804
56805 2007-03-27  Simon Josefsson  <simon@josefsson.org>
56806             Bruno Haible  <bruno@clisp.org>
56807
56808         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
56809         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
56810         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
56811
56812         * m4/stdio_h.m4: Add stubs for vasprintf too.
56813
56814         * modules/stdio: Support vasprintf in sed command.
56815
56816         * modules/vasprintf: Depend on stdio for prototypes.  Remove
56817         vasprintf.h.  Add stdio module indicator.
56818
56819         * lib/stdio_.h: Declare asprintf and vasprintf, based on
56820         vasprintf.h.
56821
56822         * lib/vasprintf.h: File removed.
56823
56824         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
56825         * lib/vasprintf.c: Ditto.
56826         * lib/xvasprintf.c: Ditto.
56827         * tests/test-vasprintf-posix.c: Ditto.
56828         * tests/test-vasprintf.c: Ditto.
56829
56830 2007-03-27  Bruno Haible  <bruno@clisp.org>
56831
56832         Make vasnprintf multithread-safe.
56833         * lib/vasnprintf.c (decimal_point_char): New function.
56834         (VASNPRINTF): Use it.
56835         Suggested by Simon Josefsson.
56836
56837 2007-03-27  Eric Blake  <ebb9@byu.net>
56838
56839         Support sub-second birthtime on cygwin.
56840         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
56841         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
56842         (get_stat_birthtime): Also work with st_birthtim.
56843
56844 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
56845
56846         * lib/stat-time.h (USE_BIRTHTIME): Remove.
56847         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
56848         (get_stat_birthtime_ns): Do not try to use "spare" fields.
56849         (get_stat_birthtime_ns): Simplify compile-time tests.
56850         (get_stat_birthtime): Change the API to look like
56851         get_stat_mtime etc., except return a negative tv_nsec on error.
56852         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
56853         Don't check for "spare" fields.
56854         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
56855         or for struct stat.st_birthtime, as these tests aren't used.
56856         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
56857
56858 2007-03-27  Bruno Haible  <bruno@clisp.org>
56859
56860         * lib/stat-time.h: Include <sys/stat.h>.
56861
56862 2007-03-27  James Youngman  <jay@gnu.org>
56863
56864         * lib/stat-time.h (get_stat_birthtime): New function for
56865           retrieving st_birthtime as provided by UFS2 (hence *BSD).
56866         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
56867           and its variants.
56868         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
56869         * modules/stat-time-test: New file.
56870         * tests/test-stat-time.c: New test, devised by Bruno Haible.
56871
56872 2007-03-26  Bruno Haible  <bruno@clisp.org>
56873
56874         Better support of signalling NaNs.
56875         * lib/atanl.c: Include isnanl.h.
56876         (atanl): Perform test for NaN at the beginning of the function and
56877         through a call to isnanl.
56878         * lib/cosl.c: Include isnanl.h.
56879         (cosl): Perform test for NaN at the beginning of the function and
56880         through a call to isnanl.
56881         * lib/ldexpl.c: Include isnanl.h.
56882         (ldexpl): Perform test for NaN through a call to isnanl.
56883         * lib/logl.c: Include isnanl.h.
56884         (logl): Perform test for NaN at the beginning of the function and
56885         through a call to isnanl.
56886         * lib/sinl.c: Include isnanl.h.
56887         (sinl): Perform test for NaN at the beginning of the function and
56888         through a call to isnanl.
56889         * lib/sqrtl.c: Include isnanl.h.
56890         (sqrtl): Perform test for NaN at the beginning of the function and
56891         through a call to isnanl.
56892         * lib/tanl.c: Include isnanl.h.
56893         (tanl): Perform test for NaN at the beginning of the function and
56894         through a call to isnanl.
56895         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
56896         * modules/mathl (Depends-on): Add isnanl.
56897
56898 2007-03-26  Eric Blake  <ebb9@byu.net>
56899
56900         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
56901         regression in logic sense of previous patch.
56902
56903 2007-03-26  Bruno Haible  <bruno@clisp.org>
56904
56905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
56906         unportable shell command "if ! ...".
56907         Reported by Ralf Wildenhues.
56908
56909 2007-03-25  Bruno Haible  <bruno@clisp.org>
56910
56911         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
56912         <sysexits.h> file, and only add EX_CONFIG.
56913         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
56914         absolute file name and whether it is sufficient. Substitute also
56915         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
56916         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
56917         ABSOLUTE_SYSEXITS_H into sysexits.h.
56918
56919 2007-03-25  Bruno Haible  <bruno@clisp.org>
56920
56921         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
56922         hints is NULL.
56923
56924 2007-03-25  Bruno Haible  <bruno@clisp.org>
56925
56926         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
56927         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
56928
56929 2007-03-25  Bruno Haible  <bruno@clisp.org>
56930
56931         * lib/vasnprintf.c: Include langinfo.h.
56932         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
56933         multithread-safe.
56934         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
56935         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
56936         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56937         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56938         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56939         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56940         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56941         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
56942         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56943         Reported by Simon Josefsson.
56944
56945 2007-03-25  Bruno Haible  <bruno@clisp.org>
56946
56947         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
56948         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
56949         * modules/vasnprintf (Depends-on): Add stdint.
56950
56951 2007-03-25  Bruno Haible  <bruno@clisp.org>
56952
56953         * modules/fpieee: New file.
56954         * m4/fpieee.m4: New file.
56955         * modules/isnan-nolibm (Depends-on): Add fpieee.
56956         * modules/isnanl-nolibm (Depends-on): Add fpieee.
56957         * modules/isnanl (Depends-on): Add fpieee.
56958
56959 2007-03-25  Bruno Haible  <bruno@clisp.org>
56960
56961         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
56962
56963 2007-03-25  Bruno Haible  <bruno@clisp.org>
56964
56965         Avoid test failures on IRIX 6.5.
56966         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
56967         (main): Use it.
56968         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
56969         macros.
56970         (main): Use them.
56971
56972 2007-03-25  Bruno Haible  <bruno@clisp.org>
56973
56974         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
56975         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
56976         exists but doesn't work.
56977         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
56978         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
56979         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
56980         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
56981         math.h.
56982
56983 2007-03-25  Bruno Haible  <bruno@clisp.org>
56984
56985         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
56986         returns inf. Needed on IRIX 6.5.
56987
56988 2007-03-25  Bruno Haible  <bruno@clisp.org>
56989
56990         * tests/test-frexpl.c: Include isnanl-nolibm.h.
56991         (main): Use isnanl instead of x != x idiom.
56992         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
56993
56994         * tests/test-frexp.c: Include isnan.h.
56995         (main): Use isnan instead of x != x idiom.
56996         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
56997
56998 2007-03-25  Bruno Haible  <bruno@clisp.org>
56999
57000         * tests/test-frexp.c (NaN): New function/macro.
57001         (main): Use it instead of 0.0 / 0.0.
57002         * tests/test-isnan.c (NaN): New function/macro.
57003         (main): Use it instead of 0.0 / 0.0.
57004         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
57005         (test_function): Use it instead of 0.0 / 0.0.
57006         * tests/test-vasprintf-posix.c (NaN): New function/macro.
57007         (test_function): Use it instead of 0.0 / 0.0.
57008         * tests/test-snprintf-posix.h (NaN): New function/macro.
57009         (test_function): Use it instead of 0.0 / 0.0.
57010         * tests/test-sprintf-posix.h (NaN): New function/macro.
57011         (test_function): Use it instead of 0.0 / 0.0.
57012         * tests/test-fprintf-posix.h (NaN): New function/macro.
57013         (test_function): Use it instead of 0.0 / 0.0.
57014         * tests/test-printf-posix.h (NaN): New function/macro.
57015         (test_function): Use it instead of 0.0 / 0.0.
57016
57017         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
57018
57019 2007-03-25  Bruno Haible  <bruno@clisp.org>
57020
57021         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
57022
57023 2007-03-25  Bruno Haible  <bruno@clisp.org>
57024
57025         * lib/regexec.c (merge_state_with_log): Make static.
57026
57027 2007-03-25  Bruno Haible  <bruno@clisp.org>
57028
57029         * lib/trigl.c (kernel_rem_pio2): Make static.
57030
57031 2007-03-25  Bruno Haible  <bruno@clisp.org>
57032
57033         * lib/sincosl.c (sincosl_table): Make static.
57034
57035 2007-03-25  Bruno Haible  <bruno@clisp.org>
57036
57037         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
57038         if the compiler does not support C99.
57039
57040 2007-03-25  Bruno Haible  <bruno@clisp.org>
57041
57042         * modules/time (Makefile.am): Ensure all rule action lines start with a
57043         tab.
57044
57045 2007-03-24  Bruno Haible  <bruno@clisp.org>
57046
57047         * modules/tsearch-tests: New file.
57048         * tests/test-tsearch.sh: New file.
57049         * tests/test-tsearch.c: New file, mostly copied from glibc.
57050
57051         * modules/search-tests: New file.
57052         * tests/test-search.c: New file.
57053
57054         * modules/search: New file.
57055         * lib/search_.h: New file, incorporating lib/tsearch.h.
57056         * m4/search_h.m4: New file.
57057         * lib/tsearch.h: Remove file.
57058         * lib/tsearch.c: Include search.h instead of tsearch.h.
57059         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
57060         HAVE_TSEARCH.
57061         * modules/tsearch (Files): Remove lib/tsearch.h.
57062         (Depends-on): Add search.
57063         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
57064         (Include): Change tsearch.h into search.h.
57065
57066 2007-03-24  Bruno Haible  <bruno@clisp.org>
57067
57068         * modules/fpucw: New file.
57069         * lib/fpucw.h: New file.
57070         * lib/frexp.c: Include fpucw.h.
57071         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57072         (FUNC): Use them.
57073         * lib/printf-frexp.c: Include fpucw.h.
57074         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57075         (FUNC): Use them.
57076         * lib/vasnprintf.c: Include fpucw.h.
57077         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
57078         'long double' calculations.
57079         * tests/test-frexpl.c: Include fpucw.h.
57080         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57081         * tests/test-printf-frexpl.c: Include fpucw.h.
57082         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57083         * modules/frexpl (Depends-on): Add fpucw.
57084         * modules/printf-frexpl (Depends-on): Likewise.
57085         * modules/fprintf-posix (Depends-on): Likewise.
57086         * modules/snprintf-posix (Depends-on): Likewise.
57087         * modules/sprintf-posix (Depends-on): Likewise.
57088         * modules/vasnprintf-posix (Depends-on): Likewise.
57089         * modules/vasprintf-posix (Depends-on): Likewise.
57090         * modules/vfprintf-posix (Depends-on): Likewise.
57091         * modules/vsnprintf-posix (Depends-on): Likewise.
57092         * modules/vsprintf-posix (Depends-on): Likewise.
57093         * modules/frexpl-tests (Depends-on): Likewise.
57094         * modules/printf-frexpl-tests (Depends-on): Likewise.
57095
57096 2007-03-24  Bruno Haible  <bruno@clisp.org>
57097
57098         * lib/float+.h: New file.
57099         * lib/isnan.c: Include float+.h.
57100         (SIZE): New macro.
57101         (FUNC): Compare only SIZE bytes of the value.
57102         * lib/vasnprintf.c: Include float+.h.
57103         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
57104         SIZEOF_LDBL or SIZEOF_DBL bytes.
57105         * modules/isnan-nolibm (Files): Add lib/float+.h.
57106         * modules/isnanl-nolibm (Files): Add lib/float+.h.
57107         * modules/isnanl (Files): Add lib/float+.h.
57108         * modules/vasnprintf (Files): Add lib/float+.h.
57109
57110 2007-03-24  Bruno Haible  <bruno@clisp.org>
57111
57112         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
57113         include isnanl-nolibm.h.
57114
57115 2007-03-24  Bruno Haible  <bruno@clisp.org>
57116
57117         * tests/test-read-file.c (main): Don't produce spurious output for
57118         expected situations. Make the test fail if it encountered unexpected
57119         results.
57120
57121 2007-03-24  Bruno Haible  <bruno@clisp.org>
57122
57123         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
57124         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
57125
57126 2007-03-24  Bruno Haible  <bruno@clisp.org>
57127
57128         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
57129
57130 2007-03-24  Bruno Haible  <bruno@clisp.org>
57131
57132         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
57133         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
57134
57135         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
57136         * modules/utf8-ucs4: Turn into a symbolic link to module
57137         unistr/u8-mbtouc.
57138
57139         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
57140         utf8-ucs4-unsafe.
57141         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
57142         unistr/u8-mbtouc-unsafe.
57143
57144         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
57145         * modules/utf16-ucs4: Turn into a symbolic link to module
57146         unistr/u16-mbtouc.
57147
57148         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
57149         utf16-ucs4-unsafe.
57150         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
57151         unistr/u16-mbtouc-unsafe.
57152
57153         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
57154         * modules/ucs4-utf8: Turn into a symbolic link to module
57155         unistr/u8-ubtomb.
57156
57157         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
57158         * modules/ucs4-utf16: Turn into a symbolic link to module
57159         unistr/u16-ubtomb.
57160
57161 2007-03-24  Bruno Haible  <bruno@clisp.org>
57162
57163         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
57164         Enable the function only if HAVE_INLINE.
57165         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
57166         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57167         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
57168         Enable the function only if HAVE_INLINE.
57169         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
57170         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57171         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
57172         Enable the function only if HAVE_INLINE.
57173         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
57174         Enable the function only if HAVE_INLINE.
57175         * modules/utf8-ucs4: Update.
57176         * modules/utf8-ucs4-unsafe: Update.
57177         * modules/utf16-ucs4: Update.
57178         * modules/utf16-ucs4-unsafe: Update.
57179         * modules/ucs4-utf8: Update.
57180         * modules/ucs4-utf16: Update.
57181
57182 2007-03-24  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/utf8-ucs4.h: Remove file.
57185         * lib/utf8-ucs4-unsafe.h: Remove file.
57186         * lib/utf16-ucs4.h: Remove file.
57187         * lib/utf16-ucs4-unsafe.h: Remove file.
57188         * lib/ucs4-utf8.h: Remove file.
57189         * lib/ucs4-utf16.h: Remove file.
57190         * lib/unistr.h: Include their previous contents.
57191         * m4/utf-ucs4.m4: Remove file.
57192         * m4/ucs4-utf.m4: Remove file.
57193         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
57194         (Depends-on): Add unistr/base.
57195         (configure.ac): Remove gl_UTF_UCS4.
57196         (Makefile.am): Update.
57197         (Include): Change to unistr.h.
57198         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
57199         (Depends-on): Add unistr/base.
57200         (configure.ac): Remove gl_UTF_UCS4.
57201         (Makefile.am): Update.
57202         (Include): Change to unistr.h.
57203         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
57204         (Depends-on): Add unistr/base.
57205         (configure.ac): Remove gl_UTF_UCS4.
57206         (Makefile.am): Update.
57207         (Include): Change to unistr.h.
57208         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
57209         (Depends-on): Add unistr/base.
57210         (configure.ac): Remove gl_UTF_UCS4.
57211         (Makefile.am): Update.
57212         (Include): Change to unistr.h.
57213         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
57214         (Depends-on): Add unistr/base.
57215         (configure.ac): Remove gl_UCS4_UTF.
57216         (Makefile.am): Update.
57217         (Include): Change to unistr.h.
57218         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
57219         (Depends-on): Add unistr/base.
57220         (configure.ac): Remove gl_UCS4_UTF.
57221         (Makefile.am): Update.
57222         (Include): Change to unistr.h.
57223         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
57224         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
57225         utf8-ucs4-unsafe.h.
57226         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
57227         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
57228         utf16-ucs4-unsafe.h.
57229         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
57230         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
57231         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
57232         * lib/unistr/u8-strchr.c: Likewise.
57233         * lib/unistr/u8-strrchr.c: Likewise.
57234         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
57235         * lib/unistr/u16-strchr.c: Likewise.
57236         * lib/unistr/u16-strrchr.c: Likewise.
57237         * lib/striconveh.c: Update.
57238         * lib/linebreak.c: Update.
57239
57240 2007-03-24  Bruno Haible  <bruno@clisp.org>
57241
57242         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
57243         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
57244
57245 2007-03-22  Bruno Haible  <bruno@clisp.org>
57246
57247         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
57248
57249 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57250
57251         * MODULES.html.sh (File system functions): New module write-any-file.
57252         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
57253         * m4/write-any-file.m4: New files.
57254
57255 2007-03-23  Eric Blake  <ebb9@byu.net>
57256
57257         * gnulib-tool: Rearrange space-tab sequences, since some editors
57258         like to eat them.
57259
57260 2007-03-23  Eric Blake  <ebb9@byu.net>
57261
57262         * lib/version-etc.c (version_etc_va): Update license wording to
57263         be more concise.  Recommended by Richard Stallman.
57264
57265 2007-03-22  Bruno Haible  <bruno@clisp.org>
57266
57267         * lib/poll.c (MSG_PEEK): New fallback definition.
57268
57269 2007-03-22  Bruno Haible  <bruno@clisp.org>
57270
57271         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
57272         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
57273         (main): Update.
57274         Fixes a compilation error on BeOS.
57275
57276 2007-03-22  Bruno Haible  <bruno@clisp.org>
57277
57278         * modules/frexpl-tests: New file.
57279         * tests/test-frexpl.c: New file.
57280
57281         * modules/frexpl: New file.
57282         * m4/frexpl.m4: New file.
57283         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
57284         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
57285         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
57286         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
57287         (Depends-on): Add frexpl. Remove isnanl-nolibm.
57288         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
57289
57290 2007-03-22  Bruno Haible  <bruno@clisp.org>
57291
57292         * lib/frexpl.c: Share code with lib/frexp.c.
57293         * modules/mathl (Files): Add lib/frexp.c.
57294         (Depends-on): Add isnanl-nolibm.
57295
57296 2007-03-22  Bruno Haible  <bruno@clisp.org>
57297
57298         * modules/printf-frexp (Files): Add m4/frexp.m4.
57299         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
57300         only if the found frexp function actually works.
57301
57302 2007-03-22  Bruno Haible  <bruno@clisp.org>
57303
57304         * lib/frexp.c: Remove older implementation that uses divisions.
57305
57306 2007-03-21  Bruno Haible  <bruno@clisp.org>
57307
57308         * modules/frexp-tests: New file.
57309         * tests/test-frexp.c: New file.
57310
57311         * modules/frexp: New file.
57312         * lib/frexp.c: New file.
57313         * m4/frexp.m4: New file.
57314         * lib/math_.h (frexp): New declaration.
57315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
57316         REPLACE_FREXP.
57317         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
57318
57319 2007-03-21  Bruno Haible  <bruno@clisp.org>
57320
57321         * modules/isnanl-tests: New file.
57322         * tests/test-isnanl.c: New file.
57323
57324         * modules/isnanl: New file.
57325         * lib/isnanl.h: New file.
57326         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
57327         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
57328         gl_FUNC_ISNANL_WORKS.
57329         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
57330         New macros.
57331
57332 2007-03-21  Bruno Haible  <bruno@clisp.org>
57333
57334         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
57335         lib/isnanl.h.
57336         (Include): Update.
57337         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
57338         * lib/vasnprintf.c: Update.
57339         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
57340         tests/test-isnanl.h, remove tests/test-isnanl.c.
57341         (Makefile.am): Update.
57342         * tests/test-isnanl-nolibm.c: New file.
57343         * tests/test-isnanl.h: New file.
57344         * tests/test-isnanl.c: Remove file.
57345
57346 2007-03-21  Jim Meyering  <jim@meyering.net>
57347
57348         When trying to open ".", treat ESTALE like EACCES.
57349         * lib/savewd.c (savewd_save): Resort to forking not just upon
57350         failure with EACCES, but also when errno is ESTALE.
57351
57352 2007-03-20  Bruno Haible  <bruno@clisp.org>
57353
57354         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
57355         Needed on AIX 5.1. Reported by Matthew Woehlke.
57356
57357 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57358
57359         Suggestions by Bruno Haible:
57360         * lib/acl-internal.h: Include "gettext.h" rather than rolling
57361         our own.
57362         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
57363         * modules/acl (Depends-on): Add gettext.
57364
57365 2007-03-19  Bruno Haible  <bruno@clisp.org>
57366
57367         * modules/iconvme: Remove file.
57368         * lib/iconvme.h: Remove file.
57369         * lib/iconvme.c: Remove file.
57370         * m4/iconvme.m4: Remove file.
57371
57372 2007-03-19  Bruno Haible  <bruno@clisp.org>
57373
57374         * doc/relocatable-maint.texi: Break long shell script line.
57375         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
57376
57377 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57378
57379         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
57380         handle file_has_acl.
57381         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
57382         * lib/acl.c: Move header inclusions and related macro defns into
57383         lib/acl-internal.h.
57384         (S_ISLNK): Remove defn, since that's now done for us.
57385         (file_has_acl): Move to lib/file-has-acl.c.
57386         Call acl_trivial if available.  This is the crucial part of the fix.
57387         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
57388         shared within the library.  Rewrite a bit, partly to make it compatible
57389         with the GNU coding style.
57390         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
57391         Remove unnecessary double-quotes.
57392         Don't test for acl_to_text; the build will catch that.
57393         Replace acl_entries if it doesn't exist and it is needed.
57394         Check for -lsec and acl_trivial (as used on Solaris 10).
57395         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
57396         lib/file-has-acl.c.
57397         (Depends-on): Add sys_stat, for S_ISLNK.
57398
57399 2007-03-19  Ben Pfaff  <blp@gnu.org>
57400
57401         * doc/gnulib.texi: Fix typos.
57402         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
57403
57404 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57405
57406         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
57407         If size is zero here, buf must be zero.
57408
57409 2007-03-19  Simon Josefsson  <simon@josefsson.org>
57410
57411         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
57412         <bruno@clisp.org>.
57413
57414 2007-03-18  Bruno Haible  <bruno@clisp.org>
57415
57416         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
57417         Suggested by Eric Blake.
57418
57419 2007-03-18  Ben Pfaff  <blp@gnu.org>
57420
57421         * doc/relocatable.texi: Recommend using as prefix a directory
57422         that does not exist and will never be created.  Based on
57423         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
57424         and others.
57425
57426 2007-03-17  Bruno Haible  <bruno@clisp.org>
57427
57428         * lib/fchownat.c: Include lchown.h.
57429
57430 2007-03-17  Bruno Haible  <bruno@clisp.org>
57431
57432         Fix endless loop when the given allocated size was > INT_MAX.
57433         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
57434         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
57435         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
57436         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
57437         * lib/sprintf.c (sprintf): Likewise.
57438
57439 2007-03-17  Bruno Haible  <bruno@clisp.org>
57440
57441         * tests/test-argp-2.sh (func_compare): Output a context diff.
57442
57443 2007-03-17  Bruno Haible  <bruno@clisp.org>
57444
57445         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
57446         locale's decimal-point character.
57447
57448 2007-03-17  Bruno Haible  <bruno@clisp.org>
57449
57450         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
57451         before comparing it. Needed because on some platforms (e.g. x86) a
57452         'long double' occupies less bytes than sizeof (long double).
57453
57454 2007-03-17  Bruno Haible  <bruno@clisp.org>
57455
57456         * tests/test-crc.c (main): Make printf statements 64-bit clean.
57457         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
57458         * tests/test-getaddrinfo.c (simple): Likewise.
57459         * tests/test-read-file.c (main): Likewise.
57460
57461 2007-03-17  Bruno Haible  <bruno@clisp.org>
57462
57463         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
57464
57465 2007-03-17  Bruno Haible  <bruno@clisp.org>
57466
57467         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
57468         unused variable.
57469
57470 2007-03-17  Bruno Haible  <bruno@clisp.org>
57471
57472         * tests/test-c-strcasecmp.c: Include c-strcase.h.
57473         * tests/test-c-strncasecmp.c: Likewise.
57474
57475 2007-03-17  Bruno Haible  <bruno@clisp.org>
57476
57477         * modules/stdlib (Depends-on): Add unistd.
57478         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
57479         Needed for MacOS X 10.3.
57480
57481 2007-03-17  Bruno Haible  <bruno@clisp.org>
57482
57483         * lib/unistr/u-strdup.h: Include <stdlib.h>.
57484
57485 2007-03-17  Bruno Haible  <bruno@clisp.org>
57486
57487         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
57488
57489 2007-03-17  Bruno Haible  <bruno@clisp.org>
57490
57491         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
57492         to reflect files copied from gnulib (with or without modifications).
57493         Suggested by Jim Meyering.
57494
57495 2007-03-17  Eric Blake  <ebb9@byu.net>
57496
57497         * NEWS: Document stdlib change from 2007-02-18.
57498
57499 2007-03-17  Jim Meyering  <jim@meyering.net>
57500
57501         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
57502         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
57503         someone uses a name containing shell meta-characters.
57504         Reported by Alfred M. Szmidt.
57505
57506         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
57507
57508 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57509
57510         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
57511         and copy gettext configuration files only if configure.ac contains
57512         a use of AM_GNU_GETTEXT_VERSION.
57513
57514 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57515
57516         * build-aux/bootstrap (gnulib_name): New variable.
57517         (gnulib_tool_options): Use it.
57518
57519 2007-03-13  Simon Josefsson  <simon@josefsson.org>
57520
57521         * tests/test-des.c: Use new namespace.
57522
57523 2007-03-15  Bruno Haible  <bruno@clisp.org>
57524
57525         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
57526         Reported by James Youngman <jay@gnu.org>.
57527
57528 2007-03-15  Bruno Haible  <bruno@clisp.org>
57529
57530         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
57531         declared prototype. Needed with cc on OSF/1 5.1.
57532
57533 2007-03-15  Bruno Haible  <bruno@clisp.org>
57534
57535         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
57536         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
57537         (struct gl_list_implementation): Add dispose_fn argument to the
57538         'create_empty', 'create' methods.
57539         (struct gl_list_impl_base): Add field 'dispose_fn'.
57540         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
57541         argument.
57542         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
57543         dispose_fn argument.
57544         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
57545         dispose_fn on the dropped values.
57546         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
57547         dispose_fn argument.
57548         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
57549         dropped values.
57550         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
57551         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57552         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
57553         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57554         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
57555         argument.
57556         (gl_tree_list_free): Call dispose_fn on the dropped values.
57557         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
57558         the dropped values.
57559         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
57560         Add dispose_fn argument.
57561         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
57562         Call dispose_fn on the dropped values.
57563         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
57564         Add dispose_fn argument.
57565         (gl_sublist_create): Initialize the 'dispose_fn' field.
57566         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
57567         * tests/test-array_list.c (main): Update.
57568         * tests/test-carray_list.c (main): Update.
57569         * tests/test-avltree_list.c (main): Update.
57570         * tests/test-rbtree_list.c (main): Update.
57571         * tests/test-avltreehash_list.c (main): Update.
57572         * tests/test-rbtreehash_list.c (main): Update.
57573         * tests/test-linked_list.c (main): Update.
57574         * tests/test-linkedhash_list.c (main): Update.
57575         * tests/test-array_oset.c (main): Update.
57576
57577 2007-03-15  Bruno Haible  <bruno@clisp.org>
57578
57579         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
57580         (gl_oset_create_empty): Add dispose_fn argument.
57581         (struct gl_oset_implementation): Add dispose_fn argument to
57582         'create_empty' method.
57583         (struct gl_oset_impl_base): Add dispose_fn field.
57584         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
57585         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
57586         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
57587         values.
57588         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
57589         (gl_tree_oset_free): Call dispose_fn on the dropped values.
57590         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57591         dropped value.
57592         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57593         dropped value.
57594         * tests/test-array_oset.c (main): Update.
57595         * tests/test-avltree_oset.c (main): Update.
57596         * tests/test-rbtree_oset.c (main): Update.
57597         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
57598
57599 2007-03-13  Bruno Haible  <bruno@clisp.org>
57600
57601         * tests/test-stdbool.c (i): Update after last patch.
57602
57603 2007-03-12  Bruno Haible  <bruno@clisp.org>
57604
57605         * lib/quotearg.c: Include <wctype.h> early, before the definition of
57606         the iswprint macro. Needed on Solaris 2.5.1.
57607
57608 2007-03-12  Bruno Haible  <bruno@clisp.org>
57609
57610         * tests/test-printf-frexp.c (main): Declare x as volatile.
57611
57612 2007-03-12  Simon Josefsson  <simon@josefsson.org>
57613
57614         * doc/gnulib.texi (Build robot for gnulib): New section.
57615
57616 2007-03-12  Jim Meyering  <jim@meyering.net>
57617
57618         * build-aux/bootstrap: New file.
57619         * build-aux/bootstrap.conf: New file, from coreutils.
57620
57621 2007-03-11  Bruno Haible  <bruno@clisp.org>
57622
57623         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
57624
57625 2007-03-12  Simon Josefsson  <simon@josefsson.org>
57626
57627         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
57628         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
57629         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
57630
57631 2007-03-11  Bruno Haible  <bruno@clisp.org>
57632
57633         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
57634         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
57635
57636 2007-03-11  Bruno Haible  <bruno@clisp.org>
57637
57638         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
57639         formula. Needed for SunPRO C 5.0.
57640
57641 2007-03-11  Bruno Haible  <bruno@clisp.org>
57642
57643         * modules/long-options (Depends-on): Add getopt.
57644
57645 2007-03-11  Bruno Haible  <bruno@clisp.org>
57646
57647         * modules/modechange (Depends-on): Add stdbool.
57648
57649 2007-03-11  Bruno Haible  <bruno@clisp.org>
57650
57651         * modules/i-ring (Depends-on): Add stdbool.
57652
57653 2007-03-11  Bruno Haible  <bruno@clisp.org>
57654
57655         * modules/gc-des (Depends-on): Add stdbool.
57656
57657 2007-03-11  Bruno Haible  <bruno@clisp.org>
57658
57659         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
57660
57661 2007-03-11  Bruno Haible  <bruno@clisp.org>
57662
57663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
57664
57665 2007-03-11  Bruno Haible  <bruno@clisp.org>
57666
57667         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
57668
57669 2007-03-11  Bruno Haible  <bruno@clisp.org>
57670
57671         * lib/vasnprintf.c (sprintf): Undefine.
57672
57673 2007-03-11  Bruno Haible  <bruno@clisp.org>
57674
57675         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
57676         initializers in SunPRO C and Compaq C compilers.
57677
57678 2007-03-11  Bruno Haible  <bruno@clisp.org>
57679
57680         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
57681         decrementing code ANSI C compliant.
57682
57683 2007-03-11  Bruno Haible  <bruno@clisp.org>
57684
57685         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
57686         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
57687
57688 2007-03-11  Bruno Haible  <bruno@clisp.org>
57689
57690         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
57691         <stdbool.h> substitute doesn't pass.
57692
57693 2007-03-11  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
57696
57697 2007-03-11  Bruno Haible  <bruno@clisp.org>
57698
57699         * gnulib-tool (func_create_megatestdir): Create also an autobuild
57700         script, for submission to autobuild.josefsson.org.
57701
57702 2007-03-10  Bruno Haible  <bruno@clisp.org>
57703
57704         * modules/canonicalize-lgpl-tests: New file.
57705         * tests/test-canonicalize-lgpl.sh: New file.
57706         * tests/test-canonicalize-lgpl.c: New file.
57707
57708         * modules/c-strcase-tests: New file.
57709         * tests/test-c-strcase.sh: New file.
57710         * tests/test-c-strcasecmp.c: New file.
57711         * tests/test-c-strncasecmp.c: New file.
57712
57713         * modules/atexit-tests: New file.
57714         * tests/test-atexit.sh: New file.
57715         * tests/test-atexit.c: New file.
57716
57717 2007-03-10  Bruno Haible  <bruno@clisp.org>
57718
57719         * tests/test-binary-io.sh: Use temporary filenames that are not so
57720         likely to clash with those of other tests (in a parallel make).
57721         * tests/test-binary-io.c: Likewise.
57722
57723 2007-03-10  Bruno Haible  <bruno@clisp.org>
57724
57725         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
57726         fallback; use #error instead.
57727         Suggested by Simon Josefsson.
57728
57729 2007-03-10  Bruno Haible  <bruno@clisp.org>
57730
57731         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
57732         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
57733         first and the last.
57734
57735 2007-03-10  Bruno Haible  <bruno@clisp.org>
57736
57737         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
57738
57739 2007-03-10  Bruno Haible  <bruno@clisp.org>
57740
57741         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
57742         "make distcheck".
57743         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
57744         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
57745         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
57746
57747 2007-03-10  Bruno Haible  <bruno@clisp.org>
57748
57749         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
57750         variable.
57751         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
57752         variable.
57753
57754 2007-03-09  Eric Blake  <ebb9@byu.net>
57755         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
57756
57757         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
57758         types are not being provided by gnulib.
57759         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
57760         types are supported.
57761
57762 2007-03-10  Bruno Haible  <bruno@clisp.org>
57763
57764         * lib/stdio_.h (__attribute__): New macro.
57765         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
57766         vsprintf): Specify __attribute__ __format__ for GCC.
57767         Suggested by Eric Blake.
57768
57769 2007-03-09  Bruno Haible  <bruno@clisp.org>
57770
57771         * modules/printf-posix-tests: New file.
57772         * tests/test-printf-posix.sh: New file.
57773         * tests/test-printf-posix.c: New file.
57774
57775         * modules/printf-posix: New file.
57776         * lib/printf.c: New file.
57777         * m4/printf-posix-rpl.m4: New file.
57778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
57779         REPLACE_PRINTF.
57780         * lib/stdio_.h (printf): New declaration.
57781         (format, __format__, ____printf____, ____scanf____, ____strftime____,
57782         ____strfmon____): New macros.
57783         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
57784         REPLACE_PRINTF.
57785
57786 2007-03-09  Bruno Haible  <bruno@clisp.org>
57787
57788         * tests/test-vasnprintf-posix2.sh: New file.
57789         * tests/test-vasnprintf-posix2.c: New file.
57790         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
57791         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
57792         (Makefile.am): Activate test-vasnprintf-posix2.sh.
57793
57794         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
57795         a locale dependent decimal point, rather than always '.'.
57796
57797 2007-03-09  Eric Blake  <ebb9@byu.net>
57798
57799         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
57800         spite of platforms like Tandem/NSK that define it to -1.
57801
57802 2007-03-08  Bruno Haible  <bruno@clisp.org>
57803
57804         * modules/vprintf-posix-tests: New file.
57805         * tests/test-vprintf-posix.sh: New file.
57806         * tests/test-vprintf-posix.c: New file.
57807         * tests/test-printf-posix.h: New file.
57808
57809         * modules/vprintf-posix: New file.
57810         * lib/vprintf.c: New file.
57811         * m4/vprintf-posix.m4: New file.
57812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
57813         REPLACE_VPRINTF.
57814         * lib/stdio_.h (vprintf): New declaration.
57815         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
57816         REPLACE_VPRINTF.
57817
57818 2007-03-08  Bruno Haible  <bruno@clisp.org>
57819
57820         * modules/fprintf-posix-tests: New file.
57821         * tests/test-fprintf-posix.sh: New file.
57822         * tests/test-fprintf-posix.c: New file.
57823
57824         * modules/fprintf-posix: New file.
57825         * lib/fprintf.c: New file.
57826         * m4/fprintf-posix.m4: New file.
57827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
57828         REPLACE_FPRINTF.
57829         * lib/stdio_.h (fprintf): New declaration.
57830         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
57831         REPLACE_FPRINTF.
57832
57833 2007-03-08  Bruno Haible  <bruno@clisp.org>
57834
57835         * modules/vfprintf-posix-tests: New file.
57836         * tests/test-vfprintf-posix.sh: New file.
57837         * tests/test-vfprintf-posix.c: New file.
57838         * tests/test-fprintf-posix.h: New file.
57839         * tests/test-fprintf-posix.out: New file.
57840
57841         * modules/vfprintf-posix: New file.
57842         * lib/vfprintf.c: New file.
57843         * m4/vfprintf-posix.m4: New file.
57844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
57845         REPLACE_VFPRINTF.
57846         * lib/stdio_.h (vfprintf): New declaration.
57847         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
57848         REPLACE_VFPRINTF.
57849
57850 2007-03-08  Bruno Haible  <bruno@clisp.org>
57851
57852         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
57853
57854 2007-03-08  Bruno Haible  <bruno@clisp.org>
57855
57856         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
57857         instead of 'expr' invocations.
57858         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57859         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57860         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57861         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57862         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57863         Suggested by Paul Eggert.
57864
57865 2007-03-08  Bruno Haible  <bruno@clisp.org>
57866
57867         * modules/fseterr-tests: New file.
57868         * tests/test-fseterr.c: New file.
57869
57870         * modules/fseterr: New file.
57871         * lib/fseterr.h: New file.
57872         * lib/fseterr.c: New file.
57873
57874 2007-03-08  Bruno Haible  <bruno@clisp.org>
57875
57876         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
57877         * lib/getopt_.h: Likewise.
57878         * lib/mbswidth.h: Likewise.
57879         * lib/setenv.h: Likewise.
57880         * lib/vasnprintf.h: Likewise.
57881         * lib/vasprintf.h: Likewise.
57882         * lib/verror.h: Likewise.
57883         * lib/xsetenv.h: Likewise.
57884         * lib/xvasprintf.h: Likewise.
57885
57886 2007-03-08  Jim Meyering  <jim@meyering.net>
57887
57888         * users.txt: Add parted.
57889
57890         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
57891
57892 2007-03-07  Bruno Haible  <bruno@clisp.org>
57893
57894         * m4/printf.m4: Make the shell script snippets copy&pastable.
57895
57896 2007-03-02  Bruno Haible  <bruno@clisp.org>
57897
57898         * lib/netinet_in_.h: New file.
57899         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
57900         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
57901         * modules/netinet_in (Files): Add lib/netinet_in_.h.
57902         (Depends-on): Add absolute-header.
57903         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
57904         into netinet/in.h.
57905
57906 2007-03-03  Bruno Haible  <bruno@clisp.org>
57907
57908         * lib/sys_select_.h: New file.
57909         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
57910         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
57911         * modules/sys_select (Files): Add lib/sys_select_.h.
57912         (Depends-on): Add absolute-header.
57913         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
57914         into sys/select.h.
57915
57916 2007-03-02  Bruno Haible  <bruno@clisp.org>
57917
57918         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
57919         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
57920         values.
57921         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
57922         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
57923         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
57924         * modules/sys_socket (Depends-on): Add absolute-header.
57925         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
57926         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
57927         (Include): Remove requirement of inclusion of <sys/types.h>.
57928
57929 2007-03-02  Bruno Haible  <bruno@clisp.org>
57930
57931         * lib/byteswap_.h (bswap_32): Fix formula.
57932
57933 2007-03-06  Bruno Haible  <bruno@clisp.org>
57934
57935         * modules/sprintf-posix-tests: New file.
57936         * tests/test-sprintf-posix.c: New file.
57937
57938         * modules/sprintf-posix: New file.
57939         * lib/sprintf.c: New file.
57940         * m4/sprintf-posix.m4: New file.
57941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
57942         REPLACE_SPRINTF.
57943         * lib/stdio_.h (sprintf): New declaration.
57944         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
57945         REPLACE_SPRINTF.
57946
57947 2007-03-06  Bruno Haible  <bruno@clisp.org>
57948
57949         * modules/vsprintf-posix-tests: New file.
57950         * tests/test-vsprintf-posix.c: New file.
57951         * tests/test-sprintf-posix.h: New file.
57952
57953         * modules/vsprintf-posix: New file.
57954         * lib/vsprintf.c: New file.
57955         * m4/vsprintf-posix.m4: New file.
57956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
57957         REPLACE_VSPRINTF.
57958         * lib/stdio_.h (vsprintf): New declaration.
57959         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
57960         REPLACE_VSPRINTF.
57961
57962 2007-03-06  Bruno Haible  <bruno@clisp.org>
57963
57964         * modules/vsnprintf (Depend-on): Remove minmax.
57965
57966 2007-03-06  Bruno Haible  <bruno@clisp.org>
57967
57968         * modules/snprintf-posix-tests: New file.
57969         * tests/test-snprintf-posix.c: New file.
57970
57971         * modules/snprintf-posix: New file.
57972         * m4/snprintf-posix.m4: New file.
57973         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
57974         gl_FUNC_SNPRINTF.
57975         (gl_FUNC_SNPRINTF): Invoke it.
57976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
57977         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
57978         is set.
57979         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
57980
57981 2007-03-06  Bruno Haible  <bruno@clisp.org>
57982
57983         * modules/vsnprintf-posix-tests: New file.
57984         * tests/test-vsnprintf-posix.c: New file.
57985         * tests/test-snprintf-posix.h: New file.
57986
57987         * modules/vsnprintf-posix: New file.
57988         * m4/vsnprintf-posix.m4: New file.
57989         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
57990         gl_FUNC_VSNPRINTF.
57991         (gl_FUNC_VSNPRINTF): Invoke it.
57992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
57993         * lib/stdio_.h (vsnprintf): Define as a replacement if
57994         REPLACE_VSNPRINTF is set.
57995         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
57996
57997 2007-03-06  Bruno Haible  <bruno@clisp.org>
57998
57999         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
58000         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
58001
58002 2007-03-06  Bruno Haible  <bruno@clisp.org>
58003
58004         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
58005         (asinl): Declare also if HAVE_DECL_ASINL is set.
58006         (atanl): Declare also if HAVE_DECL_ATANL is set.
58007         (ceill): Declare also if HAVE_DECL_CEILL is set.
58008         (cosl): Declare also if HAVE_DECL_COSL is set.
58009         (expl): Declare also if HAVE_DECL_EXPL is set.
58010         (floorl): Declare also if HAVE_DECL_FLOORL is set.
58011         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
58012         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
58013         (logl): Declare also if HAVE_DECL_LOGL is set.
58014         (sinl): Declare also if HAVE_DECL_SINL is set.
58015         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
58016         (tanl): Declare also if HAVE_DECL_TANL is set.
58017         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
58018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
58019         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
58020         declaration of frexpl, ldexpl.
58021         * modules/printf-frexpl (Depends-on): Add math.
58022         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
58023
58024 2007-03-05  Bruno Haible  <bruno@clisp.org>
58025
58026         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
58027         frexpl and ldexpl are declared.
58028         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
58029
58030 2007-03-05  Bruno Haible  <bruno@clisp.org>
58031
58032         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
58033         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
58034
58035 2007-03-05  Bruno Haible  <bruno@clisp.org>
58036
58037         * lib/stdio_.h: Include <stddef.h>.
58038
58039 2007-03-05  Bruno Haible  <bruno@clisp.org>
58040
58041         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
58042
58043 2007-03-05  Bruno Haible  <bruno@clisp.org>
58044
58045         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
58046         NetBSD 4, from Ralf Wildenhues.
58047
58048 2007-03-04  Bruno Haible  <bruno@clisp.org>
58049
58050         * lib/vasprintf.h: Update #if logic for the case when the functions
58051         exist but are overridden.
58052
58053 2007-03-04  Bruno Haible  <bruno@clisp.org>
58054
58055         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
58056         implementations: glibc-2.4 and MacOS X 10.3.
58057         * tests/test-vasnprintf-posix.c (test_function): Test also the case
58058         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
58059         * tests/test-vasprintf-posix.c (test_function): Likewise.
58060
58061 2007-03-04  Bruno Haible  <bruno@clisp.org>
58062
58063         * modules/vasprintf-posix-tests: New file.
58064         * tests/test-vasprintf-posix.c: New file.
58065
58066         * modules/vasprintf-posix: New file.
58067         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
58068         defined.
58069         * m4/vasprintf-posix.m4: New file.
58070         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
58071         gl_FUNC_VASPRINTF.
58072         (gl_FUNC_VASPRINTF): Invoke it.
58073         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
58074         here.
58075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
58076
58077 2007-03-04  Bruno Haible  <bruno@clisp.org>
58078
58079         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
58080         REPLACE_GETTIMEOFDAY.
58081         * modules/sys_time (Makefile.am): Likewise.
58082         * m4/sys_time_h.m4: Likewise.
58083         * m4/gettimeofday.m4: Likewise.
58084
58085 2007-03-04  Bruno Haible  <bruno@clisp.org>
58086
58087         * modules/vasnprintf-posix-tests: New file.
58088         * tests/test-vasnprintf-posix.c: New file.
58089
58090         * modules/vasnprintf-posix: New file.
58091         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
58092         printf-frexpl.h.
58093         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
58094         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
58095         REPLACE_VASNPRINTF is defined.
58096         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
58097         gl_FUNC_VASNPRINTF.
58098         (gl_FUNC_VASNPRINTF): Invoke it.
58099         * m4/vasnprintf-posix.m4: New file.
58100         * m4/printf.m4: New file.
58101
58102 2007-03-04  Bruno Haible  <bruno@clisp.org>
58103
58104         Compile progreloc.c only if --enable-relocatable is specified.
58105         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
58106         if --enable-relocatable was specified.
58107         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
58108         lib_SOURCES.
58109
58110 2007-03-04  Jim Meyering  <jim@meyering.net>
58111
58112         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
58113         Use it consistently, rather than enumerating errno constants.
58114
58115 2007-03-04  Bruno Haible  <bruno@clisp.org>
58116
58117         * modules/xvasprintf-tests: New file.
58118         * tests/test-xvasprintf.c: New file.
58119
58120         * modules/vasprintf-tests: New file.
58121         * tests/test-vasprintf.c: New file.
58122
58123         * modules/vasnprintf-tests: New file.
58124         * tests/test-vasnprintf.c: New file.
58125
58126         * modules/vsnprintf-tests: New file.
58127         * tests/test-vsnprintf.c: New file.
58128
58129         * modules/snprintf-tests: New file.
58130         * tests/test-snprintf.c: New file.
58131
58132 2007-03-04  Bruno Haible  <bruno@clisp.org>
58133
58134         Compile relocatable.c only if --enable-relocatable is specified.
58135         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
58136         gl_RELOCATABLE_LIBRARY.
58137         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
58138         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
58139         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
58140         gl_RELOCATABLE_LIBRARY.
58141         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
58142         (Makefile.am): Remove lib_SOURCES.
58143         * modules/relocatable-lib-lgpl (configure.ac): Invoke
58144         gl_RELOCATABLE_LIBRARY.
58145         (Makefile.am): Remove lib_SOURCES.
58146         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
58147         always.
58148         * modules/relocatable-prog-wrapper (configure.ac): Invoke
58149         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
58150
58151 2007-03-04  Bruno Haible  <bruno@clisp.org>
58152
58153         * modules/argmatch-tests: New file.
58154         * tests/test-argmatch.c: New file.
58155
58156         * tests/test-allocsa.c (main): Halve the number of loop runs.
58157
58158         * modules/alloca-opt-tests: New file.
58159         * tests/test-alloca-opt.c: New file.
58160
58161 2007-03-04  Jim Meyering  <jim@meyering.net>
58162
58163         Work around difference between Linux ACLs and Solaris 10 ZFS.
58164         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
58165         for EINVAL.
58166
58167 2007-03-03  Bruno Haible  <bruno@clisp.org>
58168
58169         * modules/relocatable-prog (Depends-on): Add back progreloc's
58170         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
58171
58172 2007-03-03  Bruno Haible  <bruno@clisp.org>
58173
58174         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
58175         * modules/relocatable-lib: New file.
58176
58177 2007-03-03  Bruno Haible  <bruno@clisp.org>
58178
58179         * modules/relocatable-prog: Renamed from modules/relocatable.
58180         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
58181
58182 2007-03-03  Bruno Haible  <bruno@clisp.org>
58183
58184         * modules/relocatable-script (Files): Add doc/relocatable.texi,
58185         m4/relocatable-lib.m4.
58186         (Depends-on): Remove 'relocatable'.
58187         (configure.ac): Add gl_RELOCATABLE_NOP.
58188
58189 2007-03-03  Bruno Haible  <bruno@clisp.org>
58190
58191         * modules/relocatable-prog-wrapper: New file.
58192         * modules/relocatable (Depends-on): Add it. Remove all other
58193         dependencies except progname.
58194         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
58195
58196         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
58197         (gl_FUNC_STRERROR): Nop.
58198         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
58199
58200         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
58201         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
58202
58203         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
58204         (gl_FUNC_READLINK): Update.
58205
58206         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
58207
58208 2007-03-03  Bruno Haible  <bruno@clisp.org>
58209
58210         * lib/xreadlink.c: Include <unistd.h> unconditionally.
58211         * modules/xreadlink (Depends-on): Add unistd.
58212         * modules/xreadlink-with-size (Depends-on): Likewise.
58213
58214 2007-03-03  Bruno Haible  <bruno@clisp.org>
58215
58216         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
58217         extracted from gt_FUNC_SETENV.
58218         (gt_FUNC_SETENV): Remove macro.
58219         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
58220         remove gt_FUNC_SETENV.
58221
58222 2007-03-03  Bruno Haible  <bruno@clisp.org>
58223
58224         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
58225         ENABLE_RELOCATABLE here.
58226         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
58227
58228 2007-03-03  Bruno Haible  <bruno@clisp.org>
58229
58230         * modules/rbtreehash-list-tests (Depends-on): Add progname.
58231         * tests/test-rbtreehash_list.c: Include progname.h.
58232         (main): Call set_program_name.
58233
58234         * modules/rbtree-oset-tests (Depends-on): Add progname.
58235         * tests/test-rbtree_oset.c: Include progname.h.
58236         (main): Call set_program_name.
58237
58238         * modules/rbtree-list-tests (Depends-on): Add progname.
58239         * tests/test-rbtree_list.c: Include progname.h.
58240         (main): Call set_program_name.
58241
58242         * modules/linked-list-tests (Depends-on): Add progname.
58243         * tests/test-linked_list.c: Include progname.h.
58244         (main): Call set_program_name.
58245
58246 2007-03-03  Bruno Haible  <bruno@clisp.org>
58247
58248         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
58249         All uses of __restrict changed to _Restrict_.
58250         * lib/glob_.h (__restrict): Remove macro.
58251
58252 2007-03-02  Bruno Haible  <bruno@clisp.org>
58253
58254         * modules/gettext (configure.ac): Require gettext infrastructure
58255         from version 0.16.1.
58256
58257 2007-03-02  Bruno Haible  <bruno@clisp.org>
58258
58259         * modules/linkedhash-list-tests (Depends-on): Add progname.
58260         * tests/test-linkedhash_list.c: Include progname.h.
58261         (main): Call set_program_name.
58262
58263         * modules/carray-list-tests (Depends-on): Add progname.
58264         * tests/test-carray_list.c: Include progname.h.
58265         (main): Call set_program_name.
58266
58267         * modules/avltreehash-list-tests (Depends-on): Add progname.
58268         * tests/test-avltreehash_list.c: Include progname.h.
58269         (main): Call set_program_name.
58270
58271         * modules/avltree-oset-tests (Depends-on): Add progname.
58272         * tests/test-avltree_oset.c: Include progname.h.
58273         (main): Call set_program_name.
58274
58275         * modules/avltree-list-tests (Depends-on): Add progname.
58276         * tests/test-avltree_list.c: Include progname.h.
58277         (main): Call set_program_name.
58278
58279         * modules/array-oset-tests (Depends-on): Add progname.
58280         * tests/test-array_oset.c: Include progname.h.
58281         (main): Call set_program_name.
58282
58283         * modules/array-list-tests (Depends-on): Add progname.
58284         * tests/test-array_list.c: Include progname.h.
58285         (main): Call set_program_name.
58286
58287         * modules/argp-tests (Depends-on): Add progname.
58288         * tests/test-argp.c: Include argp.h first. Include progname.h.
58289         (main): Call set_program_name.
58290
58291 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58292
58293         * doc/gnulib-tool.texi (Initial import): Reword description of
58294         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
58295         limited effect even if defined after the first system include.
58296
58297 2007-03-01  Bruno Haible  <bruno@clisp.org>
58298
58299         * build-aux/config.libpath: Update to libtool-1.5.22.
58300         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58301
58302 2007-03-01  Bruno Haible  <bruno@clisp.org>
58303
58304         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
58305         foo_CFLAGS.
58306         Reported by Ralf Wildenhues.
58307
58308 2007-03-01  Bruno Haible  <bruno@clisp.org>
58309
58310         * build-aux/install-reloc: Remove object files left over by some
58311         compilers.
58312         Reported by Ralf Wildenhues.
58313
58314 2007-03-01  Bruno Haible  <bruno@clisp.org>
58315
58316         * build-aux/install-reloc: Break long lines.
58317
58318 2007-03-01  Bruno Haible  <bruno@clisp.org>
58319
58320         * doc/relocatable.texi: Document that it may not work on OpenBSD.
58321         Reported by Ralf Wildenhues.
58322
58323 2007-03-01  Bruno Haible  <bruno@clisp.org>
58324
58325         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
58326         include ordering constraints.
58327
58328 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58329
58330         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
58331         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
58332         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
58333         as another example.
58334         * lib/time_.h: Fix misspelling.
58335         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58336         Require gl_HEADER_TIME_H_DEFAULTS.
58337         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
58338         * m4/time_r.m4 (gl_TIME_R): Likewise.
58339         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
58340
58341 2007-03-01  Bruno Haible  <bruno@clisp.org>
58342
58343         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
58344         * m4/utimens.m4 (gl_UTIMENS): Likewise.
58345
58346 2007-03-01  Jim Meyering  <jim@meyering.net>
58347
58348         * modules/xreadlink (Maintainer): Add my name.
58349         * modules/xreadlink-with-size (Depends-on): Alphabetize.
58350
58351 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
58352             Bruno Haible  <bruno@clisp.org>
58353
58354         * build-aux/install-reloc: Compile also c-ctype.c.
58355         * build-aux/relocatable.sh.in: New file.
58356         * doc/relocatable.texi: New file.
58357         * doc/relocatable-maint.texi: New file.
58358         * doc/gnulib.texi: Include relocatable-maint.texi.
58359         * lib/progreloc.c: Include unistd.h unconditionally.
58360         * lib/relocwrapper.c: Include unistd.h unconditionally.
58361         Include c-ctype.h.
58362         (add_dotbin): Use c_tolower.
58363         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
58364         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
58365         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
58366         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
58367         to m4/relocatable-lib.m4.
58368         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
58369         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
58370         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
58371         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
58372         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
58373         * modules/relocatable: New file.
58374         * modules/relocatable-lib: New file.
58375         * modules/relocatable-script: New file.
58376
58377 2007-02-28  Bruno Haible  <bruno@clisp.org>
58378
58379         Import --enable-relocatable infrastructure.
58380         * build-aux/config.libpath: New file, from GNU gettext.
58381         * build-aux/install-reloc: New file, from GNU gettext.
58382         * build-aux/reloc-ldflags: New file, from GNU gettext.
58383         * lib/relocatable.h: New file, from GNU gettext.
58384         * lib/relocatable.c: New file, from GNU gettext.
58385         * lib/relocwrapper.c: New file, from GNU gettext.
58386         * m4/relocatable.m4: New file, from GNU gettext.
58387
58388 2007-02-28  Bruno Haible  <bruno@clisp.org>
58389
58390         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
58391
58392         * modules/xreadlink: New file, from GNU gettext with modifications.
58393         * lib/xreadlink.c: New file, from GNU gettext.
58394         * lib/xreadlink.h: Add comments.
58395         (xreadlink): New declaration.
58396
58397         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
58398         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
58399         lib/xreadlink-with-size.c.
58400         (configure.ac): Remove gl_XREADLINK invocation.
58401         (Makefile.am): Augment lib_SOURCES.
58402         * m4/xreadlink.m4: Remove file.
58403         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
58404         (xreadlink_with_size): Renamed from xreadink.
58405         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
58406         * modules/canonicalize (Depends-on): Replace xreadlink with
58407         xreadlink-with-size.
58408         * lib/canonicalize.c (canonicalize_filename_mode): Update.
58409
58410 2007-02-25  Jim Meyering  <jim@meyering.net>
58411
58412         * build-aux/announce-gen: When complaining about excess arguments,
58413         list them.
58414
58415 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58416
58417         * README: Document signed integer overflow situation more
58418         accurately.
58419
58420 2007-02-25  Bruno Haible  <bruno@clisp.org>
58421
58422         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
58423         'a' or 'A' conversion.
58424
58425 2007-02-25  Bruno Haible  <bruno@clisp.org>
58426
58427         * modules/filename: Renamed from modules/pathname.
58428         (Files): Replace lib/pathname.h with lib/filename.h. Replace
58429         lib/concatpath.c with lib/concat-filename.c.
58430         (Makefile.am): Update.
58431         (Include): Replace pathname.h with filename.h.
58432         * lib/filename.h: Renamed from lib/pathname.h.
58433         (concatenated_filename): Renamed from concatenated_pathname.
58434         * lib/concat-filename.c: Renamed from lib/concatpath.c.
58435         (concatenated_filename): Renamed from concatenated_pathname.
58436         * lib/findprog.c: Include filename.h instead of pathname.h.
58437         (find_in_path): Update.
58438         * lib/javacomp.c: Include filename.h instead of pathname.h.
58439         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
58440         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
58441         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
58442         is_oldgcj_14_13_usable, is_javac_usable): Update.
58443         * lib/javaexec.c: Include filename.h instead of pathname.h.
58444         (execute_java_class): Update.
58445         * modules/findprog: Update.
58446         * modules/javacomp: Update.
58447         * modules/javaexec: Update.
58448         * MODULES.html.sh (File system functions): Add 'filename', remove
58449         'pathname'.
58450
58451 2007-02-25  Bruno Haible  <bruno@clisp.org>
58452
58453         * modules/printf-frexpl-tests: New file.
58454         * tests/test-printf-frexpl.c: New file.
58455
58456         * modules/printf-frexpl: New file.
58457         * lib/printf-frexpl.h: New file.
58458         * lib/printf-frexpl.c: New file.
58459         * m4/printf-frexpl.m4: New file.
58460
58461 2007-02-25  Bruno Haible  <bruno@clisp.org>
58462
58463         * modules/printf-frexp-tests: New file.
58464         * tests/test-printf-frexp.c: New file.
58465
58466         * modules/printf-frexp: New file.
58467         * lib/printf-frexp.h: New file.
58468         * lib/printf-frexp.c: New file.
58469         * m4/printf-frexp.m4: New file.
58470
58471 2007-02-25  Bruno Haible  <bruno@clisp.org>
58472
58473         Assume automake >= 1.10 for the tests.
58474         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
58475         * modules/arctwo-tests: Likewise.
58476         * modules/argp-tests: Likewise.
58477         * modules/avltree-list-tests: Likewise.
58478         * modules/avltree-oset-tests: Likewise.
58479         * modules/avltreehash-list-tests: Likewise.
58480         * modules/carray-list-tests: Likewise.
58481         * modules/crc-tests: Likewise.
58482         * modules/des-tests: Likewise.
58483         * modules/gc-arcfour-tests: Likewise.
58484         * modules/gc-arctwo-tests: Likewise.
58485         * modules/gc-des-tests: Likewise.
58486         * modules/gc-hmac-md5-tests: Likewise.
58487         * modules/gc-hmac-sha1-tests: Likewise.
58488         * modules/gc-md2-tests: Likewise.
58489         * modules/gc-md4-tests: Likewise.
58490         * modules/gc-md5-tests: Likewise.
58491         * modules/gc-pbkdf2-sha1-tests: Likewise.
58492         * modules/gc-rijndael-tests: Likewise.
58493         * modules/gc-sha1-tests: Likewise.
58494         * modules/gc-tests: Likewise.
58495         * modules/getaddrinfo-tests: Likewise.
58496         * modules/hmac-md5-tests: Likewise.
58497         * modules/hmac-sha1-tests: Likewise.
58498         * modules/linked-list-tests: Likewise.
58499         * modules/linkedhash-list-tests: Likewise.
58500         * modules/lock-tests: Likewise.
58501         * modules/md2-tests: Likewise.
58502         * modules/md4-tests: Likewise.
58503         * modules/md5-tests: Likewise.
58504         * modules/rbtree-list-tests: Likewise.
58505         * modules/rbtree-oset-tests: Likewise.
58506         * modules/rbtreehash-list-tests: Likewise.
58507         * modules/read-file-tests: Likewise.
58508         * modules/rijndael-tests: Likewise.
58509         * modules/stdint-tests: Likewise.
58510         * modules/tls-tests: Likewise.
58511
58512 2007-02-24  Bruno Haible  <bruno@clisp.org>
58513
58514         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
58515         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
58516         function; instead check whether isnan with a double argument links.
58517         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
58518         function; instead check whether isnan with a 'long double' argument
58519         links.
58520         Reported by Eric Blake <ebb9@byu.net>.
58521
58522 2007-02-24  Bruno Haible  <bruno@clisp.org>
58523
58524         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
58525         defined.
58526         * lib/isnanl.c: Remove all code. Just include isnan.c.
58527         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
58528
58529 2007-02-25  Jim Meyering  <jim@meyering.net>
58530
58531         Avoid conflicting types for 'unsetenv' on FreeBSD.
58532         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
58533         conflicting with FreeBSD's (5.0 and 6.1) function declaration
58534         in stdlib.h.
58535
58536 2007-02-24  Bruno Haible  <bruno@clisp.org>
58537
58538         * modules/isnanl-nolibm-tests: New file.
58539         * tests/test-isnanl.c: New file.
58540
58541         * modules/isnanl-nolibm: New file.
58542         * lib/isnanl.h: New file.
58543         * lib/isnanl.c: New file.
58544         * m4/isnanl.m4: New file.
58545
58546 2007-02-24  Bruno Haible  <bruno@clisp.org>
58547
58548         * modules/isnan-nolibm-tests: New file.
58549         * tests/test-isnan.c: New file.
58550
58551         * modules/isnan-nolibm: New file.
58552         * lib/isnan.h: New file.
58553         * lib/isnan.c: New file.
58554         * m4/isnan.m4: New file.
58555
58556 2007-02-24  Bruno Haible  <bruno@clisp.org>
58557
58558         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
58559         assume that an exponent fits in 20 bits.
58560
58561 2007-02-24  Jim Meyering  <jim@meyering.net>
58562
58563         * m4/regex.m4: Update the description of the configure-time option,
58564         --without-included-regex, to state accurately what the defaults are,
58565         and perhaps to give people an idea why using this option is risky.
58566
58567 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58568
58569         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
58570         loops on small arguments.  This attempts to avoid the problem
58571         Bruno Haible reported for AIX 4.3.2 in
58572         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
58573
58574 2007-02-23  Bruno Haible  <bruno@clisp.org>
58575
58576         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
58577         Needed for help2man.
58578
58579 2007-02-23  Karl Berry  <karl@gnu.org>
58580
58581         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
58582         exists, foo.h should be cvs-ignored, not committed.
58583
58584 2007-02-23  Eric Blake  <ebb9@byu.net>
58585
58586         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
58587         * lib/stat-time.h (includes): Likewise.
58588         * lib/utimecmp.c (includes): Likewise.
58589         * lib/utimens.h (includes): Likewise.
58590         * lib/getdate.y (includes): Also include "timespec.h" for use
58591         internal to the module.
58592         * modules/utimens (Depends-on): Revert yesterday's patch.
58593         * modules/nanosleep (Depends-on): Add missing dependency.
58594
58595 2007-02-22  Bruno Haible  <bruno@clisp.org>
58596
58597         * lib/glob.c: Don't include getlogin_r.h.
58598
58599 2007-02-22  Jim Meyering  <jim@meyering.net>
58600
58601         * modules/utimens (Depends-on): Add timespec, required for
58602         utimens.h's inclusion of timespec.h.
58603
58604 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
58605
58606         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
58607         long unreadable paths in GNU/Linux.  Problem reported by Andreas
58608         Schwab in
58609         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
58610         I'll try to think of a better way to fix the Solaris problem.
58611
58612         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
58613         like glibc; on Solaris 10, it fails with errno == EINVAL.
58614         POSIX says the behavior is unspecified if the first argument is NULL,
58615         so play it safe and never pass NULL to the system getcwd.
58616
58617 2007-02-21  Jim Meyering  <jim@meyering.net>
58618
58619         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
58620         of gettimeofday.  It would conflict with the one now always
58621         provided via sys_time_.h.  Reported by Matthew Woehlke, as
58622         an IRIX 6.5 build failure.
58623
58624 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
58625
58626         Minor fixups to port to Solaris 10 with Sun C 5.8.
58627         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
58628         * modules/getcwd (Depends-on): Add dirfd.
58629         * lib/putenv.c (putenv): #undef it.
58630         (rpl_putenv): New decl.
58631         (malloc, free): Include <stdlib.h> rather than prototyping separately.
58632
58633 2007-02-20  Bruno Haible  <bruno@clisp.org>
58634
58635         * modules/stdio-tests: New file.
58636         * tests/test-stdio.c: New file.
58637
58638         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
58639         (Depends-on): Add stdio.
58640         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
58641         (Include): Use <stdio.h> instead of vsnprintf.h.
58642         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
58643         HAVE_DECL_VSNPRINTF.
58644         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
58645
58646         * modules/snprintf (Files): Remove lib/snprintf.h.
58647         (Depends-on): Add stdio.
58648         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
58649         (Include): Use <stdio.h> instead of snprintf.h.
58650         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
58651         HAVE_DECL_SNPRINTF.
58652         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
58653         * lib/getaddrinfo.c: Likewise.
58654
58655         * modules/stdio: New file.
58656         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
58657         * lib/snprintf.h: Remove file.
58658         * lib/vsnprintf.h: Remove file.
58659         * lib/.cppi-disable: Remove snprintf.h.
58660         * m4/stdio_h.m4: New file.
58661         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
58662
58663 2007-02-20  Jim Meyering  <jim@meyering.net>
58664
58665         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
58666         used by e.g., mingw.  From Bruno Haible.
58667
58668 2007-02-19  Bruno Haible  <bruno@clisp.org>
58669
58670         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
58671         warnings.
58672         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58673
58674 2007-02-19  Bruno Haible  <bruno@clisp.org>
58675
58676         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
58677         from mingw users.
58678
58679 2007-02-19  Bruno Haible  <bruno@clisp.org>
58680
58681         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
58682         warnings.
58683         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
58684
58685 2007-02-19  Jim Meyering  <jim@meyering.net>
58686
58687         Don't use FD after a successful "fdopendir (fd)".
58688         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
58689         Reset it by calling dirfd on the just-obtained DIR*.
58690
58691         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
58692         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
58693
58694 2007-02-18  Bruno Haible  <bruno@clisp.org>
58695
58696         * lib/readlink.c: Include <unistd.h>.
58697         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
58698         HAVE_READLINK.
58699         * modules/readlink (Depends-on): Add unistd.
58700         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58701         (Include): Add <unistd.h>.
58702
58703         * lib/getlogin_r.h: Remove file.
58704         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
58705         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
58706         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
58707         HAVE_DECL_GETLOGIN_R.
58708         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
58709         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58710         (Include): Use <unistd.h> instead of getlogin_r.h.
58711
58712         * lib/getcwd.h: Remove file.
58713         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
58714         * lib/xgetcwd.c: Likewise.
58715         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
58716         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
58717         * modules/getcwd (Files): Remove lib/getcwd.h.
58718         (Depends-on): Add unistd.
58719         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58720         (Include): Use <unistd.h> instad of getcwd.h.
58721
58722         * lib/ftruncate.c: Include <unistd.h> first.
58723         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
58724         Set HAVE_FTRUNCATE.
58725         * modules/ftruncate (Depends-on): Add unistd.
58726         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58727
58728         * lib/fchdir.c: Include <unistd.h> first.
58729         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
58730         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
58731         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
58732         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58733         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
58734
58735         * lib/dup2.c: Include <unistd.h> first.
58736         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
58737         HAVE_DUP2.
58738         * modules/dup2 (Depends-on): Add unistd.
58739         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58740
58741         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
58742         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
58743         REPLACE_CHOWN. Don't define chown as a macro here.
58744         * modules/chown (Depends-on): Add unistd.
58745         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58746
58747         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
58748         Add definition for GL_LINK_WARNING.
58749         (chown, dup2): New declarations.
58750         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
58751         link warning.
58752         (ftruncate): New declaration.
58753         (getcwd): New declaration, taken from old getcwd.h.
58754         (getlogin_r): New declaration, taken from old getlogin_r.h.
58755         (readlink): New declaration.
58756         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
58757         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
58758         (gl_PREREQ_UNISTD): Remove macro.
58759         (gl_UNISTD_MODULE_INDICATOR): New macro.
58760         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
58761         many new variables. Don't set UNISTD_H.
58762         * modules/unistd (Description): Change.
58763         (Depends-on): Add link-warning.
58764         (configure.ac): Update.
58765         (Makefile.am): Create unistd.h always. Substitute many new variables
58766         into it.
58767
58768 2007-02-18  Bruno Haible  <bruno@clisp.org>
58769
58770         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
58771         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
58772         HAVE_GETSUBOPT.
58773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
58774         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
58775         * lib/getsubopt.h: Remove file.
58776         * modules/getsubopt (Files): Remove lib/getsubopt.h.
58777         (Depends-on): Add stdlib.
58778         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58779         (Includes): Use <stdlib.h> instead of getsubopt.h.
58780         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
58781         Set HAVE_GETSUBOPT.
58782         * lib/getsubopt.c: Don't include getsubopt.h.
58783
58784 2007-02-18  Bruno Haible  <bruno@clisp.org>
58785
58786         * modules/fchdir (Depends-on): Add dup2.
58787
58788 2007-02-18  Bruno Haible  <bruno@clisp.org>
58789
58790         * lib/stdlib_.h: Handle glibc's special invocation convention
58791         specially.
58792
58793 2007-02-18  Bruno Haible  <bruno@clisp.org>
58794
58795         * modules/stdlib-tests: New file.
58796         * tests/test-stdlib.c: New file.
58797
58798         * modules/mkstemp (Files): Remove lib/mkstemp.h.
58799         (Depends-on): Add stdlib.
58800         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58801         (Includes): Use <stdlib.h> instead of mkstemp.h.
58802         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58803         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
58804         * lib/mkstemp.c: Don't include mkstemp.h.
58805         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
58806         * lib/stdlib--.h: Don't include mkstemp.h.
58807
58808         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
58809         (Depends-on): Add stdlib.
58810         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58811         (Includes): Use <stdlib.h> instead of mkdtemp.h.
58812         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58813         HAVE_MKDTEMP.
58814         * lib/mkdtemp.c: Don't include mkdtemp.h.
58815         * lib/clean-temp.c: Don't include mkdtemp.h.
58816
58817         * modules/exit (Files): Remove lib/exit.h.
58818         (Depends-on): Add stdlib.
58819         (Makefile.am): Remove lib_SOURCES.
58820         (Include): Use <stdlib.h> instead of exit.h.
58821         * lib/argmatch.c: Don't include exit.h.
58822         * lib/execute.c: Likewise.
58823         * lib/pagealign_alloc.c: Likewise.
58824         * lib/pipe.c: Likewise.
58825         * lib/wait-process.c: Likewise.
58826         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
58827         * lib/exitfail.c: Likewise.
58828         * lib/savewd.c: Likewise.
58829         * lib/xsetenv.c: Likewise.
58830
58831         * modules/stdlib: New file.
58832         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
58833         and extra comments about mkstemp().
58834         * lib/exit.h: Remove file.
58835         * lib/mkdtemp.h: Remove file.
58836         * lib/mkstemp.h: Remove file.
58837         * m4/stdlib_h.m4: New file.
58838         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
58839
58840 2007-02-18  Bruno Haible  <bruno@clisp.org>
58841
58842         * modules/math-tests: New file.
58843         * tests/test-math.c: New file.
58844
58845         * modules/math: New file.
58846         * modules/mathl (Files): Remove lib/mathl.h.
58847         (Depends-on): Add math.
58848         (Makefile.am): Don't mention mathl.h.
58849         (Include): Use <math.h> instead of mathl.h.
58850         * lib/math_.h: New file.
58851         * lib/mathl.h: Remove file.
58852         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
58853         mathl.h.
58854         * lib/asinl.c: Likewise.
58855         * lib/atanl.c: Likewise.
58856         * lib/ceill.c: Likewise.
58857         * lib/cosl.c: Likewise.
58858         * lib/expl.c: Likewise.
58859         * lib/floorl.c: Likewise.
58860         * lib/frexpl.c: Likewise.
58861         * lib/ldexpl.c: Likewise.
58862         * lib/logl.c: Likewise.
58863         * lib/sincosl.c: Likewise.
58864         * lib/sinl.c: Likewise.
58865         * lib/sqrtl.c: Likewise.
58866         * lib/tanl.c: Likewise.
58867         * lib/trigl.c: Likewise.
58868         * m4/math_h.m4: New file.
58869         * MODULES.html.sh (Mathematics): Add math.
58870
58871 2007-02-17  Bruno Haible  <bruno@clisp.org>
58872
58873         * modules/wctype-tests: New file.
58874         * tests/test-wctype.c: New file.
58875
58876         * modules/wchar-tests: New file.
58877         * tests/test-wchar.c: New file.
58878
58879         * modules/unistd-tests: New file.
58880         * tests/test-unistd.c: New file.
58881
58882         * modules/time-tests: New file.
58883         * tests/test-time.c: New file.
58884
58885         * modules/sysexits-tests: New file.
58886         * tests/test-sysexits.c: New file.
58887
58888         * modules/sys_time-tests: New file.
58889         * tests/test-sys_time.c: New file.
58890
58891         * modules/sys_stat-tests: New file.
58892         * tests/test-sys_stat.c: New file.
58893
58894         * modules/sys_socket-tests: New file.
58895         * tests/test-sys_socket.c: New file.
58896
58897         * modules/sys_select-tests: New file.
58898         * tests/test-sys_select.c: New file.
58899
58900         * modules/string-tests: New file.
58901         * tests/test-string.c: New file.
58902
58903         * modules/stdbool-tests: New file.
58904         * tests/test-stdbool.c: New file.
58905
58906         * modules/netinet_in-tests: New file.
58907         * tests/test-netinet_in.c: New file.
58908
58909         * modules/inttypes-tests: New file.
58910         * tests/test-inttypes.c: New file.
58911
58912         * modules/fcntl-tests: New file.
58913         * tests/test-fcntl.c: New file.
58914
58915         * modules/byteswap-tests: New file.
58916         * tests/test-byteswap.c: New file.
58917
58918         * modules/arpa_inet-tests: New file.
58919         * tests/test-arpa_inet.c: New file.
58920
58921 2007-02-17  Bruno Haible  <bruno@clisp.org>
58922
58923         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
58924         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
58925         if the corresponding module is not enabled. Emit link warnings if
58926         the function is used nevertheless.
58927         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
58928         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
58929         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
58930         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
58931         * modules/inttypes (Depends-on): Add link-warning.
58932         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58933         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
58934         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
58935         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
58936         * modules/imaxdiv (configure.ac): Likewise.
58937         * modules/strtoimax (configure.ac): Likewise.
58938         * modules/strtoumax (configure.ac): Likewise.
58939
58940 2007-02-17  Bruno Haible  <bruno@clisp.org>
58941
58942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
58943         gl_STRING_MODULE_INDICATOR_DEFAULTS.
58944         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
58945         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
58946
58947 2007-02-17  Bruno Haible  <bruno@clisp.org>
58948
58949         * modules/link-warning: New file.
58950         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
58951         * lib/string_.h (GL_LINK_WARNING): Remove definition.
58952         * modules/string (Depends-on): Add link-warning.
58953         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58954         string.h.
58955         * MODULES.html.sh (Support for building libraries and executables): Add
58956         link-warning.
58957
58958 2007-02-17  Bruno Haible  <bruno@clisp.org>
58959
58960         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
58961         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
58962         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
58963         long lines.
58964
58965 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
58966             Bruno Haible  <bruno@clisp.org>
58967
58968         * modules/tmpfile: New file.
58969         * lib/tmpfile.c: New file.
58970         * m4/tmpfile.m4: New file.
58971         * MODULES.html.sh (func_all_modules): New section "Input/output".
58972
58973 2007-02-15  Bruno Haible  <bruno@clisp.org>
58974
58975         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
58976         (supports_delete_on_close): New function.
58977         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
58978
58979 2007-02-14  Bruno Haible  <bruno@clisp.org>
58980
58981         * modules/mbspcasecmp-tests: New file.
58982         * tests/test-mbspcasecmp.sh: New file.
58983         * tests/test-mbspcasecmp.c: New file.
58984
58985         New module mbspcasecmp.
58986         * modules/mbspcasecmp: New file.
58987         * lib/mbspcasecmp.c: New file.
58988         * lib/string_.h (strncasecmp): Change warning message.
58989         (mbspcasecmp): New declaration.
58990         * m4/mbspcasecmp.m4: New file.
58991         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58992         GNULIB_MBSPCASECMP.
58993         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
58994         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
58995
58996 2007-02-14  Bruno Haible  <bruno@clisp.org>
58997
58998         * modules/mbsncasecmp-tests: New file.
58999         * tests/test-mbsncasecmp.sh: New file.
59000         * tests/test-mbsncasecmp.c: New file.
59001
59002         New module mbsncasecmp.
59003         * modules/mbsncasecmp: New file.
59004         * lib/mbsncasecmp.c: New file.
59005         * lib/string_.h (mbsncasecmp): New declaration.
59006         * m4/mbsncasecmp.m4: New file.
59007         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59008         GNULIB_MBSNCASECMP.
59009         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
59010         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
59011
59012 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
59013
59014         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
59015         Verify that it doesn't overlap with our flags.
59016         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
59017         do not have the desired effect in multibyte locales; instead, use
59018         mbscasecmp.
59019         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
59020         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
59021         we don't require GNU fnmatch ourselves (if our users require it, they
59022         should do so explicitly).
59023
59024         Fix regex code so it doesn't rely on strcasecmp.
59025         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
59026         Otherwise, include gnulib's langinfo.h.
59027         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
59028         undesirable behavior in non-C locales.  Instead, rely on localecharset.
59029         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
59030         * modules/regex (FILES): Remove m4/codeset.m4.
59031         (Depends-on): Add localcharset.  Remove strcase.
59032
59033 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59034
59035         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
59036         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
59037
59038 2007-02-13  Bruno Haible  <bruno@clisp.org>
59039
59040         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
59041         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59042
59043 2007-02-12  Bruno Haible  <bruno@clisp.org>
59044
59045         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59046         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
59047         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
59048         time warning rather than a link error.
59049
59050 2007-02-12  Bruno Haible  <bruno@clisp.org>
59051
59052         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
59053         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59054         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59055
59056 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
59059         args, not 2.
59060
59061 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59062
59063         New module 'time', so that apps can include <time.h> as per
59064         POSIX and GNU instead of separate include files like time_r.h
59065         and timegm.h.  This implementation tries out a simpler approach
59066         for replacing decls in standard include files (as compared to
59067         the string module), somewhat as an experiment.
59068
59069         * config/srclist.txt: Comment out mktime.c for now.
59070         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
59071         since it doesn't apply any more.  Use generic wording instead.
59072         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
59073         'time'.
59074         * lib/time_.h, m4/time_h.m4, modules/time: New files.
59075         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
59076         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
59077         Don't include <sys/types.h>; no longer needed since we assume C89.
59078         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
59079         * lib/strftime.c: Likewise.
59080         * lib/time_r.c: Likewise.
59081         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
59082         * lib/nanosleep.c: Include <time.h> first, to check interface.
59083         * lib/strptime.c: Likewise.
59084         * lib/time_r.c: Likewise.
59085         * lib/timegm.c: Likewise.
59086         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
59087         needed.
59088         * lib/timegm.c: Don't include timegm.h; no longer needed.
59089         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
59090         time.h now handles any problems in that area.
59091         (struct timespec, nanosleep): Remove; time.h now arranges for these.
59092         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
59093         that time.h defines struct timespec.
59094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
59095         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
59096         handles that.
59097         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
59098         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
59099         needed.  Set REPLACE_LOCALTIME.
59100         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
59101         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
59102         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
59103         nanosleep; time_h.m4 now does that.  Don't require
59104         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
59105         module handles this now.
59106         * modules/getdate (Depends-on): Remove timespec.  Add time.
59107         * modules/nanosleep (Depends-on): Likewise.
59108         * modules/stat-time (Depends-on): Likewise.
59109         * modules/nanosleep (Include): Include time.h, not timespec.h.
59110         * modules/strptime (Files): Remove lib/strptime.h.
59111         (Depends-on): Add extensions, time.
59112         (Include): Include time.h, not strptime.h.
59113         * modules/time_r (Files): Remove lib/time_r.h.
59114         (Depends-on): Add time.
59115         (Include): Include time.h, not time_r.h.
59116         * modules/timegm: Likewise.
59117         * modules/timespec (Description): Now does timespec-related decls
59118         of our own, instead of struct timespec itself.
59119         (Depends-on): Add time; remove extensions.
59120         (Maintainer): Add self.
59121         * modules/utimecmp (Depends-on): Add time; remove timespec.
59122         * modules/utimens (Depends-on): Likewise.
59123         * modules/xnanosleep (Depends-on): Likewise.
59124
59125 2007-02-11  Bruno Haible  <bruno@clisp.org>
59126
59127         * lib/c-strstr.c: Include allocsa.h.
59128         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59129         * lib/c-strcasestr.c: Include allocsa.h.
59130         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59131         * lib/strcasestr.c: Include allocsa.h.
59132         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59133         * lib/mbsstr.c: Include allocsa.h.
59134         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59135         allocsa/freesa instead of malloc/free.
59136         * lib/mbscasestr.c: Include allocsa.h.
59137         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59138         allocsa/freesa instead of malloc/free.
59139         * modules/c-strstr (Depends-on): Add allocsa.
59140         * modules/c-strcasestr (Depends-on): Likewise.
59141         * modules/strcasestr (Depends-on): Likewise.
59142         * modules/mbsstr (Depends-on): Likewise.
59143         * modules/mbscasestr (Depends-on): Likewise.
59144
59145 2007-02-11  Bruno Haible  <bruno@clisp.org>
59146
59147         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
59148
59149         * modules/mbsspn-tests: New file.
59150         * tests/test-mbsspn.sh: New file.
59151         * tests/test-mbsspn.c: New file.
59152
59153 2007-02-11  Bruno Haible  <bruno@clisp.org>
59154
59155         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
59156
59157         * modules/mbspbrk-tests: New file.
59158         * tests/test-mbspbrk.sh: New file.
59159         * tests/test-mbspbrk.c: New file.
59160
59161 2007-02-11  Bruno Haible  <bruno@clisp.org>
59162
59163         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
59164         unneeded cast.
59165
59166         * modules/mbscspn-tests: New file.
59167         * tests/test-mbscspn.sh: New file.
59168         * tests/test-mbscspn.c: New file.
59169
59170 2007-02-11  Bruno Haible  <bruno@clisp.org>
59171
59172         * modules/mbscasecmp-tests: New file.
59173         * tests/test-mbscasecmp.sh: New file.
59174         * tests/test-mbscasecmp.c: New file.
59175
59176 2007-02-11  Bruno Haible  <bruno@clisp.org>
59177
59178         Ensure O(n) worst-case complexity of mbscasestr.
59179         * lib/mbscasestr.c: Include stdbool.h.
59180         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59181         functions.
59182         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
59183         the bookkeeping indicates that it's worth it.
59184         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
59185
59186         * modules/mbscasestr-tests: New file.
59187         * tests/test-mbscasestr1.c: New file.
59188         * tests/test-mbscasestr2.sh: New file.
59189         * tests/test-mbscasestr2.c: New file.
59190         * tests/test-mbscasestr3.sh: New file.
59191         * tests/test-mbscasestr3.c: New file.
59192         * tests/test-mbscasestr4.sh: New file.
59193         * tests/test-mbscasestr4.c: New file.
59194         * m4/locale-tr.m4: New file.
59195
59196 2007-02-11  Bruno Haible  <bruno@clisp.org>
59197
59198         Ensure O(n) worst-case complexity of mbsstr.
59199         * lib/mbsstr.c: Include stdbool.h.
59200         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59201         functions.
59202         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
59203         bookkeeping indicates that it's worth it.
59204         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
59205
59206         * modules/mbsstr-tests: New file.
59207         * tests/test-mbsstr1.c: New file.
59208         * tests/test-mbsstr2.sh: New file.
59209         * tests/test-mbsstr2.c: New file.
59210         * tests/test-mbsstr3.sh: New file.
59211         * tests/test-mbsstr3.c: New file.
59212         * m4/locale-fr.m4: New file.
59213
59214 2007-02-11  Bruno Haible  <bruno@clisp.org>
59215
59216         * lib/mbsrchr.c (mbsrchr): Fix bug.
59217
59218         * modules/mbsrchr-tests: New file.
59219         * tests/test-mbsrchr.sh: New file.
59220         * tests/test-mbsrchr.c: New file.
59221
59222 2007-02-11  Bruno Haible  <bruno@clisp.org>
59223
59224         * lib/mbschr.c (mbschr): Fix bug.
59225
59226         * modules/mbschr-tests: New file.
59227         * tests/test-mbschr.sh: New file.
59228         * tests/test-mbschr.c: New file.
59229         * m4/locale-zh.m4: New file.
59230
59231 2007-02-11  Bruno Haible  <bruno@clisp.org>
59232
59233         Support for copying multibyte string iterators.
59234         * lib/mbiter.h: Include <string.h>.
59235         (mbiter_multi_copy): New function.
59236         (mbi_copy): New macro.
59237         * lib/mbuiter.h: Include <string.h>.
59238         (mbuiter_multi_copy): New function.
59239         (mbui_copy): New macro.
59240
59241 2007-02-11  Bruno Haible  <bruno@clisp.org>
59242
59243         New module mbslen.
59244         * modules/mbslen: New file.
59245         * lib/mbslen.c: New file.
59246         * lib/string_.h (mbslen): New declaration.
59247         * m4/mbslen.m4: New file.
59248         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59249         GNULIB_MBSLEN.
59250         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
59251         * MODULES.html.sh (Internationalization functions): Add mbslen.
59252
59253 2007-02-11  Bruno Haible  <bruno@clisp.org>
59254
59255         Ensure O(n) worst-case complexity of strcasestr substitute.
59256         * lib/strcasestr.c: Include stdbool.h.
59257         (knuth_morris_pratt): New function.
59258         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
59259         bookkeeping indicates that it's worth it.
59260         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
59261
59262         * modules/strcasestr-tests: New file.
59263         * tests/test-strcasestr.c: New file.
59264
59265 2007-02-11  Bruno Haible  <bruno@clisp.org>
59266
59267         Ensure O(n) worst-case complexity of c_strcasestr.
59268         * lib/c-strcasestr.c: Include stdbool.h, string.h.
59269         (knuth_morris_pratt): New function.
59270         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
59271         the bookkeeping indicates that it's worth it.
59272         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
59273
59274         * modules/c-strcasestr-tests: New file.
59275         * tests/test-c-strcasestr.c: New file.
59276
59277 2007-02-11  Bruno Haible  <bruno@clisp.org>
59278
59279         Ensure O(n) worst-case complexity of c_strstr.
59280         * lib/c-strstr.c: Include stdbool.h, string.h.
59281         (knuth_morris_pratt): New function.
59282         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
59283         bookkeeping indicates that it's worth it.
59284         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
59285
59286         * lib/c-strstr.c: Complete rewrite for maintainability.
59287
59288         * modules/c-strstr-tests: New file.
59289         * tests/test-c-strstr.c: New file.
59290
59291 2007-02-11  Bruno Haible  <bruno@clisp.org>
59292
59293         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
59294         5.2.1 and earlier, whereby \055 was treated just like the range
59295         delimiter '-'.
59296         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
59297
59298 2007-02-08  Bruno Haible  <bruno@clisp.org>
59299
59300         * modules/regex (Depends-on): Add stdbool.
59301         Reported by Dalibor Topic <robilad@kaffe.org>.
59302
59303 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
59304
59305         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
59306         Prefer returning from main to exiting from it.
59307         Remove unnecessary parens after sizeof.
59308
59309 2007-02-05  Bruno Haible  <bruno@clisp.org>
59310
59311         New module mbssep.
59312         * modules/mbssep: New file.
59313         * lib/mbssep.c: New file.
59314         * lib/string_.h (strsep): Add a conditional link warning.
59315         (mbssep): New declaration.
59316         * m4/mbssep.m4: New file.
59317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59318         GNULIB_MBSSEP.
59319         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
59320         * MODULES.html.sh (Internationalization functions): Add mbssep.
59321
59322 2007-02-05  Bruno Haible  <bruno@clisp.org>
59323
59324         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
59325         Optimize search in case of 1 delimiter.
59326
59327 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
59328
59329         * lib/acl.h: Include sys/types.h before sys/acl.h.
59330
59331 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
59332
59333         Merge upstream fix for glibc bugzilla #3957:
59334
59335         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
59336
59337         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
59338         bit for RE_HAT_LISTS_NOT_NEWLINE.
59339         (build_charclass_op): Remove bogus comment.
59340
59341 2007-02-05  Simon Josefsson  <simon@josefsson.org>
59342
59343         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
59344
59345 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59346
59347         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
59348         * lib/memmem.c [!defined _LIBC]: Include config.h.
59349
59350 2007-02-04  Bruno Haible  <bruno@clisp.org>
59351
59352         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
59353         warning message.
59354
59355 2007-02-04  Bruno Haible  <bruno@clisp.org>
59356
59357         New module mbstok_r.
59358         * modules/mbstok_r: New file.
59359         * lib/mbstok_r.c: New file.
59360         * lib/string_.h (strtok_r): Change argument names to match the
59361         comments. Add a conditional link warning.
59362         (mbstok_r): New declaration.
59363         * m4/mbstok_r.m4: New file.
59364         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59365         GNULIB_MBSTOK_R.
59366         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
59367         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
59368
59369 2007-02-04  Bruno Haible  <bruno@clisp.org>
59370
59371         New module mbsspn.
59372         * modules/mbsspn: New file.
59373         * lib/mbsspn.c: New file.
59374         * lib/string_.h (strspn): Add a conditional link warning.
59375         (mbsspn): New declaration.
59376         * m4/mbsspn.m4: New file.
59377         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59378         GNULIB_MBSSPN.
59379         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
59380         * MODULES.html.sh (Internationalization functions): Add mbsspn.
59381
59382 2007-02-04  Bruno Haible  <bruno@clisp.org>
59383
59384         New module mbspbrk.
59385         * modules/mbspbrk: New file.
59386         * lib/mbspbrk.c: New file.
59387         * lib/string_.h (strpbrk): Add a conditional link warning.
59388         (mbspbrk): New declaration.
59389         * m4/mbspbrk.m4: New file.
59390         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59391         GNULIB_MBSPBRK.
59392         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
59393         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
59394
59395 2007-02-04  Bruno Haible  <bruno@clisp.org>
59396
59397         New module mbscspn.
59398         * modules/mbscspn: New file.
59399         * lib/mbscspn.c: New file.
59400         * lib/string_.h (strcspn): Add a conditional link warning.
59401         (mbscspn): New declaration.
59402         * m4/mbscspn.m4: New file.
59403         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59404         GNULIB_MBSCSPN.
59405         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
59406         * MODULES.html.sh (Internationalization functions): Add mbscspn.
59407
59408 2007-02-04  Bruno Haible  <bruno@clisp.org>
59409
59410         New module mbscasestr, reduced goal of strcasestr.
59411         * modules/mbscasestr: New file.
59412         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
59413         (mbscasestr): Renamed from strcasestr.
59414         * lib/strcasestr.c: Don't include mbuiter.h.
59415         (strcasestr): Remove support for multibyte locales.
59416         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
59417         Change the conditional link warning.
59418         (mbscasestr): New declaration.
59419         * m4/mbscasestr.m4: New file.
59420         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
59421         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
59422         REPLACE_STRCASESTR.
59423         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
59424         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59425         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
59426         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
59427         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
59428         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
59429         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
59430         (Depends-on): Remove mbuiter.
59431         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
59432
59433 2007-02-04  Bruno Haible  <bruno@clisp.org>
59434
59435         Simplify handling of strncasecmp.
59436         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
59437         the conditional link warning.
59438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59439         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
59440         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
59441         * modules/strcase (configure.ac): Don't invoke
59442         gl_STRING_MODULE_INDICATOR.
59443         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
59444
59445 2007-02-04  Bruno Haible  <bruno@clisp.org>
59446
59447         New module mbscasecmp, reduced goal of strcasecmp.
59448         * modules/mbscasecmp: New file.
59449         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
59450         (mbscasecmp): Renamed from strcasecmp.
59451         * lib/strcasecmp.c: Don't include mbuiter.h.
59452         (strcasecmp): Remove support for multibyte locales.
59453         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
59454         Change the conditional link warning.
59455         (mbscasecmp): New declaration.
59456         * m4/mbscasecmp.m4: New file.
59457         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
59458         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
59459         REPLACE_STRCASECMP.
59460         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
59461         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59462         GNULIB_MBSCASECMP.
59463         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
59464         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
59465         * modules/strcase (Files): Remove m4/mbrtowc.m4.
59466         (Depends-on): Remove mbuiter.
59467         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
59468
59469 2007-02-04  Bruno Haible  <bruno@clisp.org>
59470
59471         New module mbsstr. Remove module strstr.
59472         * modules/mbsstr: New file.
59473         * modules/strstr: Remove file.
59474         * lib/mbsstr.c: Renamed from lib/strstr.c.
59475         (mbsstr): Renamed from strstr.
59476         * lib/string_.h (strstr): Remove declaration. Change the conditional
59477         link warning.
59478         (mbsstr): New declaration.
59479         * m4/mbsstr.m4: New file.
59480         * m4/strstr.m4: Remove file.
59481         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
59482         REPLACE_STRSTR.
59483         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
59484         Don't initialize GNULIB_STRSTR.
59485         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
59486         substitute GNULIB_STRSTR and REPLACE_STRSTR.
59487         * MODULES.html.sh (Internationalization functions): Add mbsstr.
59488         (Support for systems lacking ANSI C 89): Remove strstr.
59489
59490 2007-02-04  Bruno Haible  <bruno@clisp.org>
59491
59492         New module mbsrchr.
59493         * modules/mbsrchr: New file.
59494         * lib/mbsrchr.c: New file.
59495         * lib/string_.h (strrchr): Add a conditional link warning.
59496         (mbsrchr): New declaration.
59497         * m4/mbsrchr.m4: New file.
59498         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59499         GNULIB_MBSRCHR.
59500         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
59501         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
59502
59503 2007-02-04  Bruno Haible  <bruno@clisp.org>
59504
59505         New module mbschr.
59506         * modules/mbschr: New file.
59507         * lib/mbschr.c: New file.
59508         * lib/string_.h (strchr): Add a conditional link warning.
59509         (mbschr): New declaration.
59510         * m4/mbschr.m4: New file.
59511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59512         GNULIB_MBSCHR.
59513         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
59514         * MODULES.html.sh (Internationalization functions): Add mbschr.
59515
59516 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59517
59518         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
59519
59520         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
59521
59522 2007-02-04  Bruno Haible  <bruno@clisp.org>
59523
59524         New module description section 'configure.ac-early'.
59525         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
59526         (func_get_autoconf_early_snippet): New function.
59527         (func_import, func_create_testdir): Use it. Remove special cases for
59528         modules 'extensions' and 'lock'.
59529         * modules/extensions (configure.ac-early): Require
59530         gl_USE_SYSTEM_EXTENSIONS.
59531         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
59532
59533 2007-02-04  Bruno Haible  <bruno@clisp.org>
59534
59535         Make use of gcj-4.3's -fsource and -ftarget option.
59536         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
59537         and if so try the options -fsource and -ftarget.
59538         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
59539         source_version, ftarget_option, target_version arguments.
59540         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
59541         (is_envjavac_oldgcj_14_14_usable): Renamed from
59542         is_envjavac_gcj_14_14_usable.
59543         (is_envjavac_oldgcj_14_13_usable): Renamed from
59544         is_envjavac_gcj_14_13_usable.
59545         (is_gcj_present): Update.
59546         (is_gcj_43, is_gcj43_usable): New functions.
59547         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
59548         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
59549         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
59550         try the options -fsource and -ftarget.
59551
59552 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59553
59554         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
59555         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
59556         larger value.
59557
59558 2007-02-03  Jim Meyering  <jim@meyering.net>
59559
59560         Give tools a better chance to allocate space for very large buffers.
59561         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
59562
59563         Make pwd and readlink work also when run with an unreadable parent dir
59564         on systems with openat support.
59565         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
59566         provided getcwd function, even when we have openat support.
59567         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
59568
59569 2007-02-02  Bruno Haible  <bruno@clisp.org>
59570
59571         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59572         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
59573         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
59574         portability problems if one of these functions is only used on specific
59575         platforms.
59576         Reported by Paul Eggert.
59577
59578 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
59579
59580         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
59581         is causing more trouble than it's curing.
59582         * lib/regex_internal.h (__mempcpy): Remove.
59583         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
59584         (and make the code a tad smaller to boot).
59585         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
59586
59587 2007-02-02  Jim Meyering  <jim@meyering.net>
59588
59589         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
59590         section, not in the Makefile.am: one.
59591
59592 2007-02-02  Eric Blake  <ebb9@byu.net>
59593
59594         * lib/strchrnul.c: Always include config.h first.
59595
59596         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
59597         gnulib strstr is not necessary here.
59598
59599 2007-02-02  Simon Josefsson  <simon@josefsson.org>
59600
59601         * m4/socklen.m4: Fix typo.
59602
59603 2007-02-02  Eric Blake  <ebb9@byu.net>
59604
59605         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
59606         * modules/netinet_in (Makefile.am): Likewise.
59607
59608 2007-02-01  Bruno Haible  <bruno@clisp.org>
59609
59610         * lib/string_.h (GL_LINK_WARNING): New macro.
59611         (strcasecmp, strstr, strcasestr): If provided by the system,
59612         conditionally define as a macro that leads to a warning instead of to
59613         an error.
59614         (strncasecmp): Conditionally define as a macro that leads to a warning.
59615
59616 2007-02-01  Karl Berry  <karl@gnu.org>
59617
59618         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
59619
59620 2007-02-01  Bruno Haible  <bruno@clisp.org>
59621
59622         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
59623         renamings.
59624
59625 2007-02-01  Eric Blake  <ebb9@byu.net>
59626
59627         * modules/regex (Depends-on): Revert dependence on mempcpy.
59628         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
59629         module's definition of mempcpy.
59630         Reported by Paul Eggert.
59631
59632 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59633
59634         * lib/string_.h: If the gnulib module XYZ is not present, undefine
59635         the symbol XYZ before redefining it.  This fixes a problem with
59636         programs that don't use XYZ, when compiled on systems that define
59637         XYZ to something else.
59638
59639 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
59640
59641         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
59642         occurs when "mkdir -m foo" creates a setgid directory that is (1)
59643         writeable to group or other and (2) is intended to have a special
59644         mode bit that is set or cleared.  In such a case, the directory
59645         should be neither group- nor other-writeable until the special
59646         mode bits are right.
59647
59648 2007-01-31  Eric Blake  <ebb9@byu.net>
59649
59650         * modules/mountlist (Depends-on): Add strstr.
59651
59652         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
59653         bug.
59654         * modules/string (Makefile.am): Remove redundant replacement.
59655         * modules/regex (Depends-on): Add mempcpy.
59656
59657 2007-01-31  Bruno Haible  <bruno@clisp.org>
59658
59659         New module description field 'Link'.
59660         * gnulib-tool (func_usage): Document --extract-link-directive.
59661         (sed_extract_prog): Recognize 'Link' directive.
59662         (func_get_link_directive): New function.
59663         (func_import): Show summary of link directives.
59664         Handle --extract-link-directive option.
59665         * modules/acl (Link): New section.
59666         * modules/clock-time (Link): New section.
59667         * modules/euidaccess (Link): New section.
59668         * modules/gettext (Link): New section.
59669         * modules/iconv (Link): New section.
59670         * modules/lock (Link): New section.
59671         * modules/nanosleep (Link): New section.
59672         * modules/readline (Link): New section.
59673
59674 2007-01-27  Bruno Haible  <bruno@clisp.org>
59675
59676         Enforce the use of gnulib modules for unportable <string.h> functions.
59677         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
59678         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
59679         (gl_HEADER_STRING_H_BODY): Require it.
59680         * lib/string_.h: If the gnulib module XYZ is not present, redefine
59681         the symbol XYZ to one that gives a link error.
59682         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
59683         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
59684         * modules/mempcpy (configure.ac): Likewise.
59685         * modules/memrchr (configure.ac): Likewise.
59686         * modules/stpcpy (configure.ac): Likewise.
59687         * modules/stpncpy (configure.ac): Likewise.
59688         * modules/strcase (configure.ac): Likewise.
59689         * modules/strcasestr (configure.ac): Likewise.
59690         * modules/strchrnul (configure.ac): Likewise.
59691         * modules/strdup (configure.ac): Likewise.
59692         * modules/strndup (configure.ac): Likewise.
59693         * modules/strnlen (configure.ac): Likewise.
59694         * modules/strpbrk (configure.ac): Likewise.
59695         * modules/strsep (configure.ac): Likewise.
59696         * modules/strstr (configure.ac): Likewise.
59697         * modules/strtok_r (configure.ac): Likewise.
59698
59699 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
59700
59701         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
59702
59703 2007-01-30  Jim Meyering  <jim@meyering.net>
59704
59705         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
59706
59707 2007-01-29  Bruno Haible  <bruno@clisp.org>
59708
59709         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
59710         * lib/execute.c: Likewise.
59711         * lib/pipe.c: Likewise.
59712         * lib/printf-args.h: Likewise.
59713         * lib/printf-args.c: Likewise.
59714         * lib/printf-parse.c: Likewise.
59715         * lib/vasnprintf.c: Likewise.
59716
59717 2007-01-29  Eric Blake  <ebb9@byu.net>
59718
59719         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
59720         declaration.
59721
59722 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59723
59724         * lib/strptime.h (strptime): Use 'restrict' for args where
59725         POSIX requires this.
59726         * lib/strptime.c (strptime): Likewise.
59727         Change license notice from LGPL to GPL, since gnulib-tool will
59728         change this as needed.
59729         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
59730         defined.
59731         Include "strptime.h" first, to check interface.
59732         Do not #undef _LIBC and _NL_CURRENT.
59733         Do not include <stdlib.h>; no longer needed.
59734         Include "time_r.h" and declare ptime_locale_status
59735         only if _LIBC is not defined.
59736         (__P): Remove unused macro.
59737         (match_string): Bring back glibc version, but use it only if _LIBC
59738         is defined.
59739         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
59740         Remove unnecessary assertion and abort() call.
59741         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
59742         * m4/strptime.m4: Fix serial number comment.
59743         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
59744         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
59745         (Depends-on): Add time_r.
59746
59747 2007-01-29  Bruno Haible  <bruno@clisp.org>
59748
59749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59750         strptime.
59751         * modules/strptime (Depends-on): Add stdbool.
59752         * lib/strptime.h: Include <time.h> always. Add comments.
59753
59754 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
59755
59756         * modules/strptime: New file.
59757         * lib/strptime.h: New file.
59758         * lib/strptime.c: New file.
59759         * m4/strptime.m4: New file.
59760
59761 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59762
59763         * MODULES.html.sh: New module mpsort.
59764         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
59765
59766         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
59767         a circularity problem with HP-UX ia64 reported by Bob Proulx in
59768         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
59769         All uses changed.
59770         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
59771         All uses changed.
59772         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
59773         to _Restrict_.
59774         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
59775         the parameter matches the prototype.
59776
59777 2007-01-28  Jim Meyering  <jim@meyering.net>
59778
59779         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
59780         sys/time.h here, reverting that part of the previous patch:
59781         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
59782
59783 2007-01-28  Bruno Haible  <bruno@clisp.org>
59784
59785         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
59786         value of $(SYS_TIME_H).
59787         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
59788         remove it conditionally, too. [added by Jim Meyering]
59789         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
59790         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59791         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
59792         GETTIMEOFDAY_REPLACEMENT to 1.
59793
59794 2007-01-28  Bruno Haible  <bruno@clisp.org>
59795
59796         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
59797         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
59798         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
59799         Set UNISTD_H instead of UNISTD_H2.
59800         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
59801
59802 2007-01-28  Bruno Haible  <bruno@clisp.org>
59803
59804         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
59805         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
59806
59807 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59808
59809         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
59810         (func_create_testdir): Ensure C locale for `grep' and `tr'
59811         character ranges.
59812         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
59813         ACLOCAL_AMFLAGS parsing state machine.
59814
59815 2007-01-27  Bruno Haible  <bruno@clisp.org>
59816
59817         * modules/unistr/base: Update.
59818
59819 2007-01-27  Bruno Haible  <bruno@clisp.org>
59820
59821         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
59822         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
59823         * modules/unistr/u32-mbtouc-unsafe: Renamed from
59824         modules/unistr/u32-mbtouc.
59825         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
59826         * lib/unistr.h: Update.
59827         * lib/linebreak.c: Update.
59828         * modules/unistr/u32-mbtouc: Renamed from
59829         modules/unistr/u32-mbtouc-safe.
59830         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
59831         * lib/unistr.h: Update.
59832         * lib/unistr/u32-to-u8.c: Update.
59833         * lib/unistr/u32-to-u16.c: Update.
59834
59835 2007-01-27  Bruno Haible  <bruno@clisp.org>
59836
59837         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
59838         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
59839         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
59840         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
59841         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
59842         * modules/unistr/u16-mbtouc-unsafe: Renamed from
59843         modules/unistr/u16-mbtouc.
59844         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
59845         * lib/unistr.h: Update.
59846         * lib/linebreak.c: Update.
59847         * modules/linebreak: Update.
59848         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
59849         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
59850         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
59851         * modules/unistr/u16-mbtouc: Renamed from
59852         modules/unistr/u16-mbtouc-safe.
59853         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
59854         * lib/unistr.h: Update.
59855         * lib/unistr/u16-to-u8.c: Update.
59856         * modules/unistr/u16-to-u8: Update.
59857         * lib/unistr/u16-to-u32.c: Update.
59858         * modules/unistr/u16-to-u32: Update.
59859
59860 2007-01-27  Bruno Haible  <bruno@clisp.org>
59861
59862         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
59863         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
59864         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
59865         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
59866         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
59867         * modules/unistr/u8-mbtouc-unsafe: Renamed from
59868         modules/unistr/u8-mbtouc.
59869         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
59870         * lib/unistr.h: Update.
59871         * lib/striconveh.c: Update.
59872         * modules/striconveh: Update.
59873         * lib/linebreak.c: Update.
59874         * modules/linebreak: Update.
59875         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
59876         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
59877         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
59878         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
59879         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
59880         * lib/unistr.h: Update.
59881         * lib/striconveh.c: Update.
59882         * modules/striconveh: Update.
59883         * lib/unistr/u8-to-u16.c: Update.
59884         * modules/unistr/u8-to-u16: Update.
59885         * lib/unistr/u8-to-u32.c: Update.
59886         * modules/unistr/u8-to-u32: Update.
59887
59888 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59889
59890         Sync from Libtool.
59891         * lib/argz.c: Do not include strings.h nor memory.h, include
59892         string.h unconditionally.  Patch by Simon Josefsson.
59893
59894 2007-01-27  Bruno Haible  <bruno@clisp.org>
59895
59896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
59897         from gl_HEADER_STRING_H_BODY.
59898         (gl_HEADER_STRING_H_BODY): Require it.
59899         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
59900         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59901         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59902         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59903         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59904         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
59905         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59906         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59907         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
59908         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59909         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59910         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
59911         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59912         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59913         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59914
59915 2007-01-27  Bruno Haible  <bruno@clisp.org>
59916
59917         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
59918         check_PROGRAMS into noinst_PROGRAMS.
59919         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
59920         check_PROGRAMS in this case.
59921         (func_import): Set for_test to false.
59922         (func_create_testdir): Set for_test to true.
59923
59924 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
59925             Bruno Haible  <bruno@clisp.org>
59926
59927         * modules/strcasestr (Files): Remove lib/strcasestr.h.
59928         (Depends-on): Add string.
59929         (Includes): Use <string.h> instead of strcasestr.h.
59930         * modules/string (Makefile.am): Also substitute the value of
59931         REPLACE_STRCASESTR.
59932         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
59933         assume strcasestr is declared in <string.h> not <strings.h>. Also
59934         set REPLACE_STRCASESTR.
59935         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
59936         REPLACE_STRCASESTR.
59937         * lib/strcasestr.h: Remove file.
59938         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
59939         * lib/string_.h (strcasestr): New declaration.
59940
59941 2007-01-27  Bruno Haible  <bruno@clisp.org>
59942
59943         * lib/string_.h: Use 'extern'.
59944
59945 2007-01-27  Jim Meyering  <jim@meyering.net>
59946
59947         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
59948         of set-but-not-used local, "q".
59949
59950         * lib/mempcpy.c: Include <config.h> before <string.h>.
59951         This fixes a compilation error on HP-UX, due to the system's
59952         "restrict"-using mempcpy prototype.
59953
59954 2007-01-26  Bruno Haible  <bruno@clisp.org>
59955
59956         Small optimization.
59957         * lib/javacomp.c: Include c-strstr.h.
59958          (is_envjavac_gcj): Use c_strstr instead of strstr.
59959         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
59960
59961 2007-01-26  Bruno Haible  <bruno@clisp.org>
59962
59963         * MODULES.html.sh (Unicode string functions): Add the new modules.
59964
59965         * modules/uniconv/u32-strconv-to-locale: New file.
59966         * lib/uniconv/u32-strconv-to-locale.c: New file.
59967
59968         * modules/uniconv/u16-strconv-to-locale: New file.
59969         * lib/uniconv/u16-strconv-to-locale.c: New file.
59970
59971         * modules/uniconv/u8-strconv-to-locale: New file.
59972         * lib/uniconv/u8-strconv-to-locale.c: New file.
59973
59974         * modules/uniconv/u32-strconv-from-locale: New file.
59975         * lib/uniconv/u32-strconv-from-locale.c: New file.
59976
59977         * modules/uniconv/u16-strconv-from-locale: New file.
59978         * lib/uniconv/u16-strconv-from-locale.c: New file.
59979
59980         * modules/uniconv/u8-strconv-from-locale: New file.
59981         * lib/uniconv/u8-strconv-from-locale.c: New file.
59982
59983         * modules/uniconv/u32-strconv-to-enc: New file.
59984         * lib/uniconv/u32-strconv-to-enc.c: New file.
59985         * modules/uniconv/u32-strconv-to-enc-tests: New file.
59986         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
59987
59988         * modules/uniconv/u16-strconv-to-enc: New file.
59989         * lib/uniconv/u16-strconv-to-enc.c: New file.
59990         * lib/uniconv/u-strconv-to-enc.h: New file.
59991         * modules/uniconv/u16-strconv-to-enc-tests: New file.
59992         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
59993
59994         * modules/uniconv/u8-strconv-to-enc: New file.
59995         * lib/uniconv/u8-strconv-to-enc.c: New file.
59996         * modules/uniconv/u8-strconv-to-enc-tests: New file.
59997         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
59998
59999         * modules/uniconv/u32-strconv-from-enc: New file.
60000         * lib/uniconv/u32-strconv-from-enc.c: New file.
60001         * modules/uniconv/u32-strconv-from-enc-tests: New file.
60002         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
60003
60004         * modules/uniconv/u16-strconv-from-enc: New file.
60005         * lib/uniconv/u16-strconv-from-enc.c: New file.
60006         * modules/uniconv/u16-strconv-from-enc-tests: New file.
60007         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
60008
60009         * modules/uniconv/u8-strconv-from-enc: New file.
60010         * lib/uniconv/u8-strconv-from-enc.c: New file.
60011         * lib/uniconv/u-strconv-from-enc.h: New file.
60012         * modules/uniconv/u8-strconv-from-enc-tests: New file.
60013         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
60014
60015         * modules/uniconv/u32-conv-from-enc: New file.
60016         * lib/uniconv/u32-conv-from-enc.c: New file.
60017         * modules/uniconv/u32-conv-from-enc-tests: New file.
60018         * tests/uniconv/test-u32-conv-from-enc.c: New file.
60019
60020         * modules/uniconv/u16-conv-from-enc: New file.
60021         * lib/uniconv/u16-conv-from-enc.c: New file.
60022         * lib/uniconv/u-conv-from-enc.h: New file.
60023         * modules/uniconv/u16-conv-from-enc-tests: New file.
60024         * tests/uniconv/test-u16-conv-from-enc.c: New file.
60025
60026         * modules/uniconv/u8-conv-from-enc: New file.
60027         * lib/uniconv/u8-conv-from-enc.c: New file.
60028         * modules/uniconv/u8-conv-from-enc-tests: New file.
60029         * tests/uniconv/test-u8-conv-from-enc.c: New file.
60030
60031         * modules/uniconv/base: New file.
60032         * lib/uniconv.h: New file.
60033
60034 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60035
60036         * doc/gnulib-tool.texi (Initial import): Update to match current
60037         behavior with strdup module.
60038         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
60039         * lib/memmem.h: Remove; all uses removed.  This is now done
60040         by <string.h>.
60041         * lib/mempcpy.h: Likewise.
60042         * lib/memrchr.h: Likewise.
60043         * lib/stpcpy.h: Likewise.
60044         * lib/stpncpy.h: Likewise.
60045         * lib/strcase.h: Likewise.
60046         * lib/strchrnul.h: Likewise.
60047         * lib/strdup.h: Likewise.
60048         * lib/strndup.h: Likewise.
60049         * lib/strnlen.h: Likewise.
60050         * lib/strpbrk.h: Likewise.
60051         * lib/strsep.h: Likewise.
60052         * lib/strstr.h: Likewise.
60053         * lib/strtok_r.h: Likewise.
60054         * lib/string_.h: New file.
60055         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
60056         Rely on <string.h> instead.
60057         * lib/canon-host.c: Likewise.
60058         * lib/chdir-long.c: Likewise.
60059         * lib/concatpath.c: Likewise.
60060         * lib/exclude.c: Likewise.
60061         * lib/fchdir.c: Likewise.
60062         * lib/getaddrinfo.c: Likewise.
60063         * lib/getcwd.c: Likewise.
60064         * lib/getsubopt.c: Likewise.
60065         * lib/glob.c: Likewise.
60066         * lib/hard-locale.c: Likewise.
60067         * lib/iconvme.c: Likewise.
60068         * lib/javacomp.c: Likewise.
60069         * lib/mempcpy.c: Likewise.
60070         * lib/memrchr.c: Likewise.
60071         * lib/regex_internal.h: Likewise.
60072         * lib/stpncpy.c: Likewise.
60073         * lib/strcasecmp.c: Likewise.
60074         * lib/strchrnul.c: Likewise.
60075         * lib/strdup.c: Likewise.
60076         * lib/striconv.c: Likewise.
60077         * lib/striconveh.c: Likewise.
60078         * lib/striconveha.c: Likewise.
60079         * lib/strncasecmp.c: Likewise.
60080         * lib/strndup.c: Likewise.
60081         * lib/strnlen.c: Likewise.
60082         * lib/strsep.c: Likewise.
60083         * lib/strstr.c: Likewise.
60084         * lib/strtok_r.c: Likewise.
60085         * lib/userspec.c: Likewise.
60086         * lib/w32spawn.h: Likewise.
60087         * lib/xstrndup.c: Likewise.
60088         * lib/mountlist.c (strstr): Remove decl.
60089         * m4/string_h.m4: New file.
60090         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
60091         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
60092         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
60093         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
60094         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
60095         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
60096         Set REPLACE_STRCASECMP if necessary.
60097         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
60098         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
60099         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
60100         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
60101         HAVE_DECL_STRDUP if necessary.
60102         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
60103         since gl_FUNC_STRNDUP does that now.
60104         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
60105         Check for decl here...
60106         (gl_PREREQ_STRNLEN): ... not here.
60107         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
60108         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
60109         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
60110         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
60111         necessary.
60112         * modules/string: New file.
60113         * modules/memmem (Files): Remove special-purpose include file.
60114         (Depends-on): Add string.
60115         (Include): Include <string.h>, not the removed file.
60116         * modules/mempcpy: Likewise.
60117         * modules/memrchr: Likewise.
60118         * modules/stpcpy: Likewise.
60119         * modules/stpncpy: Likewise.
60120         * modules/strcase: Likewise.
60121         * modules/strchrnul: Likewise.
60122         * modules/strdup: Likewise.
60123         * modules/strndup: Likewise.
60124         * modules/strnlen: Likewise.
60125         * modules/strpbrk: Likewise.
60126         * modules/strsep: Likewise.
60127         * modules/strstr: Likewise.
60128         * modules/strtok_r: Likewise.
60129         * tests/test-dirname.c: Don't include "strdup.h", since
60130         <string.h> now suffices.
60131         * tests/test-memmem.c: Don't include "memmem.h", since
60132         <string.h> now suffices.
60133
60134 2007-01-25  Bruno Haible  <bruno@clisp.org>
60135
60136         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
60137         *resultp is 0.
60138
60139         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
60140         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
60141         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
60142         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
60143
60144         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
60145         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
60146         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
60147         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
60148         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
60149         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
60150
60151 2007-01-24  Bruno Haible  <bruno@clisp.org>
60152
60153         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
60154         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
60155         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
60156         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
60157         gl_FUNC_FTS_CORE.
60158         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
60159         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
60160         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60161         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
60162         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
60163         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
60164         gl_FUNC_FCHOWNAT.
60165         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
60166         gl_FUNC_STRFTIME.
60167         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
60168         Reported by Ralf Wildenhues.
60169
60170 2007-01-24  Bruno Haible  <bruno@clisp.org>
60171
60172         Drop AC_REQUIRE calls that are redundant with the module dependencies.
60173         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
60174         gl_GETADDRINFO.
60175         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
60176         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
60177         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
60178
60179 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
60180
60181         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
60182         Don't use 'exit'; just return from 'main'.
60183         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
60184
60185         * lib/fnmatch_.h: Readjust white space and comments to match
60186         glibc, to avoid spurious diffs.
60187
60188 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60189
60190         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
60191         2004-12-01 change by Jakub Jelinek, since this code won't compile
60192         if !LIBC.  Problem reported by Bob Proulx.
60193
60194 2007-01-23  Bruno Haible  <bruno@clisp.org>
60195
60196         * lib/striconveh.c: Include c-strcaseeq.h.
60197         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
60198         * modules/striconveh (Depends-on): Add c-strcaseeq.
60199
60200 2007-01-23  Bruno Haible  <bruno@clisp.org>
60201
60202         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
60203
60204         * modules/c-strcaseeq: New file.
60205         * lib/c-strcaseeq.h: New file.
60206
60207         * modules/streq: New file.
60208         * lib/streq.h: New file.
60209
60210 2007-01-23  Bruno Haible  <bruno@clisp.org>
60211
60212         * modules/striconveha-tests: New file.
60213         * tests/test-striconveha.c: New file.
60214
60215         * lib/striconveha.h: Include <stdbool.h>.
60216         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
60217         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
60218         (mem_iconveha_notranslit): Renamed from mem_iconveha.
60219         (mem_iconveha): New function.
60220         (str_iconveha_notranslit): Renamed from str_iconveha.
60221         (str_iconveha): New function.
60222         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
60223         c-strcase.
60224
60225 2007-01-23  Bruno Haible  <bruno@clisp.org>
60226
60227         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
60228         encodings without forgiving before trying any encoding with handler.
60229         (str_iconveha): Try all encodings without forgiving before trying any
60230         encoding with handler.
60231
60232 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60233
60234         Import the following changes from libc.
60235
60236         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60237
60238         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
60239
60240         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
60241
60242         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
60243         normal_bracket label.
60244
60245         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
60246
60247         [BZ #361]
60248         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
60249         to normal_bracket after fetching the next character.
60250
60251 2007-01-22  Bruno Haible  <bruno@clisp.org>
60252
60253         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
60254         argument.
60255         * lib/striconveh.c (iconv_carefully_1): New function.
60256         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
60257         argument.
60258         (str_cd_iconveh): Update.
60259         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
60260         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
60261         * tests/test-striconveh.c (MAGIC): New macro.
60262         (new_offsets): New function.
60263         (main): Test call with and without offsets.
60264
60265 2007-01-22  Bruno Haible  <bruno@clisp.org>
60266
60267         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
60268         * modules/sys_select (Makefile.am): Likewise.
60269         * modules/sys_socket (Makefile.am): Likewise.
60270         * modules/sys_time (Makefile.am): Likewise.
60271
60272 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60273
60274         * modules/gettimeofday (License): Change from GPL to LGPL, since
60275         gettimeofday is a library function.
60276
60277 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60278
60279         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
60280
60281 2007-01-21  Bruno Haible  <bruno@clisp.org>
60282
60283         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
60284
60285 2007-01-21  Bruno Haible  <bruno@clisp.org>
60286
60287         * modules/striconveha: New file.
60288         * lib/striconveha.h: New file.
60289         * lib/striconveha.c: New file.
60290         * MODULES.html.sh (Internationalization functions): Add striconveha.
60291         * lib/striconv.c (str_iconv): Optimize the case of an empty input
60292         string.
60293         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
60294
60295 2007-01-21  Bruno Haible  <bruno@clisp.org>
60296
60297         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
60298         * lib/striconveh.c (str_iconveh): Likewise.
60299
60300 2007-01-21  Bruno Haible  <bruno@clisp.org>
60301
60302         * lib/striconveh.h (mem_iconveh): New declaration.
60303         * lib/striconveh.c (mem_iconveh): New function.
60304         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
60305
60306 2007-01-21  Bruno Haible  <bruno@clisp.org>
60307
60308         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
60309
60310         * lib/striconveh.h (mem_cd_iconveh): Change specification.
60311         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
60312         original result buffer.
60313         (str_cd_iconveh): Update.
60314         * tests/test-striconveh.c (main): Update.
60315
60316         * lib/striconv.h (mem_cd_iconv): Change specification.
60317         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
60318         result buffer.
60319         (str_cd_iconv): Update.
60320         * tests/test-striconv.c (main): Update.
60321
60322 2007-01-21  Bruno Haible  <bruno@clisp.org>
60323
60324         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
60325
60326 2007-01-20  Jim Meyering  <jim@meyering.net>
60327
60328         * lib/userspec.c (parse_with_separator): If a user or group string
60329         starts with "+", skip the corresponding name-to-ID look-up, since
60330         such a look-up must fail: user and group names may not include "+".
60331
60332 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60333
60334         * lib/poll.c: Include sys/time.h and time.h unconditionally,
60335         since we now assume the sys_time module.
60336         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
60337         check for sys/time.h; no longer needed.
60338         * modules/poll (Depends-on): Depend on sys_time.
60339
60340 2007-01-18  Bruno Haible  <bruno@clisp.org>
60341
60342         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
60343         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
60344
60345         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
60346         gettimeofday.
60347
60348         * tests/test-gettimeofday.c: Include <time.h>.
60349         (dummy): Remove variable.
60350
60351         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
60352         gl_HEADER_SYS_TIME_H.
60353         (gl_HEADER_SYS_TIME_H): New macro.
60354
60355         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
60356         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60357         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
60358         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
60359         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60360         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
60361         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
60362         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60363         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
60364         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
60365         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60366
60367         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
60368         last change; it caused a compilation error when cross-compiling to
60369         Cygwin.
60370
60371 2007-01-18  Jim Meyering  <jim@meyering.net>
60372
60373         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
60374         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
60375         than the race-prone "test -d sys || mkdir sys".
60376         (configure.ac): Use AC_PROG_MKDIR_P.
60377         * modules/sys_select: Likewise.
60378         * modules/sys_socket: Likewise.
60379         * modules/sys_time: Likewise.
60380
60381 2007-01-18  Eric Blake  <ebb9@byu.net>
60382
60383         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
60384         replace gettimeofday.
60385         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
60386         name, to avoid infinite recursion.
60387
60388 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
60389
60390         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
60391         module sys_time.
60392         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
60393         assume timespec.h defines struct timeval.
60394         * lib/settime.c: Likewise.
60395         * lib/utimens.c: Likewise.
60396         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
60397         since we now assume the gettimeofday module.
60398         * lib/tempname.c (__gen_tempname): Likewise.
60399         * lib/gettimeofday.h: Remove.
60400         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
60401         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
60402         Include <time.h>, for 'time()'.
60403         (localtime_buffer_addr): Also use this workaround if
60404         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
60405         to simplify the uses.  All uses changed.
60406         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
60407         that #undef is inside {}, and 'const' follows type name consistently.
60408         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
60409         (gettimeofday): Do not use the maximum possible value for
60410         tv->tv_usec, since that might break usages other than ls.c.
60411         Instead, we'll leave ls.c alone.  This undoes today's patch
60412         by Bruno.  Add a compile-time warning for 1s-clock resolution;
60413         we've never observed the problem but might as well keep the
60414         canary.
60415         * lib/nanosleep.c: Include timespec.h first, for interface check.
60416         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
60417         now assume the sys_time module.
60418         * lib/tempname.c: Likewise.
60419         * lib/timespec.h: Likewise.
60420         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
60421         needed.
60422         * lib/strftime.c: Likewise.
60423         * lib/timespec.h: Likewise.
60424         * lib/posixtm.c: Include posixtm.h first, for interface check.
60425         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
60426         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
60427         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
60428         * lib/sys_time_.h: New file.
60429         * lib/timespec.h (struct timespec): Use long int, not long.
60430         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
60431         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
60432         Remove obsolescent call to AC_HEADER_TIME.
60433         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60434         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60435         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
60436         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
60437         Likewise.
60438         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
60439         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
60440         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
60441         into the sys_time module.  Check for gettimeofday just once.
60442         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
60443         for gettimeofday signature to just check the signature.  Merely
60444         compile it, since linking doesn't test signature.  Improve test for
60445         whether gettimeofday.o is actually needed.
60446         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
60447         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
60448         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
60449         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60450         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
60451         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
60452         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
60453         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
60454         than worrying about sys/time.h.
60455         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60456         Don't bother worrying about TIME_WITH_SYS_TIME.
60457         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
60458         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
60459         * m4/sys_time_h.m4: New file.
60460         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
60461         Don't include sys/time.h.  Return from main rather than exiting.
60462         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
60463         all uses changed.
60464         * modules/gethrxtime (Depends-on): Add sys_time.
60465         * modules/gettime (Depends-on): Likewise.
60466         * modules/gettimeofday (Depends-on): Likewise.
60467         * modules/nanosleep (Depends-on): Likewise.
60468         * modules/settime (Depends-on): Likewise.
60469         * modules/tempname (Depends-on): Likewise.
60470         * modules/utimens (Depends-on): Likewise.
60471         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
60472         (Include): Change back to <sys/time.h>.
60473         (Maintainer): Add self.
60474         * modules/sys_time: New file.
60475         * modules/tempname (Depends-on): Add gettimeofday.
60476         * tests/test-gettimeofday.c: Include <sys/time.h>
60477         rather than gettimeofday.h.
60478
60479 2007-01-17  Bruno Haible  <bruno@clisp.org>
60480
60481         * gnulib-tool (func_get_license): Revert last patch. Instead, let
60482         the license default to GPL.
60483         (func_create_testdir): Don't complain if a module is LGPL and its
60484         tests module depends on GPLed modules.
60485
60486 2007-01-17  Bruno Haible  <bruno@clisp.org>
60487
60488         * lib/gettimeofday.c (gettimeofday): Add code for the case
60489         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
60490         maximum possible value for tv->tv_usec, rather than the minimum one.
60491
60492 2005-10-08  Martin Lambers  <marlam@marlam.de>
60493 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60494 2007-01-16  Bruno Haible  <bruno@clisp.org>
60495
60496         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
60497         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
60498         gl_FUNC_GETTIMEOFDAY.
60499         (Include): Add gettimeofday.h.
60500         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
60501         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
60502         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
60503         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
60504         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
60505         * lib/gettimeofday.h: New file.
60506         * lib/gettimeofday.c: Include <sys/timeb.h>.
60507         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
60508         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60509         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
60510         fall back on time().
60511
60512         * tests/test-gettimeofday.c: New file.
60513         * modules/gettimeofday-tests: New file.
60514
60515 2007-01-16  Eric Blake  <ebb9@byu.net>
60516
60517         * modules/fnmatch (Depends-on): Depend on wchar.
60518         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
60519         * m4/fnmatch.m4: Likewise.
60520         * modules/mbchar (Makefile.am): Assume <wchar.h>.
60521         * m4/mbchar.m4: Likewise.
60522         * modules/mbswidth (Depends-on): Depend on wchar.
60523         * lib/mbswidth.c: Assume <wchar.h>.
60524         * m4/mbswidth.m4: Likewise.
60525         * modules/quotearg (Depends-on): Depend on wchar.
60526         * lib/quotearg.c: Assume <wchar.h>.
60527         * m4/quotearg.m4: Likewise.
60528         * modules/regex (Depends-on): Depend on wchar.
60529         * lib/regex_internal.h: Assume <wchar.h>.
60530         * m4/regex.m4: Likewise.
60531         * modules/stdint (Depends-on): Depend on wchar.
60532         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
60533         * m4/stdint.m4: Likewise.
60534         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
60535         * modules/strftime (Depends-on): Depend on wchar.
60536         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
60537         * modules/strtol (Depends-on): Depend on wchar.
60538         * lib/strtol.c: Assume <wchar.h>.
60539         * modules/wcwidth (Depends-on): Depend on wchar.
60540         * lib/wcwidth.h: Assume <wchar.h>.
60541         * m4/wcwidth.m4: Likewise.
60542
60543 2007-01-16  Bruno Haible  <bruno@clisp.org>
60544
60545         * modules/csharpexec-script: New, created from...
60546         * modules/csharpexec: ... this.
60547
60548 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60549
60550         * modules/javaexec-script: New, created from...
60551         * modules/javaexec: ... this.
60552
60553 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60554
60555         * modules/poll (Dependencies): Add sys_select.
60556
60557 2007-01-15  Jim Meyering  <jim@meyering.net>
60558
60559         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
60560         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
60561         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
60562         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
60563
60564 2007-01-15  Bruno Haible  <bruno@clisp.org>
60565
60566         * modules/striconveh: New file.
60567         * lib/striconveh.h: New file.
60568         * lib/striconveh.c: New file.
60569         * MODULES.html.sh (Internationalization functions): Add striconveh.
60570
60571         * modules/striconveh-tests: New file.
60572         * tests/test-striconveh.c: New file.
60573
60574 2007-01-15  Bruno Haible  <bruno@clisp.org>
60575
60576         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
60577         not from GNU libiconv or GNU libc.
60578
60579 2007-01-15  Bruno Haible  <bruno@clisp.org>
60580
60581         * doc/gnulib-intro.texi (Copyright): Explain the different license
60582         terms for module descriptions, autoconf macros, tests, documentation.
60583
60584 2007-01-14  Bruno Haible  <bruno@clisp.org>
60585
60586         * modules/striconv-tests: New file.
60587         * tests/test-striconv.c: New file.
60588
60589 2007-01-14  Bruno Haible  <bruno@clisp.org>
60590
60591         * modules/iconv-tests: New file.
60592         * tests/test-iconv.c: New file.
60593
60594 2007-01-14  Bruno Haible  <bruno@clisp.org>
60595
60596         * gnulib-tool (func_get_license): For test modules, use the license of
60597         the main module.
60598
60599 2007-01-14  Bruno Haible  <bruno@clisp.org>
60600
60601         * modules/iconv (Include): Clarify that <iconv.h> can only be included
60602         if iconv is found to exist.
60603
60604 2007-01-14  Bruno Haible  <bruno@clisp.org>
60605
60606         * modules/c-ctype-tests: New file.
60607         * tests/test-c-ctype.c: New file.
60608
60609 2007-01-14  Bruno Haible  <bruno@clisp.org>
60610
60611         * modules/binary-io-tests: New file.
60612         * tests/test-binary-io.sh: New file.
60613         * tests/test-binary-io.c: New file.
60614
60615 2007-01-14  Bruno Haible  <bruno@clisp.org>
60616
60617         * modules/array-oset-tests: New file.
60618         * tests/test-array_oset.c: New file.
60619
60620 2007-01-14  Bruno Haible  <bruno@clisp.org>
60621
60622         * modules/array-list-tests: New file.
60623         * tests/test-array_list.c: New file.
60624
60625 2007-01-14  Bruno Haible  <bruno@clisp.org>
60626
60627         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
60628         and make.
60629         Reported by Simon Josefsson in
60630         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
60631
60632 2007-01-14  Bruno Haible  <bruno@clisp.org>
60633
60634         * modules/allocsa-tests: New file.
60635         * tests/test-allocsa.c: New file.
60636
60637 2007-01-14  Bruno Haible  <bruno@clisp.org>
60638
60639         * modules/fchdir (Depends-on): Add absolute-header.
60640         * modules/unistd (Depends-on): Likewise.
60641
60642 2006-12-30  Bruno Haible  <bruno@clisp.org>
60643
60644         * modules/fchdir: New file.
60645         * modules/unistd (Files): Add lib/unistd_.h.
60646         (Makefile.am): Generate unistd.h from unistd_.h.
60647         * lib/fchdir.c: New file.
60648         * lib/dirent_.h: New file.
60649         * lib/unistd_.h: New file.
60650         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
60651         * m4/fchdir.m4: New file.
60652         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
60653         (gl_HEADER_UNISTD): Invoke it.
60654         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
60655         function.
60656         * lib/backupfile.c (opendir, closedir): Undefine.
60657         * lib/chown.c (open, close): Undefine.
60658         * lib/clean-temp.c (open, close): Undefine.
60659         * lib/copy-file.c (open, close): Undefine.
60660         * lib/execute.c (open, close): Undefine.
60661         * lib/fsusage.c (open, close): Undefine.
60662         * lib/gc-gnulib.c (open, close): Undefine.
60663         * lib/getcwd.c (opendir, closedir): Undefine.
60664         * lib/glob.c (opendir, closedir): Undefine.
60665         * lib/javacomp.c (open, close): Undefine.
60666         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
60667         * lib/openat-proc.c (open, close): Undefine.
60668         * lib/pagealign_alloc.c (open, close): Undefine.
60669         * lib/pipe.c (open, close): Undefine.
60670         * lib/progreloc.c (open, close): Undefine.
60671         * lib/savedir.c (opendir, closedir): Undefine.
60672         * lib/utime.c (open, close): Undefine.
60673         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
60674
60675 2007-01-10  Bruno Haible  <bruno@clisp.org>
60676
60677         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
60678
60679 2007-01-12  Eric Blake  <ebb9@byu.net>
60680
60681         Provide a robust <wchar.h>.  Further simplifications are now
60682         possible in other modules, but not included here.
60683         * modules/wchar: New module.
60684         * m4/wchar.m4: New file.
60685         * lib/wchar_.h: Likewise.
60686         * modules/mbchar (Depends-on): Depend on wchar, as the first use
60687         of the new module.
60688         * MODULES.html.sh (Extended multibyte and wide character utilities):
60689         New section.
60690
60691 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
60692
60693         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
60694         to a reasonable default for memory allocation.
60695         (xreadlink): Don't allocate a huge buffer, to work around a buggy
60696         file system that reports garbage st_size values for symlinks.
60697         Problem reported by Liyang Hu.
60698
60699 2007-01-11  Simon Josefsson  <simon@josefsson.org>
60700
60701         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
60702         Emacs .#* auto-save files).
60703
60704 2007-01-11  Bruno Haible  <bruno@clisp.org>
60705
60706         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
60707         directory.
60708
60709 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60710
60711         Use @...@ consistently in lib/wctype_.h.
60712         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
60713         on it being set to 1 or 0.
60714         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
60715         go back to AC_SUBSTing it.
60716         * modules/wctype (Makefile.am): Undo previous change.
60717
60718 2007-01-10  Eric Blake  <ebb9@byu.net>
60719
60720         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
60721         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
60722         * modules/wctype (Makefile.am): Likewise.
60723         Reported by Chris McGuire.
60724
60725 2007-01-10  Jim Meyering  <jim@meyering.net>
60726
60727         fts.c: a small readability/maintainability improvement
60728         * lib/fts.c (fts_read): Make this code slightly more readable and
60729         maintainable by hoisting the "sp->fts_cur = p" assignments to
60730         immediately follow the statements that set P.  Derived from
60731         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
60732
60733 2007-01-10  Eric Blake  <ebb9@byu.net>
60734
60735         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
60736         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
60737         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60738         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
60739         Reported by Chris McGuire.
60740
60741 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60742
60743         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
60744         in sed script.
60745
60746 2007-01-09  Bruno Haible  <bruno@clisp.org>
60747
60748         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
60749         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
60750         variables.
60751         (func_module): Use them.
60752
60753 2007-01-09  Bruno Haible  <bruno@clisp.org>
60754
60755         * modules/unistr/base: New file.
60756         * lib/unistr.h: New file.
60757
60758         * modules/unistr/u8-to-u16: New file.
60759         * lib/unistr/u8-to-u16.c: New file.
60760
60761         * modules/unistr/u8-to-u32: New file.
60762         * lib/unistr/u8-to-u32.c: New file.
60763
60764         * modules/unistr/u16-to-u8: New file.
60765         * lib/unistr/u16-to-u8.c: New file.
60766
60767         * modules/unistr/u16-to-u32: New file.
60768         * lib/unistr/u16-to-u32.c: New file.
60769
60770         * modules/unistr/u32-to-u8: New file.
60771         * lib/unistr/u32-to-u8.c: New file.
60772
60773         * modules/unistr/u32-to-u16: New file.
60774         * lib/unistr/u32-to-u16.c: New file.
60775
60776         * modules/unistr/u8-check: New file.
60777         * modules/unistr/u16-check: New file.
60778         * modules/unistr/u32-check: New file.
60779         * lib/unistr/u8-check.c: New file.
60780         * lib/unistr/u16-check.c: New file.
60781         * lib/unistr/u32-check.c: New file.
60782
60783         * modules/unistr/u8-chr: New file.
60784         * modules/unistr/u16-chr: New file.
60785         * modules/unistr/u32-chr: New file.
60786         * lib/unistr/u8-chr.c: New file.
60787         * lib/unistr/u16-chr.c: New file.
60788         * lib/unistr/u32-chr.c: New file.
60789
60790         * modules/unistr/u8-cmp: New file.
60791         * modules/unistr/u16-cmp: New file.
60792         * modules/unistr/u32-cmp: New file.
60793         * lib/unistr/u8-cmp.c: New file.
60794         * lib/unistr/u16-cmp.c: New file.
60795         * lib/unistr/u32-cmp.c: New file.
60796
60797         * modules/unistr/u8-cpy: New file.
60798         * modules/unistr/u16-cpy: New file.
60799         * modules/unistr/u32-cpy: New file.
60800         * lib/unistr/u8-cpy.c: New file.
60801         * lib/unistr/u16-cpy.c: New file.
60802         * lib/unistr/u32-cpy.c: New file.
60803         * lib/unistr/u-cpy.h: New file.
60804
60805         * modules/unistr/u8-cpy-alloc: New file.
60806         * modules/unistr/u16-cpy-alloc: New file.
60807         * modules/unistr/u32-cpy-alloc: New file.
60808         * lib/unistr/u8-cpy-alloc.c: New file.
60809         * lib/unistr/u16-cpy-alloc.c: New file.
60810         * lib/unistr/u32-cpy-alloc.c: New file.
60811         * lib/unistr/u-cpy-alloc.h: New file.
60812
60813         * modules/unistr/u8-endswith: New file.
60814         * modules/unistr/u16-endswith: New file.
60815         * modules/unistr/u32-endswith: New file.
60816         * lib/unistr/u8-endswith.c: New file.
60817         * lib/unistr/u16-endswith.c: New file.
60818         * lib/unistr/u32-endswith.c: New file.
60819         * lib/unistr/u-endswith.h: New file.
60820
60821         * modules/unistr/u8-mblen: New file.
60822         * modules/unistr/u16-mblen: New file.
60823         * modules/unistr/u32-mblen: New file.
60824         * lib/unistr/u8-mblen.c: New file.
60825         * lib/unistr/u16-mblen.c: New file.
60826         * lib/unistr/u32-mblen.c: New file.
60827
60828         * modules/unistr/u8-mbtouc: New file.
60829         * modules/unistr/u16-mbtouc: New file.
60830         * modules/unistr/u32-mbtouc: New file.
60831         * lib/unistr/u8-mbtouc.c: New file.
60832         * lib/unistr/u16-mbtouc.c: New file.
60833         * lib/unistr/u32-mbtouc.c: New file.
60834
60835         * modules/unistr/u8-mbtouc-safe: New file.
60836         * modules/unistr/u16-mbtouc-safe: New file.
60837         * modules/unistr/u32-mbtouc-safe: New file.
60838         * lib/unistr/u8-mbtouc-safe.c: New file.
60839         * lib/unistr/u16-mbtouc-safe.c: New file.
60840         * lib/unistr/u32-mbtouc-safe.c: New file.
60841
60842         * modules/unistr/u8-move: New file.
60843         * modules/unistr/u16-move: New file.
60844         * modules/unistr/u32-move: New file.
60845         * lib/unistr/u8-move.c: New file.
60846         * lib/unistr/u16-move.c: New file.
60847         * lib/unistr/u32-move.c: New file.
60848         * lib/unistr/u-move.h: New file.
60849
60850         * modules/unistr/u8-next: New file.
60851         * modules/unistr/u16-next: New file.
60852         * modules/unistr/u32-next: New file.
60853         * lib/unistr/u8-next.c: New file.
60854         * lib/unistr/u16-next.c: New file.
60855         * lib/unistr/u32-next.c: New file.
60856
60857         * modules/unistr/u8-prev: New file.
60858         * modules/unistr/u16-prev: New file.
60859         * modules/unistr/u32-prev: New file.
60860         * lib/unistr/u8-prev.c: New file.
60861         * lib/unistr/u16-prev.c: New file.
60862         * lib/unistr/u32-prev.c: New file.
60863
60864         * modules/unistr/u8-set: New file.
60865         * modules/unistr/u16-set: New file.
60866         * modules/unistr/u32-set: New file.
60867         * lib/unistr/u8-set.c: New file.
60868         * lib/unistr/u16-set.c: New file.
60869         * lib/unistr/u32-set.c: New file.
60870         * lib/unistr/u-set.h: New file.
60871
60872         * modules/unistr/u8-startswith: New file.
60873         * modules/unistr/u16-startswith: New file.
60874         * modules/unistr/u32-startswith: New file.
60875         * lib/unistr/u8-startswith.c: New file.
60876         * lib/unistr/u16-startswith.c: New file.
60877         * lib/unistr/u32-startswith.c: New file.
60878         * lib/unistr/u-startswith.h: New file.
60879
60880         * modules/unistr/u8-stpcpy: New file.
60881         * modules/unistr/u16-stpcpy: New file.
60882         * modules/unistr/u32-stpcpy: New file.
60883         * lib/unistr/u8-stpcpy.c: New file.
60884         * lib/unistr/u16-stpcpy.c: New file.
60885         * lib/unistr/u32-stpcpy.c: New file.
60886         * lib/unistr/u-stpcpy.h: New file.
60887
60888         * modules/unistr/u8-stpncpy: New file.
60889         * modules/unistr/u16-stpncpy: New file.
60890         * modules/unistr/u32-stpncpy: New file.
60891         * lib/unistr/u8-stpncpy.c: New file.
60892         * lib/unistr/u16-stpncpy.c: New file.
60893         * lib/unistr/u32-stpncpy.c: New file.
60894         * lib/unistr/u-stpncpy.h: New file.
60895
60896         * modules/unistr/u8-strcat: New file.
60897         * modules/unistr/u16-strcat: New file.
60898         * modules/unistr/u32-strcat: New file.
60899         * lib/unistr/u8-strcat.c: New file.
60900         * lib/unistr/u16-strcat.c: New file.
60901         * lib/unistr/u32-strcat.c: New file.
60902         * lib/unistr/u-strcat.h: New file.
60903
60904         * modules/unistr/u8-strchr: New file.
60905         * modules/unistr/u16-strchr: New file.
60906         * modules/unistr/u32-strchr: New file.
60907         * lib/unistr/u8-strchr.c: New file.
60908         * lib/unistr/u16-strchr.c: New file.
60909         * lib/unistr/u32-strchr.c: New file.
60910
60911         * modules/unistr/u8-strcmp: New file.
60912         * modules/unistr/u16-strcmp: New file.
60913         * modules/unistr/u32-strcmp: New file.
60914         * lib/unistr/u8-strcmp.c: New file.
60915         * lib/unistr/u16-strcmp.c: New file.
60916         * lib/unistr/u32-strcmp.c: New file.
60917
60918         * modules/unistr/u8-strcpy: New file.
60919         * modules/unistr/u16-strcpy: New file.
60920         * modules/unistr/u32-strcpy: New file.
60921         * lib/unistr/u8-strcpy.c: New file.
60922         * lib/unistr/u16-strcpy.c: New file.
60923         * lib/unistr/u32-strcpy.c: New file.
60924         * lib/unistr/u-strcpy.h: New file.
60925
60926         * modules/unistr/u8-strcspn: New file.
60927         * modules/unistr/u16-strcspn: New file.
60928         * modules/unistr/u32-strcspn: New file.
60929         * lib/unistr/u8-strcspn.c: New file.
60930         * lib/unistr/u16-strcspn.c: New file.
60931         * lib/unistr/u32-strcspn.c: New file.
60932         * lib/unistr/u-strcspn.h: New file.
60933
60934         * modules/unistr/u8-strdup: New file.
60935         * modules/unistr/u16-strdup: New file.
60936         * modules/unistr/u32-strdup: New file.
60937         * lib/unistr/u8-strdup.c: New file.
60938         * lib/unistr/u16-strdup.c: New file.
60939         * lib/unistr/u32-strdup.c: New file.
60940         * lib/unistr/u-strdup.h: New file.
60941
60942         * modules/unistr/u8-strlen: New file.
60943         * modules/unistr/u16-strlen: New file.
60944         * modules/unistr/u32-strlen: New file.
60945         * lib/unistr/u8-strlen.c: New file.
60946         * lib/unistr/u16-strlen.c: New file.
60947         * lib/unistr/u32-strlen.c: New file.
60948         * lib/unistr/u-strlen.h: New file.
60949
60950         * modules/unistr/u8-strmblen: New file.
60951         * modules/unistr/u16-strmblen: New file.
60952         * modules/unistr/u32-strmblen: New file.
60953         * lib/unistr/u8-strmblen.c: New file.
60954         * lib/unistr/u16-strmblen.c: New file.
60955         * lib/unistr/u32-strmblen.c: New file.
60956
60957         * modules/unistr/u8-strmbtouc: New file.
60958         * modules/unistr/u16-strmbtouc: New file.
60959         * modules/unistr/u32-strmbtouc: New file.
60960         * lib/unistr/u8-strmbtouc.c: New file.
60961         * lib/unistr/u16-strmbtouc.c: New file.
60962         * lib/unistr/u32-strmbtouc.c: New file.
60963
60964         * modules/unistr/u8-strncat: New file.
60965         * modules/unistr/u16-strncat: New file.
60966         * modules/unistr/u32-strncat: New file.
60967         * lib/unistr/u8-strncat.c: New file.
60968         * lib/unistr/u16-strncat.c: New file.
60969         * lib/unistr/u32-strncat.c: New file.
60970         * lib/unistr/u-strncat.h: New file.
60971
60972         * modules/unistr/u8-strncmp: New file.
60973         * modules/unistr/u16-strncmp: New file.
60974         * modules/unistr/u32-strncmp: New file.
60975         * lib/unistr/u8-strncmp.c: New file.
60976         * lib/unistr/u16-strncmp.c: New file.
60977         * lib/unistr/u32-strncmp.c: New file.
60978
60979         * modules/unistr/u8-strncpy: New file.
60980         * modules/unistr/u16-strncpy: New file.
60981         * modules/unistr/u32-strncpy: New file.
60982         * lib/unistr/u8-strncpy.c: New file.
60983         * lib/unistr/u16-strncpy.c: New file.
60984         * lib/unistr/u32-strncpy.c: New file.
60985         * lib/unistr/u-strncpy.h: New file.
60986
60987         * modules/unistr/u8-strnlen: New file.
60988         * modules/unistr/u16-strnlen: New file.
60989         * modules/unistr/u32-strnlen: New file.
60990         * lib/unistr/u8-strnlen.c: New file.
60991         * lib/unistr/u16-strnlen.c: New file.
60992         * lib/unistr/u32-strnlen.c: New file.
60993         * lib/unistr/u-strnlen.h: New file.
60994
60995         * modules/unistr/u8-strpbrk: New file.
60996         * modules/unistr/u16-strpbrk: New file.
60997         * modules/unistr/u32-strpbrk: New file.
60998         * lib/unistr/u8-strpbrk.c: New file.
60999         * lib/unistr/u16-strpbrk.c: New file.
61000         * lib/unistr/u32-strpbrk.c: New file.
61001         * lib/unistr/u-strpbrk.h: New file.
61002
61003         * modules/unistr/u8-strrchr: New file.
61004         * modules/unistr/u16-strrchr: New file.
61005         * modules/unistr/u32-strrchr: New file.
61006         * lib/unistr/u8-strrchr.c: New file.
61007         * lib/unistr/u16-strrchr.c: New file.
61008         * lib/unistr/u32-strrchr.c: New file.
61009
61010         * modules/unistr/u8-strspn: New file.
61011         * modules/unistr/u16-strspn: New file.
61012         * modules/unistr/u32-strspn: New file.
61013         * lib/unistr/u8-strspn.c: New file.
61014         * lib/unistr/u16-strspn.c: New file.
61015         * lib/unistr/u32-strspn.c: New file.
61016         * lib/unistr/u-strspn.h: New file.
61017
61018         * modules/unistr/u8-strstr: New file.
61019         * modules/unistr/u16-strstr: New file.
61020         * modules/unistr/u32-strstr: New file.
61021         * lib/unistr/u8-strstr.c: New file.
61022         * lib/unistr/u16-strstr.c: New file.
61023         * lib/unistr/u32-strstr.c: New file.
61024         * lib/unistr/u-strstr.h: New file.
61025
61026         * modules/unistr/u8-strtok: New file.
61027         * modules/unistr/u16-strtok: New file.
61028         * modules/unistr/u32-strtok: New file.
61029         * lib/unistr/u8-strtok.c: New file.
61030         * lib/unistr/u16-strtok.c: New file.
61031         * lib/unistr/u32-strtok.c: New file.
61032         * lib/unistr/u-strtok.h: New file.
61033
61034         * modules/unistr/u8-uctomb: New file.
61035         * modules/unistr/u16-uctomb: New file.
61036         * modules/unistr/u32-uctomb: New file.
61037         * lib/unistr/u8-uctomb.c: New file.
61038         * lib/unistr/u16-uctomb.c: New file.
61039         * lib/unistr/u32-uctomb.c: New file.
61040
61041         * MODULES.html.sh (Unicode string functions): Add the new modules.
61042
61043 2007-01-08  Bruno Haible  <bruno@clisp.org>
61044
61045         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
61046         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
61047         subdirectories.
61048
61049 2007-01-08  Karl Berry  <karl@gnu.org>
61050
61051         * doc/error.texi: mention that main() fns must set program_name
61052         when progname is used.
61053
61054 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
61055
61056         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
61057         WCTYPE_H is empty, for the benefit of builds from non-distclean
61058         directories.  Problem reported by Eric Blake in
61059         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
61060
61061 2007-01-08  Bruno Haible  <bruno@clisp.org>
61062
61063         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
61064         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
61065         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
61066         PROVIDE_CANONICALIZE_FILENAME_MODE.
61067         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
61068
61069 2007-01-08  Bruno Haible  <bruno@clisp.org>
61070
61071         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
61072         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
61073         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
61074         * lib/fts.c: Likewise.
61075         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
61076
61077 2006-12-25  Bruno Haible  <bruno@clisp.org>
61078
61079         * modules/utf8-ucs4-safe: New file.
61080         * lib/utf8-ucs4-safe.h: New file.
61081         * lib/unistr/utf8-ucs4-safe.c: New file.
61082
61083         * modules/utf16-ucs4-safe: New file.
61084         * lib/utf16-ucs4-safe.h: New file.
61085         * lib/unistr/utf16-ucs4-safe.c: New file.
61086
61087         * MODULES.html.sh (Unicode string functions): Add the new modules.
61088
61089 2007-01-08  Bruno Haible  <bruno@clisp.org>
61090
61091         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
61092         (Depends-on): Add unitypes.
61093         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61094         (u8_mbtouc_aux): Move out to separate file.
61095         (u8_mbtouc): Use ucs4_t, uint8_t types.
61096         * lib/unistr/utf8-ucs4.c: New file.
61097
61098         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
61099         (Depends-on): Add unitypes.
61100         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61101         (u16_mbtouc_aux): Move out to separate file.
61102         (u16_mbtouc): Use ucs4_t, uint16_t types.
61103         * lib/unistr/utf16-ucs4.c: New file.
61104
61105         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
61106         (Depends-on): Add unitypes.
61107         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
61108         (u8_uctomb_aux): Move out to separate file.
61109         (u8_uctomb): Use ucs4_t, uint8_t types.
61110         * lib/unistr/ucs4-utf8.c: New file.
61111
61112         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
61113         (Depends-on): Add unitypes.
61114         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
61115         (u16_uctomb_aux): Move out to separate file.
61116         (u16_uctomb): Use ucs4_t, uint16_t types.
61117         * lib/unistr/ucs4-utf16.c: New file.
61118
61119 2006-12-25  Bruno Haible  <bruno@clisp.org>
61120
61121         * modules/unitypes: New file.
61122         * lib/unitypes.h: New file.
61123         * MODULES.html.sh (func_all_modules): New section "Unicode string
61124         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
61125         this section. Add unitypes.
61126
61127 2007-01-08  Bruno Haible  <bruno@clisp.org>
61128
61129         Avoid variable names that conflict with those from libtool.
61130         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
61131         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
61132         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
61133         library_names_spec to acl_library_names_spec, hardcode_* to
61134         acl_hardcode_*.
61135         Reported by Ralf Wildenhues.
61136
61137 2007-01-08  Bruno Haible  <bruno@clisp.org>
61138
61139         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
61140         definition.
61141         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
61142         definition.
61143         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
61144         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
61145         definition.
61146         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
61147         definition.
61148         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
61149         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
61150         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
61151         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
61152         definition.
61153         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
61154         definition.
61155         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
61156         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
61157         GC_USE_<algorithm>.
61158         * lib/gc-libgcrypt.c: Likewise.
61159         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
61160         * modules/gc-arctwo (configure.ac): Likewise.
61161         * modules/gc-des (configure.ac): Likewise.
61162         * modules/gc-hmac-md5 (configure.ac): Likewise.
61163         * modules/gc-hmac-sha1 (configure.ac): Likewise.
61164         * modules/gc-md2 (configure.ac): Likewise.
61165         * modules/gc-md4 (configure.ac): Likewise.
61166         * modules/gc-md5 (configure.ac): Likewise.
61167         * modules/gc-random (configure.ac): Likewise.
61168         * modules/gc-rijndael (configure.ac): Likewise.
61169         * modules/gc-sha1 (configure.ac): Likewise.
61170
61171 2007-01-08  Bruno Haible  <bruno@clisp.org>
61172
61173         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
61174         macro definition.
61175         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
61176         definition.
61177         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
61178         definition.
61179         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
61180         * modules/fcntl-safer (configure.ac): Likewise.
61181         * modules/fopen-safer (configure.ac): Likewise.
61182         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
61183         GNULIB_FWRITEERROR macro definition.
61184
61185 2007-01-08  Bruno Haible  <bruno@clisp.org>
61186
61187         * m4/gnulib-common.m4: New file.
61188         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
61189         (func_get_filelist): Add m4/gnulib-common.m4.
61190
61191 2007-01-08  Bruno Haible  <bruno@clisp.org>
61192
61193         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
61194         command.
61195
61196 2007-01-08  Jim Meyering  <jim@meyering.net>
61197
61198         Use a more robust test for a "can't happen" condition.
61199         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
61200         narrowed the st_size value.  Presuming the "can't happen" condition
61201         is true, that narrowing could conceivably convert an invalid st_size
61202         value into a valid one.  Instead, use a change based on Matthew
61203         Woehlke's original patch.
61204
61205         Slight readability improvement: use an assert-like macro
61206         in place of literal "abort ()" uses.
61207         * lib/fts.c (fts_assert): Define.
61208         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
61209         Use this macro instead of a bare 'abort'.
61210
61211 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
61212
61213         Don't worry about using IRIX 5.3's wctype.h broken definitions;
61214         simply work around them.
61215         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
61216         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
61217         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
61218         declaring.
61219         Don't bother to define as macros, since the standard doesn't require it.
61220         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
61221         longer worry about IRIX 5.3.
61222         (HAVE_WCTYPE_CTMP_BUG): Remove.
61223
61224 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61225
61226         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
61227         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
61228         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61229         Problems reported by Georg Schwarz for IRIX 5.3.
61230
61231         * gnulib-tool (autoconf_minversion): Take the maximum version number
61232         found, not the minimum.  Problem reported by James Youngman.
61233
61234 2007-01-03  Karl Berry  <karl@gnu.org>
61235
61236         * doc/error.texi: new file, explaining interaction with progname.
61237         * doc/gnulib.texi: include it.  Update copyright.
61238
61239 2007-01-03  Simon Josefsson  <simon@josefsson.org>
61240
61241         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
61242         AC_CANONICAL_HOST, to improve autobuild outputs.
61243
61244 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
61245             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
61246
61247         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
61248         sockets, server sockets, and other file descriptors.  Count errors
61249         to compute the return value.  Reorder the code a bit to be easier
61250         to follow.  Don't set event bits that were not requested (except
61251         POLLERR and POLLHUP).
61252
61253 2007-01-01  Bruno Haible  <bruno@clisp.org>
61254
61255         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
61256
61257 2007-01-03  Jim Meyering  <jim@meyering.net>
61258
61259         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
61260
61261 2007-01-02  Bruno Haible  <bruno@clisp.org>
61262
61263         * modules/settime (Include): Require timespec.h.
61264         * modules/nanosleep (Include): Likewise.
61265
61266 2007-01-01  Bruno Haible  <bruno@clisp.org>
61267
61268         * gnulib-tool (func_emit_copyright_notice): Bump year.
61269         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
61270
61271 2007-01-01  Bruno Haible  <bruno@clisp.org>
61272
61273         Improve support for OpenBSD.
61274         * build-aux/config.rpath (libname_spec): Export.
61275         (library_names_spec): New variable. Export.
61276         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
61277         library_names_spec from the config.rpath output. Locate shared library
61278         through the name pattern in library_names_spec.
61279
61280 2007-01-01  Eric Blake  <ebb9@byu.net>
61281
61282         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
61283
61284 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
61285
61286         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
61287         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
61288         assume the C locale, and avoid an "eval" that could cause trouble.
61289         Problem with SORT reported by Bob Proulx.
61290
61291         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
61292         Define.  Trivial patch from Henning Nielsen Lund, originally
61293         sent to bug-grep@gnu.org today.
61294
61295 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61296
61297         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
61298         struct stat.  Problem reported by Henning Nielsen Lund.
61299         * lib/acl.c: Include acl.h first, to check interface.  Don't
61300         bother to include sys/types.h and sys/stat.h again.
61301
61302 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61303
61304         Import the following change from libc; problem reported by
61305         Sven Verdoolaege.
61306
61307         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
61308
61309         [BZ #1373]
61310         * lib/argp.h: Remove __NTH for __argp_usage inline function.
61311
61312 2006-12-28  Jim Meyering  <jim@meyering.net>
61313
61314         * build-aux/announce-gen: Do not assume that the package
61315         builds any of tar.gz, tar.bz2, and .xdelta files.
61316         Suggestion from Simon Josefsson.
61317
61318 2006-12-28  Simon Josefsson  <simon@josefsson.org>
61319
61320         * modules/announce-gen: New file.
61321
61322 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61323
61324         * lib/mbchar.h: Just include <wctype.h>; the wctype module
61325         handles its gotchas now.
61326         * lib/mbswidth.c: Likewise.
61327         * lib/wcwidth.h: Likewise.
61328         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
61329         and iswcntrl; the wctype module does this stuff now.
61330         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
61331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61332         * modules/mbchar (Depends-on): Add wctype.
61333         * modules/mbswidth (Depends-on): Likewise.
61334         * modules/wcwidth (Depends-on): Likewise.
61335
61336 2006-12-27  Eric Blake  <ebb9@byu.net>
61337
61338         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
61339         module uses more than what <wctype.h> is required to provide.
61340
61341 2006-12-26  Eric Blake  <ebb9@byu.net>
61342
61343         * gnulib-tool (sed_extract_prog): Avoid space-tab.
61344
61345 2006-12-26  Eric Blake  <ebb9@byu.net>
61346
61347         * modules/absolute-header: New module.
61348         * modules/fcntl (Depends-on): Depend on it.
61349         * modules/inttypes (Depends-on): Likewise.
61350         * modules/stdint (Depends-on): Likewise.
61351         * modules/sys_stat (Depends-on): Likewise.
61352         * modules/wctype (Depends-on): Likewise.
61353         * MODULES.html.sh (Support for building libraries and
61354         executables): Document it.
61355
61356 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61357
61358         * gnulib-tool (SED): Remove, undoing previous change.
61359         The problem was that it broke coreutils on Solaris, because
61360         "sed --posix" leaked into a makefile.
61361         (sed): New alias, if 'alias' and GNU sed.
61362
61363 2006-12-24  Jim Meyering  <jim@meyering.net>
61364
61365         Work around an fchownat bug in glibc-2.4:
61366         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
61367         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
61368         in spite of the -P option.
61369         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
61370         New macros.
61371         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
61372         * modules/openat (Files): Add lib/fchownat.c.
61373         * lib/openat.c (fchownat): Don't define here.  Move to...
61374         * lib/fchownat.c: ...this new file.
61375
61376 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61377
61378         Fix bug reported by Bruno Haible in
61379         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
61380         where quotearg.c didn't compile on Mac OS X 10.2 because it
61381         lacks <wchar.h> and wint_t.
61382         * lib/wctype_.h (__wctype_wint_t): New type.
61383         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
61384         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
61385         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
61386         Arg is now of type __wctype_wint_t, not wint_t.
61387         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
61388         substitute HAVE_WINT_T.
61389         * modules/wctype (Files): Add m4/wint_t.m4.
61390         (wctype.h): Substitute HAVE_WINT_T.
61391
61392 2006-12-23  Bruno Haible  <bruno@clisp.org>
61393
61394         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
61395
61396 2006-12-23  Bruno Haible  <bruno@clisp.org>
61397
61398         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
61399         S_ISLNK.
61400         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
61401         mingw.
61402
61403 2006-12-22  Bruno Haible  <bruno@clisp.org>
61404
61405         * lib/copy-file.c: Include acl.h.
61406         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
61407         Close the file descriptors only after being done with copy_acl.
61408         * modules/copy-file (Depends-on): Add acl.
61409
61410 2006-12-22  Bruno Haible  <bruno@clisp.org>
61411
61412         * gnulib-tool (SED): New variable.
61413         Use $SED instead of sed everywhere.
61414
61415 2006-12-22  Bruno Haible  <bruno@clisp.org>
61416
61417         * modules/no-c++: New file.
61418         * m4/no-c++.m4: New file.
61419         * MODULES.html.sh (Support for building libraries and executables):
61420         Add no-c++.
61421
61422 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61423
61424         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
61425         Include <limits.h>, and use its INT_MAX to rewrite the
61426         j loop so that it does not overflow 'int'.  Problem reported by
61427         Ralf Wildenhues in
61428         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
61429         Play it safe by shifting left by 1 rather than multiplying by 2,
61430         as GCC is less likely to optimize this away when the value
61431         is signed (when it assumes overflow leads to undefined behavior).
61432         Also, don't assume time_t uses two's complement.
61433
61434 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
61435
61436         * MODULES.html.sh: New module wctype.
61437         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
61438         * lib/fnmatch.c: Don't bother to include <wchar.h> before
61439         <wctype.h>, since the new wctype module should fix this.
61440         * lib/quotearg.c: Include <wctype.h> unconditionally, since
61441         the wctype module should arrange for it.
61442         * lib/regex_internal.h: Likewise.
61443         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
61444         since the wctype module should handle this now.
61445         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
61446         * modules/fnmatch (Depends-on): Add wctype.
61447         * modules/quotearg (Depends-on): Likewise.
61448         * modules/regex (Depends-on): Likewise.
61449
61450 2006-12-19  Bruno Haible  <bruno@clisp.org>
61451
61452         * lib/strdup.h [C++]: Wrap definitions in extern "C".
61453         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
61454
61455 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61456
61457         * modules/savewd (Depends-on): Fix dependency on fcntl.
61458
61459 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61460
61461         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
61462         conforms to C99, rather than relying on the user's environment
61463         setting of STDINT_H.
61464
61465 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61466         and Eric Blake  <ebb9@byu.net>
61467
61468         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
61469         This is more consistent with the other defines here.
61470         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
61471         Port to z/OS.  Problem reported by Paul Gilmartin.
61472         Change local vars to use gl_ prefix rather than ac_.
61473         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
61474         with other defines.
61475         * modules/double-slash-root: New module.
61476         * modules/dirname (Files): Remove m4/double-slash-root.m4.
61477         (Depends-on): Add double-slash-root.
61478         * MODULES.html.sh (File system functions): Mention new module.
61479
61480 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
61481
61482         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
61483         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
61484         This is for the benefit of gzip, which doesn't do i18n.
61485
61486 2006-12-12  Jim Meyering  <jim@meyering.net>
61487
61488         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
61489         Reported by Andreas Schwab <schwab@suse.de>.
61490
61491 2006-12-12  Bruno Haible  <bruno@clisp.org>
61492
61493         Merge these changes.
61494         2006-09-05  Bruno Haible  <bruno@clisp.org>
61495         * lib/iconvme.c (iconv_string): No need to save and restore errno when
61496         iconv_alloc succeeded.
61497         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
61498         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
61499         test for " && dest " at the end - dest is always != NULL there. Call
61500         iconv with 4xNULL arguments initially, to reset the state. Call iconv
61501         with 2xNULL arguments, also to flush the state storage. Handle the
61502         IRIX iconv behaviour. Realloc the final result, to throw away unused
61503         memory.
61504
61505 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
61506
61507         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
61508         and fchmodat unconditionally, since glibc 2.4 has them.
61509         Problem reported by Arkadiusz Miskiewicz.
61510
61511 2006-12-10  Bruno Haible  <bruno@clisp.org>
61512
61513         * gnulib-tool (func_import): Show the include files only for those
61514         modules that are copied and specified.
61515         Reported by Karl Berry.
61516
61517 2006-12-08  Jim Meyering  <jim@meyering.net>
61518
61519         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
61520         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
61521
61522         * build-aux/announce-gen: Add two new options, both optional:
61523         --bootstrap-tools=TOOL_LIST
61524               a comma-separated list of tools, e.g.,
61525               autoconf,automake,bison,gnulib
61526         --gnulib-snapshot-date=DATE
61527               if gnulib is in the bootstrap tool list,
61528               then report this as the snapshot date.
61529               If not specified, use the current date/time.
61530               If you specify a date here, be sure it's UTC.
61531
61532 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61533
61534         * tests/test-argp-2.sh: Fix test to match actual output.
61535         (func_compare): Fix sed script to be portable.
61536
61537 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
61538
61539         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
61540         workaround for this case.  It is not autoconfigured now; offhand
61541         it's hard to see how to autoconfigure it.
61542
61543 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61544
61545         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
61546         a directory that is about to be chowned.  Such a directory's
61547         initial file permissions should permit the owner only and this
61548         should not be changed until after the chown, since the group and
61549         other bits would be incorrect if they granted permission before
61550         the chown.
61551
61552         Fix porting problem for iswctype reported by Georg Schwarz in:
61553         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
61554         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
61555         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
61556         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
61557         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61558
61559 2006-12-03  Jim Meyering  <jim@meyering.net>
61560
61561         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
61562         p->fts_statp may not yet be defined.
61563         (fts_read): Instead, set it in the caller, once p->fts_statp is
61564         sure to be defined, and corresponds to a top-level directory.
61565         This bug made du -x fail.  Here's the coreutils test case:
61566         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
61567         Reported by Mike Frysinger.
61568
61569 2006-12-01  Jim Meyering  <jim@meyering.net>
61570
61571         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
61572         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
61573         Reported by Simon Josefsson.
61574
61575 2006-11-30  Jim Meyering  <jim@meyering.net>
61576
61577         * m4/warning.m4: Use the all-permissive copyright notice
61578         recommended by RMS (rather than LGPL).
61579         * m4/vararrays.m4: Likewise.
61580         * m4/flexmember.m4: Likewise.
61581
61582 2006-11-29  Bruno Haible  <bruno@clisp.org>
61583
61584         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61585         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
61586         using +=.
61587         Reported by Simon Josefsson <simon@josefsson.org>.
61588
61589 2006-11-28  James Youngman <jay@gnu.org>
61590
61591         * README: Advise users that they might find the bug-gnulib@gnu.org
61592         and autotools-announce@gnu.org mailing lists useful.
61593
61594 2006-11-28  Bruno Haible  <bruno@clisp.org>
61595
61596         * m4/ptrdiff_max.m4: Remove file.
61597
61598 2006-11-21  Bruno Haible  <bruno@clisp.org>
61599
61600         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
61601         _AC_COMPUTE_INT.
61602         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61603         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
61604         _AC_COMPUTE_INT.
61605         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61606         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
61607         _AC_COMPUTE_INT.
61608         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61609
61610 2006-11-28  Jim Meyering  <jim@meyering.net>
61611
61612         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
61613         warning from "gcc -Wshadow" about shadowing the builtin.
61614
61615 2006-11-27  Bruno Haible  <bruno@clisp.org>
61616
61617         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
61618         _AC_COMPUTE_INT.
61619         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61620
61621 2006-11-27  Bruno Haible  <bruno@clisp.org>
61622             Paul Eggert  <eggert@cs.ucla.edu>
61623
61624         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
61625
61626 2006-11-26  Bruno Haible  <bruno@clisp.org>
61627
61628         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61629         noinst_LTLIBRARIES.
61630
61631 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
61632             Bruno Haible  <bruno@clisp.org>
61633
61634         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
61635         if compiling with "gcc -ansi".
61636
61637 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
61638
61639         Fix some incompatibilities with gcc -ansi -pedantic.
61640         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
61641         if compiling pedantically with GCC, unless it's C99 or later.
61642         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
61643         it mishandles gcc -ansi -pedantic as well.
61644         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
61645         if gcc -pedantic.
61646         * lib/regexec.c (check_node_accept_bytes): Don't use auto
61647         initializers for struct if -pedantic, unless it's C99 or later.
61648
61649 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
61650
61651         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
61652         Don't close an fd more than once. Identical atimes indicate
61653         success, not failure.
61654
61655 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
61656
61657         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
61658
61659 2006-11-23  Jim Meyering  <jim@meyering.net>
61660
61661         * build-aux/announce-gen: New file.  From coreutils.
61662
61663 2006-11-22  Jim Meyering  <jim@meyering.net>
61664
61665         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
61666         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
61667         (fts_read): Use a temporary to narrow the overused st_size member
61668         before using it in a switch statement.  Reported by Matthew Woehlke.
61669
61670         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
61671         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61672
61673 2006-11-20  Bruno Haible  <bruno@clisp.org>
61674
61675         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
61676         changequote instead of pairs of brackets.
61677         Reported by Andreas Schwab <schwab@suse.de>.
61678
61679 2006-11-21  Jim Meyering  <jim@meyering.net>
61680
61681         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
61682         so as to remain compatible with older compilers.
61683         Patch from Michael Deutschmann.
61684
61685 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61686
61687         * MODULES.html.sh (File system functions): Add openat.
61688
61689         * lib/openat.h (rpl_fstatat): New macro, if
61690         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
61691         (fstatat): Define to rpl_fstatat under the same conditions,
61692         unless COMPILING_FSTATAT.
61693         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
61694         seems to have the bug.
61695         * lib/fstatat.c: New file.
61696         * modules/openat (Files): Add it.
61697
61698 2006-11-20  Bruno Haible  <bruno@clisp.org>
61699
61700         * Makefile: New file.
61701
61702 2006-11-20  Jim Meyering  <jim@meyering.net>
61703
61704         The beginnings of syntax-related checks for gnulib.
61705         * lib/Makefile: New file.
61706         * lib/t-idcache: New script.  Ensure that the two halves of
61707         idcache.c stay in sync.
61708
61709         * lib/idcache.c: Adjust comments in user- and group- portions to
61710         be more accurate, and to be consistent with one another.
61711
61712 2006-11-20  Jim Meyering  <jim@meyering.net>
61713
61714         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
61715         continue using the flexible array member (thus, this module performs
61716         half as many malloc calls), with the addition that...
61717         (getgroup, getuser): Consistently record a non-match via an empty
61718         "name" string, and map an empty string match to a NULL return value.
61719         * modules/idcache (Depends-on): Re-add flexmember.
61720
61721         * lib/idcache.c (getuser): Remove all uses of the register keyword.
61722         (getuidbyname, getgroup, getgidbyname): Likewise.
61723
61724         Use cleaner syntax: NULL rather than 0.
61725         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
61726
61727 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61728
61729         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
61730         It mishandled the case where the group was missing.
61731         Problem reported by Greg Schafer.
61732         * modules/idcache: Likewise.
61733
61734 2006-11-18  Jim Meyering  <jim@meyering.net>
61735
61736         * check-module (%exempt_header): Add exception for some
61737         conditionally-included headers.
61738
61739         * modules/i-ring (Depends-on): Add verify.
61740         (License): Change to LGPL.
61741
61742 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61743
61744         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
61745         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
61746         and inttostr.h.  Use snprintf rather than uinttostr, so that
61747         LGPLed code doesn't depend on GPLed.
61748
61749 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61750
61751         * modules/inline (License): Change from GPL to LGPL.
61752
61753 2006-11-17  Jim Meyering  <jim@meyering.net>
61754
61755         * modules/d-type (License): Switch to LGPL.
61756
61757 2006-11-15  Bruno Haible  <bruno@clisp.org>
61758
61759         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
61760
61761 2006-11-15  Eric Blake  <ebb9@byu.net>
61762
61763         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
61764         the module dependency.
61765
61766 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61767             Bruno Haible  <bruno@clisp.org>
61768
61769         * gnulib-tool (func_create_testdir): Add license consistency check.
61770
61771 2006-11-15  Eric Blake  <ebb9@byu.net>
61772
61773         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
61774         random "(cached)" in configure output.
61775
61776 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61777
61778         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
61779         test for conforming inttypes.h is both announced and cached.
61780
61781         * MODULES.html.sh (seen_modules, seen_files): New variables.
61782         (func_module): Rewrite to use a few less gnulib-tool and sed
61783         invocations.  Avoid a couple of quadratic algorithms for ...
61784         (missed_modules, missed_files): ... these, with ...
61785         (func_append, func_tmpdir): ... these new functions, from
61786         gnulib-tool.  Analogously, install traps for cleanup.
61787
61788         * tests/test-gc.c (main): Remove unused variables.
61789         * tests/test-read-file.c: Include stdlib.h, for 'free'.
61790
61791 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
61792
61793         * modules/inttostr (License): Change to LGPL.
61794
61795 2006-11-14  Eric Blake  <ebb9@byu.net>
61796
61797         * modules/tempname (License): Change to LGPL.
61798
61799 2006-11-14  Eric Blake  <ebb9@byu.net>
61800
61801         * doc/functions.texi (Function Portability): *printf functions on
61802         Cygwin now understand all POSIX size specifiers.
61803
61804 2006-11-14  Bruno Haible  <bruno@clisp.org>
61805
61806         * modules/c-ctype (License): Change to LGPL.
61807
61808 2006-11-12  Bruno Haible  <bruno@clisp.org>
61809
61810         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61811         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
61812         for GNOME libraries, for which the include files are installed in
61813         subdirectories of $prefix/include.
61814
61815 2006-11-12  Bruno Haible  <bruno@clisp.org>
61816
61817         * m4/lib-link.m4: Require at least autoconf-2.54.
61818         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
61819         name to underscores for the --with option.
61820
61821 2006-11-13  Bruno Haible  <bruno@clisp.org>
61822
61823         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
61824         the tests directory.
61825         Reported by Ralf Wildenhues.
61826
61827 2006-11-13  Bruno Haible  <bruno@clisp.org>
61828
61829         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
61830         (func_emit_initmacro_end): Undo the override here.
61831         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
61832         Works around the famous automake error in coreutils.
61833
61834 2006-11-13  Eric Blake  <ebb9@byu.net>
61835
61836         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
61837         element, not its node.
61838
61839 2006-11-12  Bruno Haible  <bruno@clisp.org>
61840
61841         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
61842         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
61843
61844 2006-11-12  Bruno Haible  <bruno@clisp.org>
61845
61846         * gnulib-tool: New option --local-symlink.
61847         (func_usage): Document it.
61848         (lsymbolic): New variable.
61849         (func_import, func_create_testdir): If --symlink was not specified,
61850         test whether --local-symlink was specified and the file comes from
61851         the local_gnulib_dir.
61852
61853 2006-11-12  Bruno Haible  <bruno@clisp.org>
61854
61855         * gnulib-tool (func_ln): New function.
61856         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
61857
61858 2006-11-12  Bruno Haible  <bruno@clisp.org>
61859
61860         Finish support for source files in subdirectories.
61861         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
61862         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
61863         AUTOMAKE_OPTIONS.
61864         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
61865
61866 2006-11-12  Bruno Haible  <bruno@clisp.org>
61867
61868         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61869         EXTRA_lib_SOURCES augmentation.
61870         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
61871
61872 2006-11-12  Jim Meyering  <jim@meyering.net>
61873
61874         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
61875         file descriptors.  This also averts a failure on systems with
61876         native openat support when a traversed directory lacks "x" access.
61877         * lib/fts_.h: Include "i-ring.h"
61878         (struct FTS) [fts_fd_ring]: New member.
61879         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
61880         (FCHDIR): Add parentheses.
61881         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
61882         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
61883         When descending, rather than simply closing the previous
61884         fts_cwd_fd value, push that file descriptor onto the ring.
61885         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
61886         (fts_open): Initialize the new fd_ring member.
61887         (fts_close): Clear the ring.
61888         (fts_safe_changedir): When possible, use our new fd_ring to skip
61889         the diropen and fstat and dev/ino comparison that would normally
61890         accompany a virtual `chdir ("..")'.
61891
61892         * modules/fts (Depends-on): Add i-ring.
61893         * modules/i-ring: New module.
61894         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
61895         * m4/i-ring.m4: New file.
61896
61897 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61898
61899         * gnulib-tool (func_create_testdir): Fix replacement of
61900         `build-aux' in configure.ac.  Run autotools in gltests
61901         subdirectory.
61902         (func_create_testdir, func_create_megatestdir, test): There is
61903         no need for '--force' in most autotool invocations in a new
61904         tree.  Actually fail the whole test if any of the tools, or the
61905         configure or make stages fail.
61906
61907         Sync from Automake.
61908         * build-aux/gnupload: Revert last change.  Add pointer to upload
61909         instructions of the GNU Maintenance Instructions.
61910         Suggestion by Karl Berry.
61911
61912 2006-11-10  Jim Meyering  <jim@meyering.net>
61913
61914         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
61915
61916 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61917
61918         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
61919         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
61920         (bind_textdomain_codeset) [! ENABLE_NLS]:
61921         Evaluate all the arguments.  That way, callers get compatible behavior
61922         if the arguments have side effects.  Also, it avoids some GCC
61923         diagnostics in some cases; Joel E. Denny reported problems when Bison
61924         was configured with --enable-gcc-warnigs.
61925
61926 2006-11-10  Jim Meyering  <jim@meyering.net>
61927
61928         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
61929         relevant options in CFLAGS (like -O, -fno-inline) are taken into
61930         account.
61931
61932 2006-11-10  Jim Meyering  <jim@meyering.net>
61933
61934         * modules/inline: New file/module.
61935         * modules/xalloc (Files): Remove m4/inline.m4.
61936         (Depends-on): Add inline, instead.
61937         * modules/oset: Likewise.
61938         * modules/list: Likewise.
61939
61940 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61941
61942         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
61943         Problem reported by Matthew Woehlke.
61944
61945 2006-11-09  Bruno Haible  <bruno@clisp.org>
61946
61947         * lib/tempname.c (gen_tempname): Remove variant that invokes
61948         __gen_tempname.
61949         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
61950         __gen_tempname.
61951
61952 2006-11-08  Bruno Haible  <bruno@clisp.org>
61953
61954         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
61955         to 'yes' instead of 'cross-compiling'.
61956
61957 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
61958
61959         * lib/quotearg.h (quotearg_free): New decl.
61960         * lib/quotearg.c (quotearg_free): New function.
61961         (slot0, nslots, slotvec0, slotvec):
61962         Now file-scope so that quotearg_free can get at them.
61963
61964 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61965
61966         Sync from Automake.
61967         * build-aux/gnupload: Add missing 'gnu' to example URL.
61968         Report by Karl Berry.
61969
61970 2006-11-08  Bruno Haible  <bruno@clisp.org>
61971
61972         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
61973         Suggested by Paul Eggert.
61974
61975 2006-11-08  Jim Meyering  <jim@meyering.net>
61976
61977         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
61978         It's already included if !_LIBC.
61979         (fts_safe_changedir): Add a comment.
61980
61981 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61982
61983         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
61984         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
61985         Matthew Woehlke.
61986
61987         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
61988         definitions up, to avoid colliding with change below.
61989         (static_inline) [HAVE_INLINE]: New macro.
61990         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
61991         Provide extern decls when !HAVE_INLINE.  Do not define unless
61992         static_inline is defined, either by us or by xmalloc.c.  Use
61993         static_inline rather than static inline.
61994         (XCALLOC): Optimize sizeof(T) = 1 case.
61995         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
61996
61997 2006-11-07  Bruno Haible  <bruno@clisp.org>
61998
61999         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
62000         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
62001         AC_C_INLINE.
62002         * modules/xalloc (Files): Add m4/inline.m4.
62003
62004 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62005
62006         * README: Fix typo.
62007         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
62008         (Miscellanous Notes): ...from this.
62009
62010 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62011
62012         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
62013         Mention that offsetof should be used instead of sizeof.
62014         From Bruno Haible.
62015
62016 2006-11-07  Bruno Haible  <bruno@clisp.org>
62017
62018         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
62019
62020 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62021
62022         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62023         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
62024         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62025         (gl_tree_add_before, gl_tree_add_after):
62026         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
62027         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
62028         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
62029         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
62030         (gl_linked_add_after, gl_linked_add_at): Likewise.
62031         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
62032         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62033         (gl_tree_add_before, gl_tree_add_after): Likewise.
62034         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
62035         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
62036         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
62037
62038 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62039
62040         * lib/gl_oset.h: Use C comment style, not C++ comment style.
62041
62042 2006-11-06  Bruno Haible  <bruno@clisp.org>
62043
62044         * m4/inline.m4: New file.
62045         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
62046         * modules/list (Files): Add m4/inline.m4.
62047         * modules/oset (Files): Likewise.
62048
62049 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62050
62051         * lib/idcache.c: Include <stddef.h>, for offsetof.
62052         (struct userid.name): Change from char * to a flexible array member.
62053         All uses changed.
62054         * modules/idcache (Depends-on): Add flexmember.
62055
62056         * MODULES.html.sh (Core language properties): New module flexmember.
62057         * modules/flexmember, m4/flexmember.m4: New files.
62058
62059         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
62060         inline functions that are identical with the old xnmalloc_inline,
62061         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
62062         that we can avoid some unnecessary integer multiplications and
62063         divisions in the common case where the element size is known at
62064         compile time.
62065         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
62066         needed.
62067         (xnboundedmalloc): Remove.
62068         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
62069         arguments, for consistency with rest of this header.
62070         (xcharalloc): Rewrite using XNMALLOC.
62071         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
62072         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
62073         versions have been moved to lib/xalloc.h and renamed to be the
62074         non-*_inline versions.
62075         (xmalloc, xrealloc): Implement without reference to the xnmalloc
62076         and xnrealloc functions, since those functions are now inline and
62077         now call us.
62078         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
62079         renaming described above.
62080         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
62081         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
62082         captures the dependency in AC_C_INLINE.
62083
62084         New module canonicalize-lgpl, proposed by Charles Wilson in
62085         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
62086         with a few small changes afterwards.
62087         * MODULES.html.sh (File system functions): New module
62088         canonicalize-lgpl.
62089         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
62090         and canonicalize_file_name.
62091         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
62092         * modules/canonicalize-lgpl: New files.
62093
62094 2006-11-05  Bruno Haible  <bruno@clisp.org>
62095
62096         * gnulib-tool (func_import, func_create_testdir): Create directories
62097         also for files in subdirectories of lib/.
62098
62099 2006-11-05  Bruno Haible  <bruno@clisp.org>
62100
62101         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
62102         ANSI C compliant.
62103
62104 2006-11-03  Bruno Haible  <bruno@clisp.org>
62105
62106         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62107         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
62108         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
62109         (xnboundedmalloc): New inline function.
62110         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
62111         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
62112         xmalloc.
62113         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
62114         xmalloc.
62115         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
62116         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
62117         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
62118         xmalloc.
62119         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62120         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
62121         xmalloc.
62122         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
62123         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62124         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
62125         xmalloc.
62126         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62127         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
62128         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62129         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
62130         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
62131         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
62132         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
62133
62134 2006-11-03  Bruno Haible  <bruno@clisp.org>
62135
62136         * lib/c-ctype.h [C++]: Define functions without name mangling.
62137         * lib/fwriteerror.h [C++]: Likewise.
62138         * lib/gcd.h [C++]: Likewise.
62139         * lib/linebreak.h [C++]: Likewise.
62140
62141 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
62142
62143         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
62144         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
62145         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
62146         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62147         Check for functions and headers just once.
62148         Check for declaration of canonicalize_file_name.
62149         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
62150
62151 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62152
62153         * gnulib-tool (func_import): Fix typo in actioncmd.
62154
62155 2006-11-02  Bruno Haible  <bruno@clisp.org>
62156
62157         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
62158         newline sequence in the Makefile.am snippet as a space, like "make"
62159         does.
62160         Reported by Roger Persson <perrog@gmail.com>.
62161
62162 2006-11-01  Bruno Haible  <bruno@clisp.org>
62163
62164         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
62165         already declared in <string.h>.
62166         * lib/strcase.h (strncasecmp): Don't declare it if yes.
62167
62168 2006-11-01  Bruno Haible  <bruno@clisp.org>
62169
62170         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
62171         * lib/strcase.h: Include <string.h>.
62172         (strcasecmp): Define to rpl_strcasecmp here.
62173
62174 2006-11-01  Bruno Haible  <bruno@clisp.org>
62175
62176         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
62177
62178 2006-11-01  Eric Blake  <ebb9@byu.net>
62179
62180         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
62181
62182         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
62183
62184 2006-10-29  Bruno Haible  <bruno@clisp.org>
62185
62186         Make it compile in C++ mode.
62187         * lib/full-write.c (full_rw): Add a cast.
62188
62189 2006-11-01  Bruno Haible  <bruno@clisp.org>
62190
62191         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
62192         be POSIX compliant.
62193         Reported by Roger Persson <perrog@gmail.com>.
62194
62195 2006-11-01  Eric Blake  <ebb9@byu.net>
62196
62197         * lib/getopt_.h: Fix comments.
62198
62199 2006-10-31  Eric Blake  <ebb9@byu.net>
62200
62201         * modules/tmpdir (Depends-on): Add sys_stat.
62202         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
62203         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
62204         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
62205         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
62206         tempname.
62207
62208 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
62209
62210         Avoid some C++ diagnostics reported by Bruno Haible.
62211         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
62212         xmalloc.
62213         (quotearg_alloc): Use xcharalloc rather than xmalloc.
62214         (struct slotvec): Move to top level.
62215         (quotearg_n_options): Rewrite to avoid xmalloc.
62216         * lib/xalloc.h (xcharalloc): New function.
62217         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
62218         [defined __cplusplus]: Add function template that provides result
62219         type propagation.  This part of the change is from Bruno Haible.
62220
62221 2006-10-29  Bruno Haible  <bruno@clisp.org>
62222
62223         Make it compile in C++ mode.
62224         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
62225         * lib/strnlen1.c (strnlen1): Cast memchr result.
62226         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
62227         * lib/clean-temp.c (string_equals, string_hash): Add casts.
62228         (create_temp_dir): Rename local variable 'template'.
62229         (compile_csharp_using_sscli): Add cast.
62230         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
62231         * lib/findprog.c (find_in_path): Likewise.
62232         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
62233         * lib/wait-process.c (register_slave_subprocess): Likewise.
62234
62235 2006-10-22  Bruno Haible  <bruno@clisp.org>
62236
62237         * modules/tsearch: New file.
62238         * lib/tsearch.h: New file.
62239         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
62240         * m4/tsearch.m4: New file.
62241         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
62242
62243 2006-10-29  Eric Blake  <ebb9@byu.net>
62244
62245         * lib/arcfour.c: Assume config.h.
62246         * lib/arctwo.c: Likewise.
62247         * lib/base64.c: Likewise.
62248         * lib/check-version.c: Likewise.
62249         * lib/crc.c: Likewise.
62250         * lib/des.c: Likewise.
62251         * lib/gc-gnulib.c: Likewise.
62252         * lib/gc-libgcrypt.c: Likewise.
62253         * lib/gc-pbkdf2-sha1.c: Likewise.
62254         * lib/getaddrinfo.c: Likewise.
62255         * lib/getdelim.c: Likewise.
62256         * lib/getline.c: Likewise.
62257         * lib/hmac-md5.c: Likewise.
62258         * lib/hmac-sha1.c: Likewise.
62259         * lib/iconvme.c: Likewise.
62260         * lib/md2.c: Likewise.
62261         * lib/md4.c: Likewise.
62262         * lib/memxor.c: Likewise.
62263         * lib/read-file.c: Likewise.
62264         * lib/readline.c: Likewise.
62265         * lib/rijndael-alg-fst.c: Likewise.
62266         * lib/rijndael-api-fst.c: Likewise.
62267         * lib/xgetdomainname.c: Likewise.
62268
62269 2006-10-28  Eric Blake  <ebb9@byu.net>
62270
62271         * lib/xstrndup.c: Assume config.h.
62272
62273 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62274
62275         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
62276         stat-macros.h is now for our own macros, whereas stat_h is for
62277         macros in the <sys/stat.h> name space.
62278         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
62279         (STAT_MACROS_H): Remove.
62280         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
62281         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
62282         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
62283         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
62284         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
62285         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
62286         Move these macros to ...
62287         * lib/stat_.h: here.  Don't include stat-macros.h.
62288         * lib/canonicalize.c: Don't include stat-macros.h.
62289         * lib/chown.c: Likewise.
62290         * lib/euidaccess.c: Likewise.
62291         * lib/file-type.c: Likewise.
62292         * lib/filemode.c: Likewise.
62293         * lib/glob.c: Likewise.
62294         * lib/isapipe.c: Likewise.
62295         * lib/lchown.c: Likewise.
62296         * lib/lstat.c: Likewise.
62297         * lib/mkdir-p.c: Likewise.
62298         * lib/rmdir.c: Likewise.
62299         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
62300         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
62301         unless mkdir isn't declared, to speed up 'configure'.
62302         Always create sys/stat.h, since it's unlikely any real sys/stat.h
62303         would define all the S_* symbols.
62304         * modules/canonicalize (Depends-on):
62305         Depend on sys_stat, not stat-macros.
62306         * modules/chown: Likewise.
62307         * modules/euidaccess: Likewise.
62308         * modules/filemode: Likewise.
62309         * modules/file-type: Likewise.
62310         * modules/glob: Likewise.
62311         * modules/isapipe: Likewise.
62312         * modules/lchown: Likewise.
62313         * modules/lstat: Likewise.
62314         * modules/mkancesdirs: Likewise.
62315         * modules/rmdir: Likewise.
62316         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
62317         * modules/modechange: Likewise.
62318         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
62319         (configure.ac): Remove gl_STAT_MACROS.
62320         * modules/sys_stat (Depends-on): Remove stat-macros.
62321
62322 2006-10-27  Bruno Haible  <bruno@clisp.org>
62323
62324         * m4/signed.m4: Remove file.
62325         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
62326         invocation.
62327         * modules/vasnprintf (Files): Remove m4/signed.m4.
62328
62329 2006-10-27  Bruno Haible  <bruno@clisp.org>
62330
62331         Update to GNU gettext 0.16.
62332         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
62333         m4/inttypes-h.m4, m4/signed.m4.
62334         * m4/gettext.m4: Update to GNU gettext 0.16.
62335         * m4/intl.m4: New file, from GNU gettext.
62336         * m4/intldir.m4: New file, from GNU gettext.
62337         * config/srclist.txt: Update
62338
62339 2006-10-27  Eric Blake  <ebb9@byu.net>
62340
62341         * MODULES.html.sh: Document tempname.
62342         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
62343         dependencies.
62344         (Files): Move lib/tempname.c...
62345         * modules/tempname: ...to this new module.
62346         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
62347         (gl_PREREQ_TEMPNAME): Move...
62348         * m4/tempname.m4: ...to this new file.
62349         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
62350         * modules/sys_stat (Depends-on): Add stat-macros.
62351         * lib/stat_.h (includes): Pick up stat macros.
62352         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
62353         if stat macros are broken.
62354         * lib/tempname.c (includes): No need to include "stat-macros.h".
62355         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
62356         (direxists, __path_search) [!_LIBC]: Don't compile these in
62357         gnulib; the tmpdir module covers that.
62358         * lib/tempname.h: New file.
62359
62360 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
62361
62362         * COPYING: Explain how gnulib-tool converts licence headers.
62363         Almost all wording by Eric Blake.
62364
62365 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
62366
62367         * lib/mbchar.h (is_basic_table): Make read-only.
62368         * lib/mbchar.c (is_basic_table): Likewise.
62369         Reported by John Darrington.
62370
62371 2006-10-25  Bruno Haible  <bruno@clisp.org>
62372
62373         * lib/progname.h (set_program_name): Undefine before defining.
62374
62375 2006-10-25  Bruno Haible  <bruno@clisp.org>
62376
62377         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
62378         false for non-gcc C++ compilers.
62379         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
62380
62381 2006-10-24  Bruno Haible  <bruno@clisp.org>
62382
62383         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
62384         iconv implementations like Irix iconv.
62385
62386 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62387
62388         * modules/vararrays: New file.
62389         * m4/vararrays.m4: New file, taken from diffutils.
62390         * MODULES.html.sh: New module vararrays.
62391
62392 2006-10-24  Karl Berry  <karl@gnu.org>
62393
62394         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
62395         Don't call GNU Unix.
62396
62397 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62398
62399         * users.txt: Add Libtool.
62400
62401         Sync from Libtool:
62402
62403         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62404
62405         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
62406         to gnulib's policy of including config.h unconditionally.
62407
62408 2006-10-24  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/wcwidth (Files): Add m4/wint_t.m4.
62411         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
62412         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
62413
62414 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62415
62416         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
62417         to pacify GCC with some -W flags enabled.  Problem reported by
62418         Bruno Haible.
62419
62420 2006-10-24  Jim Meyering  <jim@meyering.net>
62421
62422         * MODULES.html.sh: Remove uinttostr.  It's not a module.
62423         Reported by Karl Berry.
62424
62425 2006-10-23  Bruno Haible  <bruno@clisp.org>
62426
62427         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
62428
62429 2006-10-24  Bruno Haible  <bruno@clisp.org>
62430
62431         * lib/gl_list.h: Use C comment style, not C++ comment style.
62432
62433 2006-10-23  Eric Blake  <ebb9@byu.net>
62434
62435         * lib/getaddrinfo.c (includes): Add missing include.
62436
62437 2006-10-23  Bruno Haible  <bruno@clisp.org>
62438             Paul Eggert  <eggert@cs.ucla.edu>
62439
62440         Ability to rename obstack_free.
62441         * lib/obstack.h (__obstack_free): New macro. Declare instead of
62442         obstack_free.
62443         (obstack_free): Invoke the __obstack_free macro.
62444         * lib/obstack.c (obstack_free): Use __obstack_free macro.
62445
62446 2006-10-23  Bruno Haible  <bruno@clisp.org>
62447             Paul Eggert  <eggert@cs.ucla.edu>
62448
62449         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
62450         __argc, __argv from the declaration. (They are defined as macros on
62451         mingw.)
62452
62453 2006-10-22  Bruno Haible  <bruno@clisp.org>
62454
62455         * doc/gnulib-intro.texi: New file.
62456         * doc/gnulib.texi: Include it.
62457
62458 2006-10-21  Bruno Haible  <bruno@clisp.org>
62459
62460         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
62461         "Introduction", "Miscellanous Notes", "Particular Modules".
62462
62463 2006-10-21  Bruno Haible  <bruno@clisp.org>
62464
62465         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62466         Change mostlyclean-local rule to avoid sh syntax error from bash
62467         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
62468
62469 2006-10-23  Jim Meyering  <jim@meyering.net>
62470
62471         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
62472         in place of snprintf.
62473
62474         * modules/inttostr (Files): Add lib/uinttostr.c.
62475         * lib/uinttostr.c (inttostr): New file/function.
62476         * lib/inttostr.h (uinttostr): Declare.
62477         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
62478         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62479         Add uinttostr.
62480         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
62481
62482 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
62483
62484         * lib/canonicalize.c (ELOOP): Define if not already defined.
62485         Problem reported by Bruno Haible in
62486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
62487
62488 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
62489
62490         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
62491         Problem reported by Perry Smith and Ville Laurikari.
62492
62493         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
62494         uses.
62495
62496 2006-10-19  Bruno Haible  <bruno@clisp.org>
62497
62498         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
62499         for mingw.
62500
62501 2006-10-19  Bruno Haible  <bruno@clisp.org>
62502
62503         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
62504         Needed for mingw.
62505
62506 2006-10-19  Bruno Haible  <bruno@clisp.org>
62507
62508         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
62509
62510 2006-10-19  Bruno Haible  <bruno@clisp.org>
62511
62512         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
62513         it.
62514
62515 2006-10-19  Bruno Haible  <bruno@clisp.org>
62516
62517         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
62518         invocation.
62519
62520 2006-10-19  Bruno Haible  <bruno@clisp.org>
62521
62522         * gnulib-tool (func_create_testdir): Don't include ftruncate and
62523         mountlist by default.
62524
62525 2006-10-16  Bruno Haible  <bruno@clisp.org>
62526
62527         * lib/c-strstr.c: Include c-strstr.h.
62528
62529 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62530
62531         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
62532         in a slash.
62533
62534 2006-10-18  Bruno Haible  <bruno@clisp.org>
62535
62536         * lib/lock.h [C++]: Wrap definitions in extern "C".
62537
62538 2006-10-18  Bruno Haible  <bruno@clisp.org>
62539
62540         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
62541         gl_LIBOBJS list.
62542
62543 2006-10-18  Bruno Haible  <bruno@clisp.org>
62544
62545         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
62546
62547 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
62548
62549         * lib/xstrtol.h: Include gettext.h.
62550         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
62551         Problem reported by Eric Blake.
62552         * modules/xstrtol (Depends-on): Add gettext-h.
62553
62554 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
62555
62556         * lib/strftime.c (advance): New macro.
62557         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
62558         incomplete type, so you can't add 0 to it.  Problem and patch
62559         reported by Eelco Dolstra for dietlibc.
62560
62561 2006-10-18  Jim Meyering  <jim@meyering.net>
62562
62563         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
62564         type for a local, and rename it: s/up/user_proc/.
62565
62566 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62567
62568         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
62569         READ_UTMP_USER_PROCESS.
62570         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
62571
62572 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62573
62574         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
62575         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
62576
62577 2006-10-17  Eric Blake  <ebb9@byu.net>
62578
62579         * lib/sigprocmask.c (sigprocmask): Fix typo.
62580
62581         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
62582
62583         * modules/clean-temp (Makefile.am): Don't add to make output...
62584         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
62585         config.h.
62586
62587 2006-10-17  Bruno Haible  <bruno@clisp.org>
62588
62589         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
62590         differently if DEFAULT_TEXT_DOMAIN is set.
62591
62592 2006-10-16  Bruno Haible  <bruno@clisp.org>
62593
62594         * lib/clean-temp.c: Include fwriteerror.h.
62595
62596 2006-10-16  Bruno Haible  <bruno@clisp.org>
62597
62598         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
62599
62600 2006-10-16  Bruno Haible  <bruno@clisp.org>
62601
62602         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
62603         * lib/sigprocmask.h: Include <sys/types.h>.
62604         (sigset_t): Use the system's definition if present.
62605
62606 2006-10-17  Eric Blake  <ebb9@byu.net>
62607
62608         * lib/xvasprintf.c (includes): Assume config.h.
62609         * lib/xasprintf.c (includes): Likewise.
62610
62611 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62612
62613         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
62614         at least as wide as intmax_t.
62615
62616 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
62617
62618         (Imported from Automake.)
62619         * build-aux/gnupload: Update to version 1.1 of directive file.
62620
62621 2006-10-16  Eric Blake  <ebb9@byu.net>
62622
62623         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
62624         match Automake 1.10a.
62625
62626 2006-10-14  Bruno Haible  <bruno@clisp.org>
62627
62628         * modules/sigprocmask: New file.
62629         * lib/sigprocmask.h: New file.
62630         * lib/sigprocmask.c: New file.
62631         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
62632         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
62633         request sigprocmask.o.
62634         (gl_PREREQ_SIGPROCMASK): New macro.
62635         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
62636         (Depends-on): Add sigprocmask.
62637         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
62638         gt_SIGNALBLOCKING. Test for 'raise' only once.
62639         * lib/fatal-signal.c: Include sigprocmask.h.
62640         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
62641         unblock_fatal_signals): Define always.
62642         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62643         sigprocmask.
62644
62645 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62646
62647         Sync from Automake.
62648         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
62649         which incorrectly sets the mode of an existing destination
62650         directory.  In some cases the unpatched install-sh could do the
62651         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
62652         system.  We hope this is rare in practice, but it's clearly worth
62653         fixing.  Problem reported by Alex Unleashed in
62654         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
62655         Also, don't bother to check for -m bugs unless we're using -m;
62656         suggested by Stepan Kasal.
62657
62658 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62659
62660         Sync from Automake.
62661         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
62662         `-c' flag, so they appear at the same position as in %FASTDEP%
62663         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
62664         which ignores unknown options only after the first non-option.
62665         Bug report against M4 by Nelson H. F. Beebe.
62666
62667 2006-10-13  Jim Meyering  <jim@meyering.net>
62668
62669         Fix a bug in yesterday's change.
62670         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
62671         p->fts_statp->st_dev would be used uninitialized.
62672         Ensures that we always call fts_stat on the very first entry.
62673         Miklos Szeredi reported that find -xdev stopped working.
62674
62675 2006-10-12  Bruno Haible  <bruno@clisp.org>
62676
62677         * gnulib-tool (func_get_automake_snippet): Append an automatically
62678         computed EXTRA_DIST augmentation.
62679         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
62680         * modules/alloca-opt (Makefile.am): Likewise.
62681         * modules/allocsa (Makefile.am): Likewise.
62682         * modules/arcfour (Makefile.am): Likewise.
62683         * modules/arctwo (Makefile.am): Likewise.
62684         * modules/argmatch (Makefile.am): Likewise.
62685         * modules/argz (Makefile.am): Likewise.
62686         * modules/atexit (Makefile.am): Likewise.
62687         * modules/backupfile (Makefile.am): Likewise.
62688         * modules/byteswap (Makefile.am): Likewise.
62689         * modules/c-strtod (Makefile.am): Likewise.
62690         * modules/c-strtold (Makefile.am): Likewise.
62691         * modules/calloc (Makefile.am): Likewise.
62692         * modules/canon-host (Makefile.am): Likewise.
62693         * modules/canonicalize (Makefile.am): Likewise.
62694         * modules/chdir-long (Makefile.am): Likewise.
62695         * modules/chdir-safer (Makefile.am): Likewise.
62696         * modules/check-version (Makefile.am): Likewise.
62697         * modules/chown (Makefile.am): Likewise.
62698         * modules/cloexec (Makefile.am): Likewise.
62699         * modules/close-stream (Makefile.am): Likewise.
62700         * modules/closeout (Makefile.am): Likewise.
62701         * modules/crc (Makefile.am): Likewise.
62702         * modules/csharpexec (Makefile.am): Likewise.
62703         * modules/cycle-check (Makefile.am): Likewise.
62704         * modules/des (Makefile.am): Likewise.
62705         * modules/dev-ino (Makefile.am): Likewise.
62706         * modules/dirfd (Makefile.am): Likewise.
62707         * modules/dirname (Makefile.am): Likewise.
62708         * modules/dup2 (Makefile.am): Likewise.
62709         * modules/eealloc (Makefile.am): Likewise.
62710         * modules/error (Makefile.am): Likewise.
62711         * modules/euidaccess (Makefile.am): Likewise.
62712         * modules/exclude (Makefile.am): Likewise.
62713         * modules/exitfail (Makefile.am): Likewise.
62714         * modules/fcntl-safer (Makefile.am): Likewise.
62715         * modules/fcntl (Makefile.am): Likewise.
62716         * modules/file-type (Makefile.am): Likewise.
62717         * modules/fileblocks (Makefile.am): Likewise.
62718         * modules/filemode (Makefile.am): Likewise.
62719         * modules/filenamecat (Makefile.am): Likewise.
62720         * modules/fnmatch (Makefile.am): Likewise.
62721         * modules/fopen-safer (Makefile.am): Likewise.
62722         * modules/fpending (Makefile.am): Likewise.
62723         * modules/fprintftime (Makefile.am): Likewise.
62724         * modules/free (Makefile.am): Likewise.
62725         * modules/fsusage (Makefile.am): Likewise.
62726         * modules/ftruncate (Makefile.am): Likewise.
62727         * modules/fts (Makefile.am): Likewise.
62728         * modules/gc-arcfour (Makefile.am): Likewise.
62729         * modules/gc-des (Makefile.am): Likewise.
62730         * modules/gc-hmac-md5 (Makefile.am): Likewise.
62731         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
62732         * modules/gc-md4 (Makefile.am): Likewise.
62733         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62734         * modules/gc-sha1 (Makefile.am): Likewise.
62735         * modules/gc (Makefile.am): Likewise.
62736         * modules/getaddrinfo (Makefile.am): Likewise.
62737         * modules/getcwd (Makefile.am): Likewise.
62738         * modules/getdelim (Makefile.am): Likewise.
62739         * modules/getdomainname (Makefile.am): Likewise.
62740         * modules/getgroups (Makefile.am): Likewise.
62741         * modules/gethostname (Makefile.am): Likewise.
62742         * modules/gethrxtime (Makefile.am): Likewise.
62743         * modules/getline (Makefile.am): Likewise.
62744         * modules/getloadavg (Makefile.am): Likewise.
62745         * modules/getlogin_r (Makefile.am): Likewise.
62746         * modules/getndelim2 (Makefile.am): Likewise.
62747         * modules/getopt (Makefile.am): Likewise.
62748         * modules/getpagesize (Makefile.am): Likewise.
62749         * modules/getpass-gnu (Makefile.am): Likewise.
62750         * modules/getpass (Makefile.am): Likewise.
62751         * modules/getsubopt (Makefile.am): Likewise.
62752         * modules/gettime (Makefile.am): Likewise.
62753         * modules/gettimeofday (Makefile.am): Likewise.
62754         * modules/getugroups (Makefile.am): Likewise.
62755         * modules/getusershell (Makefile.am): Likewise.
62756         * modules/glob (Makefile.am): Likewise.
62757         * modules/group-member (Makefile.am): Likewise.
62758         * modules/hard-locale (Makefile.am): Likewise.
62759         * modules/hash (Makefile.am): Likewise.
62760         * modules/hmac-md5 (Makefile.am): Likewise.
62761         * modules/hmac-sha1 (Makefile.am): Likewise.
62762         * modules/human (Makefile.am): Likewise.
62763         * modules/idcache (Makefile.am): Likewise.
62764         * modules/imaxabs (Makefile.am): Likewise.
62765         * modules/imaxdiv (Makefile.am): Likewise.
62766         * modules/inet_ntop (Makefile.am): Likewise.
62767         * modules/inet_pton (Makefile.am): Likewise.
62768         * modules/intprops (Makefile.am): Likewise.
62769         * modules/inttostr (Makefile.am): Likewise.
62770         * modules/inttypes (Makefile.am): Likewise.
62771         * modules/isapipe (Makefile.am): Likewise.
62772         * modules/javaversion (Makefile.am): Likewise.
62773         * modules/lchmod (Makefile.am): Likewise.
62774         * modules/lchown (Makefile.am): Likewise.
62775         * modules/localcharset (Makefile.am): Likewise.
62776         * modules/long-options (Makefile.am): Likewise.
62777         * modules/lstat (Makefile.am): Likewise.
62778         * modules/malloc (Makefile.am): Likewise.
62779         * modules/mathl (Makefile.am): Likewise.
62780         * modules/mbchar (Makefile.am): Likewise.
62781         * modules/md2 (Makefile.am): Likewise.
62782         * modules/md4 (Makefile.am): Likewise.
62783         * modules/md5 (Makefile.am): Likewise.
62784         * modules/memcasecmp (Makefile.am): Likewise.
62785         * modules/memchr (Makefile.am): Likewise.
62786         * modules/memcmp (Makefile.am): Likewise.
62787         * modules/memcoll (Makefile.am): Likewise.
62788         * modules/memcpy (Makefile.am): Likewise.
62789         * modules/memmem (Makefile.am): Likewise.
62790         * modules/memmove (Makefile.am): Likewise.
62791         * modules/mempcpy (Makefile.am): Likewise.
62792         * modules/memrchr (Makefile.am): Likewise.
62793         * modules/memset (Makefile.am): Likewise.
62794         * modules/memxor (Makefile.am): Likewise.
62795         * modules/mkancesdirs (Makefile.am): Likewise.
62796         * modules/mkdir-p (Makefile.am): Likewise.
62797         * modules/mkdir (Makefile.am): Likewise.
62798         * modules/mkdtemp (Makefile.am): Likewise.
62799         * modules/mkstemp (Makefile.am): Likewise.
62800         * modules/mktime (Makefile.am): Likewise.
62801         * modules/modechange (Makefile.am): Likewise.
62802         * modules/mountlist (Makefile.am): Likewise.
62803         * modules/nanosleep (Makefile.am): Likewise.
62804         * modules/obstack (Makefile.am): Likewise.
62805         * modules/openat (Makefile.am): Likewise.
62806         * modules/pagealign_alloc (Makefile.am): Likewise.
62807         * modules/pathmax (Makefile.am): Likewise.
62808         * modules/physmem (Makefile.am): Likewise.
62809         * modules/poll (Makefile.am): Likewise.
62810         * modules/posixtm (Makefile.am): Likewise.
62811         * modules/posixver (Makefile.am): Likewise.
62812         * modules/putenv (Makefile.am): Likewise.
62813         * modules/quote (Makefile.am): Likewise.
62814         * modules/quotearg (Makefile.am): Likewise.
62815         * modules/raise (Makefile.am): Likewise.
62816         * modules/read-file (Makefile.am): Likewise.
62817         * modules/readline (Makefile.am): Likewise.
62818         * modules/readlink (Makefile.am): Likewise.
62819         * modules/readtokens (Makefile.am): Likewise.
62820         * modules/readutmp (Makefile.am): Likewise.
62821         * modules/realloc (Makefile.am): Likewise.
62822         * modules/regex (Makefile.am): Likewise.
62823         * modules/rename-dest-slash (Makefile.am): Likewise.
62824         * modules/rename (Makefile.am): Likewise.
62825         * modules/rijndael (Makefile.am): Likewise.
62826         * modules/rmdir (Makefile.am): Likewise.
62827         * modules/rpmatch (Makefile.am): Likewise.
62828         * modules/safe-read (Makefile.am): Likewise.
62829         * modules/safe-write (Makefile.am): Likewise.
62830         * modules/same-inode (Makefile.am): Likewise.
62831         * modules/same (Makefile.am): Likewise.
62832         * modules/save-cwd (Makefile.am): Likewise.
62833         * modules/savedir (Makefile.am): Likewise.
62834         * modules/setenv (Makefile.am): Likewise.
62835         * modules/settime (Makefile.am): Likewise.
62836         * modules/sha1 (Makefile.am): Likewise.
62837         * modules/sig2str (Makefile.am): Likewise.
62838         * modules/snprintf (Makefile.am): Likewise.
62839         * modules/stat-macros (Makefile.am): Likewise.
62840         * modules/stat-time (Makefile.am): Likewise.
62841         * modules/stdbool (Makefile.am): Likewise.
62842         * modules/stdint (Makefile.am): Likewise.
62843         * modules/stdlib-safer (Makefile.am): Likewise.
62844         * modules/stpcpy (Makefile.am): Likewise.
62845         * modules/stpncpy (Makefile.am): Likewise.
62846         * modules/strcase (Makefile.am): Likewise.
62847         * modules/strcasestr (Makefile.am): Likewise.
62848         * modules/strchrnul (Makefile.am): Likewise.
62849         * modules/strcspn (Makefile.am): Likewise.
62850         * modules/strdup (Makefile.am): Likewise.
62851         * modules/strerror (Makefile.am): Likewise.
62852         * modules/strftime (Makefile.am): Likewise.
62853         * modules/strndup (Makefile.am): Likewise.
62854         * modules/strnlen (Makefile.am): Likewise.
62855         * modules/strpbrk (Makefile.am): Likewise.
62856         * modules/strsep (Makefile.am): Likewise.
62857         * modules/strstr (Makefile.am): Likewise.
62858         * modules/strtod (Makefile.am): Likewise.
62859         * modules/strtoimax (Makefile.am): Likewise.
62860         * modules/strtok_r (Makefile.am): Likewise.
62861         * modules/strtol (Makefile.am): Likewise.
62862         * modules/strtoll (Makefile.am): Likewise.
62863         * modules/strtoul (Makefile.am): Likewise.
62864         * modules/strtoull (Makefile.am): Likewise.
62865         * modules/strtoumax (Makefile.am): Likewise.
62866         * modules/strverscmp (Makefile.am): Likewise.
62867         * modules/sys_socket (Makefile.am): Likewise.
62868         * modules/sys_stat (Makefile.am): Likewise.
62869         * modules/sysexits (Makefile.am): Likewise.
62870         * modules/time_r (Makefile.am): Likewise.
62871         * modules/timegm (Makefile.am): Likewise.
62872         * modules/timespec (Makefile.am): Likewise.
62873         * modules/tmpfile-safer (Makefile.am): Likewise.
62874         * modules/trim (Makefile.am): Likewise.
62875         * modules/unistd-safer (Makefile.am): Likewise.
62876         * modules/unlinkdir (Makefile.am): Likewise.
62877         * modules/unlocked-io (Makefile.am): Likewise.
62878         * modules/userspec (Makefile.am): Likewise.
62879         * modules/utime (Makefile.am): Likewise.
62880         * modules/utimecmp (Makefile.am): Likewise.
62881         * modules/utimens (Makefile.am): Likewise.
62882         * modules/vasnprintf (Makefile.am): Likewise.
62883         * modules/vasprintf (Makefile.am): Likewise.
62884         * modules/vsnprintf (Makefile.am): Likewise.
62885         * modules/xalloc (Makefile.am): Likewise.
62886         * modules/xgetcwd (Makefile.am): Likewise.
62887         * modules/xnanosleep (Makefile.am): Likewise.
62888         * modules/xreadlink (Makefile.am): Likewise.
62889         * modules/xstrtod (Makefile.am): Likewise.
62890         * modules/xstrtol (Makefile.am): Likewise.
62891         * modules/xstrtold (Makefile.am): Likewise.
62892         * modules/yesno (Makefile.am): Likewise.
62893         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
62894
62895 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62896
62897         * modules/error (Makefile.am): Distribute files through
62898         EXTRA_DIST, not lib_SOURCES.
62899
62900 2006-10-12  Eric Blake  <ebb9@byu.net>
62901
62902         * modules/error (Makefile.am): Distribute files in /lib.
62903         * modules/obstack (Makefile.am): Likewise.
62904
62905 2006-10-12  Bruno Haible  <bruno@clisp.org>
62906
62907         * modules/acl (Makefile.am): Distribute all files in lib/ through
62908         EXTRA_DIST.
62909         * modules/arcfour (Makefile.am): Likewise.
62910         * modules/arctwo (Makefile.am): Likewise.
62911         * modules/argmatch (Makefile.am): Likewise.
62912         * modules/argz (Makefile.am): Likewise.
62913         * modules/atexit (Makefile.am): Likewise.
62914         * modules/backupfile (Makefile.am): Likewise.
62915         * modules/c-strtod (Makefile.am): Likewise.
62916         * modules/c-strtold (Makefile.am): Likewise.
62917         * modules/calloc (Makefile.am): Likewise.
62918         * modules/canon-host (Makefile.am): Likewise.
62919         * modules/canonicalize (Makefile.am): Likewise.
62920         * modules/chdir-long (Makefile.am): Likewise.
62921         * modules/chdir-safer (Makefile.am): Likewise.
62922         * modules/check-version (Makefile.am): Likewise.
62923         * modules/chown (Makefile.am): Likewise.
62924         * modules/cloexec (Makefile.am): Likewise.
62925         * modules/close-stream (Makefile.am): Likewise.
62926         * modules/closeout (Makefile.am): Likewise.
62927         * modules/crc (Makefile.am): Likewise.
62928         * modules/cycle-check (Makefile.am): Likewise.
62929         * modules/des (Makefile.am): Likewise.
62930         * modules/dirfd (Makefile.am): Likewise.
62931         * modules/dirname (Makefile.am): Likewise.
62932         * modules/dup2 (Makefile.am): Likewise.
62933         * modules/euidaccess (Makefile.am): Likewise.
62934         * modules/exclude (Makefile.am): Likewise.
62935         * modules/exitfail (Makefile.am): Likewise.
62936         * modules/fcntl-safer (Makefile.am): Likewise.
62937         * modules/file-type (Makefile.am): Likewise.
62938         * modules/fileblocks (Makefile.am): Likewise.
62939         * modules/filemode (Makefile.am): Likewise.
62940         * modules/filenamecat (Makefile.am): Likewise.
62941         * modules/fnmatch (Makefile.am): Likewise.
62942         * modules/fopen-safer (Makefile.am): Likewise.
62943         * modules/fpending (Makefile.am): Likewise.
62944         * modules/fprintftime (Makefile.am): Likewise.
62945         * modules/free (Makefile.am): Likewise.
62946         * modules/fsusage (Makefile.am): Likewise.
62947         * modules/ftruncate (Makefile.am): Likewise.
62948         * modules/fts (Makefile.am): Likewise.
62949         * modules/gc (Makefile.am): Likewise.
62950         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62951         * modules/getaddrinfo (Makefile.am): Likewise.
62952         * modules/getcwd (Makefile.am): Likewise.
62953         * modules/getdelim (Makefile.am): Likewise.
62954         * modules/getdomainname (Makefile.am): Likewise.
62955         * modules/getgroups (Makefile.am): Likewise.
62956         * modules/gethostname (Makefile.am): Likewise.
62957         * modules/gethrxtime (Makefile.am): Likewise.
62958         * modules/getline (Makefile.am): Likewise.
62959         * modules/getloadavg (Makefile.am): Likewise.
62960         * modules/getlogin_r (Makefile.am): Likewise.
62961         * modules/getopt (Makefile.am): Likewise.
62962         * modules/getpass (Makefile.am): Likewise.
62963         * modules/getpass-gnu (Makefile.am): Likewise.
62964         * modules/getsubopt (Makefile.am): Likewise.
62965         * modules/gettime (Makefile.am): Likewise.
62966         * modules/gettimeofday (Makefile.am): Likewise.
62967         * modules/getugroups (Makefile.am): Likewise.
62968         * modules/getusershell (Makefile.am): Likewise.
62969         * modules/glob (Makefile.am): Likewise.
62970         * modules/group-member (Makefile.am): Likewise.
62971         * modules/hard-locale (Makefile.am): Likewise.
62972         * modules/hash (Makefile.am): Likewise.
62973         * modules/hmac-md5 (Makefile.am): Likewise.
62974         * modules/hmac-sha1 (Makefile.am): Likewise.
62975         * modules/human (Makefile.am): Likewise.
62976         * modules/idcache (Makefile.am): Likewise.
62977         * modules/imaxabs (Makefile.am): Likewise.
62978         * modules/imaxdiv (Makefile.am): Likewise.
62979         * modules/inet_ntop (Makefile.am): Likewise.
62980         * modules/inet_pton (Makefile.am): Likewise.
62981         * modules/inttostr (Makefile.am): Likewise.
62982         * modules/isapipe (Makefile.am): Likewise.
62983         * modules/lchown (Makefile.am): Likewise.
62984         * modules/long-options (Makefile.am): Likewise.
62985         * modules/lstat (Makefile.am): Likewise.
62986         * modules/malloc (Makefile.am): Likewise.
62987         * modules/mathl (Makefile.am): Likewise.
62988         * modules/mbchar (Makefile.am): Likewise.
62989         * modules/md2 (Makefile.am): Likewise.
62990         * modules/md4 (Makefile.am): Likewise.
62991         * modules/md5 (Makefile.am): Likewise.
62992         * modules/memcasecmp (Makefile.am): Likewise.
62993         * modules/memchr (Makefile.am): Likewise.
62994         * modules/memcmp (Makefile.am): Likewise.
62995         * modules/memcoll (Makefile.am): Likewise.
62996         * modules/memcpy (Makefile.am): Likewise.
62997         * modules/memmem (Makefile.am): Likewise.
62998         * modules/memmove (Makefile.am): Likewise.
62999         * modules/mempcpy (Makefile.am): Likewise.
63000         * modules/memrchr (Makefile.am): Likewise.
63001         * modules/memset (Makefile.am): Likewise.
63002         * modules/memxor (Makefile.am): Likewise.
63003         * modules/mkancesdirs (Makefile.am): Likewise.
63004         * modules/mkdir (Makefile.am): Likewise.
63005         * modules/mkdir-p (Makefile.am): Likewise.
63006         * modules/mkdtemp (Makefile.am): Likewise.
63007         * modules/mkstemp (Makefile.am): Likewise.
63008         * modules/mktime (Makefile.am): Likewise.
63009         * modules/modechange (Makefile.am): Likewise.
63010         * modules/mountlist (Makefile.am): Likewise.
63011         * modules/nanosleep (Makefile.am): Likewise.
63012         * modules/openat (Makefile.am): Likewise.
63013         * modules/pagealign_alloc (Makefile.am): Likewise.
63014         * modules/physmem (Makefile.am): Likewise.
63015         * modules/poll (Makefile.am): Likewise.
63016         * modules/posixtm (Makefile.am): Likewise.
63017         * modules/posixver (Makefile.am): Likewise.
63018         * modules/putenv (Makefile.am): Likewise.
63019         * modules/quote (Makefile.am): Likewise.
63020         * modules/quotearg (Makefile.am): Likewise.
63021         * modules/raise (Makefile.am): Likewise.
63022         * modules/read-file (Makefile.am): Likewise.
63023         * modules/readline (Makefile.am): Likewise.
63024         * modules/readlink (Makefile.am): Likewise.
63025         * modules/readtokens (Makefile.am): Likewise.
63026         * modules/readutmp (Makefile.am): Likewise.
63027         * modules/realloc (Makefile.am): Likewise.
63028         * modules/regex (Makefile.am): Likewise.
63029         * modules/rename (Makefile.am): Likewise.
63030         * modules/rename-dest-slash (Makefile.am): Likewise.
63031         * modules/rijndael (Makefile.am): Likewise.
63032         * modules/rmdir (Makefile.am): Likewise.
63033         * modules/rpmatch (Makefile.am): Likewise.
63034         * modules/safe-read (Makefile.am): Likewise.
63035         * modules/safe-write (Makefile.am): Likewise.
63036         * modules/same (Makefile.am): Likewise.
63037         * modules/save-cwd (Makefile.am): Likewise.
63038         * modules/savedir (Makefile.am): Likewise.
63039         * modules/setenv (Makefile.am): Likewise.
63040         * modules/settime (Makefile.am): Likewise.
63041         * modules/sha1 (Makefile.am): Likewise.
63042         * modules/sig2str (Makefile.am): Likewise.
63043         * modules/snprintf (Makefile.am): Likewise.
63044         * modules/stdlib-safer (Makefile.am): Likewise.
63045         * modules/stpcpy (Makefile.am): Likewise.
63046         * modules/stpncpy (Makefile.am): Likewise.
63047         * modules/strcase (Makefile.am): Likewise.
63048         * modules/strcasestr (Makefile.am): Likewise.
63049         * modules/strchrnul (Makefile.am): Likewise.
63050         * modules/strcspn (Makefile.am): Likewise.
63051         * modules/strdup (Makefile.am): Likewise.
63052         * modules/strerror (Makefile.am): Likewise.
63053         * modules/strftime (Makefile.am): Likewise.
63054         * modules/strndup (Makefile.am): Likewise.
63055         * modules/strnlen (Makefile.am): Likewise.
63056         * modules/strpbrk (Makefile.am): Likewise.
63057         * modules/strsep (Makefile.am): Likewise.
63058         * modules/strstr (Makefile.am): Likewise.
63059         * modules/strtod (Makefile.am): Likewise.
63060         * modules/strtoimax (Makefile.am): Likewise.
63061         * modules/strtok_r (Makefile.am): Likewise.
63062         * modules/strtol (Makefile.am): Likewise.
63063         * modules/strtoll (Makefile.am): Likewise.
63064         * modules/strtoul (Makefile.am): Likewise.
63065         * modules/strtoull (Makefile.am): Likewise.
63066         * modules/strtoumax (Makefile.am): Likewise.
63067         * modules/strverscmp (Makefile.am): Likewise.
63068         * modules/time_r (Makefile.am): Likewise.
63069         * modules/timegm (Makefile.am): Likewise.
63070         * modules/tmpfile-safer (Makefile.am): Likewise.
63071         * modules/unistd-safer (Makefile.am): Likewise.
63072         * modules/unlinkdir (Makefile.am): Likewise.
63073         * modules/userspec (Makefile.am): Likewise.
63074         * modules/utime (Makefile.am): Likewise.
63075         * modules/utimecmp (Makefile.am): Likewise.
63076         * modules/utimens (Makefile.am): Likewise.
63077         * modules/vasnprintf (Makefile.am): Likewise.
63078         * modules/vasprintf (Makefile.am): Likewise.
63079         * modules/vsnprintf (Makefile.am): Likewise.
63080         * modules/xalloc (Makefile.am): Likewise.
63081         * modules/xgetcwd (Makefile.am): Likewise.
63082         * modules/xnanosleep (Makefile.am): Likewise.
63083         * modules/xreadlink (Makefile.am): Likewise.
63084         * modules/xstrtod (Makefile.am): Likewise.
63085         * modules/xstrtol (Makefile.am): Likewise.
63086         * modules/xstrtold (Makefile.am): Likewise.
63087         * modules/yesno (Makefile.am): Likewise.
63088
63089 2006-10-12  Jim Meyering  <jim@meyering.net>
63090
63091         * m4/getloadavg.m4: Revert the change below.
63092
63093         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
63094         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
63095         fail with a symlink, which is what coreutils' ./bootstrap now
63096         creates by default.
63097
63098 2006-10-12  Bruno Haible  <bruno@clisp.org>
63099
63100         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
63101         mingw.
63102         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
63103         MSVC and mingw explicitly.
63104
63105 2006-10-11  Simon Josefsson  <jas@extundo.com>
63106             Bruno Haible  <bruno@clisp.org>
63107
63108         Add support for multiple gnulib-tool invocations in the scope of a
63109         single configure.ac file.
63110         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
63111         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
63112         with the same contents as the _LIBADD variable.
63113         (func_emit_initmacro_start, func_emit_initmacro_end,
63114         func_emit_initmacro_done): New functions.
63115         (func_import, func_create_testdir): Invoke them. Allow the identifiers
63116         gl_LIBOBJS and gl_LTLIBOBJS.
63117
63118 2006-10-11  Bruno Haible  <bruno@clisp.org>
63119
63120         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
63121         (func_create_testdir): Don't create po/Makefile.am, don't invoke
63122         autoreconf. Instead, invoke autopoint explicitly but move back the
63123         *.m4 files from gnulib.
63124
63125 2006-10-11  Bruno Haible  <bruno@clisp.org>
63126
63127         * gnulib-tool (func_usage): Make module names after --create-testdir
63128         optional.
63129         (func_create_testdir): If no module was specified, use nearly all
63130         modules.
63131
63132 2006-10-12  Jim Meyering  <jim@meyering.net>
63133
63134         Big performance improvement for fts-based tools that use FTS_NOSTAT.
63135         Avoid spurious inode-mismatch problems on non-POSIX file systems.
63136         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
63137         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
63138         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
63139         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
63140         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
63141         (fts_set_stat_required): New function.
63142         (fts_open): Defer the calls to fts_stat, if possible or requested.
63143         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
63144         into fts_stat itself.
63145         (fts_read): Perform any required (deferred) fts_stat call.
63146         (fts_build): Likewise, for the directory we're about to open and read.
63147         In the readdir loop, carefully decide whether each entry will require
63148         an eventual call to fts_stat, using dirent.d_type info if available.
63149         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
63150         a command line argument into this function.  Update all callers.
63151         Map a return value of FTS_DOT to FTS_D for a command line argument.
63152         * modules/fts (Depends-on): Add d-type.  Alphabetize.
63153         Thanks to Miklos Szeredi for his tenacity and for the initial
63154         bug report about "find" failing on a FUSE-based file system.
63155
63156         * lib/fts.c (fts_open): Use consistent indentation.
63157
63158 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63159
63160         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
63161         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
63162         reported by Jim Meyering.  All uses of cache variables renamed
63163         to match Autoconf's.
63164         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
63165         the other one.
63166
63167         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63168         Fix misspelling in diagnostic.
63169
63170 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63171
63172         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
63173         defined.  Problem reported by Matthew Woehlke.
63174
63175         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
63176         Add support for Tandem NonStop R series.
63177         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
63178         Use new macro.
63179
63180         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
63181         (has_trailing_slash): Omit size arg; all callers changed.
63182         Omit 'inline', since it doesn't help performance and we'd
63183         need to configure it.
63184         Don't count //, ///, etc. as having a trailing slash.
63185         As a side effect, this removes a C99ism reported by Matthew Woehlke.
63186         (rpl_rename_dest_slash): On failure, use rename's errno rather
63187         than (in some cases) an incorrect or junk errno.
63188         Simplify code by removing need to compute length; this does
63189         cause it to make two passes instead of one over the file name,
63190         but it's worth it.
63191
63192         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
63193         change, since Autoconf's version may no longer be appropriate now
63194         that we are using CVS Autoconf's version.  Add support for Tandem.
63195
63196 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63197             Bruno Haible  <bruno@clisp.org>
63198
63199         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
63200         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
63201         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
63202         gl_AC_TYPE_LONG_LONG.
63203
63204         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
63205         instead of HAVE_LONG_LONG.
63206         * lib/printf-args.c (printf_fetchargs): Likewise.
63207         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63208         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63209         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
63210         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
63211         gl_AC_TYPE_LONG_LONG.
63212
63213 2006-10-11  Bruno Haible  <bruno@clisp.org>
63214
63215         * m4/longlong.m4: Add comments.
63216         * m4/ulonglong.m4: Likewise.
63217
63218 2006-10-10  Bruno Haible  <bruno@clisp.org>
63219
63220         Make it possible to #define stpcpy, strdup to aliases.
63221         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
63222         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
63223
63224 2006-10-10  Bruno Haible  <bruno@clisp.org>
63225
63226         Make it possible to #define gcd to an alias.
63227         * lib/gcd.c: Include config.h.
63228
63229 2006-10-10  Bruno Haible  <bruno@clisp.org>
63230
63231         Make it possible to #define c_isascii to an alias.
63232         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
63233         defined. Undefine the macros before defining them, to avoid gcc
63234         warnings.
63235         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
63236         define NO_C_CTYPE_MACROS early.
63237
63238 2006-10-10  Bruno Haible  <bruno@clisp.org>
63239
63240         Make it possible to #define set_program_name to an alias.
63241         * lib/progname.c: Don't undefine set_program_name; instead, undefine
63242         ENABLE_RELOCATABLE early.
63243
63244 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63245
63246         Port to Tandem NSK OSS, which has 64-bit signed int but at most
63247         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
63248         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
63249         More generally, don't assume that 64-bit signed int is available
63250         if unsigned int is, and vice versa.
63251         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
63252         unsigned symbols, not on their signed counterparts.
63253         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
63254         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
63255         (UINT64_C, UINTMAX_C):
63256         Likewise.
63257         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
63258         unsigned counterparts.
63259         (Have_long_long, Unsigned): New macros.
63260         (Int): Renamed from INT.
63261         (strtoimax): Use the new macros.
63262         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
63263         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
63264         * modules/inttypes (inttypes.h): Substitute
63265         HAVE_UNSIGNED_LONG_LONG_INT.
63266         * modules/stdint (stdint.h): Likewise.
63267         (Files): Add m4/ulonglong.m4.
63268
63269 2006-10-10  Bruno Haible  <bruno@clisp.org>
63270
63271         Fix a gcc -Wshadow warning.
63272         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
63273         to 'bucket'.
63274         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
63275         gl_linked_indexof_from_to): Likewise.
63276         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
63277         Likewise.
63278         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
63279         Likewise.
63280         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
63281         Reported by Eric Blake.
63282
63283 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
63284
63285         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
63286         for NetBSD.  Problem reported by Bruno Haible.
63287
63288 2006-10-09  Jim Meyering  <jim@meyering.net>
63289
63290         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
63291         Patch from Bruno Haible.
63292
63293 2006-10-09  Jim Meyering  <jim@meyering.net>
63294
63295         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
63296         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
63297         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
63298
63299 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63300
63301         Don't include <config.h> twice; this doesn't work in some cases,
63302         e.g., when config.h has "#define intmax_t long long int" and
63303         we include <config.h>, <inttypes.h>, <config.h> in that order.
63304         Problem reported by Matthew Woehlke in:
63305         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
63306         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
63307         * lib/fts-cycle.c: Don't include config.h.
63308         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
63309         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
63310         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
63311         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
63312         inttypes.h.
63313         * lib/xstrtoumax.c: Likewise.
63314         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
63315         __strtol and the like, so that this module is more like its siblings.
63316         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
63317         Remove; no longer needed now that we assume gnulib inttypes.h.
63318
63319 2006-10-08  Bruno Haible  <bruno@clisp.org>
63320
63321         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
63322         option.
63323
63324 2006-10-07  Jim Meyering  <jim@meyering.net>
63325
63326         * modules/inttypes (inttypes.h): Revert what seems to have been
63327         an inadvertent part of today's change: use "|", not "/" in the
63328         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
63329
63330 2006-10-07  Bruno Haible  <bruno@clisp.org>
63331
63332         * modules/sublist: New file.
63333
63334 2006-10-07  Bruno Haible  <bruno@clisp.org>
63335
63336         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
63337         * modules/argz (argz.h): Likewise.
63338         * modules/arpa_inet (arpa/inet.h): Likewise.
63339         * modules/byteswap (byteswap.h): Likewise.
63340         * modules/configmake (configmake.h): Likewise.
63341         * modules/fcntl (fcntl.h): Likewise.
63342         * modules/fnmatch (fnmatch.h): Likewise.
63343         * modules/getopt (getopt.h): Likewise.
63344         * modules/glob (glob.h): Likewise.
63345         * modules/inttypes (inttypes.h): Likewise.
63346         * modules/netinet_in (netinet/in.h): Likewise.
63347         * modules/poll (poll.h): Likewise.
63348         * modules/stdbool (stdbool.h): Likewise.
63349         * modules/stdint (stdint.h): Likewise.
63350         * modules/sys_select (sys/select.h): Likewise.
63351         * modules/sys_socket (sys/socket.h): Likewise.
63352         * modules/sys_stat (sys/stat.h): Likewise.
63353         * modules/sysexits (sysexits.h): Likewise.
63354         * modules/unistd (unistd.h): Likewise.
63355         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63356         Add a "DO NOT EDIT" comment to the generated file.
63357         (func_import): Likewise for gnulib-comp.m4.
63358
63359 2006-10-07  Bruno Haible  <bruno@clisp.org>
63360
63361         * lib/gl_sublist.h: New file.
63362         * lib/gl_sublist.c: New file.
63363
63364 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63365
63366         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
63367         name (relative to the original working directory) and the file
63368         name component (relative to the temporary working directory).  All
63369         callers changed.
63370         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
63371         * lib/mkdir-p.c (make_dir_parents): Likewise.
63372         * lib/mkdir-p.h (make_dir_parents): Likewise.
63373
63374 2006-10-06  Eric Blake  <ebb9@byu.net>
63375
63376         Define several macros for use by the clean-temp module.
63377         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
63378         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
63379         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
63380
63381         * lib/clean-temp.h (close_stream_temp): New declaration.
63382         * lib/clean-temp.c (includes): Pull in headers according to what
63383         other modules are in use.
63384         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
63385
63386 2006-10-06  Bruno Haible  <bruno@clisp.org>
63387
63388         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
63389         instead of fopen, fwriteerror.
63390
63391 2006-10-06  Bruno Haible  <bruno@clisp.org>
63392
63393         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
63394         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
63395         int.
63396         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
63397         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
63398         Return an error indicator.
63399         Suggested by Eric Blake.
63400
63401 2006-10-06  Bruno Haible  <bruno@clisp.org>
63402
63403         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
63404         Reported by Eric Blake.
63405
63406 2006-10-06  Bruno Haible  <bruno@clisp.org>
63407
63408         * modules/closeout (Description): Mention stderr too.
63409
63410 2006-10-06  Bruno Haible  <bruno@clisp.org>
63411         and Paul Eggert  <eggert@cs.ucla.edu>
63412
63413         * lib/closeout.c (close_stdout): Also close stderr.
63414         * lib/closeout.h: Update comment.
63415
63416 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63417
63418         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
63419         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
63420         * lib/dirchownmod.c: Include lchown.h.
63421         * lib/lchown.c: Don't include files that lchown.h now includes.
63422         Don't declare chown, since lchown.h now does that.
63423         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
63424         (lchown): Define to rpl_chown if lchown is declared but
63425         does not exist.  Declare using a prototype if lchown is not
63426         declared.  Add a copyright notice.
63427         * lib/mkstemp.h: Include <unistd.h>.
63428         * lib/openat.c: Include lchown.h.
63429
63430         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
63431         we now test for that separately.
63432         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
63433         rather than O_NOFOLLOW, when testing whether it's possible to
63434         avoid a race condition reliably.
63435         * lib/savewd.c (savewd_chdir): Likewise.
63436
63437         Remove macros that are no longer needed now that stdint.h is
63438         reliable.
63439         * lib/fsusage.c (UINTMAX_MAX): Remove.
63440         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
63441         * lib/utimecmp.c (SIZE_MAX): Remove.
63442
63443         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
63444
63445         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
63446         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
63447         O_NOATIME works.
63448
63449 2006-10-05  Bruno Haible  <bruno@clisp.org>
63450
63451         * lib/gl_list.h (gl_sortedlist_search_from_to,
63452         gl_sortedlist_indexof_from_to): New declarations.
63453         (gl_list_implementation): New fields sortedlist_search_from_to,
63454         sortedlist_indexof_from_to.
63455         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
63456         inline functions.
63457         * lib/gl_list.c (gl_sortedlist_search_from_to,
63458         gl_sortedlist_indexof_from_to): New functions.
63459         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
63460         function.
63461         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
63462         (gl_array_sortedlist_search_from_to): New function.
63463         (gl_array_list_implementation): Update.
63464         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
63465         function.
63466         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
63467         (gl_carray_sortedlist_search_from_to): New function.
63468         (gl_carray_list_implementation): Update.
63469         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
63470         gl_linked_sortedlist_indexof_from_to): New functions.
63471         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
63472         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
63473         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
63474         gl_tree_sortedlist_indexof_from_to): New functions.
63475         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
63476         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
63477         Update.
63478         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
63479         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
63480         Update.
63481
63482 2006-10-05  Bruno Haible  <bruno@clisp.org>
63483
63484         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
63485         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
63486         (struct gl_list_implementation): Add fields search_from_to,
63487         indexof_from_to. Remove fields search, indexof.
63488         (gl_list_search): Use the search_from_to method.
63489         (gl_list_search_from, gl_list_search_from_to): New functions.
63490         (gl_list_indexof): Use the indexof_from_to method.
63491         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
63492         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
63493         (gl_list_search_from, gl_list_search_from_to): New functions.
63494         (gl_list_indexof): Use the indexof_from_to method.
63495         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
63496         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
63497         gl_array_indexof. Add start_index, end_index arguments.
63498         (gl_array_search_from_to): Renamed from gl_array_search. Add
63499         start_index, end_index arguments.
63500         (gl_array_remove, gl_array_list_implementation): Update.
63501         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
63502         gl_carray_indexof. Add start_index, end_index arguments.
63503         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
63504         start_index, end_index arguments.
63505         (gl_carray_remove, gl_carray_list_implementation): Update.
63506         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
63507         gl_linked_search. Add start_index, end_index arguments.
63508         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
63509         start_index, end_index arguments.
63510         (gl_linked_remove): Update.
63511         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
63512         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
63513         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
63514         field to 'size_t'.
63515         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
63516         gl_tree_search. Add start_index, end_index arguments.
63517         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63518         start_index, end_index arguments.
63519         (gl_tree_remove): Update.
63520         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
63521         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
63522         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
63523         function.
63524         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
63525         gl_tree_search. Add start_index, end_index arguments.
63526         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63527         start_index, end_index arguments.
63528         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
63529         Update.
63530         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
63531
63532 2006-10-05  Bruno Haible  <bruno@clisp.org>
63533
63534         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
63535
63536         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
63537         fwriteerror_temp): New declarations.
63538         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
63539         (descriptors): New variable.
63540         (cleanup): First, close the descriptors.
63541         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
63542         fclose_temp, fwriteerror_temp): New functions.
63543
63544 2006-10-04  Jim Meyering  <jim@meyering.net>
63545
63546         * lib/fts.c (fts_open): Tiny comment change.
63547
63548 2006-10-04  Bruno Haible  <bruno@clisp.org>
63549
63550         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
63551         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
63552         gl_LOCK_BODY.
63553         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
63554         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
63555         gl_LOCK_EARLY_BODY.
63556         (gl_LOCK): Require gl_LOCK_BODY.
63557
63558 2006-10-04  Bruno Haible  <bruno@clisp.org>
63559
63560         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
63561         (gl_oset_search_atleast): New declaration.
63562         (struct gl_oset_implementation): Add field 'search_atleast'.
63563         (gl_oset_search_atleast): New inline function.
63564         * lib/gl_oset.c (gl_oset_search_atleast): New function.
63565         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
63566         (gl_array_oset_implementation): Update.
63567         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
63568         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
63569         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
63570
63571 2006-10-04  Bruno Haible  <bruno@clisp.org>
63572
63573         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
63574
63575 2006-10-03  Bruno Haible  <bruno@clisp.org>
63576
63577         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
63578         from gl_avltreehash_list_implementation.
63579
63580 2006-10-03  Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/gl_oset.c (gl_oset_add): Fix return type.
63583
63584 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
63585
63586         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
63587
63588 2006-10-02  Eric Blake  <ebb9@byu.net>
63589
63590         * modules/strnlen (Depends-on): Add extensions.
63591
63592 2006-10-02  Eric Blake  <ebb9@byu.net>
63593
63594         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
63595         definition in 2.60+.
63596
63597 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
63598
63599         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
63600         checks.
63601
63602 2006-10-02  Bruno Haible  <bruno@clisp.org>
63603
63604         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
63605         to the AUTOMAKE_OPTIONS.
63606         Reported by Jim Meyering.
63607
63608 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63609
63610         Work around bug in Solaris 10 /proc file system:
63611         /proc/self/fd/NNN/.. isn't the parent directory of
63612         the directory whose file descriptor is NNN.  This needs to
63613         be worked around at run time, not compile time, since a
63614         program might be built on Solaris 8, where things work, and
63615         run on Solaris 10.
63616         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
63617         to use the following interface instead:
63618         (OPENAT_BUFFER_SIZE): New macro.
63619         (openat_proc_name): New function.
63620         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
63621         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
63622         Likewise.
63623         * lib/openat-proc.c: New file.
63624         * modules/openat (Files): Add lib/openat-proc.c.
63625         (Depends-on): Add same-inode, stdbool.
63626         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
63627
63628 2006-09-29  Bruno Haible  <bruno@clisp.org>
63629
63630         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
63631         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
63632         argument. Set stdout_closed before testing for ferror, not after.
63633         (fwriteerror, fwriteerror_no_ebadf): New functions.
63634
63635 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63636
63637         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
63638
63639 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
63640
63641         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
63642         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
63643
63644 2006-09-28  Jim Meyering  <jim@meyering.net>
63645
63646         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
63647         Include <unistd.h>.
63648
63649 2006-09-28  Bruno Haible  <bruno@clisp.org>
63650
63651         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
63652         * modules/linkedhash-list (Depends-on): Likewise.
63653         * modules/rbtreehash-list (Depends-on): Likewise.
63654
63655 2006-09-28  Bruno Haible  <bruno@clisp.org>
63656
63657         * lib/strndup.h: Simplify the redefinition of strndup.
63658         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
63659         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
63660
63661 2006-09-28  Bruno Haible  <bruno@clisp.org>
63662
63663         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
63664         * lib/gl_linkedhash_list.c: Likewise.
63665         * lib/gl_rbtreehash_list.c: Likewise.
63666
63667 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63668
63669         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
63670         getaddrinfo.
63671
63672         * lib/__fpending.h: Don't include <stdio_ext.h> unless
63673         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
63674         it causes <stdio_ext.h> to cause a compile-time error.
63675         Problem reported by Nelson H. F. Beebe.
63676         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
63677         of HAVE_DECL___PENDING.
63678
63679         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
63680         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
63681         declaration.
63682
63683 2006-09-27  Jim Meyering  <jim@meyering.net>
63684
63685         This file could end up with a definition for a function
63686         named __strndup, rather than rpl_strndup on a system with
63687         incomplete weak_alias support.
63688         * lib/strndup.c (strndup): Rename from __strndup.
63689         Remove #defines that used to map __strndup to strndup.
63690         Don't use K&R prototypes.
63691         Remove LIBC-related code, since this file is not sync'd with glibc.
63692         * lib/strndup.h: Revamp, accordingly.
63693         * m4/strndup.m4: Modernize.
63694
63695 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63696
63697         * modules/savewd (Depends-on): Add 'raise'.
63698         * lib/savewd.c: Include <signal.h>, for 'raise'.
63699
63700 2006-09-26  Jim Meyering  <jim@meyering.net>
63701
63702         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
63703         when we detect Darwin 8.7.0's acl_get_file bug.
63704         Rearrange to perform the new (below) run-test while $LIBS
63705         contains any acl-related library.  Set USE_ACL at the end.
63706         (gl_ACL_GET_FILE): New function.
63707
63708 2006-09-26  Eric Blake  <ebb9@byu.net>
63709
63710         * lib/verror.c: Include <config.h> unconditionally.
63711
63712 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
63713
63714         * modules/clock-time (Maintainer): Add self.
63715         * modules/getlogin_r (Depends-on): Add extensions.
63716
63717 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63718
63719         * modules/clock-time: New module.
63720         * modules/nanosleep (Depends-on): Add clock-time.
63721         * modules/gethrxtime (Depends-on): Likewise.
63722         * modules/gettime (Depends-on): Likewise.
63723         * modules/settime (Depends-on): Likewise.
63724
63725         * modules/fts-lgpl: Depend on openat.
63726         * modules/mkancesdirs: Depend on savewd.
63727         * modules/mkdir-p: Likewise.
63728
63729 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63730
63731         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
63732
63733         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
63734         `gl_have_arbitrary_file_name_length_limit' to
63735         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
63736         actually works between configure runs.
63737
63738 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63739             Bruno Haible  <bruno@clisp.org>
63740
63741         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
63742
63743 2006-09-25  Jim Meyering  <jim@meyering.net>
63744
63745         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
63746         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
63747
63748 2006-09-25  Eric Blake  <ebb9@byu.net>
63749
63750         * gnulib-tool (func_import, func_create_testdir): Fix typos in
63751         exec's in 2006-09-18 patch when shuffling fds.
63752
63753 2006-09-25  Bruno Haible  <bruno@clisp.org>
63754
63755         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
63756         Reported by Jim Meyering.
63757
63758 2006-09-24  Jim Meyering  <jim@meyering.net>
63759
63760         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
63761         compare a pointer against a literal "0".  That caused failures with
63762         at least HP-UX's hpcc.
63763
63764 2006-09-22  Simon Josefsson  <jas@extundo.com>
63765
63766         * modules/gc-sha1:
63767         * modules/gc-md4:
63768         * modules/gc-hmac-sha1:
63769         * modules/gc-hmac-md5:
63770         * modules/gc-des:
63771         * modules/gc-arcfour: Distribute more files.
63772
63773 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63774
63775         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
63776         (gl_linked_iterator_from_to): Initialize struct completely.
63777         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
63778         (gl_tree_iterator_from_to): Likewise
63779         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
63780         * lib/gl_array_list.c [lint] (gl_array_iterator)
63781         (gl_array_iterator_from_to): Likewise.
63782         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
63783         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
63784         (gl_carray_iterator_from_to): Likewise.
63785
63786         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
63787         * lib/md4.c (md4_process_block): Remove unused variable.
63788         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
63789         parentheses for clarity.
63790
63791 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63792
63793         * modules/bison-i18n (Depends-on): Add gettext.
63794
63795 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63796
63797         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
63798         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63799         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
63800         also add missing comma that caused broken test.
63801         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
63802         stdlib.h, for `abort'.
63803         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
63804         variables.
63805         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
63806         include unistd.h if present, for `rmdir'.
63807         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
63808         variables.
63809         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
63810         in the process include standard headers for prototypes.
63811         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
63812         gets declared on GNU/Linux.
63813         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
63814         unistd.h, for `rmdir'.
63815         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
63816
63817         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
63818         always true.
63819         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
63820
63821         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
63822
63823 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63824
63825         * gnulib-tool (func_version): Create output all at once.  This
63826         may help avoid triggering unnecessary SIGPIPEs, and at any
63827         rate it doesn't hurt.
63828
63829 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63830             Bruno Haible  <bruno@clisp.org>
63831
63832         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
63833         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
63834         * m4/signed.m4 (bh_C_SIGNED): Likewise.
63835
63836         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
63837         (gl_FUNC_VASPRINTF): Invoke it.
63838
63839 2006-09-22  Bruno Haible  <bruno@clisp.org>
63840
63841         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
63842         getloadavg.c as first argument.
63843
63844 2006-09-22  Bruno Haible  <bruno@clisp.org>
63845
63846         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
63847         at the beginning of the gl_INIT macro.
63848         * modules/getloadavg (configure.ac): Pass $gl_source_base to
63849         gl_GETLOADAVG.
63850
63851 2006-09-22  Bruno Haible  <bruno@clisp.org>
63852
63853         * gnulib-tool (func_create_megatestdir): Don't include the config-h
63854         module.
63855         Suggested by Ralf Wildenhues.
63856
63857 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63858
63859         Import this patch from libc:
63860
63861         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
63862
63863         * lib/regex_internal.c (re_string_reconstruct): Handle
63864         offset < pstr->valid_raw_len && pstr->offsets_needed case.
63865         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
63866         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
63867         re_string_context_at.
63868
63869         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
63870         now requires it.
63871         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
63872         gl_REGEX now does it for us.
63873         (gl_REGEX): Add test taken from
63874         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
63875
63876         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
63877         Check that large offsets work.  Modernize Autoconf usages.
63878         Prefer "yes" to mean a good thing rather than a bad.
63879         Don't put "#define mkstemp" in config.h, as this might interfere
63880         with standard system headers that "#define mkstemp mkstemp64".
63881
63882         * modules/mkstemp (Depends-on): Add extensions, so that
63883         mkstemp is visible on some platforms.
63884         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
63885         (Include): Change to "mkstemp.h" from <stdlib.h>.
63886         (Files): Add mkstemp.h.
63887
63888         * lib/mkstemp.h: New file, since some standard headers
63889         #define mkstemp.
63890         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
63891         Include "mkstemp.h".
63892         Make the _LIBC code resemble glibc original more,
63893         e.g., use K&R style.
63894         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
63895         (mkstemp): Remove, since mkstemp.h does this for us.
63896         * lib/stdlib--.h: Include mkstemp.h.
63897
63898         Import this patch from libc:
63899
63900         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63901
63902         * lib/tempname.c (__gen_tempname): Change attempts_min
63903         into a macro.  Use preprocessor to decide how to initialize
63904         attempts [Coverity CID 67].
63905
63906 2006-09-20  Bruno Haible  <bruno@clisp.org>
63907
63908         * lib/mkdtemp.c: Import from libc.
63909         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63910                 * sysdeps/posix/tempname.c (__gen_tempname): Change
63911                 attempts_min into a macro.  Use preprocessor to decide how to
63912                 initialize attempts [Coverity CID 67].
63913         2001-11-27  Paul Eggert  <eggert@twinsun.com>
63914                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
63915                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
63916
63917 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63918
63919         * gnulib-tool (func_exit): New function, to allow to pass the
63920         exit status portably through the trap.  Use everywhere.
63921         (--help, --version): Signal a write error.
63922         (trap): catch SIGPIPE, for write errors.
63923         Exit at the end of the trap, with the correct exit status.
63924
63925 2006-09-19  Karl Berry  <karl@gnu.org>
63926
63927         * doc/gnulib.texi: note about the license texinfo files.
63928
63929 2006-09-19  Eric Blake  <ebb9@byu.net>
63930
63931         * gnulib-tool: Avoid space-tab.
63932
63933 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63934
63935         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
63936         that prevented coreutils 6.1 from building.  Problem reported
63937         by Petter Reinholdtsen.
63938
63939 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63940
63941         * gnulib-tool (avoidlist): Fix typo that broke options like
63942         --avoid=lock that are used by coreutils bootstrap.
63943
63944 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
63945
63946         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
63947         more systematically.
63948
63949 2006-09-18  Jim Meyering  <jim@meyering.net>
63950
63951         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
63952
63953 2006-09-18  Bruno Haible  <bruno@clisp.org>
63954
63955         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
63956
63957 2006-09-18  Bruno Haible  <bruno@clisp.org>
63958
63959         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
63960         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
63961         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
63962         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
63963         * m4/gettext.m4: Require autoconf >= 2.52.
63964         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
63965         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
63966         of gl_cv_header_inttypes_h.
63967
63968 2006-09-18  Bruno Haible  <bruno@clisp.org>
63969
63970         * lib/javaversion.c: Include configmake.h.
63971
63972 2006-09-18  Bruno Haible  <bruno@clisp.org>
63973
63974         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
63975         avoid that the while loops be executed in a subshell.
63976
63977 2006-09-18  Bruno Haible  <bruno@clisp.org>
63978
63979         * MODULES.html.sh (func_module): Break long lines.
63980         Suggested by Bruce Korb <bkorb@gnu.org>.
63981
63982 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63983
63984         Speed up by a factor of 1.12.
63985         * gnulib-tool (nl): New variable.
63986         (func_import): Rewrite include directive extraction to only read each
63987         directive once.
63988
63989 2006-09-17  Bruno Haible  <bruno@clisp.org>
63990
63991         * modules/javaversion (Makefile.am): Remove DEFS setting.
63992         (Depends-on): Add configmake, for PKGDATADIR definition.
63993
63994 2006-09-17  Bruno Haible  <bruno@clisp.org>
63995
63996         * gnulib-tool (func_create_testdir): Rewrite all files at once.
63997
63998 2006-09-17  Bruno Haible  <bruno@clisp.org>
63999
64000         * gnulib-tool (func_append): New function, stolen from libtool.m4.
64001         (func_modules_transitive_closure, func_modules_add_dummy,
64002         func_modules_to_filelist, func_import, func_create_testdir,
64003         func_create_megatestdir, ...): Use it wherever possible.
64004         Suggested by Ralf Wildenhues.
64005
64006 2006-09-16  Karl Berry  <karl@gnu.org>
64007
64008         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
64009         to avoid sectioning errors.
64010         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
64011         [ifinfo]: blank line after @center-ed titles.
64012         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
64013         Spell FSF address consistently with others.
64014         (These changes approved by rms.)
64015
64016 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64017
64018         Speed up by a factor of 1.61.
64019         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
64020         already checked module names again.
64021
64022 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64023
64024         Speed up by a factor of 1.13.
64025         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
64026         for new_files, and the input to func_add_or_update.
64027
64028 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64029
64030         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
64031         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
64032
64033 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64034
64035         * modules/mkancesdirs (Depends-on): Add fcntl.
64036         * modules/savewd: New file.
64037         * MODULES.html.sh (File system functions): Add savewd.
64038
64039         * modules/configmake (Makefile.am): Add support for the
64040         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
64041
64042 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64043
64044         * m4/savewd.m4: New file.
64045
64046 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64047
64048         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
64049         (dirchownmod): New arg FD.  All callers changed.
64050         Use FD rather than opening the directory ourself, as opening is
64051         now the caller's responsibility.
64052         * lib/dirchownmod.h: Likewise.
64053         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
64054         hosts that require <sys/types.h> before <sys/stat.h>.  Include
64055         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
64056         (test_dir): Remove.
64057         (mkancesdirs): Return length of prefix of FILE that has already
64058         been made, or -2 if there is a child doing the work.  Redo
64059         algorithm so that it is O(N) rather than O(N**2).  Optimize away
64060         ".", and treat ".." specially since it might stray back into
64061         already-created areas.  Use a subprocess if necessary.  New arg
64062         WD; all users changed.  MAKE_DIR function should now return 1
64063         if it creates a directory that is not readable.  Return -2 if
64064         a child process is spun off.
64065         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
64066         Adjust signature to match code.
64067         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
64068         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
64069         all users changed.
64070         * lib/savewd.c, lib/savewd.h: New files.
64071
64072 2006-09-15  Jim Meyering  <jim@meyering.net>
64073
64074         * modules/rename-dest-slash: New module.
64075         * MODULES.html.sh (posix_compat): Add it here.
64076
64077         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
64078
64079 2006-09-15  Jim Meyering  <jim@meyering.net>
64080
64081         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
64082         file.
64083
64084         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
64085
64086 2006-09-15  Jim Meyering  <jim@meyering.net>
64087
64088         * lib/rename-dest-slash.c (has_trailing_slash): Use
64089         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
64090         (rpl_rename_dest_slash): Perform the cheaper trailing slash
64091         test before testing whether SRC is a directory.
64092         Suggestions from Bruno Haible.
64093
64094         Avoid a warning about an unused variable.
64095         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
64096         into the #ifdef block where it's used.
64097
64098         * lib/rename-dest-slash.c: New file.
64099
64100 2006-09-14  Bruno Haible  <bruno@clisp.org>
64101
64102         * lib/allocsa.c: Include <config.h> unconditionally.
64103         * lib/asnprintf.c: Likewise.
64104         * lib/asprintf.c: Likewise.
64105         * lib/c-strcasecmp.c: Likewise.
64106         * lib/c-strcasestr.c: Likewise.
64107         * lib/c-strncasecmp.c: Likewise.
64108         * lib/c-strstr.c: Likewise.
64109         * lib/classpath.c: Likewise.
64110         * lib/clean-temp.c: Likewise.
64111         * lib/concatpath.c: Likewise.
64112         * lib/copy-file.c: Likewise.
64113         * lib/csharpcomp.c: Likewise.
64114         * lib/csharpexec.c: Likewise.
64115         * lib/execute.c: Likewise.
64116         * lib/fatal-signal.c: Likewise.
64117         * lib/findprog.c: Likewise.
64118         * lib/fwriteerror.c: Likewise.
64119         * lib/gl_array_list.c: Likewise.
64120         * lib/gl_array_oset.c: Likewise.
64121         * lib/gl_avltree_list.c: Likewise.
64122         * lib/gl_avltree_oset.c: Likewise.
64123         * lib/gl_avltreehash_list.c: Likewise.
64124         * lib/gl_carray_list.c: Likewise.
64125         * lib/gl_linked_list.c: Likewise.
64126         * lib/gl_linkedhash_list.c: Likewise.
64127         * lib/gl_list.c: Likewise.
64128         * lib/gl_oset.c: Likewise.
64129         * lib/gl_rbtree_list.c: Likewise.
64130         * lib/gl_rbtree_oset.c: Likewise.
64131         * lib/gl_rbtreehash_list.c: Likewise.
64132         * lib/imaxabs.c: Likewise.
64133         * lib/imaxdiv.c: Likewise.
64134         * lib/javacomp.c: Likewise.
64135         * lib/javaexec.c: Likewise.
64136         * lib/javaversion.c: Likewise.
64137         * lib/linebreak.c: Likewise.
64138         * lib/localcharset.c: Likewise.
64139         * lib/lock.c: Likewise.
64140         * lib/mbchar.c: Likewise.
64141         * lib/mbswidth.c: Likewise.
64142         * lib/mkdtemp.c: Likewise.
64143         * lib/pipe.c: Likewise.
64144         * lib/printf-args.c: Likewise.
64145         * lib/printf-parse.c: Likewise.
64146         * lib/progname.c: Likewise.
64147         * lib/progreloc.c: Likewise.
64148         * lib/readlink.c: Likewise.
64149         * lib/sh-quote.c: Likewise.
64150         * lib/stpcpy.c: Likewise.
64151         * lib/stpncpy.c: Likewise.
64152         * lib/strcasecmp.c: Likewise.
64153         * lib/strcasestr.c: Likewise.
64154         * lib/strcspn.c: Likewise.
64155         * lib/striconv.c: Likewise.
64156         * lib/strncasecmp.c: Likewise.
64157         * lib/strnlen1.c: Likewise.
64158         * lib/strstr.c: Likewise.
64159         * lib/strtok_r.c: Likewise.
64160         * lib/tls.c: Likewise.
64161         * lib/tmpdir.c: Likewise.
64162         * lib/unicodeio.c: Likewise.
64163         * lib/unsetenv.c: Likewise.
64164         * lib/vasnprintf.c: Likewise.
64165         * lib/vasprintf.c: Likewise.
64166         * lib/wait-process.c: Likewise.
64167         * lib/xallocsa.c: Likewise.
64168         * lib/xsetenv.c: Likewise.
64169         * lib/xstriconv.c: Likewise.
64170
64171 2006-09-13  Simon Josefsson  <jas@extundo.com>
64172
64173         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
64174         that internally, suggested by Ralf Wildenhues
64175         <Ralf.Wildenhues@gmx.de>.
64176
64177 2006-09-13  Simon Josefsson  <jas@extundo.com>
64178
64179         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
64180         @LIBOBJS@.
64181         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64182
64183 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64184
64185         * lib/_fpending.c: Include <config.h> unconditionally, since we no
64186         longer worry about uses that don't define HAVE_CONFIG_H.
64187         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
64188         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
64189         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
64190         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
64191         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
64192         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
64193         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
64194         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
64195         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
64196         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
64197         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
64198         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
64199         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
64200         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
64201         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
64202         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
64203         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
64204         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
64205         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
64206         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
64207         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
64208         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
64209         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
64210         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
64211         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
64212         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
64213         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
64214         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
64215         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
64216         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
64217         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
64218         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
64219         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
64220         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
64221         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
64222         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
64223         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
64224         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
64225         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
64226         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
64227         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
64228         Likewise.
64229
64230 2006-09-13  Eric Blake  <ebb9@byu.net>
64231
64232         * lib/getopt.c: Fix typo in last commit.
64233
64234 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64235
64236         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
64237         dgettext.
64238
64239 2006-09-12  Jim Meyering  <jim@meyering.net>
64240
64241         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
64242         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
64243         Reported by Nelson H. F. Beebe.
64244
64245 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64246
64247         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
64248         program_invocation_name and program_invocation_short_name are
64249         initialized.
64250         * lib/argp-namefrob.h: Move declarations of program_invocation_name
64251         and program_invocation_short_name to argp.h, so they are visible
64252         to user programs.
64253         * lib/argp.h: Likewise
64254
64255 2006-09-10  Bruno Haible  <bruno@clisp.org>
64256
64257         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64258         m4/inttypes_h.m4, m4/uintmax_t.m4.
64259
64260 2006-09-10  Bruno Haible  <bruno@clisp.org>
64261
64262         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
64263         gl_AC_TYPE_UINTMAX_T.
64264
64265 2006-09-10  Bruno Haible  <bruno@clisp.org>
64266
64267         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
64268
64269 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64270
64271         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
64272         convention.  Text proposed by Bruno Haible.
64273         (struct argp_option): Document the use of N_() wrappers.
64274
64275         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
64276         '\v', and translate the two parts separately, instead of feeding
64277         the whole string to gettext.  This allows to exclude
64278         '\v' from the strings visible to the translator by writing doc
64279         strings as N_("..") "\v" N_("..").
64280
64281 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         * config/srclist.txt: Undo latest change; the bug was fixed.
64284
64285 2006-09-09  Bruno Haible  <bruno@clisp.org>
64286
64287         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
64288         assignments if building a library without libtool.
64289         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
64290         in func_emit_lib_Makefile_am.
64291         (func_import): When building a static library libfoo.a, arrange to
64292         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
64293         (func_create_testdir): Likewise.
64294         * modules/gc (configure.ac, Makefile.am): If building statically,
64295         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
64296         * modules/iconvme (configure.ac, Makefile.am): Likewise.
64297         * modules/striconv (configure.ac, Makefile.am): Likewise.
64298         Based on a suggestion by Ralf Wildenhues.
64299
64300 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64301
64302         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64303         Check for unistd.h too, since Autoconf doesn't assume POSIX.
64304         Also:
64305
64306         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64307         Add year_2050_test to catch glibc bug 2821
64308         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
64309
64310         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64311         Prefer #ifdef to #if.
64312
64313         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
64314         Return from 'main' instead of calling 'exit'.
64315
64316 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64317
64318         * lib/mktime.c (guess_time_tm): Fix bug where mktime
64319         returned the maximum time_t value rather than (time_t) -1.
64320         Problem originally reported by William Bardwell
64321         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
64322
64323         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
64324         Moved to here ...
64325         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
64326         ... from here.
64327
64328 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64329
64330         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
64331         2821 is fixed.
64332
64333 2006-09-08  Jim Meyering  <jim@meyering.net>
64334
64335         Don't make generated files read-only.  That would bother too many
64336         people.  However, do retain the ability to work when targets are
64337         read-only: remove the destination and temporary files before writing
64338         them (when generated via sed or echo), or by using the -f option for
64339         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
64340         * modules/alloca-opt, modules/argz, modules/arpa_inet:
64341         * modules/byteswap, modules/configmake, modules/fcntl:
64342         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
64343         * modules/localcharset, modules/netinet_in, modules/poll:
64344         * modules/stdbool, modules/stdint, modules/sys_select:
64345         * modules/sys_socket, modules/sys_stat, modules/sysexits:
64346
64347 2006-09-08  Jim Meyering  <jim@meyering.net>
64348
64349         Avoid new build failure on FreeBSD 6.0.
64350         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
64351         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
64352         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
64353
64354 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64355
64356         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
64357
64358 2006-09-07  Jim Meyering  <jim@meyering.net>
64359
64360         Fix global typo in last change: use chmod u-w, not chmod u-x.
64361         Spotted by Paul Eggert and Bruce Korb.
64362         * modules/alloca-opt, modules/argz, modules/arpa_inet:
64363         * modules/byteswap, modules/configmake, modules/fcntl:
64364         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
64365         * modules/localcharset, modules/netinet_in, modules/poll:
64366         * modules/stdbool, modules/stdint, modules/sys_select:
64367         * modules/sys_socket, modules/sys_stat, modules/sysexits:
64368
64369 2006-09-06  Jim Meyering  <jim@meyering.net>
64370
64371         Make generated files be read-only.
64372         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
64373         Ensure that each generated file is now read-only.
64374         * modules/argz: Likewise.
64375         * modules/arpa_inet: Likewise.
64376         * modules/byteswap: Likewise.
64377         * modules/configmake: Likewise.
64378         * modules/fcntl: Likewise.
64379         * modules/fnmatch: Likewise.
64380         * modules/getopt: Likewise.
64381         * modules/glob: Likewise.
64382         * modules/inttypes: Likewise.
64383         * modules/netinet_in: Likewise.
64384         * modules/poll: Likewise.
64385         * modules/stdbool: Likewise.
64386         * modules/stdint: Likewise.
64387         * modules/sys_select: Likewise.
64388         * modules/sys_socket: Likewise.
64389         * modules/sys_stat: Likewise.
64390         * modules/sysexits: Likewise.
64391         * modules/localcharset: Same as above, but continue using temporary
64392         file named "t-$@" (why different?) rather than the "$@-t" used
64393         everywhere else.
64394
64395         * modules/sysexits (Makefile.am): Replace literal occurrences
64396         of "sysexit.h" more readable, and more consistent, "$@".
64397
64398 2006-09-06  Bruno Haible  <bruno@clisp.org>
64399
64400         * modules/striconv: New file.
64401         * modules/xstriconv: New file.
64402         * MODULES.html.sh (Internationalization functions): Add striconv,
64403         xstriconv.
64404
64405 2006-09-06  Bruno Haible  <bruno@clisp.org>
64406
64407         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
64408         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
64409         not using libtool correctly.
64410
64411 2006-09-06  Bruno Haible  <bruno@clisp.org>
64412
64413         * lib/striconv.h: New file.
64414         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
64415         iconvstring.c.
64416         * lib/xstriconv.h: New file.
64417         * lib/xstriconv.c: New file.
64418
64419 2006-09-06  Bruno Haible  <bruno@clisp.org>
64420
64421         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64422         lib_..._LDFLAGS.
64423
64424 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64425
64426         * lib/argz_.h: Sync from Libtool.
64427
64428         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
64429                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
64430
64431         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
64432
64433 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
64434
64435         * modules/trim: New file.
64436
64437 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
64438
64439         * lib/trim.h: New file.
64440         * lib/trim.c: New file.
64441
64442 2006-09-05  Bruno Haible  <bruno@clisp.org>
64443
64444         * MODULES.html.sh (String handling): Add trim.
64445
64446 2006-09-04  Karl Berry  <karl@gnu.org>
64447
64448         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
64449         until next release.
64450
64451 2006-09-03  Bruno Haible  <bruno@clisp.org>
64452
64453         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
64454         correctly.
64455
64456 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64457
64458         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
64459         not gl_GETLOADAVG.  Omit unneeded semicolons.
64460         Problems reported by Ralf Wildenhues in
64461         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
64462         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
64463         at the end, which is the usual gnulib style.
64464
64465         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
64466         of doing all the work ourselves.
64467         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
64468         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
64469
64470 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64471
64472         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
64473         Problem reported by Ralf Wildenhues in
64474         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
64475
64476         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
64477         HAVE_STRUCT_STATFS_F_FSTYPENAME.
64478
64479 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64480
64481         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
64482         yesterday's patch by changing test -n to test -z.
64483
64484 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64485
64486         * modules/getloadavg (Files): Add m4/getloadavg.m4.
64487         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
64488         the former is now obsolescent.
64489
64490         * modules/chdir-long (Depends-on): Add fcntl.
64491
64492 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64493
64494         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
64495         obsolescent, and programs should use gnulib instead.
64496         * m4/getloadavg.m4: New file, with contents taken from Autoconf
64497         but with prefixes changed.
64498
64499 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64500
64501         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
64502         or stdbool.h, because they might not exist while configuring.
64503
64504         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
64505         Don't include unistd.h or limits.h; not needed, since chdir-long.h
64506         does that for us.
64507         (O_DIRECTORY): Remove.
64508
64509 2006-08-31  Eric Blake  <ebb9@byu.net>
64510
64511         * gnulib-tool: Don't let emacs change spaces to TAB.
64512
64513 2006-08-31  Bruno Haible  <bruno@clisp.org>
64514
64515         * gnulib-tool: When calling func_import more than once, do it in a
64516         subshell.
64517         Reported by Eric Blake <ebb9@byu.net>.
64518
64519 2006-08-31  Bruno Haible  <bruno@clisp.org>
64520
64521         * gnulib-tool (nl): Remove variable.
64522         (sed_transform_lib_file): Use more robust test for config-h module.
64523         (func_import): Fix typo in 2006-08-25 patch.
64524
64525 2006-08-31  Bruno Haible  <bruno@clisp.org>
64526
64527         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
64528         specified, augment Makefile.am variables instead of assigning them.
64529
64530 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64531
64532         Work around a bug in both the Linux and SunOS 64-bit kernels:
64533         nanosleep mishandles sleeps for longer than 2**31 seconds.
64534         Problem reported by Frank v Waveren in
64535         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64536         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
64537         Check for nanosleep bug.
64538         (LIB_NANOSLEEP): Append clock_gettime library if needed.
64539
64540 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64541
64542         Work around a bug in both the Linux and SunOS 64-bit kernels:
64543         nanosleep mishandles sleeps for longer than 2**31 seconds.
64544         Problem reported by Frank v Waveren in
64545         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64546         * lib/nanosleep.c (BILLION): New constant.
64547         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
64548         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
64549         implementation.
64550
64551 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64552
64553         * modules/nanosleep (Depends-on): Add gettime.
64554
64555 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64556         and Simon Josefsson  <jas@extundo.com>
64557         and Oskar Liljeblad  <oskar@osk.mine.nu>
64558
64559         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
64560         * gnulib-tool (func_import): New license type 'unmodifiable license
64561         text'.
64562         * modules/fdl: Use it.  Longer description.
64563         * module/gpl, module/lgpl: New files.
64564
64565 2006-08-30  Jim Meyering  <jim@meyering.net>
64566
64567         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
64568         shadowing the parameter.
64569
64570 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64571
64572         Sync from Libtool:
64573
64574         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64575
64576         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
64577         sharing with gnulib.  Report by Eric Blake.
64578
64579 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64580
64581         * modules/isapipe: New file.
64582         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
64583
64584 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64585
64586         * modules/configmake (Makefile.am): Add a comment, and omit
64587         the CONFIGMAKE_ prefix from generated macro names.  Suggested
64588         by Bruno Haible.
64589
64590 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64591
64592         * m4/isapipe.m4: New file.
64593
64594 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64595
64596         * lib/isapipe.c, lib/isapipe.h: New files.
64597
64598 2006-08-29  Jim Meyering  <jim@meyering.net>
64599
64600         * modules/configmake (Makefile.am): Make configmake.h depend on
64601         Makefile.  Otherwise, a stale configmake.h could hang around.
64602
64603 2006-08-29  Eric Blake  <ebb9@byu.net>
64604
64605         * lib/error.c (error_at_line, print_errno_message): Match libc, after
64606         resolution of upstream bug 3044.
64607
64608 2006-08-29  Bruno Haible  <bruno@clisp.org>
64609
64610         * modules/localcharset (Depends-on): Add configmake.
64611         (Makefile.am): Remove setting of LIBDIR through DEFS.
64612
64613 2006-08-29  Bruno Haible  <bruno@clisp.org>
64614
64615         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
64616         defined.
64617
64618 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64619
64620         * modules/fcntl: New file.
64621         * modules/chdir-safer (Depends-on): Add fcntl.
64622         * modules/fts: Likewise.
64623         * modules/mkdir-p: Likewise.
64624
64625         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
64626         This undoes the most recent change, since we're now addressing the
64627         problem in a different way.
64628
64629         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
64630         into output, since the output might be called Makefile.am even
64631         if $makefile_name is something different.
64632         (func_import): Use $makefile_am rather than
64633         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
64634         empty.
64635
64636         * modules/inttypes (Files): Add m4/inttypes-h.m4.
64637
64638 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64639
64640         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
64641         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
64642         recent change to stdint.m4, since we're now addressing the problem in a
64643         different way.
64644
64645 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64646
64647         * m4/fcntl_h.m4: New file.
64648
64649 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64650
64651         * lib/fcntl_.h: New file.
64652         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
64653         the fcntl module.
64654         * lib/dirchownmod.c: Likewise.
64655         * lib/fts.c: Likewise.
64656
64657         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
64658         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
64659         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
64660         just before including <inttypes.h>, to avoid circular inclusion.
64661
64662 2006-08-28  Jim Meyering  <jim@meyering.net>
64663
64664         * doc/visibility.texi: Actually read and correct the grammar of the
64665         sentence affected by yesterday's change.
64666
64667 2006-08-28  Eric Blake  <ebb9@byu.net>
64668
64669         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
64670         needs wrapper.
64671
64672 2006-08-28  Eric Blake  <ebb9@byu.net>
64673
64674         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
64675
64676 2006-08-28  Eric Blake  <ebb9@byu.net>
64677
64678         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
64679
64680 2006-08-28  Bruno Haible  <bruno@clisp.org>
64681
64682         * modules/c-strstr: New file, from GNU gettext.
64683         * MODULES.html.sh (String handling): Add c-strstr.
64684
64685 2006-08-28  Bruno Haible  <bruno@clisp.org>
64686
64687         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
64688         macros.
64689         Reported by Eric Blake.
64690
64691 2006-08-28  Bruno Haible  <bruno@clisp.org>
64692
64693         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
64694         (VASNPRINTF): Return a string of length > INT_MAX without failing.
64695         * lib/vasprintf.c: Include errno.h, limits.h.
64696         (EOVERFLOW): New fallback definition.
64697         (vasprintf): Test here whether the string length is > INT_MAX.
64698         * lib/vsnprintf.c: Include errno.h, limits.h.
64699         (EOVERFLOW): New fallback definition.
64700         (vsnprintf): Fix bug when generated string was too long for the buffer.
64701         Test here whether the string length is > INT_MAX.
64702
64703 2006-08-28  Bruno Haible  <bruno@clisp.org>
64704
64705         * lib/inttypes_.h (SCNX*): Remove definitions.
64706         Reported by Eric Blake.
64707
64708 2006-08-28  Bruno Haible  <bruno@clisp.org>
64709
64710         * lib/c-strstr.h: New file, from GNU gettext.
64711         * lib/c-strstr.c: New file, from GNU gettext.
64712
64713 2006-08-28  Bruno Haible  <bruno@clisp.org>
64714
64715         * gnulib-tool: Reorder some statements.
64716
64717 2006-08-28  Bruno Haible  <bruno@clisp.org>
64718
64719         * gnulib-tool: New option --makefile-name.
64720         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
64721         $makefile_name.
64722         (func_import): Write $makefile_name to the cache file, and read it from
64723         there unless explicitly specified. Use $makefile_name as file name
64724         instead of Makefile.am. Adjust the recommendations accordingly.
64725
64726 2006-08-28  Bruno Haible  <bruno@clisp.org>
64727
64728         * gnulib-tool (func_verify_module): Check against misapplying patch.
64729
64730 2006-08-28  Bruno Haible  <bruno@clisp.org>
64731
64732         * gnulib-tool (func_relativize, func_relconcat): New functions.
64733         Give an error if --local-dir is given with --update.
64734         Remove trailing slashes from $local_gnulib_dir.
64735         (func_import): Store the relativized $local_gnulib_dir in
64736         gnulib-cache.m4, and read it from there if not specified explicitly.
64737
64738 2006-08-28  Bruno Haible  <bruno@clisp.org>
64739
64740         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
64741         is the current directory. Respect also $local_gnulib_dir.
64742
64743 2006-08-28  Bruno Haible  <bruno@clisp.org>
64744             Simon Josefsson  <jas@extundo.com>
64745
64746         BeOS portability.
64747         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
64748
64749 2006-08-27  Jim Meyering  <jim@meyering.net>
64750
64751         * doc/visibility.texi: Remove duplicate word: "pointer".
64752
64753 2006-08-26  Bruno Haible  <bruno@clisp.org>
64754
64755         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
64756         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
64757         (Makefile.am): Create inttypes.h from inttypes_.h.
64758         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
64759
64760         * modules/imaxabs: New file.
64761
64762         * modules/imaxdiv: New file.
64763
64764 2006-08-26  Bruno Haible  <bruno@clisp.org>
64765
64766         * m4/inttypes.m4: New file.
64767         * m4/_inttypes_h.m4: Remove file.
64768         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
64769         PRI_MACROS_BROKEN.
64770         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
64771
64772         * m4/imaxabs.m4: New file.
64773
64774         * m4/imaxdiv.m4: New file.
64775
64776 2006-08-26  Bruno Haible  <bruno@clisp.org>
64777
64778         * lib/inttypes_.h: New file.
64779         * lib/inttypes.h: Remove file.
64780         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
64781
64782         * lib/imaxabs.c: New file.
64783
64784         * lib/imaxdiv.c: New file.
64785
64786 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64787
64788         New config-h module, so that "make" output needn't be cluttered
64789         by -DHAVE_CONFIG_H.
64790         * MODULES.html.sh (Support for building libraries and executables):
64791         Add config-h.
64792         * modules/config-h: New file.
64793         * gnulib-tool (nl, sed_transform_lib_file): New vars.
64794         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
64795         the config-h module is used.
64796
64797         New configmake module, so that "make" output needn't be cluttered
64798         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
64799         * MODULES.html.sh (Support for building libraries and executables):
64800         Add configmake.
64801         * modules/configmake: New file.
64802
64803 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64804
64805         * m4/config-h.m4: New file.
64806
64807 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64808
64809         * config/srclist.txt: Add elisp-comp.
64810
64811 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64812
64813         * MODULES.html.sh (Support for building libraries and executables):
64814         Add elisp-comp.
64815         * build-aux/elisp-comp: New file.
64816         * modules/elisp-comp: New file.
64817
64818 2006-08-24  Bruno Haible  <bruno@clisp.org>
64819
64820         * gnulib-tool (func_create_testdir): Use non-default values of
64821         sourcebase and m4base.
64822
64823 2006-08-24  Bruno Haible  <bruno@clisp.org>
64824
64825         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
64826         HTML structure.
64827
64828 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64829
64830         * modules/openat (Depends-on): Add lchown.
64831
64832 2006-08-23  Bruno Haible  <bruno@clisp.org>
64833
64834         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
64835         of gl_LOCK_EARLY instead of gl_LOCK.
64836
64837 2006-08-23  Bruno Haible  <bruno@clisp.org>
64838
64839         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
64840         on OSF/1 to no.
64841         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
64842
64843 2006-08-23  Bruno Haible  <bruno@clisp.org>
64844
64845         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
64846         as unusable.
64847
64848         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
64849         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
64850         (gl_LOCK): New macro.
64851
64852 2006-08-22  Simon Josefsson  <jas@extundo.com>
64853
64854         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
64855         to md5 module.
64856
64857 2006-08-22  Simon Josefsson  <jas@extundo.com>
64858
64859         * MODULES.html.sh: Add "Support for maintaining and release
64860         projects".
64861
64862         * build-aux/gnupload: New file, from coreutils.
64863
64864 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64865
64866         Avoid the need for AC_LIBSOURCES in m4 macros.
64867         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
64868         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
64869         * modules/check-version (EXTRA_DIST): Add check-version.h.
64870         * modules/crc (EXTRA_DIST): Add crc.h.
64871         * modules/des (EXTRA_DIST): Add des.h.
64872         * modules/gc (EXTRA_DIST): Add gc.h.
64873         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
64874         * modules/getline (EXTRA_DIST): Add getline.h.
64875         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
64876         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
64877         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
64878         * modules/md2 (EXTRA_DIST): Add md2.h.
64879         * modules/md4 (EXTRA_DIST): Add md4.h.
64880         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
64881         * modules/read-file (EXTRA_DIST): Add read-file.h.
64882         * modules/readline (EXTRA_DIST): Add readline.h.
64883         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
64884         rijndael-api-fst.h.
64885
64886 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64887
64888         * m4/rijndael.m4 (gl_ARCFOUR):
64889         * m4/arctwo.m4 (gl_ARCTWO):
64890         * m4/check-version.m4 (gl_CHECK_VERSION):
64891         * m4/crc.m4 (gl_CRC):
64892         * m4/des.m4 (gl_DES):
64893         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
64894         * m4/gc.m4 (gl_GC):
64895         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
64896         * m4/getline.m4 (gl_FUNC_GETLINE):
64897         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
64898         * m4/hmac-md5.m4 (gl_HMAC_MD5):
64899         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
64900         * m4/md2.m4 (gl_MD2):
64901         * m4/md4.m4 (gl_MD4):
64902         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
64903         * m4/read-file.m4 (gl_FUNC_READ_FILE):
64904         * m4/readline.m4 (gl_FUNC_READLINE):
64905         * m4/rijndael.m4 (gl_RIJNDAEL):
64906         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64907         to get the necessary .h files and whatnot.
64908
64909 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64910
64911         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
64912         gnulib rather than the other way around.
64913         * config/srclistvars.sh (COREUTILS): Remove.
64914
64915 2006-08-22  Jim Meyering  <jim@meyering.net>
64916
64917         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
64918
64919         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
64920
64921 2006-08-22  Eric Blake  <ebb9@byu.net>
64922
64923         * modules/regexprops-generic: New file.
64924         * MODULES.html.sh (Support for building documentation): List it.
64925
64926 2006-08-22  Eric Blake  <ebb9@byu.net>
64927
64928         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
64929         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
64930         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
64931         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
64932
64933 2006-08-22  Bruno Haible  <bruno@clisp.org>
64934
64935         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
64936         and lib_LTLIBRARIES like the other lib_* variables.
64937
64938 2006-08-22  Bruno Haible  <bruno@clisp.org>
64939
64940         * build-aux/x-to-1.in: New file, from GNU gettext.
64941
64942 2006-08-22  Bruno Haible  <bruno@clisp.org>
64943
64944         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
64945         <utmpx.h> exists.
64946
64947 2006-08-22  Bruno Haible  <bruno@clisp.org>
64948
64949         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
64950         <utmpx.h> exists.
64951
64952 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64953
64954         BeOS portability.
64955         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
64956         exist.
64957         Problem reported by Bruno Haible.
64958
64959 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64960
64961         Avoid the need for AC_LIBSOURCES in m4 macros.
64962         * modules/acl (EXTRA_DIST): Add acl.h.
64963         * modules/argmatch (Files): Add m4/argmatch.m4.
64964         (configure.ac): Add gl_ARGMATCH.
64965         (EXTRA_DIST): Renamed from lib_SOURCES, for
64966         consistency with the other modules.  Remove argmatch.c.
64967         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
64968         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
64969         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
64970         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
64971         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
64972         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
64973         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
64974         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
64975         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
64976         * modules/closeout (EXTRA_DIST): Add closeout.h.
64977         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
64978         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
64979         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
64980         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
64981         dirname.h; remove basename.c and stripslash.c.
64982         * modules/exclude (EXTRA_DIST): Add exclude.h.
64983         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
64984         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
64985         * modules/file-type (EXTRA_DIST): Add file-type.h.
64986         * modules/filemode (EXTRA_DIST): Add filemode.h.
64987         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
64988         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64989         * modules/fpending (EXTRA_DIST): Add __fpending.h.
64990         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
64991         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
64992         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
64993         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
64994         * modules/getdate (EXTRA_DIST): Add getdate.c.
64995         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
64996         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
64997         * modules/getpass (EXTRA_DIST): Add getpass.h.
64998         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
64999         * modules/group-member (EXTRA_DIST): Add group-member.h.
65000         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
65001         * modules/hash (EXTRA_DIST): Add hash.h.
65002         * modules/human (EXTRA_DIST): Add human.h.
65003         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
65004         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
65005         * modules/lchown (EXTRA_DIST): Add lchown.h.
65006         * modules/long-options (EXTRA_DIST): Add long-options.h.
65007         * modules/lstat (EXTRA_DIST): Add lstat.h.
65008         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
65009         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
65010         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
65011         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
65012         * modules/memxor (EXTRA_DIST): Add memxor.h.
65013         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
65014         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
65015         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
65016         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
65017         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
65018         * modules/physmem (EXTRA_DIST): Add physmem.h.
65019         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
65020         * modules/posixver (EXTRA_DIST): Add posixver.h.
65021         * modules/quote (EXTRA_DIST): Add quote.h.
65022         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
65023         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
65024         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
65025         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
65026         regex_internal.h regexec.c.
65027         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
65028         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
65029         * modules/same (EXTRA_DIST): Add same.h.
65030         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
65031         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
65032         * modules/savedir (EXTRA_DIST): Add savedir.h.
65033         * modules/sha1 (EXTRA_DIST): Add sha1.h.
65034         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
65035         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
65036         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
65037         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
65038         * modules/strdup (EXTRA_DIST): Add strdup.h.
65039         * modules/strftime (EXTRA_DIST): Add strftime.h.
65040         * modules/strndup (EXTRA_DIST): Add strndup.h.
65041         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
65042         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
65043         * modules/time_r (EXTRA_DIST): Add time_r.h.
65044         * modules/timespec (EXTRA_DIST): Add timespec.h.
65045         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
65046         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
65047         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
65048         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
65049         * modules/userspec (EXTRA_DIST): Add userspec.h.
65050         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
65051         * modules/utimens (EXTRA_DIST): Add utimens.h.
65052         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
65053         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
65054         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
65055         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
65056         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
65057         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
65058         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
65059         * modules/yesno (EXTRA_DIST): Add yesno.h.
65060
65061 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65062
65063         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
65064
65065         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
65066         * m4/dev-ino.m4, same-inode.m4: Remove.
65067
65068         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
65069         * m4/acl.m4 (AC_FUNC_ACL):
65070         * m4/backupfile.m4 (gl_BACKUPFILE):
65071         * m4/c-strtod.m4 (gl_C99_STRTOLD):
65072         * m4/canon-host.m4 (gl_CANON_HOST):
65073         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65074         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
65075         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
65076         * m4/cloexec.m4 (gl_CLOEXEC):
65077         * m4/close-stream.m4 (gl_CLOSE_STREAM):
65078         * m4/closeout.m4 (gl_CLOSEOUT):
65079         * m4/dirfd.m4 (gl_FUNC_DIRFD):
65080         * m4/dirname.m4 (gl_DIRNAME):
65081         * m4/exclude.m4 (gl_EXCLUDE):
65082         * m4/exitfail.m4 (gl_EXITFAIL):
65083         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
65084         * m4/file-type.m4 (gl_FILE_TYPE):
65085         * m4/filemode.m4 (gl_FILEMODE):
65086         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
65087         * m4/fpending.m4 (gl_FUNC_FPENDING):
65088         * m4/fprintftime.m4 (gl_FPRINTFTIME):
65089         * m4/fts.m4 (gl_FUNC_FTS):
65090         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
65091         * m4/getdate.m4 (gl_GETDATE):
65092         * m4/gethrxtime.m4 (gl_GETHRXTIME):
65093         * m4/getpagesize.m4 (gl_GETPAGESIZE):
65094         * m4/getpass.m4 (gl_FUNC_GETPASS):
65095         * m4/gettime.m4 (gl_GETTIME):
65096         * m4/getugroups.m4 (gl_GETUGROUPS):
65097         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
65098         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
65099         * m4/hard-locale.m4 (gl_HARD_LOCALE):
65100         * m4/hash.m4 (gl_HASH):
65101         * m4/idcache.m4 (gl_IDCACHE):
65102         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
65103         * m4/lchown.m4 (gl_FUNC_LCHOWN):
65104         * m4/long-options.m4 (gl_LONG_OPTIONS):
65105         * m4/lstat.m4 (gl_FUNC_LSTAT):
65106         * m4/md5.m4 (gl_MD5):
65107         * m4/memcasecmp.m4 (gl_MEMCASECMP):
65108         * m4/memcoll.m4 (gl_MEMCOLL):
65109         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
65110         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
65111         * m4/memxor.m4 (gl_MEMXOR):
65112         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
65113         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
65114         * m4/modechange.m4 (gl_MODECHANGE):
65115         * m4/mountlist.m4 (gl_MOUNTLIST):
65116         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65117         * m4/openat.m4 (gl_FUNC_OPENAT):
65118         * m4/pathmax.m4 (gl_PATHMAX):
65119         * m4/physmem.m4 (gl_PHYSMEM):
65120         * m4/posixtm.m4 (gl_POSIXTM):
65121         * m4/posixver.m4 (gl_POSIXVER):
65122         * m4/quote.m4 (gl_QUOTE):
65123         * m4/quotearg.m4 (gl_QUOTEARG):
65124         * m4/readtokens.m4 (gl_READTOKENS):
65125         * m4/readutmp.m4 (gl_READUTMP):
65126         * m4/regex.m4 (gl_REGEX):
65127         * m4/safe-read.m4 (gl_SAFE_READ):
65128         * m4/safe-write.m4 (gl_SAFE_WRITE):
65129         * m4/same.m4 (gl_SAME):
65130         * m4/save-cwd.m4 (gl_SAVE_CWD):
65131         * m4/savedir.m4 (gl_SAVEDIR):
65132         * m4/settime.m4 (gl_SETTIME):
65133         * m4/sha1.m4 (gl_SHA1):
65134         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
65135         * m4/stat-macros.m4 (gl_STAT_MACROS):
65136         * m4/stat-time.m4 (gl_STAT_TIME):
65137         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
65138         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
65139         * m4/strdup.m4 (gl_FUNC_STRDUP):
65140         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
65141         * m4/strndup.m4 (gl_FUNC_STRNDUP):
65142         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
65143         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
65144         * m4/time_r.m4 (gl_TIME_R):
65145         * m4/timespec.m4 (gl_TIMESPEC):
65146         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
65147         * m4/unlinkdir.m4 (gl_UNLINKDIR):
65148         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
65149         * m4/userspec.m4 (gl_USERSPEC):
65150         * m4/utimecmp.m4 (gl_UTIMECMP):
65151         * m4/utimens.m4 (gl_UTIMENS):
65152         * m4/xalloc.m4 (gl_XALLOC):
65153         * m4/xgetcwd.m4 (gl_XGETCWD):
65154         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
65155         * m4/xreadlink.m4 (gl_XREADLINK):
65156         * m4/xstrtod.m4 (gl_XSTRTOD):
65157         * m4/yesno.m4 (gl_YESNO):
65158         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
65159         to get the necessary .h files and whatnot.
65160
65161 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
65162             Bruno Haible  <bruno@clisp.org>
65163
65164         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
65165         /bin/sh understanding of '!' conditional negation.
65166
65167 2006-08-21  Jim Meyering  <jim@meyering.net>
65168
65169         * modules/openat (Depends-on): Really alphabetize.
65170
65171         * modules/acl (Depends-on): Add error and quote.
65172
65173         * check-module (find_included_lib_files): Add at-func.c to the
65174         ok-to-include-more-than-once white list.
65175
65176         * modules/openat (Depends-on): Add lstat.  Alphabetize.
65177
65178 2006-08-21  Bruno Haible  <bruno@clisp.org>
65179
65180         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65181         Emit a pkgdata_DATA variable only if some snippets add contents to it.
65182         Reported by Martin Lambers <marlam@marlam.de>.
65183
65184 2006-08-21  Bruno Haible  <bruno@clisp.org>
65185
65186         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
65187         specify an installation location, don't emit a noinst_LIBRARIES or
65188         noinst_LTLIBRARIES assignment.
65189
65190 2006-08-21  Bruno Haible  <bruno@clisp.org>
65191
65192         BeOS portability.
65193         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
65194         BeOS has mbrtowc() but no <wctype.h>.
65195
65196 2006-08-21  Bruno Haible  <bruno@clisp.org>
65197
65198         BeOS portability.
65199         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
65200         exist.
65201
65202 2006-08-21  Bruno Haible  <bruno@clisp.org>
65203
65204         BeOS portability.
65205         * lib/mbchar.h: Include <wctype.h> only if it exists.
65206
65207 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65208
65209         Remove files that are no longer needed by their respective modules.
65210         * m4/obstack.m4: Remove.
65211         * m4/strerror_r.m4: Remove.
65212         * m4/uint32_t.m4: Remove.
65213         * m4/uintptr_t.m4: Remove.
65214         * m4/ullong_max.m4: Remove.
65215         * m4/xstrtoimax.m4: Remove.
65216         * m4/xstrtoumax.m4: Remove.
65217
65218         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
65219         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
65220         dependencies now capture this.
65221
65222         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
65223         Do not use AC_LIBSOURCES, since gnulib modules now do this.
65224         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
65225         * m4/human.m4 (gl_HUMAN): Likewise.
65226         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
65227         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
65228
65229         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
65230
65231         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
65232         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
65233         stdint.
65234         * m4/human.m4 (gl_HUMAN): Likewise.
65235         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
65236         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
65237         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
65238         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
65239         * m4/xstrtol (gl_XSTRTOL): Likewise.
65240
65241         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
65242         AC_TYPE_LONG_LONG_INT.
65243         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
65244         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
65245         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
65246         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
65247
65248         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
65249         on stdbool.
65250
65251         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
65252         (gl_PREREQ_XSTRTOUL): Remove.
65253
65254         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
65255
65256         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
65257         mode.
65258
65259 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65260
65261         Add and change modules to make it easier for coreutils to use
65262         gnulib-tool.
65263         * modules/backupfile (Files): Remove m4/d-ino.m4.
65264         (Depends-on): Add d-ino.
65265         * modules/cycle-check (Depends-on): Add stdint.
65266         (lib_SOURCES): Add cycle-check.h.
65267         * modules/d-ino: New module.
65268         * modules/d-type: New module.
65269         * modules/error (Files): Remove m4/strerror_r.m4.
65270         * modules/filemode (Files): Add m4/st_dm_mode.m4.
65271         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
65272         m4/inttypes_h.m4, m4/uintmax_t.m4.
65273         (Depends-on): Add stdint.
65274         (lib_SOURCES): Add fsusage.h.
65275         * modules/getcwd (Files): Remove d-ino.m4.
65276         (Depends-on): Add d-ino.
65277         * modules/getndelim2 (Depends-on): Add stdint.
65278         * modules/glob (Files): Remove m4/d-type.m4.
65279         (Depends-on): Add d-type.
65280         * modules/host-os: New module.
65281         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
65282         m4/inttypes_h.m4, m4/uintmax_t.m4.
65283         * Depends-on: Add stdint.
65284         (lib_SOURCES): Add human.h.
65285         * modules/inttostr (Files): Remove m4/intmax_t.m4,
65286         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
65287         m4/uintmax_t.m4, m4/ulonglong.m4.
65288         (Depends-on): Add stdint.
65289         (EXTRA_DIST): Add inttostr.h.
65290         * modules/lchmod: New module.
65291         * modules/link-follow: New module.
65292         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
65293         (Depends-on): Add lchmod.
65294         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
65295         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
65296         (Depends-on): Add stdint.
65297         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
65298         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
65299         (Depends-on): Add stdint.
65300         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
65301         * modules/perl: New module.
65302         * modules/regex (Depends-on): Add stdint.
65303         * modules/rmdir-errno: New module.
65304         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
65305         m4/intmax_t.m4.
65306         (Depends-on): Add stdint.
65307         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
65308         m4/uintmax_t.m4.
65309         (Depends-on): Add stdint.
65310         * modules/unlink-busy: New module.
65311         * modules/utimecmp (Depends-on): Add stdint.
65312         * modules/uptime: New module.
65313         * modules/winsz-ioctl: New module.
65314         * modules/winsz-termios: New module.
65315         * modules/xnanosleep (Depends-on): Add nanosleep.
65316         * modules/ullong_max: Remove.
65317         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
65318         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
65319         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
65320         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
65321         (Depends-on): Add inttypes.
65322         (lib_SOURCES): Add xstrtol.h.
65323         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
65324         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
65325         * MODULES.html.sh: Move 'assert' into the assert section.
65326         Move 'dummy' into the linking section.
65327         Remove ullong_max.
65328         Add section for compatibility checks for POSIX:2001 functions,
65329         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
65330         winsz-ioctl, and winsz-termios into it.
65331         Add lchmod.
65332         Add top-level Misc section and put host-os, perl, and uptime
65333         into it.
65334
65335 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65336
65337         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
65338         now assume the stdint module.  Do not include inttypes.h.
65339         * lib/fsusage.h: Likewise.
65340         * lib/getndelim2.c: Likewise.
65341         * lib/human.h: Likewise.
65342         * lib/inttostr.h: Likewise.
65343         * lib/obstack.c: Likewise.
65344         * lib/regex_internal.h: Likewise.
65345         * lib/tempname.c: Likewise.
65346         * lib/utimecmp.c: Likewise.
65347         * lib/xstrtol.h: Likewise.
65348
65349         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
65350
65351         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
65352         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
65353         * lib/xtime.h: Likewise.
65354
65355 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65356
65357         * modules/openat (Files): Add lib/fchmodat.c.
65358         Fixes problem reported by Jay Youngman.
65359
65360 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65361
65362         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
65363         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
65364
65365 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
65366             Bruno Haible  <bruno@clisp.org>
65367
65368         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
65369         and is a script that invokes bison. Tighten the code. Add comments.
65370
65371 2006-08-18  Jim Meyering  <jim@meyering.net>
65372
65373         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
65374         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
65375         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
65376         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
65377
65378 2006-08-18  Bruno Haible  <bruno@clisp.org>
65379
65380         * modules/bison-i18n: New file.
65381         * MODULES.html.sh (Internationalization functions): Add it.
65382
65383 2006-08-18  Bruno Haible  <bruno@clisp.org>
65384
65385         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
65386         sys/statvfs.h. When getmntinfo was found, check its declaration and
65387         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
65388
65389 2006-08-18  Bruno Haible  <bruno@clisp.org>
65390
65391         * m4/bison-i18n.m4: New file, from bison.
65392
65393 2006-08-18  Bruno Haible  <bruno@clisp.org>
65394
65395         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
65396         (ME_DUMMY): Treat "kernfs" as a dummy.
65397         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
65398
65399 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65400
65401         Update from coreutils.
65402
65403         2006-08-15  Jim Meyering  <jim@meyering.net>
65404
65405         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
65406
65407         2006-01-17  Jim Meyering  <jim@meyering.net>
65408
65409         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
65410
65411         2006-01-11  Jim Meyering  <jim@meyering.net>
65412
65413         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
65414         Check for the lchmod function.
65415
65416 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65417
65418         Update from coreutils.
65419
65420         * lib/__fpending.h: Add copyright notice.
65421         * lib/fprintftime.h: Likewise.
65422         * lib/savedir.c: Use (C) in copyright notice.
65423         * lib/savedir.h: Likewise.
65424
65425         2006-08-15  Jim Meyering  <jim@meyering.net>
65426
65427         * lib/at-func.c: New file, with the logic of all emulated at-functions.
65428         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
65429         in support of the EXPECTED_ERRNO macro.
65430         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
65431         definitions.  Instead, define the appropriate symbols and include
65432         "at-func.c".
65433         * lib/mkdirat.c (mkdirat): Likewise.
65434         * lib/fchmodat.c (fchmodat): Likewise.
65435         (ENOSYS): Remove definition.
65436         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
65437         it.  Don't include "unistd--.h" -- it wasn't ever used.
65438
65439         2006-01-17  Jim Meyering  <jim@meyering.net>
65440
65441         Rewrite fts.c not to change the current working directory,
65442         by using openat, fstatat, fdopendir, etc..
65443
65444         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
65445         (HAVE_OPENAT_SUPPORT): Define.
65446         [_LIBC] (fchdir): Don't undef or define; no longer used.
65447         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
65448         Now, this `function' always succeeds, and consumes its file descriptor
65449         parameter -- so callers must not close such FDs.  Update callers.
65450         (diropen_fd, opendirat, cwd_advance_fd): New functions.
65451         (diropen): Add parameter, SP.  Adjust all callers.
65452         Implement using diropen_fd, rather than open.
65453         (fts_open): Initialize new member, fts_cwd_fd.
65454         Remove fts_rft-setting code.
65455         (fts_close): Close fts_cwd_fd, if necessary.
65456         (__opendir2): Define in terms of opendir or opendirat,
65457         depending on whether the FST_NOCHDIR flag is set.
65458         (fts_build): Since fts_safe_changedir consumes its FD, and since
65459         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
65460         and close the dup'd file descriptor upon failure.
65461         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
65462         (fts_safe_changedir): Tweak semantics to reflect that this function
65463         now calls cwd_advance_fd and hence consumes its FD argument.
65464         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
65465         [struct FTS] (fts_rft): Remove now-unused member.
65466         [struct FTS] (fts_cycle.state): Improve comment.
65467
65468         * lib/openat.c (openat_needs_fchdir): New function.
65469         * lib/openat.h (openat_needs_fchdir): Declare it.
65470
65471 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65472
65473         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
65474         Problem and fix reported by Pádraig Brady in
65475         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
65476
65477 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65478
65479         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
65480
65481 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65482
65483         * lib/memcoll.c (memcoll): Optimize for the common case where the
65484         arguments are bytewise equal.
65485
65486 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65487
65488         * doc/regexprops-generic.texi: Add a copyright notice.
65489
65490 2006-08-15  Bruno Haible  <bruno@clisp.org>
65491
65492         * modules/tmpdir (License): Change to LGPL.
65493
65494 2006-08-15  Bruno Haible  <bruno@clisp.org>
65495
65496         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
65497         module.
65498
65499 2006-08-14  Simon Josefsson  <jas@extundo.com>
65500
65501         * config/srclist.txt: Add gnupload.
65502
65503 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65504
65505         Change copyright notice from LGPL 2 to GPL 2, since that's the
65506         standard form used in the gnulib repository.
65507         * tests/test-lock.c: Likewise.
65508         * tests/test-stdint.c: Likewise.
65509         * tests/test-tls.c: Likewise.
65510
65511         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
65512         prelude-manager.  User shorter URLs for GNU projects, without '?'.
65513         Add copyright notice.
65514
65515         * check-module: Add copyright notice.  Output a copyright
65516         notice if "--version" is specified.
65517         * modules/COPYING: New file.
65518         * tests/test-getaddrinfo.c: Add copyright notice.
65519         * tests/test-verify.c: Likewise.
65520
65521 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65522
65523         Change copyright notice from LGPL 2 to GPL 2, since that's the
65524         standard form used in the gnulib repository.
65525         * lib/lock.c: LGPL -> GPL.
65526         * lib/lock.h: Likewise.
65527         * lib/strnlen1.c: Likewise.
65528         * lib/strnlen1.h: Likewise.
65529         * lib/tls.c: Likewise.
65530         * lib/tls.h: Likewise.
65531         * lib/tmpdir.c: Likewise.
65532
65533         * lib/TODO: Remove; this belongs only in coreutils.
65534
65535 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65536
65537         Add copyright notices to long-enough files that lack them, since
65538         otherwise the files aren't clearly free.  Use the same notice that
65539         getdate.texi already uses.
65540         * doc/alloca-opt.texi: Add copyright notice.
65541         * doc/alloca.texi: Likewise.
65542         * doc/ctime.texi: Likewise.
65543         * doc/functions.texi: Likewise.
65544         * doc/gcd.texi: Likewise.
65545         * doc/gnulib-tool.texi: Likewise.
65546         * doc/inet_ntoa.texi: Likewise.
65547         * doc/visibility.texi: Likewise.
65548
65549         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
65550         * doc/quote.texi: Add copyright notice.
65551
65552         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
65553         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
65554         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
65555         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
65556         is now obsolete, and give a pointer to the Sun list.
65557         Add copyright notice.
65558
65559 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65560
65561         * config/srclistvars.sh: Add copyright notice.
65562
65563 2006-08-14  Eric Blake  <ebb9@byu.net>
65564
65565         Import the following change from libc:
65566
65567         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
65568
65569         Upstream bug 2997.
65570         * lib/misc/error.c: Add space between program name and message if file
65571         name is missing.
65572
65573 2006-08-12  Karl Berry  <karl@gnu.org>
65574
65575         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
65576         remove, these originate in gnulib now.
65577
65578 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65579
65580         * doc/Makefile (standards.info standards.html standards.dvi):
65581         Also depend on make-stds.texi.
65582
65583 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65584
65585         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
65586         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
65587
65588         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
65589         in wchar_t.  Problem reported by Eric Blake.
65590
65591         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
65592         LEN is smaller than SIZE.  Suggested by Bruno Haible.
65593         Also, help the compiler to keep LEN in a register.
65594
65595 2006-08-11  Eric Blake  <ebb9@byu.net>
65596
65597         * users.txt: Sort.  Add tar.
65598
65599 2006-08-11  Bruno Haible  <bruno@clisp.org>
65600
65601         * users.txt: New file.
65602
65603 2006-08-11  Bruno Haible  <bruno@clisp.org>
65604
65605         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
65606         before <wchar.h>. Needed for OSF/1 and BSD/OS.
65607
65608 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65609
65610         * modules/snprintf (Depends-on): Remove minmax.
65611         (Maintainer): Add self and Bruno.
65612
65613 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65614
65615         * lib/.cppi-disable: Add snprintf.h, socket_.h.
65616         * lib/snprintf.c: Include <errno.h> and <limits.h>.
65617         (EOVERFLOW): Define if the system does not.
65618         Do not include "minmax.h"; it wasn't used.
65619         (snprintf): Don't assume size_t promotes to an unsigned type.
65620         Fix bug when generated string was too long for the buffer: the
65621         buffer's contents are supposed to be the initial prefix of the
65622         output.  Don't assume vasnprintf returns EOVERFLOW if the size
65623         exceeds INT_MAX; do the check ourselves.
65624
65625         Import the following changes from libc:
65626
65627         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
65628
65629         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
65630         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
65631         set wc to the byte which couldn't be converted.
65632         (re_string_reconstruct): Don't clear valid_raw_len before calling
65633         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
65634         tip_context using re_string_context_at.
65635
65636         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
65637
65638         * lib/posix/regex.h: g++ still cannot handled [restrict].
65639
65640         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
65641
65642         * lib/posix/regex.h: Remove special handling for VMS.
65643
65644 2006-08-10  Jim Meyering  <jim@meyering.net>
65645
65646         * modules/same-inode: New module.
65647         * modules/dev-ino: New module.
65648         * modules/cycle-check: Depend on these modules, rather than simply
65649         including their .h files.
65650         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
65651         required via m4/cycle-check.m4.
65652         * modules/same: Depend on new same-inode module, rather than
65653         including same-inode.h.
65654         * modules/chdir-safer: New file.
65655
65656         * modules/chown (Depends-on): Add stat-macros.
65657
65658 2006-08-10  Jim Meyering  <jim@meyering.net>
65659
65660         * m4/cycle-check.m4: New file.
65661         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
65662         * m4/dev-ino.m4, m4/same-inode.m4: New files.
65663
65664 2006-08-10  Eric Blake  <ebb9@byu.net>
65665
65666         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
65667         in from original proposal.
65668
65669 2006-08-10  Eric Blake  <ebb9@byu.net>
65670         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
65671
65672         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
65673         namespace.
65674
65675 2006-08-10  Bruno Haible  <bruno@clisp.org>
65676
65677         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
65678         as well.
65679
65680 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65681
65682         Sync from coreutils.
65683
65684         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
65685
65686         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
65687         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
65688
65689 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65690
65691         * modules/restrict: Remove; no longer needed now that we assume
65692         Autoconf 2.59 or later.
65693         * MODULES.html.sh: Remove 'restrict'.
65694         * modules/argp (Depends-on): Remove 'restrict'.
65695         * modules/base64 (Depends-on): Likewise.
65696         * modules/gc (Depends-on): Likewise.
65697         * modules/getaddrinfo (Depends-on): Likewise.
65698         * modules/glob (Depends-on): Likewise.
65699         * modules/inet_ntop (Depends-on): Likewise.
65700         * modules/inet_pton (Depends-on): Likewise.
65701         * modules/memxor (Depends-on): Likewise.
65702         * modules/regex (Depends-on): Likewise.
65703         * modules/strtok_r (Depends-on): Likewise.
65704         * modules/time_r (Depends-on): Likewise.
65705
65706 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65707
65708         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
65709         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
65710         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65711         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
65712         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
65713         * m4/memxor.m4 (gl_MEMXOR): Likewise.
65714         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
65715         gl_C_RESTRICT replaced by AC_C_RESTRICT.
65716
65717         Merge from coreutils.
65718         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
65719         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
65720         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65721         * m4/time_r.m4 (gl_TIME_R): Likewise.
65722
65723 2006-08-09  Karl Berry  <karl@gnu.org>
65724
65725         * config/srclist.txt: no more gettext-tools, per Bruno.
65726
65727 2006-08-08  Eric Blake  <ebb9@byu.net>
65728
65729         * modules/verror: New module.
65730         * MODULES.html.sh: Document it.
65731
65732 2006-08-08  Eric Blake  <ebb9@byu.net>
65733
65734         * lib/verror.h, lib/verror.c: New files.
65735
65736 2006-08-08  Eric Blake  <ebb9@byu.net>
65737
65738         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
65739         verror_at_line output complies with GNU Coding Standards even when
65740         file is NULL.
65741
65742 2006-08-07  Bruno Haible  <bruno@clisp.org>
65743
65744         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
65745         versions of AIX.
65746         Reported by Ralf Wildenhues.
65747
65748 2006-08-07  Bruno Haible  <bruno@clisp.org>
65749
65750         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
65751         in an AC_DEFUN. Needed so that the autoconf snippets can use
65752         AC_REQUIRE.
65753
65754 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65755
65756         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65757         Initialize pkgdata_DATA.
65758         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
65759         overriding it.
65760
65761 2006-08-06  Eric Blake  <ebb9@byu.net>
65762
65763         * lib/error.h: Fold in some upstream changes from glibc.
65764         * lib/error.c: Likewise.
65765
65766 2006-08-04  Bruno Haible  <bruno@clisp.org>
65767
65768         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65769         Make the mostlyclean-local rule depend on mostlyclean-generic.
65770         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
65771
65772 2006-07-31  Bruno Haible  <bruno@clisp.org>
65773
65774         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
65775         <stdlib.h>, <string.h>.
65776
65777 2006-07-30  Bruno Haible  <bruno@clisp.org>
65778
65779         * modules/readlink (License): Change to LGPL.
65780
65781 2006-07-30  Bruno Haible  <bruno@clisp.org>
65782
65783         * modules/javaversion (Makefile.am): Distribute javaversion.java and
65784         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
65785         set PKGDATADIR to point to it.
65786
65787 2006-07-30  Bruno Haible  <bruno@clisp.org>
65788
65789         * modules/csharpexec (configure.ac): Comment out macro invocation.
65790         * modules/javaexec (configure.ac): Likewise.
65791         * modules/javacomp-script (configure.ac): Likewise.
65792
65793         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
65794
65795 2006-07-30  Bruno Haible  <bruno@clisp.org>
65796
65797         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
65798         linked-list.
65799
65800 2006-07-30  Bruno Haible  <bruno@clisp.org>
65801
65802         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
65803
65804 2006-07-30  Bruno Haible  <bruno@clisp.org>
65805
65806         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65807         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
65808         get removed.
65809
65810 2006-07-29  Bruno Haible  <bruno@clisp.org>
65811
65812         Make it possible for gnulib-tool to work with locally modified or
65813         augmented gnulib repositories.
65814         * gnulib-tool (func_usage): Document --local-dir option.
65815         (local_gnulib_dir): New variable.
65816         Handle --local-dir option.
65817         (func_lookup_file): New function.
65818         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
65819         (func_get_description, func_get_filelist, func_get_description,
65820         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
65821         func_get_automake_snippet, func_get_include_directive,
65822         func_get_license, func_get_maintainer): Use func_lookup_file.
65823         (func_import, func_create_testdir): Use func_lookup_file.
65824
65825 2006-07-29  Bruno Haible  <bruno@clisp.org>
65826
65827         * modules/setenv (Depends-on): Add unistd.
65828
65829 2006-07-29  Bruno Haible  <bruno@clisp.org>
65830
65831         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
65832
65833 2006-07-29  Bruno Haible  <bruno@clisp.org>
65834
65835         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
65836
65837 2006-07-29  Bruno Haible  <bruno@clisp.org>
65838
65839         * gnulib-tool (import, update): If there is no Makefile.am, look at
65840         aclocal.m4, instead of bailing out.
65841
65842 2006-07-29  Bruno Haible  <bruno@clisp.org>
65843
65844         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
65845         Categorize the options by when they are useful.
65846
65847 2006-07-29  Bruno Haible  <bruno@clisp.org>
65848
65849         * gnulib-tool (func_usage): Document option --no-libtool.
65850         Handle option --no-libtool.
65851         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
65852         for changed semantics of $libtool variable.
65853         (func_import): Likewise. If libtool is not used, show this through
65854         an option --no-libtool.
65855         (func_create_testdir): Update.
65856
65857 2006-07-29  Bruno Haible  <bruno@clisp.org>
65858
65859         * gnulib-tool (func_import): Extend error message about missing
65860         --doc-base.
65861
65862 2006-07-29  Bruno Haible  <bruno@clisp.org>
65863
65864         * gnulib-tool (func_import): Don't create the $docbase directory if
65865         there is no file to store there.
65866
65867 2006-07-29  Bruno Haible  <bruno@clisp.org>
65868
65869         * gnulib-tool (autoconf_minversion): If a --dir option is given and
65870         relevant, look for configure.ac there, not in the current directory.
65871         Also use a simple search for AC_PREREQ, not "autoconf --trace".
65872
65873 2006-07-29  Bruno Haible  <bruno@clisp.org>
65874
65875         * gnulib-tool (SORT): New variable.
65876         (func_usage): Undocument --assume-autoconf option.
65877         Remove --assume-autoconf option handling.
65878         (autoconf_minversion): Determine from the contents of configure.ac.
65879         (func_import): Remove autoconf_minversion handling.
65880         Suggested by Eric Blake.
65881
65882 2006-07-29  Bruno Haible  <bruno@clisp.org>
65883
65884         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
65885
65886 2006-07-29  Bruno Haible  <bruno@clisp.org>
65887
65888         * config/srclist.txt (*setenv.[ch]): Remove rules.
65889
65890 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65891
65892         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
65893
65894 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65895
65896         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
65897         arpa/inet.h.
65898
65899 2006-07-28  Simon Josefsson  <jas@extundo.com>
65900
65901         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
65902         * modules/inet_pton (Depends-on): Likewise.
65903
65904 2006-07-28  Simon Josefsson  <jas@extundo.com>
65905
65906         * m4/netinet_in_h.m4: New file.
65907
65908 2006-07-28  Simon Josefsson  <jas@extundo.com>
65909
65910         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
65911         #include's.
65912
65913 2006-07-28  Simon Josefsson  <jas@extundo.com>
65914
65915         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
65916         #include's.
65917
65918 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
65919
65920         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
65921         setgid on directories only if they set these bits.
65922         * lib/modechange.h: Remove obsolete comment about masks.
65923
65924 2006-07-28  Eric Blake  <ebb9@byu.net>
65925
65926         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
65927         macro expansion.
65928
65929 2006-07-28  Bruno Haible  <bruno@clisp.org>
65930
65931         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
65932
65933 2006-07-28  Bruno Haible  <bruno@clisp.org>
65934
65935         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
65936
65937 2006-07-28  Bruno Haible  <bruno@clisp.org>
65938
65939         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
65940         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
65941         Define fallbacks.
65942         Avoids link error on FreeBSD 4.x.
65943         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65944
65945         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
65946         encoding.
65947         * lib/mbswidth.c (iswcntrl): Likewise.
65948
65949 2006-07-27  Bruno Haible  <bruno@clisp.org>
65950
65951         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
65952         test.
65953
65954 2006-07-27  Bruno Haible  <bruno@clisp.org>
65955
65956         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
65957         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
65958         defined.
65959
65960 2006-07-26  Eric Blake  <ebb9@byu.net>
65961
65962         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
65963
65964 2006-07-26  Eric Blake  <ebb9@byu.net>
65965
65966         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
65967         like mingw that lack mkstemp.
65968         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
65969         avoid compilation warning on mingw.
65970
65971 2006-07-26  Bruno Haible  <bruno@clisp.org>
65972
65973         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
65974         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
65975         INT_FAST*_MIN, INTPTR_MIN.
65976
65977 2006-07-25  Bruno Haible  <bruno@clisp.org>
65978
65979         * modules/version-etc (Depends-on): Add stdarg.
65980
65981 2006-07-25  Bruno Haible  <bruno@clisp.org>
65982
65983         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
65984         complex commands.
65985
65986 2006-07-25  Bruno Haible  <bruno@clisp.org>
65987
65988         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
65989         defined in <stdarg.h> or config.h.
65990
65991 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65992
65993         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
65994         (gl_STDIO_SAFER): Remove.
65995
65996 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65997
65998         * MODULES.html.sh (File stream based Input/Output):
65999         Add fopen-safer, tmpfile-safer; remove stdio-safer.
66000         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
66001         * modules/fopen-safer, modules/tmpfile-safer: New files.
66002         * modules/stdio-safer: Remove.
66003
66004 2006-07-24  Bruno Haible  <bruno@clisp.org>
66005
66006         * modules/tmpdir: New file.
66007         * MODULES.html.sh (File system functions): Add it.
66008
66009 2006-07-24  Bruno Haible  <bruno@clisp.org>
66010
66011         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
66012         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
66013
66014 2006-07-24  Bruno Haible  <bruno@clisp.org>
66015
66016         * modules/clean-temp: New file.
66017
66018 2006-07-24  Bruno Haible  <bruno@clisp.org>
66019
66020         * m4/tmpdir.m4: New file, from GNU gettext.
66021
66022 2006-07-24  Bruno Haible  <bruno@clisp.org>
66023
66024         * lib/tmpdir.h: New file, from GNU gettext.
66025         * lib/tmpdir.c: New file, from GNU gettext.
66026
66027 2006-07-24  Bruno Haible  <bruno@clisp.org>
66028
66029         * lib/clean-temp.h: New file, from GNU gettext.
66030         * lib/clean-temp.c: New file, from GNU gettext.
66031
66032 2006-07-23  Eric Blake  <ebb9@byu.net>
66033
66034         * modules/stdio-safer (Files): Add tmpfile-safer.c.
66035         (Depends-on): Add binary-io.
66036
66037 2006-07-23  Eric Blake  <ebb9@byu.net>
66038
66039         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
66040
66041 2006-07-23  Eric Blake  <ebb9@byu.net>
66042
66043         * lib/tmpfile-safer.c: New file.
66044         * lib/stdio-safer.h (fopen_safer): Add prototype.
66045         * lib/stdio--.h (tmpfile): Make safer.
66046
66047 2006-07-23  Bruno Haible  <bruno@clisp.org>
66048
66049         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
66050         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
66051         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
66052         gl_linked_remove_at): Use it.
66053
66054 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66055         and Simon Josefsson <jas@extundo.com>
66056
66057         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
66058
66059         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
66060
66061 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66062
66063         * modules/close-stream: New file.
66064         * modules/closeout (Description): Make it clear that it exits
66065         with a diagnostic on error.
66066         (Depends-on): Add close-stream.  Remove fpending, stdbool.
66067         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
66068
66069 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66070
66071         * m4/close-stream.m4: New file.
66072
66073 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66074
66075         * lib/close-stream.c, lib/close-stream.h: New files.
66076
66077 2006-07-22  Bruno Haible  <bruno@clisp.org>
66078
66079         Merge from GNU gettext 0.15.
66080
66081         2006-05-01  Bruno Haible  <bruno@clisp.org>
66082
66083                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
66084
66085         2006-07-22  Bruno Haible  <bruno@clisp.org>
66086
66087                 * modules/javaversion: New file.
66088                 * MODULES.html.sh (Java): Add javaversion.
66089
66090         2006-03-12  Bruno Haible  <bruno@clisp.org>
66091
66092                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
66093
66094         2005-12-04  Bruno Haible  <bruno@clisp.org>
66095
66096                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
66097                 (untested).
66098
66099         2006-06-21  Bruno Haible  <bruno@clisp.org>
66100
66101                 Avoid warnings from recent versions of mcs.
66102                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
66103                 -o, -L, -r any more. Use options documented since mcs-1.0
66104                 instead. Similarly for -g.
66105
66106         2005-12-04  Bruno Haible  <bruno@clisp.org>
66107
66108                 * build-aux/csharpcomp.sh.in: Suffix for resources is
66109                 .resources, not .resource.
66110
66111         2005-07-09  Bruno Haible  <bruno@clisp.org>
66112
66113                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
66114                 add a .dll suffix.
66115                 Reported by Mark Junker <mjscod@gmx.de>.
66116
66117         2006-07-22  Bruno Haible  <bruno@clisp.org>
66118
66119                 * modules/gettext: Upgrade to gettext-0.15.
66120                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
66121                 m4/visibility.m4.
66122                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
66123
66124 2006-07-22  Bruno Haible  <bruno@clisp.org>
66125
66126         Merge from GNU gettext 0.15.
66127
66128         2006-03-25  Bruno Haible  <bruno@clisp.org>
66129
66130                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
66131
66132         2006-07-21  Bruno Haible  <bruno@clisp.org>
66133
66134                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
66135                 "1.1".
66136
66137         2006-05-09  Bruno Haible  <bruno@clisp.org>
66138
66139                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
66140                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
66141                 for the conftestver execution.
66142
66143         2006-05-01  Bruno Haible  <bruno@clisp.org>
66144
66145                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
66146                 optional target-version argument. Verify that the compiler
66147                 groks source of the specified source-version, or add -source
66148                 option as necessary. Verify that the compiler produces
66149                 bytecode in the specified target-version, or add -target and
66150                 -source options as necessary. Make the result of the test
66151                 available as variable CONF_JAVAC. Also log error output in
66152                 config.log.
66153
66154         2006-03-11  Bruno Haible  <bruno@clisp.org>
66155
66156                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
66157
66158         2006-05-09  Bruno Haible  <bruno@clisp.org>
66159
66160                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
66161                 CLASSPATH_SEPARATOR to a semicolon.
66162
66163         2006-03-12  Bruno Haible  <bruno@clisp.org>
66164
66165                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
66166                 available as variable CONF_JAVA, for subsequent autoconf
66167                 tests. Also log error output in config.log.
66168
66169         2006-07-19  Bruno Haible  <bruno@clisp.org>
66170
66171                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
66172                 that getline works on glibc2 systems. Needed to avoid trouble
66173                 in relocatable.c.
66174                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
66175
66176         2005-12-04  Bruno Haible  <bruno@clisp.org>
66177
66178                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
66179                 launcher (untested).
66180
66181         2005-12-04  Bruno Haible  <bruno@clisp.org>
66182
66183                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
66184
66185         2006-07-22  Bruno Haible  <bruno@clisp.org>
66186
66187                 * gettext.m4: Update from GNU gettext-0.15.
66188                 * nls.m4: Likewise.
66189                 * po.m4: Likewise.
66190                 * inttypes-pri.m4: Likewise.
66191                 * inttypes-h.m4: Renamed from inttypes.m4.
66192                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
66193
66194 2006-07-22  Bruno Haible  <bruno@clisp.org>
66195
66196         Merge from GNU gettext 0.15.
66197
66198         2005-07-05  Bruno Haible  <bruno@clisp.org>
66199
66200                 * printf-args.c (printf_fetchargs): Work around broken
66201                 definition of wint_t on mingw.
66202
66203         2005-02-12  Bruno Haible  <bruno@clisp.org>
66204
66205                 * xallocsa.h: Add extern "C" for C++.
66206
66207         2006-05-17  Bruno Haible  <bruno@clisp.org>
66208
66209                 Cygwin portability.
66210                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
66211
66212         2006-04-30  Bruno Haible  <bruno@clisp.org>
66213
66214                 * progreloc.c: Include <mach-o/dyld.h> if available.
66215                 (find_executable): Use _NSGetExecutablePath when possible.
66216
66217         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66218
66219                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
66220                 function.
66221
66222         2005-12-29  Bruno Haible  <bruno@clisp.org>
66223
66224                 * progreloc.c (set_program_name_and_installdir): Fix
66225                 compilation error.
66226
66227         2005-12-04  Bruno Haible  <bruno@clisp.org>
66228
66229                 Cygwin portability.
66230                 * progreloc.c: Include <windows.h> also on Cygwin.
66231                 (find_executable): Add support for Cygwin.
66232                 (set_program_name_and_installdir): Handle also platforms with
66233                 nonempty EXEEXT.
66234
66235         2006-07-11  Bruno Haible  <bruno@clisp.org>
66236
66237                 * javacomp.c: Fix a comment.
66238                 Reported by Jim Meyering.
66239
66240         2006-04-30  Bruno Haible  <bruno@clisp.org>
66241
66242                 * javacomp.h (compile_java_class): Add source_version,
66243                 target_version arguments.
66244                 * javacomp.c: Rewritten to choose only a compiler that
66245                 respects the specified source_version and target_version.
66246
66247         2006-06-27  Bruno Haible  <bruno@clisp.org>
66248
66249                 Assume correct S_ISDIR macro.
66250                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
66251
66252         2006-07-22  Bruno Haible  <bruno@clisp.org>
66253
66254                 * javaversion.h: New file, from GNU gettext.
66255                 * javaversion.c: New file, from GNU gettext.
66256                 * javaversion.java: New file, from GNU gettext.
66257                 * javaversion.class: New file, from GNU gettext.
66258
66259         2006-05-17  Bruno Haible  <bruno@clisp.org>
66260
66261                 Cygwin portability.
66262                 * javaexec.c (execute_java_class): Test for jview program
66263                 also on Cygwin.
66264
66265         2006-04-09  Bruno Haible  <bruno@clisp.org>
66266
66267                 * fatal-signal.c: Don't include string.h.
66268                 (at_fatal_signal): Use a copying loop instead of memcpy.
66269
66270         2005-12-04  Bruno Haible  <bruno@clisp.org>
66271
66272                 * csharpexec.c: Add support for 'clix' launcher (untested).
66273                 (execute_csharp_using_sscli): New function.
66274                 (execute_csharp_program): Call it.
66275
66276         2006-06-21  Bruno Haible  <bruno@clisp.org>
66277
66278                 Avoid warnings from recent versions of mcs.
66279                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
66280                 -o, -L, -r any more. Use options documented since mcs-1.0
66281                 instead. Similarly for -g.
66282
66283         2005-07-09  Bruno Haible  <bruno@clisp.org>
66284
66285                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
66286                 add a .dll suffix.
66287                 Reported by Mark Junker <mjscod@gmx.de>.
66288
66289         2006-06-17  Bruno Haible  <bruno@clisp.org>
66290
66291                 * config.charset: Update for NetBSD 3.0.
66292
66293         2006-05-17  Bruno Haible  <bruno@clisp.org>
66294
66295                 Cygwin portability.
66296                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
66297
66298         2006-05-16  Bruno Haible  <bruno@clisp.org>
66299
66300                 * localcharset.c [CYGWIN]: Include <windows.h>.
66301                 (get_charset_aliases): For Cygwin, return the same CPxxx
66302                 aliases list as under WIN32.
66303                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
66304                 the environment variables. Fall back to GetACP().
66305
66306         2006-04-05  Bruno Haible  <bruno@clisp.org>
66307
66308                 * config.charset: Update Juan Manuel Guerrero's address.
66309
66310         2005-02-12  Bruno Haible  <bruno@clisp.org>
66311
66312                 * allocsa.h: Add extern "C" for C++.
66313
66314         2005-02-10  Bruno Haible  <bruno@clisp.org>
66315
66316                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
66317                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
66318
66319         2006-07-22  Bruno Haible  <bruno@clisp.org>
66320
66321                 * gettext.h: Update to GNU gettext-0.15.
66322
66323 2006-07-22  Bruno Haible  <bruno@clisp.org>
66324
66325         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
66326         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
66327         lib-prefix.m4, longdouble.m4, ssize_t.m4.
66328
66329 2006-07-21  Eric Blake  <ebb9@byu.net>
66330
66331         * modules/stdlib-safer: New file.
66332         * MODULES.html.sh (File stream based Input/Output): Add
66333         stdlib-safer.
66334
66335 2006-07-21  Eric Blake  <ebb9@byu.net>
66336
66337         * lib/stdlib-safer.h: New file from coreutils, required by
66338         stdlib--.h.
66339
66340 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
66341
66342         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
66343
66344 2006-07-20  Bruno Haible  <bruno@clisp.org>
66345
66346         * gnulib-tool: Recognize new option --assume-autoconf.
66347         (autoconf_minversion): New variable.
66348         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
66349
66350 2006-07-20  Bruno Haible  <bruno@clisp.org>
66351
66352         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
66353
66354 2006-07-19  Derek R. Price  <derek@ximbiot.com>
66355
66356         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
66357         Reindent and repaginate.
66358
66359 2006-07-19  Derek Price  <derek@ximbiot.com>
66360
66361         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
66362         Correct grammar.
66363
66364 2006-07-17  Bruno Haible  <bruno@clisp.org>
66365
66366         * modules/list: New file.
66367         * modules/array-list: New file.
66368         * modules/carray-list, modules/carray-list-tests: New files.
66369         * modules/linked-list, modules/linked-list-tests: New files.
66370         * modules/avltree-list, modules/avltree-list-tests: New files.
66371         * modules/rbtree-list, modules/rbtree-list-tests: New files.
66372         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
66373         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
66374         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
66375         * modules/oset: New file.
66376         * modules/array-oset: New file.
66377         * modules/avltree-oset, modules/avltree-oset-tests: New files.
66378         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
66379         * tests/test-carray_list.c: New file.
66380         * tests/test-linked_list.c: New file.
66381         * tests/test-avltree_list.c: New file.
66382         * tests/test-rbtree_list.c: New file.
66383         * tests/test-linkedhash_list.c: New file.
66384         * tests/test-avltreehash_list.c: New file.
66385         * tests/test-rbtreehash_list.c: New file.
66386         * tests/test-avltree_oset.c: New file.
66387         * tests/test-rbtree_oset.c: New file.
66388         * MODULES.html.sh (Container data structures): New section.
66389
66390 2006-07-17  Bruno Haible  <bruno@clisp.org>
66391
66392         * m4/gl_list.m4: New file.
66393
66394 2006-07-17  Bruno Haible  <bruno@clisp.org>
66395
66396         * lib/gl_list.h: New file.
66397         * lib/gl_list.c: New file.
66398         * lib/gl_array_list.h: New file.
66399         * lib/gl_array_list.c: New file.
66400         * lib/gl_carray_list.h: New file.
66401         * lib/gl_carray_list.c: New file.
66402         * lib/gl_linked_list.h: New file.
66403         * lib/gl_linked_list.c: New file.
66404         * lib/gl_anylinked_list1.h: New file.
66405         * lib/gl_anylinked_list2.h: New file.
66406         * lib/gl_avltree_list.h: New file.
66407         * lib/gl_avltree_list.c: New file.
66408         * lib/gl_anyavltree_list1.h: New file.
66409         * lib/gl_anyavltree_list2.h: New file.
66410         * lib/gl_rbtree_list.h: New file.
66411         * lib/gl_rbtree_list.c: New file.
66412         * lib/gl_anyrbtree_list1.h: New file.
66413         * lib/gl_anyrbtree_list2.h: New file.
66414         * lib/gl_anytree_list1.h: New file.
66415         * lib/gl_anytree_list2.h: New file.
66416         * lib/gl_linkedhash_list.h: New file.
66417         * lib/gl_linkedhash_list.c: New file.
66418         * lib/gl_anyhash_list1.h: New file.
66419         * lib/gl_anyhash_list2.h: New file.
66420         * lib/gl_avltreehash_list.h: New file.
66421         * lib/gl_avltreehash_list.c: New file.
66422         * lib/gl_rbtreehash_list.h: New file.
66423         * lib/gl_rbtreehash_list.c: New file.
66424         * lib/gl_anytreehash_list1.h: New file.
66425         * lib/gl_anytreehash_list2.h: New file.
66426
66427         * lib/gl_oset.h: New file.
66428         * lib/gl_oset.c: New file.
66429         * lib/gl_array_oset.h: New file.
66430         * lib/gl_array_oset.c: New file.
66431         * lib/gl_avltree_oset.h: New file.
66432         * lib/gl_avltree_oset.c: New file.
66433         * lib/gl_rbtree_oset.h: New file.
66434         * lib/gl_rbtree_oset.c: New file.
66435         * lib/gl_anytree_oset.h: New file.
66436
66437 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66438
66439         * m4/mkancesdirs.m4: New file.
66440         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
66441         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
66442         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
66443         it.
66444
66445 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66446
66447         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
66448         * lib/mkancesdirs.h: New files.
66449         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
66450         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
66451         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
66452         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
66453         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
66454         callers changed.  Revamp internals significantly, by not
66455         attempting to create directories that are temporarily more
66456         permissive than the final results.  Do not attempt to use
66457         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
66458         This removes some race conditions, fixes some bugs, and simplifies
66459         things.  Use new dirchownmod function to do owner and mode changes.
66460         * lib/mkdir-p.h: Likewise.
66461         * lib/modechange.c (octal_to_mode): New function.
66462         (struct mode_change): New member mentioned.
66463         (make_node_op_equals): New arg mentioned.  All callers changed.
66464         (mode_compile): Keep track of which mode bits the user has explicitly
66465         mentioned.
66466         (mode_adjust): New arg DIR, so that we implement the X op correctly.
66467         New arg PMODE_BITS, to keep track of which mode bits the user
66468         mentioned; it treats S_ISUID and S_ISGID speciall.
66469         All callers changed.
66470         * lib/modechange.h: Likewise.
66471
66472 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66473
66474         * MODULES.html.sh: Add mkancestors.
66475         * modules/mkancesdirs: New module.
66476         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
66477         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
66478         The chdir-safer and afs files are now orphans; I'll remove them
66479         unless someone speaks up.
66480         Add lib/dirchownmod.c, lib/dirchownmod.h.
66481         (Depends-on): Remove alloca, chown, save-cwd, dirname.
66482         Add lchown, mkancesdirs.
66483         (Maintainer): Add self.
66484
66485 2006-07-15  Karl Berry  <karl@gnu.org>
66486
66487         * gnulib-tool: help message wording/arrangement.
66488
66489 2006-07-14  Simon Josefsson  <jas@extundo.com>
66490
66491         * doc/gnulib.texi (Libtool and Windows): New section.
66492
66493 2006-07-12  Simon Josefsson  <jas@extundo.com>
66494
66495         * modules/gendocs (License): Fix license, approved by Karl.
66496
66497 2006-07-12  Eric Blake  <ebb9@byu.net>
66498
66499         * MODULES.html.sh: Add gendocs.
66500
66501 2006-07-11  Eric Blake  <ebb9@byu.net>
66502
66503         * modules/fdl: New module, to install doc/fdl.texi.
66504         * MODULES.html.sh: Add new section for documentation modules.
66505         * gnulib-tool: Avoid space-tab.
66506         (--doc-base): New option, to manage files from doc.
66507
66508 2006-07-11  Eric Blake  <ebb9@byu.net>
66509
66510         * m4/absolute-header.m4: Fix comments to match recent change.
66511
66512 2006-07-11  Eric Blake  <ebb9@byu.net>
66513
66514         * gnulib-tool: List --doc-base before --tests-base.
66515
66516 2006-07-11  Derek R. Price  <derek@ximbiot.com>
66517
66518         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
66519
66520 2006-07-11  Bruno Haible  <bruno@clisp.org>
66521
66522         * README: Mention where to put documentation.
66523
66524 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66525
66526         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
66527
66528 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66529
66530         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
66531         to stdint.m4.
66532
66533 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66534
66535         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
66536         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
66537         "no/such/file/stdint.h" when there is no such file, so that
66538         the resulting C code can be parsed by dodgy compilers.
66539         Problems reported by Bob Proulx.
66540
66541 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66542
66543         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
66544         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66545         macros into the GNU _D_EXACT_NAMLEN.
66546         * lib/savedir.c:  Likewise.
66547         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
66548
66549 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66550         and Paul Eggert  <eggert@cs.ucla.edu>
66551
66552         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
66553         * m4/savedir.m4:
66554         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66555         macros into the GNU _D_EXACT_NAMLEN.
66556
66557 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66558
66559         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
66560         around the absolute name, to work around a problem with the HP-UX
66561         11.23 native C compiler, reported by Bob Proulx.
66562
66563 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * doc/maintain.texi, make-stds.texi: Sync from
66566         <http://savannah.gnu.org/projects/gnustandards>.
66567
66568 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66569
66570         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
66571
66572 2006-07-09  Jim Meyering  <jim@meyering.net>
66573
66574         * m4/glob.m4: Remove a doubled word in a comment.
66575
66576 2006-07-09  Jim Meyering  <jim@meyering.net>
66577
66578         * lib/argp-pv.c: Remove a doubled word in a comment.
66579         * lib/check-version.c (check_version): Likewise.
66580         * lib/javacomp.c (compile_java_class): Likewise.
66581
66582 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66583
66584         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
66585         for the benefit of people using Autoconf 2.60.  If you want to
66586         support older Autoconf versions you can copy m4/onceonly_2_57.m4
66587         (or m4/onceonly.m4, if pre-2.57) manually.
66588
66589 2006-07-08  Jim Meyering  <jim@meyering.net>
66590
66591         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
66592         comment.
66593         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
66594         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
66595         comment.
66596
66597 2006-07-08  Jim Meyering  <jim@meyering.net>
66598
66599         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
66600
66601 2006-07-07  Simon Josefsson  <jas@extundo.com>
66602
66603         * tests/test-crc.c: Change expected crc value, the test vector
66604         were probably computed using the old broken crc.c?
66605
66606 2006-07-06  Simon Josefsson  <jas@extundo.com>
66607
66608         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
66609         now the canonical place for the M4 file).
66610
66611         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
66612         from the sys_socket dependency now.
66613
66614         * modules/inet_pton (Files): Ditto.
66615
66616         * modules/inet_ntop (Files): Ditto.
66617
66618 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66619
66620         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
66621         not gl_PREREQ_GETUSERSHELL.
66622
66623 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66624
66625         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
66626         with only one argument, for Autoconf 2.60.
66627         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
66628         expand to nothing, so add a shell command to avoid syntax error.
66629         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
66630
66631 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66632
66633         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
66634
66635 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66636
66637         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
66638         no longer needed.  Check for isblank decl.
66639         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
66640         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
66641         of existence.
66642
66643 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66644
66645         * lib/getloadavg.c: Use __VMS, not VMS.
66646         * lib/getopt.c: Likewise.
66647         * lib/getpagesize.h: Likewise.
66648         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
66649         and probably does not work.
66650
66651 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66652
66653         * lib/.cppi-disable: Add wcwidth.
66654         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
66655         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
66656         (ISGRAPH): Remove.  All uses changed to isgraph.
66657         (FOLD) [!defined _LIBC]: Remove special case.
66658         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
66659         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
66660         HAVE_ISBLANK.
66661         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
66662         case.
66663
66664 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66665
66666         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
66667         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
66668         brackets.  Other minor changes to suppress some compiler
66669         warnings.
66670
66671 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66672         and Paul Eggert  <eggert@cs.ucla.edu>
66673
66674         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
66675         of invoking obsolescent AC_HEADER_DIRENT macro.
66676         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
66677         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
66678         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
66679         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
66680         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
66681         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66682         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
66683         * m4/readdir.m4: Remove; no longer needed.
66684
66685 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66686         and Paul Eggert  <eggert@cs.ucla.edu>
66687
66688         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
66689         Don't worry about this obsolete case any more.
66690         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
66691         directories.
66692         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
66693         worry about this obsolete case any more.
66694         * lib/fts.c: Likewise.
66695         * lib/getcwd.c: Likewise.
66696         * lib/glob.h: Likewise.
66697         * lib/savedir.c: Likewise.
66698
66699 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66700
66701         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
66702         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
66703         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
66704         needed.
66705         All uses removed.
66706         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66707         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66708         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
66709         needed.
66710         * m4/getdate.m4 (gl_GETDATE): Likewise.
66711         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66712         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66713         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66714         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66715         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66716         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66717         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
66718         needed.
66719
66720 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66721
66722         * lib/memcasecmp.c: Include <limits.h>.
66723         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
66724         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
66725         Don't assume isdigit succeeds only on '0' through '9'.
66726
66727 2006-07-05  Eric Blake  <ebb9@byu.net>
66728
66729         * modules/getaddrinfo (Depends-on): Add snprintf.
66730
66731 2006-07-05  Eric Blake  <ebb9@byu.net>
66732
66733         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
66734         to avoid 'header present but could not be compiled' on cygwin.
66735
66736 2006-07-05  Eric Blake  <ebb9@byu.net>
66737
66738         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
66739         missing from netdb.h.
66740         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
66741
66742 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66743
66744         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
66745         no longer needed.
66746         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
66747         * m4/getdate.m4 (gl_GETDATE): Likewise.
66748         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66749         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66750         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66751         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66752         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66753
66754 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66755
66756         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
66757         All uses of is_space replaced by isspace.
66758         * lib/exit.h: Don't talk about STDC_HEADERS.
66759         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
66760         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
66761         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
66762         replaced by isprint etc.
66763         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
66764         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66765         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
66766         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
66767         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
66768         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66769
66770 2006-07-05  Bruno Haible  <bruno@clisp.org>
66771
66772         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
66773         the function exists, before testing against AIX.
66774         Reported by Martin Lambers <marlam@marlam.de>.
66775
66776 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66777
66778         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
66779         From Mark D. Baushke.
66780
66781 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66782
66783         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
66784         to the absolute name, not just one, to bypass Sun C 5.8's
66785         "warning: #include of /usr/include/... may be non-portable".
66786
66787 2006-07-04  Eric Blake  <ebb9@byu.net>
66788
66789         * modules/dirname-tests: New test module.
66790         * tests/test-dirname.c: New file, replacing dirname.c
66791         TEST_DIRNAME section that was recently deleted.
66792
66793 2006-07-04  Bruno Haible  <bruno@clisp.org>
66794
66795         Assume ANSI C header files and <ctype.h> functions.
66796         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
66797         (mbsnwidth): Use isprint, iscntrl instead.
66798
66799 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66800
66801         Merge from coreutils.
66802         * MODULES.html.sh: Add xstrtold.
66803         * modules/xstrtold: New file.
66804         * modules/cycle-check (Files): Add lib/same-inode.h.
66805         * modules/dirname (Files): Add m4/double-slash-root.m4.
66806         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
66807         * modules/mkdir-p (Files): Add lib/same-inode.h.
66808         * modules/same (Files): Add lib/same-inode.h.
66809
66810 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66811
66812         * m4/absolute-header.m4: Renamed from full-header-path.m4.
66813         This is to keep the terminology clean; POSIX talks about
66814         "absolute pathnames", not "full pathnames", but the GNU
66815         Coding Standards say to use "path" for something else;
66816         so use "absolute" to keep both sides happy.
66817         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
66818         Set gl_absolute_header, not gl_full_header_path.
66819         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
66820         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
66821         All uses changed.
66822
66823         Merge from coreutils.
66824
66825         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66826
66827         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
66828         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
66829         want to require the building of c-strtod.o.
66830         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
66831         needs -lm directly.
66832         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
66833
66834         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66835
66836         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
66837         --as-needed option if available.  Problem reported by Albert Chin in
66838         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
66839         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
66840         cc merely issues a bunch of annoying warnings for --as-needed
66841         (this problem was reported by Bob Proulx).  Also, try linking with
66842         -lm to detect a bug in binutils 2.16 (this problem was reported
66843         by Ralf Wildenhues).
66844
66845         2006-06-18  Jim Meyering  <jim@meyering.net>
66846
66847         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
66848         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
66849         macro.
66850         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
66851         also check for glibc-2.4's abort-inducing bug.
66852
66853         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
66854         Low-probability clean-up should be to use rmdir to get rid of
66855         the just-created directory, not unlink.
66856
66857         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
66858         configure fail, and request a bug report to inform us about it.
66859         Add a comment that, barring reports to the contrary, in 2007 we'll
66860         assume ftruncate is universally available.
66861
66862         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66863
66864         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
66865
66866         2006-03-12  Jim Meyering  <jim@meyering.net>
66867
66868         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
66869         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
66870         * m4/same.m4 (gl_SAME): Likewise.
66871         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
66872
66873         2006-03-11  Eric Blake  <ebb9@byu.net>
66874
66875         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
66876         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
66877         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
66878         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
66879
66880 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66881
66882         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
66883         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
66884         reported by Mark D. Baushke, one in
66885         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
66886
66887         Merge from coreutils.
66888
66889         * lib/.cppi-disable: Add stdint_.h.
66890         * lib/.cvsignore: Add stdint.h.
66891
66892         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66893
66894         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
66895         both double and long double versions.
66896         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
66897         * lib/xstrtold.c: New file.
66898         * lib/xstrtod.h (xstrtold): New decl.
66899
66900         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66901
66902         * lib/filemode.c (setst): Remove.
66903         (strmode): Rewrite to avoid setst.  This makes the code shorter,
66904         (arguably) clearer, and the generated code is a bit smaller on my
66905         Debian GNU/Linux stable x86 host.
66906
66907         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66908
66909         * lib/filemode.c: Include "filemode.h" first, to test the interface.
66910         Assume that filemode.h includes sys/types.h and sys/stat.h.
66911         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
66912         (ftypelet): Reorder to put common cases first, for efficiency.
66913         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
66914         to do 'M'.
66915         (strmode): Renamed from mode_string, and now stores 12 bytes instead
66916         of 10, for compatibility with FreeBSD.  All callers changed.
66917         (filemodestring): Now stores 12 bytes instead of 10, and sets file
66918         types that can't be deduced solely from st_mode.  First arg is now a
66919         const pointer.
66920         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
66921         (strmode): Renamed from mode_string.
66922         (filemodestring): New decl.
66923         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
66924         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
66925         needed.
66926         (S_ISPORT, S_ISWHT): New macros, if not already defined.
66927
66928         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66929
66930         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
66931         fsusage.h now does that.  Include fsusage.h first, to test interface.
66932         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
66933         at most one method (the old code could have generated decls that
66934         didn't conform to C89, not that this was ever exercised).
66935         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
66936
66937         2006-03-19  Jim Meyering  <jim@meyering.net>
66938
66939         Work even in a chroot where d_ino values for entries in "/"
66940         don't match the stat.st_ino values for the same names.
66941         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
66942         number, iterate through all entries again, using lstat instead.
66943         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
66944         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
66945
66946         * lib/getcwd.c (__getcwd): Clarify a comment.
66947         Use memcpy in place of a call to strcpy.
66948
66949         2006-03-12  Jim Meyering  <jim@meyering.net>
66950
66951         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
66952         matches that of the current directory (which we're about to chdir ".."
66953         out of), then save the dev-ino of the parent, instead.
66954
66955         * lib/same-inode.h (SAME_INODE): New file/macro.
66956         * lib/chdir-safer.c (SAME_INODE): Remove definition.
66957         Include "same-inode.h", instead.
66958         * lib/same.c: Likewise.
66959         * lib/cycle-check.h: Include "same-inode.h".
66960         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
66961         * lib/cycle-check.c (SAME_INODE): Remove definition.
66962         * lib/root-dev-ino.h: Include "same-inode.h".
66963
66964         2006-03-11  Eric Blake  <ebb9@byu.net>
66965
66966         * lib/same.c (same_name): s/base_name/last_component/
66967         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
66968         * lib/filenamecat.c (file_name_concat): Likewise.
66969
66970         2006-03-11  Eric Blake  <ebb9@byu.net>,
66971                     Paul Eggert  <eggert@cs.ucla.edu>
66972
66973         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
66974         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
66975         drive prefix.
66976         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
66977         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
66978         (last_component): New method.
66979         * lib/dirname.c (dir_len): Determine when drive letters need a
66980         subsequent slash.  Preserve // when it is special.
66981         (dir_name): Don't append dot when drive letter is absolute.
66982         [TEST_DIRNAME]: Move into a full-blown gnulib test.
66983         * lib/basename.c (base_name): New semantics - malloc the result.
66984         Preserve // when it is special.  Preserve relative files that look
66985         like drive letters.
66986         (base_len): Preserve // when it is special.
66987         (last_component): New method, similar to old base_name semantics.
66988         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
66989         base_name.  Strip redundant slashes from ///.
66990
66991 2006-07-03  Jim Meyering  <jim@meyering.net>
66992
66993         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
66994         macro is used before the first cycle_check call.
66995
66996 2006-07-03  Eric Blake  <ebb9@byu.net>
66997
66998         * modules/dirname (Depends-on): Add xstrndup.
66999
67000 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67001
67002         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
67003         test cases, so that config.log is a bit easier to follow.
67004
67005 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67006
67007         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
67008         both are 64 bits, since this seems to be the tradition, and this
67009         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
67010         we ever run into a host that prefers long long to long in this
67011         case, we'll need another configure-time test.  Problem reported by
67012         Jim Meyering.
67013
67014 2006-07-02  Eric Blake  <ebb9@byu.net>
67015
67016         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
67017
67018 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67019
67020         * modules/inttypes (Depends-on): No longer depends on stdint.
67021         * modules/stdint (Description): Say more about assumptions.
67022         Say that the fast types might differ.  Say macros are used.
67023         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
67024         (Makefile.am): Revise list of substituted symbols to match
67025         new stdint.m4.
67026         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
67027         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
67028         * tests/test-stdint.c (verify_same_types)
67029         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
67030         the code conforms to C99/C89.
67031         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
67032         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
67033
67034 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67035
67036         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
67037         but fix a bug, by requiring at least 64 bits.
67038         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
67039         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
67040         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
67041         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67042
67043         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
67044         changes.  Make 2.59 a prerequisite.  Check and substitute for
67045         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
67046         inttypes.h.  Do not use special include files; just use the
67047         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
67048         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
67049         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
67050         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
67051         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
67052         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
67053         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
67054         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
67055         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
67056         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
67057         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
67058         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
67059         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
67060         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
67061         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
67062         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
67063         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
67064         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
67065         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
67066         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
67067         WINT_MAX.  Check for C99 conformance more strictly, by detecting
67068         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
67069         not check for things that C99 does not require, e.g., int8_t.  If
67070         a test isn't needed unless <stdint.h> isn't working, and is
67071         unlikely to be needed for any other reason, then don't do it
67072         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
67073         size_t, since we assume C89 freestanding at least.  Do not check
67074         for sig_atomic_t, wchar_t, or wint_t, since the code now does
67075         the right thing even if the types are not defined.  Instead use:
67076         (gl_STDINT_TYPE_PROPERTIES): New macro.
67077         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
67078         testing whether <sys/types.h> clashes, as Autoconf does this for
67079         us now.  All uses removed.
67080         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
67081         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
67082         (gl_CHECK_TYPE_SAME):
67083         Remove; no longer needed.
67084         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
67085         exists, since we'll return 0 anyway in that case.
67086         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
67087
67088 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67089
67090         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
67091         possible collision with system files.
67092         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
67093         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
67094         WCHAR_MIN and WCHAR_MAX in this case.
67095         (<stddef.h>): Do not include; no longer needed.
67096         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
67097         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
67098         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
67099         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
67100         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
67101         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
67102         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
67103         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
67104         !defined(__c99))]: Include in this case too, since it's harmless
67105         now.
67106         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
67107         dangerous to do so.
67108         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
67109         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
67110         (_STDINT_MIN, _STDINT_MAX): New macros.
67111         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
67112         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
67113         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
67114         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
67115         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
67116         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
67117         macros, not typedefs; this simplifies things quite a bit.
67118         Use long int for all types narrower than int64_t.
67119         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
67120         Define in terms of long long int or int64_t or long int,
67121         not int64_t or int32_t.  This saves some compile-time testing.
67122         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
67123         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
67124         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
67125         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
67126         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
67127         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
67128         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
67129         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
67130         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
67131         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
67132         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67133         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67134         undef any previous version and define our own version, for
67135         simplicity and consistency with the new macros for types.
67136         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67137         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67138         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
67139         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
67140         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
67141         @WINT_T_SUFFIX@ to keep things simple here.
67142         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
67143         Simplify by assuming typical 8/16/32/64 host, since we're
67144         already doing that elsewhere anyway.
67145         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
67146         and assume long long int is 64 bits if available.  This
67147         speeds up 'configure'.
67148
67149 2006-07-01  Eric Blake  <ebb9@byu.net>
67150
67151         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
67152         Reported by Andreas Buening.
67153
67154 2006-07-01  Eric Blake  <ebb9@byu.net>
67155
67156         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
67157
67158 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
67159
67160         * lib/getaddrinfo.c: fixed typo
67161
67162 2006-06-29  Jim Meyering  <jim@meyering.net>
67163
67164         * modules/strftime (Maintainer): Add my name, since with the
67165         FPRINTFTIME changes strftime.c has forked from glibc.
67166
67167 2006-06-29  Eric Blake  <ebb9@byu.net>
67168
67169         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
67170
67171 2006-06-29  Eric Blake  <ebb9@byu.net>
67172
67173         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
67174
67175 2006-06-29  Eric Blake  <ebb9@byu.net>
67176
67177         * lib/stat_.h: New file.
67178
67179 2006-06-29  Eric Blake  <ebb9@byu.net>
67180
67181         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
67182         unused static function.
67183
67184 2006-06-29  Eric Blake  <ebb9@byu.net>
67185
67186         * doc/functions.texi (Function Portability): Document missing lstat
67187         on mingw.
67188
67189 2006-06-29  Eric Blake  <ebb9@byu.net>
67190
67191         * MODULES.html.sh: Add sys_stat.
67192         * modules/sys_stat: New module.
67193         * modules/mkstemp (Depends-on): Add sys_stat.
67194
67195 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67196
67197         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
67198
67199 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67200
67201         * m4/c-bs-a.m4: Removed.
67202
67203 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67204
67205         * lib/strftime.c: Assume strftime() exists.
67206
67207 2006-06-29  Derek Price  <derek@ximbiot.com>
67208
67209         * modules/c-bs-a: Removed - \a is C89.
67210         * MODULES.html.sh: Remove c-bs-a.
67211
67212 2006-06-29  Bruno Haible  <bruno@clisp.org>
67213
67214         * modules/wcwidth (License): Change to LGPL.
67215
67216 2006-06-28  Simon Josefsson  <jas@extundo.com>
67217
67218         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
67219         on _WIN32.
67220
67221         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
67222         getnameinfo.
67223
67224 2006-06-28  Simon Josefsson  <jas@extundo.com>
67225
67226         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
67227
67228 2006-06-28  Simon Josefsson  <jas@extundo.com>
67229
67230         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
67231         functions there.  It will succeed on Windows XP, but on Windows
67232         2000 and (presumably) earlier, it will fail, and use the internal
67233         re-implementation.
67234         (use_win32_p): New function.
67235         (getaddrinfo): Use strtoul on servname, to support numeric ports.
67236         Support AI_NUMERICSERV to disable getservbyname.
67237         (getnameinfo): New function, only supports
67238         NI_NUMERICHOST|NI_NUMERICSERV for now.
67239
67240         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
67241         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
67242         getnameinfo.
67243
67244 2006-06-28  Eric Blake  <ebb9@byu.net>
67245
67246         * modules/wcwidth: New file.
67247         * modules/mbchar (Depends-on): Add wcwidth.
67248         * modules/mbswidth (Depends-on): Add wcwidth.
67249         * MODULES.html.sh: Add wcwidth.
67250
67251 2006-06-28  Eric Blake  <ebb9@byu.net>
67252
67253         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
67254         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
67255
67256 2006-06-28  Eric Blake  <ebb9@byu.net>
67257
67258         * lib/xvasprintf.h: Fix comments.
67259
67260 2006-06-28  Eric Blake  <ebb9@byu.net>
67261
67262         * lib/mbchar.h (wcwidth): Include wcwidth.h.
67263         * lib/mbswidth.c (wcwidth): Move from here...
67264         * lib/wcwidth.h: ...to this new file.
67265
67266 2006-06-28  Derek R. Price  <derek@ximbiot.com>
67267
67268         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
67269
67270         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
67271         it's obsolete.
67272         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
67273
67274 2006-06-28  Derek R. Price  <derek@ximbiot.com>
67275
67276         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
67277         Autoconf 2.60 says this stuff was obsolete.
67278
67279 2006-06-28  Bruno Haible  <bruno@clisp.org>
67280
67281         * modules/wcwidth (Files): Add m4/wchar_t.m4.
67282
67283 2006-06-28  Bruno Haible  <bruno@clisp.org>
67284
67285         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
67286         gt_TYPE_WCHAR_T.
67287
67288 2006-06-28  Bruno Haible  <bruno@clisp.org>
67289
67290         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
67291         declaration for wcwidth.
67292         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
67293
67294 2006-06-28  Bruno Haible  <bruno@clisp.org>
67295
67296         * lib/mkdtemp.c [MINGW]: Include <io.h>.
67297         (mkdir): Define using _mkdir.
67298
67299 2006-06-28  Bruno Haible  <bruno@clisp.org>
67300
67301         * lib/getaddrinfo.h: Fix POSIX URL.
67302         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
67303         _WIN32.
67304         (use_win32_p): Make static.
67305         (getaddrinfo): Reject service name if it is empty or does not consist
67306         solely of decimal digits, or if its value is > 65535.
67307         (getnameinfo): Remove useless casts.
67308
67309 2006-06-27  Simon Josefsson  <jas@extundo.com>
67310
67311         * modules/sys_select: New file, suggested by Bruno Haible, Paul
67312         Eggert and Martin Lambers.
67313
67314 2006-06-27  Simon Josefsson  <jas@extundo.com>
67315
67316         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
67317         Eggert and Martin Lambers.
67318
67319 2006-06-27  Bruno Haible  <bruno@clisp.org>
67320
67321         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
67322         result to 0, not to empty.
67323         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
67324
67325 2006-06-27  Bruno Haible  <bruno@clisp.org>
67326
67327         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
67328
67329 2006-06-26  Simon Josefsson  <jas@extundo.com>
67330
67331         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
67332         present.
67333
67334 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
67335
67336         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
67337         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
67338         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
67339
67340 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
67341
67342         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
67343
67344 2006-06-26  Bruno Haible  <bruno@clisp.org>
67345
67346         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
67347
67348 2006-06-26  Bruno Haible  <bruno@clisp.org>
67349
67350         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
67351
67352 2006-06-26  Bruno Haible  <bruno@clisp.org>
67353
67354         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
67355         SGI C compiler in pre-C99 mode.
67356         Suggested by Mark D. Baushke and Larry Jones.
67357
67358 2006-06-26  Bruno Haible  <bruno@clisp.org>
67359
67360         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
67361         WCHAR_MAX.
67362         Reported by Mark D. Baushke and Larry Jones.
67363
67364 2006-06-26  Bruno Haible  <bruno@clisp.org>
67365
67366         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
67367         in pre-C99 mode.
67368         Suggested by Mark D. Baushke and Larry Jones.
67369
67370 2006-06-23  Simon Josefsson  <jas@extundo.com>
67371             Bruno Haible  <bruno@clisp.org>
67372
67373         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
67374         Emit mostlyclean-local rule.
67375         (func_emit_tests_Makefile_am): Likewise.
67376         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
67377
67378 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
67379
67380         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
67381
67382 2006-06-23  Bruno Haible  <bruno@clisp.org>
67383
67384         * tests/test-stdint.c: Update to match ISO C 99 Technical
67385         Corrigendum 1.
67386
67387 2006-06-23  Bruno Haible  <bruno@clisp.org>
67388
67389         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
67390
67391 2006-06-23  Bruno Haible  <bruno@clisp.org>
67392
67393         * lib/stdint_.h: Treat IRIX like OpenBSD.
67394
67395 2006-06-23  Bruno Haible  <bruno@clisp.org>
67396
67397         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
67398         ISO C 99 Technical Corrigendum 1.
67399
67400 2006-06-22  Simon Josefsson  <jas@extundo.com>
67401
67402         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
67403         MinGW.
67404
67405 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67406
67407         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
67408         needed.  Some compiler complained about some of them.  Problem reported
67409         by Larry Jones in
67410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
67411
67412 2006-06-21  Simon Josefsson  <jas@extundo.com>
67413
67414         * tests/test-getaddrinfo.c: New file.
67415
67416         * modules/getaddrinfo-tests: New file.
67417
67418         * MODULES.html.sh: Add inet_pton.
67419
67420         * modules/inet_pton: New file.
67421
67422 2006-06-21  Simon Josefsson  <jas@extundo.com>
67423
67424         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
67425         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
67426         of using the (limited) gnulib implementation on Windows XP.
67427
67428         * m4/inet_pton.m4: New file.
67429
67430 2006-06-21  Simon Josefsson  <jas@extundo.com>
67431
67432         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
67433         variable.
67434
67435         * lib/socket_.h: Don't define WINVER.
67436
67437         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
67438         slightly modified to work in gnulib.
67439
67440 2006-06-21  Simon Josefsson  <jas@extundo.com>
67441
67442         * doc/gnulib.texi (Windows sockets): Add.
67443
67444 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67445
67446         * lib/read-file.c (fread_file): Start with buffer allocation of
67447         0 bytes rather than 1 byte; this simplifies the code.
67448         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
67449         code to free buffer and save/restore errno.
67450         (internal_read_file): Remove unused local.
67451
67452 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67453
67454         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
67455         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
67456         Problem reported by Denis Excoffier in
67457         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
67458
67459 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67460
67461         * modules/sys_socket, modules/socklen: Include sys/types since
67462         FreeBSD 4.x's sys/socket.h needs it.
67463
67464 2006-06-19  Simon Josefsson  <jas@extundo.com>
67465
67466         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
67467
67468 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
67469
67470         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
67471
67472 2006-06-19  Bruno Haible  <bruno@clisp.org>
67473
67474         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
67475         and FULL_PATH_INTTYPES_H in angle brackets.
67476         Reported by Mark D. Baushke <mdb@gnu.org>.
67477
67478 2006-06-17  Eric Blake  <ebb9@byu.net>
67479
67480         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
67481         errno.
67482
67483 2006-06-17  Bruno Haible  <bruno@clisp.org>
67484
67485         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
67486         <sys/inttypes.h>.
67487
67488 2006-06-17  Bruno Haible  <bruno@clisp.org>
67489
67490         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
67491         whether errno is declared. Assume <errno.h> declares errno.
67492
67493 2006-06-17  Bruno Haible  <bruno@clisp.org>
67494
67495         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
67496
67497 2006-06-17  Bruno Haible  <bruno@clisp.org>
67498
67499         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
67500         problem on Solaris 2.5.1.
67501
67502 2006-06-16  Eric Blake  <ebb9@byu.net>
67503
67504         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
67505         * lib/unicodeio.c [!defined errno]: Likewise.
67506         * lib/strtol.c [!defined errno]: Likewise.
67507         * lib/strtod.c [!defined errno]: Likewise.
67508
67509 2006-06-15  Eric Blake  <ebb9@byu.net>
67510
67511         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
67512
67513 2006-06-15  Eric Blake  <ebb9@byu.net>
67514
67515         * config/srclist.txt (ssize_t.m4): Lose sync.
67516
67517 2006-06-15  Bruno Haible  <bruno@clisp.org>
67518
67519         * modules/stdint (Files): Include m4/full-header-path.m4,
67520         m4/size_max.m4, m4/wchar_t.m4.
67521         (Makefile.am): Many more substitutions.
67522         * modules/stdint-tests: New file.
67523         * tests/test-stdint.c: New file.
67524
67525 2006-06-15  Bruno Haible  <bruno@clisp.org>
67526
67527         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
67528         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
67529         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
67530         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
67531         gl_CHECK_TYPE_SAME): New macros.
67532
67533 2006-06-15  Bruno Haible  <bruno@clisp.org>
67534
67535         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
67536
67537 2006-06-15  Bruno Haible  <bruno@clisp.org>
67538
67539         * lib/stdint_.h: Rewritten to be fully auto-configured.
67540         Fixes bug on HP-UX/IA64.
67541
67542 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
67543
67544         * lib/getdate.y (__attribute__): Don't define if already defined.
67545         Problem reported by Larry Jones.
67546         * lib/utimens.c (__attribute__): Likewise.
67547
67548 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
67549
67550         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
67551         reported by Andreas Schwab.
67552
67553 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67554             Bruno Haible  <bruno@clisp.org>
67555
67556         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
67557         check for the declaration of strnlen and a run test that exposes the
67558         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
67559         rpl_strndup.
67560
67561 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67562             Bruno Haible  <bruno@clisp.org>
67563
67564         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
67565
67566 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67567
67568         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
67569         compile test, for Tru64 4.0D.
67570
67571 2006-05-28  Karl Berry  <karl@gnu.org>
67572
67573         * config/srclist.txt (printf-args.c): lose sync.
67574
67575 2006-05-26  Martin Lambers  <marlam@marlam.de>
67576
67577         * lib/getpass.c: Updates the test for the native W32 API, and adds
67578         missing includes, thus fixing compilation warnings.
67579
67580 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67581
67582         * lib/exclude.c (exclude_fnmatch): New function.
67583         (excluded_file_name): Call exclude_fnmatch.
67584         * lib/exclude.h (excluded_file_name): New prototype
67585
67586 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
67587
67588         * lib/tempname.c (small_open, large_open): New macros.
67589         (__open, __open64) [!_LIBC]: Remove.
67590         (__gen_tempname): Use small_open and large_open instead of __open
67591         and __open64.  This fixes a portability bug on HP-UX 11.11i
67592         reported by Simon Wing-Tang in
67593         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
67594
67595 2006-05-24  Bruno Haible  <bruno@clisp.org>
67596
67597         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
67598         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
67599         Reported by Thorsten Maerz <torte@netztorte.de> via
67600         Aaron Stone <aaron@serendipity.cx>.
67601
67602 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67603
67604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
67605         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
67606         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
67607         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
67608         not really conditional on the cache.
67609         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
67610
67611 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67612
67613         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
67614         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
67615         (my_usleep): Don't mishandle maximum value.
67616
67617 2006-05-19  Jim Meyering  <jim@meyering.net>
67618
67619         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
67620
67621 2006-05-17  Bruno Haible  <bruno@clisp.org>
67622
67623         Cygwin portability.
67624         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
67625
67626 2006-05-17  Bruno Haible  <bruno@clisp.org>
67627
67628         * lib/stdint_.h: Fix recognition of Cygwin.
67629
67630 2006-05-15  Bruno Haible  <bruno@clisp.org>
67631
67632         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
67633         on libtool patch by Ralf Wildenhues.
67634
67635 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67636
67637         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
67638         test for C99 conformance; (bool) 0.5 is an integer constant
67639         expression, but (bool) -0.5 is not.  Problem reported by Fedor
67640         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
67641
67642 2006-05-11  Simon Josefsson  <jas@extundo.com>
67643
67644         * m4/xvasprintf.m4: Fix obvious typo.
67645
67646 2006-05-11  Jim Meyering  <jim@meyering.net>
67647
67648         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
67649         James Lemley.
67650
67651 2006-05-10  Simon Josefsson  <jas@extundo.com>
67652
67653         * lib/md4.c: Typo fix, update copyright years.
67654         (K1, K2): Don't use L because it turn computations into 64-bit on
67655         64-bit platforms.
67656
67657 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
67658
67659         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
67660         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
67661         unwanted sign propagation, e.g., on hosts with 64-bit int.
67662         There still are some problems with reeelly weird theoretical hosts
67663         (e.g., 33-bit int) but it's not worth worrying about now.
67664         * lib/sha1.c (rol): Likewise.
67665         (K1, K2, K3, K4): Remove unnecessary L suffix.
67666
67667 2006-05-10  Bruno Haible  <bruno@clisp.org>
67668
67669         * lib/des.c: Cast to avoid warnings.
67670
67671 2006-05-09  Bruno Haible  <bruno@clisp.org>
67672
67673         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
67674         (Depends-on): Depend also on xsize, stdarg.
67675         (configure.ac): Add gl_XVASPRINTF.
67676
67677 2006-05-09  Bruno Haible  <bruno@clisp.org>
67678
67679         * m4/xvasprintf.m4: New file.
67680
67681 2006-05-09  Bruno Haible  <bruno@clisp.org>
67682
67683         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
67684         (EOVERFLOW): Define fallback value.
67685         (xstrcat): New function.
67686         (xvasprintf): Recognize the special case of a string concatenation.
67687
67688 2006-05-08  Eric Blake  <ebb9@byu.net>
67689
67690         * gnulib-tool (func_version): Base copyright year on CVS date.
67691         (func_emit_copyright_notice): New function.
67692         (func_emit_lib_Makefile_am): Use it.
67693         (func_emit_tests_Makefile_am): Likewise.
67694         (func_import): Likewise.
67695
67696 2006-05-08  Bruno Haible  <bruno@clisp.org>
67697
67698         * modules/stdarg: New file.
67699         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
67700
67701 2006-05-08  Bruno Haible  <bruno@clisp.org>
67702
67703         * m4/stdarg.m4: New file, from GNU gettext.
67704
67705 2006-05-08  Bruno Haible  <bruno@clisp.org>
67706
67707         * config/srclist.txt (build-aux/config.rpath): different from latest
67708         release.
67709
67710 2006-05-08  Bruno Haible  <bruno@clisp.org>
67711
67712         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
67713
67714 2006-05-05  Jim Meyering  <jim@meyering.net>
67715
67716         * m4/warning.m4: New file, derived from bison's file by the same name.
67717
67718 2006-05-03  Bruno Haible  <bruno@clisp.org>
67719
67720         * lib/stdint_.h: Shorter URL.
67721         * lib/inttypes.h: Likewise.
67722
67723 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67724
67725         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
67726
67727 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67728
67729         * lib/verify.h: Document the internals better.  Most of this change
67730         was written by Bruno Haible.
67731
67732 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67733
67734         * doc/verify.texi: New file, partly based on a proposal by
67735         Bruno Haible.
67736
67737 2006-05-02  Bruno Haible  <bruno@clisp.org>
67738
67739         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
67740         test from here...
67741         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
67742
67743 2006-04-29  Bruno Haible  <bruno@clisp.org>
67744
67745         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
67746         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
67747
67748 2006-04-29  Bruno Haible  <bruno@clisp.org>
67749
67750         * gnulib-tool: Make --update option actually work.
67751
67752 2006-04-29  Bruno Haible  <bruno@clisp.org>
67753
67754         * doc/gcd.texi: New file.
67755         * doc/gnulib.texi: Include it.
67756
67757 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
67758
67759         * lib/getdate.y (get_date): When adding relative date, start with the
67760         initial time, not with the result of the first mktime call.
67761
67762 2006-04-25  Bruno Haible  <bruno@clisp.org>
67763
67764         * gnulib-tool (func_import): Output the include directives in three
67765         blocks, sorted separately.
67766         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67767
67768 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67769
67770         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
67771         to define main with arguments, for C++.  Reported by Eric Blake.
67772         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
67773         Prefer 'int main ()' to 'int main (void)', for C++.
67774         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
67775         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
67776         for 'main', for C99 and C++.
67777
67778 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67779
67780         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
67781         Don't assume that exit status -1 is valid.
67782         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67783         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
67784         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
67785         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
67786         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
67787         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
67788         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
67789         functions can be used without declaring them, or that you can
67790         exit with status -1.
67791         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
67792
67793 2006-04-24  Karl Berry  <karl@gnu.org>
67794
67795         * config/srclist.txt (longdouble.m4): sync lost.
67796
67797 2006-04-24  Eric Blake  <ebb9@byu.net>
67798
67799         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
67800
67801 2006-04-24  Bruno Haible  <bruno@clisp.org>
67802
67803         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
67804         poll() implementation in AIX.
67805         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67806
67807 2006-04-24  Bruno Haible  <bruno@clisp.org>
67808
67809         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
67810         assigned exactly once.
67811
67812 2006-04-23  Claudio Fontana  <claudio@gnu.org>
67813             Bruno Haible  <bruno@clisp.org>
67814
67815         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
67816         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
67817         for AM_CPPFLAGS.
67818
67819 2006-04-23  Bruno Haible  <bruno@clisp.org>
67820
67821         * modules/copy-file: Depend on unistd.
67822         * modules/execute: Likewise.
67823         * modules/fatal-signal: Likewise.
67824         * modules/findprog: Likewise.
67825         * modules/mkdtemp : Likewise.
67826         * modules/pipe: Likewise.
67827         * modules/wait-process: Likewise.
67828
67829 2006-04-23  Bruno Haible  <bruno@clisp.org>
67830
67831         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
67832         condition was already detected.
67833         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67834
67835 2006-04-23  Bruno Haible  <bruno@clisp.org>
67836
67837         * lib/copy-file.c: Include <unistd.h> unconditionally.
67838         * lib/execute.c: Likewise.
67839         * lib/fatal-signal.c: Likewise.
67840         * lib/findprog.c: Likewise.
67841         * lib/mkdtemp.c: Likewise.
67842         * lib/pipe.h: Likewise.
67843         * lib/pipe.c: Likewise.
67844         * lib/wait-process.h: Likewise.
67845
67846 2006-04-23  Bruno Haible  <bruno@clisp.org>
67847
67848         * gnulib-tool (func_usage): Fix --import description. Document
67849         --update.
67850         (func_import): Create temporary file in a temporary directory, if
67851         --dry-run is specified. Silence errors from 'grep' when there are no
67852         m4 files in $m4dir.
67853         (func_create_testdir): Silence errors from 'grep' when there are no
67854         m4 files in $m4dir.
67855         Reported by Karl Berry <karl@freefriends.org>.
67856
67857 2006-04-20  Bruno Haible  <bruno@clisp.org>
67858
67859         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
67860         one argument, so that the code will be portable to Autoconf 2.60.
67861         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
67862         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
67863         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
67864
67865 2006-04-19  Derek Price  <derek@ximbiot.com>
67866             Eric Blake  <ebb9@byu.net>
67867
67868         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
67869         rather than "/full/path.h".  Update comment to match.  Shorten &
67870         generalize m4_translit call via AS_TR_CPP.
67871
67872 2006-04-19  Derek Price  <derek@ximbiot.com>
67873             Eric Blake  <ebb9@byu.net>
67874
67875         * lib/inttypes.h: Correct grammar in comment.
67876
67877 2006-04-18  Derek Price  <derek@ximbiot.com>
67878             Paul Eggert  <eggert@cs.ucla.edu>
67879
67880         * modules/inttypes: New file.
67881         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
67882
67883 2006-04-18  Derek Price  <derek@ximbiot.com>
67884             Paul Eggert  <eggert@cs.ucla.edu>
67885
67886         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
67887         New files.
67888
67889 2006-04-18  Derek Price  <derek@ximbiot.com>
67890             Paul Eggert  <eggert@cs.ucla.edu>
67891
67892         * lib/inttypes.h: New file.
67893         * lib/strtoimax.c: Assume <inttypes.h>.
67894
67895 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
67896
67897         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
67898         isn't mounted.  Problem reported by Kir Kolyshkin.
67899
67900 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67901
67902         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
67903         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
67904         Derek R. Price.
67905         * lib/regex.h (RE_DUP_MAX): Update comment to match current
67906         implementation.
67907
67908 2006-04-12  Eric Blake  <ebb9@byu.net>
67909
67910         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
67911         is now done automatically by the corresponding Autoconf macro.
67912
67913 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
67914
67915         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
67916         time_r.h.
67917
67918 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         Merge regex changes from libc, removing some of our
67921         POSIX-conformance changes that were rejected and redoing them in a
67922         less-intrusive way.
67923
67924         * lib/regcomp.c (re_compile_internal, init_dfa):
67925         Length arg is now size_t, not Idx.  All uses changed.
67926         (peek_token): Forward decl now says internal_function.
67927         (__re_error_msgid, __re_error_msgid_idx):
67928         Now static rather than extern with attribute_hidden.
67929         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
67930         For some reason libc prefers K&R style defns for external functions.
67931         (regerror) [!defined _LIBC]: Likewise.
67932         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
67933         (seek_collating_symbol_entry, lookup_collation_sequence_value):
67934         (build_range_exp, build_collating_symbol):
67935         Use K&R-style defn.
67936         (re_compile_fastmap): Use '\0' to memset, not 0.
67937         (utf8_sb_map): Make the calculations more obvious.
67938         (init_dfa, parse_bracket_exp, build_charclass_op):
67939         Call calloc and cast result, as glibc does.
67940         (init_word_char, fetch_token, peek_token, peek_token_bracket):
67941         (build_range_exp, build_collating_symbol):
67942         Now internal functions.
67943
67944         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
67945
67946         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
67947         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
67948         Don't depend on VMS; depend on __VMS instead, for POSIX
67949         namespace cleanness.
67950         (regoff_t): Define to ssize_t, not long int.
67951
67952         Remove the REG_ macros named below.  Instead, make the old names
67953         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
67954         __USE_GNU_REGEX.
67955         (REG_BACKSLASH_ESCAPE_IN_LISTS):
67956         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
67957         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
67958         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
67959         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
67960         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
67961         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
67962         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
67963         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
67964         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
67965         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
67966         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
67967         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
67968         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
67969         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
67970         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
67971         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
67972         (REG_NREGS):
67973         Remove.  All uses replaced by the old RE_* names.
67974         (RE_BACKSLASH_ESCAPE_IN_LISTS):
67975         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
67976         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
67977         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
67978         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
67979         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
67980         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
67981         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
67982         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
67983         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
67984         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
67985         Don't bother having these macros be independent of each others'
67986         values, since they no longer exist in the POSIX name space.
67987
67988         Rename the following member names back to their old names,
67989         unless !__USE_GNU_REGEX.  All uses changed back.
67990         (buffer): Renamed from re_buffer.
67991         (allocated): Renamed from re_allocated.
67992         (used): Renamed from re_used.
67993         (syntax): Renamed from re_syntax.
67994         (fastmap): Renamed from re_fastmap.
67995         (translate): Renamed from re_translate.
67996         (can_be_null): Renamed from re_can_be_null.
67997         (regs_allocated): Renamed from re_regs_allocated.
67998         (fastmap_accurate): Renamed from re_fastmap_accurate.
67999         (no_sub): Renamed from re_no_sub.
68000         (not_bol): Renamed from re_not_bol.
68001         (not_eol): Renamed from re_not_eol.
68002         (newline_anchor): Renamed from re_newline_anchor.
68003         (num_regs): Renamed from rm_num_regs.
68004         (start): Renamed from rm_start.
68005         (end): Renamed from rm_end.
68006
68007         (free_state): Move up a bit.
68008
68009         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
68010         #define to be empty.
68011         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
68012         when that is what is intended.
68013         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
68014         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
68015         (MAX): New macro.
68016         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
68017         All uses changed back to re_malloc, etc.  It's now the caller's
68018         responsibility to check for overflow; all callers changed.
68019         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
68020         (re_x2nrealloc): Remove.
68021         (free_state): Remove decl.
68022
68023         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
68024         (re_set_registers, re_exec):
68025         Use K&R-style defn.
68026
68027         2006-01-31  Roland McGrath  <roland@redhat.com>
68028
68029         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
68030         Reported by Mike Frysinger <vapier@gentoo.org>.
68031
68032         2006-01-15  Andreas Jaeger  <aj@suse.de>
68033
68034         [BZ #1950]
68035         * lib/regex_internal.c (re_string_reconstruct): Adjust for
68036         build_wcs_upper_buffer change.
68037         (build_wcs_upper_buffer): Change return type.
68038
68039         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
68040
68041         * lib/regex_internal.h: Include <stdint.h> if available.
68042
68043         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
68044
68045         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
68046
68047         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68048
68049         * lib/regcomp.c: Adjust for changed secondary hash function.
68050
68051         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
68052
68053         * lib/regex.h: Pretty printing.
68054         Clean up namespace a bit.
68055
68056         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
68057
68058         * lib/regexec.c (update_cur_sifted_state, check_arrival,
68059         check_arrival_add_next_nodes): Avoid using uninitialized variable.
68060
68061         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68062                     Ulrich Drepper  <drepper@redhat.com>
68063
68064         [BZ #1302]
68065         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
68066         changed.
68067         (bitset_word_t): Renamed from bitset_word.  All uses changed.
68068
68069         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
68070
68071         [BZ #281]
68072         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
68073         * lib/regcomp.c: Remove unnecessary uses of
68074         unsigned RE_TRANSLATE_TYPE.
68075         * lib/regex_internal.h: Likewise.
68076         * lib/regex_internal.c: Likewise.
68077         * lib/regexec.c: Likewise.
68078         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
68079
68080         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
68081
68082         * lib/regexec.c (find_recover_state): Remove unnecessary
68083         initialization.
68084         (transit_state_bkref): Make DFA a const pointer.
68085         (get_subexp): Likewise.
68086         (check_arrival): Likewise.
68087         (update_cur_sifted_state): Likewise.
68088         (re_search_internal): Likewise.
68089         (prune_impossible_nodes): Likewise.
68090         (acquire_init_state_context): Likewise.
68091         (proceed_next_node): Likewise.
68092         (set_regs): Likewise.
68093         (free_fail_stack_return): Likewise.
68094         (check_arrival_expand_ecl): Mark DFA parameter as const.
68095         (check_arrival_expand_ecl_sub): Likewise.
68096         (check_subexp_limits): Likewise.
68097         (sub_epsilon_src_nodes):  Likewise.
68098         (add_epsilon_src_nodes):  Likewise.
68099         (merge_state_array): Likewise.
68100         (update_regs): Likewise.
68101         (build_trtable): Likewise.
68102         (sift_states_backward): Mark MCTX parameter as const.
68103         (build_sifted_states): Likewise.
68104         (update_cur_sifted_state): Likewise.
68105         (sift_states_mkref): Likewise.
68106         (check_arrival_expand_ecl): Mark eclosure as const.
68107         (check_dst_limits_calc_pos_1): Likewise.
68108         * lib/regex_internal.h (re_match_context_t): Make dfa a const
68109         pointer.
68110
68111         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
68112
68113         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
68114         (transit_state_sb): Likewise.
68115         (transit_state_mb): Likewise.
68116         (sift_states_iter_mb): Likewise.
68117         (check_arrival_add_next_nodes): Likewise.
68118         (check_node_accept_bytes): Change first parameter to pointer-to-const.
68119         [_LIBC] (re_search_2_stub): Use mempcpy.
68120
68121         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
68122         mbrtowc for very simple UTF-8 case.
68123
68124         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
68125         a pointer-to-const.
68126         (re_acquire_state_context): Likewise.
68127         * lib/regex_internal.h: Adjust prototypes.
68128
68129         * lib/regex.c: Prevent using C++ compilers.
68130
68131         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
68132         (re_acquire_state_context): Likewise.
68133
68134 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68135
68136         * modules/regex (Depends-on): Add ssize_t.
68137
68138 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68139
68140         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
68141         translation table.
68142
68143 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68144
68145         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
68146
68147 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
68148             Bruno Haible  <bruno@clisp.org>
68149
68150         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
68151         <sys/types.h> and <inttypes.h>.
68152
68153 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68154
68155         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
68156         `__error_t_defined', so argp.h will not typedef the former.
68157
68158 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
68159
68160         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
68161         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
68162         glibc names.  Even if glibc is changed to conform to POSIX, the
68163         traditional names will be available anyway, since regex depends on
68164         the extensions module.  Also, fix a longstanding typo in the
68165         implementation of Spencer ERE test #75 from grep 2.3.  Problems
68166         reported by Emanuele Giaquinta.  Also, change sense of cached
68167         variable, so that the message makes sense.
68168
68169 2006-03-24  Simon Josefsson  <jas@extundo.com>
68170
68171         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
68172         including some doc fixes.
68173         (base64_encode_alloc): Fix +1 bug on allocation failures.
68174
68175 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68176
68177         * lib/base64.c (base64_encode): Do not read past end of array with
68178         unsanitized input on systems with CHAR_BIT > 8.
68179
68180 2006-03-24  Eric Blake  <ebb9@byu.net>
68181
68182         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
68183
68184 2006-03-22  Karl Berry  <karl@gnu.org>
68185
68186         * config/srclist.txt (*setenv.[ch]): get from coreutils.
68187         * config/srclistvars.sh (COREUTILS): new var.
68188
68189 2006-03-17  Jim Meyering  <jim@meyering.net>
68190
68191         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
68192         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
68193
68194 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
68195
68196         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
68197         no longer needs it.  Instead, check that regoff_t is as least
68198         as wide as ptrdiff_t.
68199
68200         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
68201         so that our regex.h stays compatible with the installed regex.
68202         This is helpful for installers who configure --without-included-regex.
68203         Problem reported by Emanuele Giaquinta.
68204
68205 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
68206
68207         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
68208         Typedef to long int, not to off_, as POSIX will likely change
68209         in that direction.
68210
68211 2006-03-15  Eric Blake  <ebb9@byu.net>
68212
68213         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
68214
68215 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
68216
68217         * lib/argp-help.c (validate_uparams): Fix typo
68218         * lib/argp-parse.c (argp_default_options): Consistently begin help
68219         messages with a lowercase letter.
68220
68221 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
68224         overrun buffers and shouldn't be used (much as gets shouldn't be
68225         used).
68226         * lib/time_r.c (asctime_r, ctime_r): Likewise.
68227
68228 2006-03-08  Simon Josefsson  <jas@extundo.com>
68229
68230         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
68231         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68232
68233 2006-03-08  Simon Josefsson  <jas@extundo.com>
68234
68235         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
68236         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68237
68238 2006-03-08  Simon Josefsson  <jas@extundo.com>
68239
68240         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
68241         signal that configure disabled the device.
68242
68243 2006-03-08  Simon Josefsson  <jas@extundo.com>
68244
68245         * build-aux/maint.mk: Fix refresh-po, to handle no translated
68246         languages.
68247
68248 2006-03-07  Simon Josefsson  <jas@extundo.com>
68249
68250         * modules/getopt (Depends-on): Add unistd.
68251
68252         * modules/unistd: New file.
68253
68254 2006-03-07  Simon Josefsson  <jas@extundo.com>
68255
68256         * modules/gc-random: New file.
68257
68258 2006-03-07  Simon Josefsson  <jas@extundo.com>
68259
68260         * m4/unistd_h.m4: New file.
68261
68262 2006-03-07  Simon Josefsson  <jas@extundo.com>
68263
68264         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
68265         test to be side-effect free by storing the result in the cache
68266         variable gl_cv_lib_readline, and moving the assignment of
68267         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
68268         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68269
68270 2006-03-07  Simon Josefsson  <jas@extundo.com>
68271
68272         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
68273         error on missing devices (the functions will return an error).
68274
68275         * m4/gc.m4: Move random stuff to gc-random.m4
68276
68277 2006-03-07  Simon Josefsson  <jas@extundo.com>
68278
68279         * lib/unistd_.h: New file.
68280
68281 2006-03-07  Simon Josefsson  <jas@extundo.com>
68282
68283         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
68284
68285 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68286
68287         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
68288         Problem reported by Juan Manuel Guerrero.
68289
68290 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68291
68292         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
68293         the unistd module.
68294         * lib/getlogin_r.c: Likewise.
68295         * lib/getlogin_r.h: Likewise.
68296         * lib/glob.c: Likewise.
68297         * lib/pagealign_alloc.c: Likewise.
68298         * lib/unistd_.h: Remove; no longer needed.
68299
68300 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68301
68302         * MODULES.html.sh (Support for systems lacking POSIX:2001):
68303         Add unistd.
68304         * modules/c-stack (Depends-on): Add unistd.
68305         * modules/getlogin_r: Likewise.
68306         * modules/glob: Likewise.
68307         * modules/pagealign_alloc: Likewise.
68308         * modules/unistd (Files): Remove lib/unistd_.h.
68309         (EXTRA_DIST): Remove.
68310         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
68311         need unistd_.h.
68312         (MOSTLYCLEANFILES): Remove unistd.h-t.
68313
68314 2006-03-03  Simon Josefsson  <jas@extundo.com>
68315
68316         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
68317
68318 2006-03-03  Simon Josefsson  <jas@extundo.com>
68319
68320         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
68321         libidn and bison.
68322
68323 2006-03-03  Simon Josefsson  <jas@extundo.com>
68324
68325         * build-aux/maint.mk: Add indent target.
68326
68327 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
68328
68329         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
68330         our replacement poll.h in any case, to avoid a differing
68331         declaration from a system header.  Seen on AIX.
68332
68333 2006-03-01  Simon Josefsson  <jas@extundo.com>
68334
68335         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
68336         <kasal@ucw.cz>.
68337
68338 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68339
68340         * modules/gettime (Depends-on): Add extensions module.
68341         * modules/nanosleep (Depends-on): Likewise.
68342         * modules/settime (Depends-on): Likewise.
68343
68344 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68345
68346         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
68347         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
68348         pedantically.
68349         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68350         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
68351
68352         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
68353         not "==".  Reported by Ralf Wildenhues.
68354
68355 2006-03-01  Karl Berry  <karl@gnu.org>
68356
68357         * doc/Copyright/request-*: new files, synced from gnuorg.
68358
68359 2006-03-01  Karl Berry  <karl@gnu.org>
68360
68361         * config/srclist.txt (Copyright/*): new entries.
68362
68363 2006-02-28  Simon Josefsson  <jas@extundo.com>
68364
68365         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
68366
68367 2006-02-27  Simon Josefsson  <jas@extundo.com>
68368
68369         * lib/base64.h: Indent #define's.  From Jim Meyering
68370         <jim@meyering.net>.
68371
68372 2006-02-27  Jim Meyering  <jim@meyering.net>
68373
68374         Revert the change of 2006-02-24, so these files can continue
68375         to be sync'd from gettext.
68376         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
68377         of `config.h'.
68378
68379 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68380
68381         * modules/intprops: New file.
68382         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68383         Add intprops.
68384         * modules/getloadavg (Files): Remove lib/intprops.h.
68385         (Depends-on): Add intprops.
68386         * modules/human: Likewise.
68387         * modules/inttostr: Likewise.
68388         * modules/openat: Likewise.
68389         * modules/sig2str: Likewise.
68390         * modules/userspec: Likewise.
68391         * modules/utimecmp: Likewise.
68392         * modules/xnanosleep: Likewise.
68393         * modules/xstrtol: Likewise.
68394
68395 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
68396
68397         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
68398         * modules/lock-tests (TESTS): Use $(EXEEXT).
68399         * modules/tls-tests: Likewise.
68400         * modules/argp-tests: Likewise.
68401         (check_PROGRAMS): New var, replacing...
68402         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
68403
68404 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68405
68406         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
68407         `config.h'.
68408
68409 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68410
68411         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
68412
68413 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68414
68415         Sync from coreutils.
68416         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
68417         gl_CHDIR_SAFER.
68418
68419 2006-02-22  Jim Meyering  <jim@meyering.net>
68420
68421         Sync from coreutils.
68422         * m4/chdir-safer.m4: New file.
68423
68424 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68425
68426         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
68427         AT_FDCWD exceeds INT_MAX.
68428         * lib/openat.h (AT_FDCWD): Likewise.
68429
68430 2006-02-17  Eric Blake  <address@hidden>
68431
68432         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
68433
68434 2006-02-16  Simon Josefsson  <jas@extundo.com>
68435
68436         * modules/getaddrinfo (Depends-on): Add sys_socket.
68437
68438 2006-02-15  Simon Josefsson  <jas@extundo.com>
68439
68440         * build-aux/maint.mk: Add dsyntax-check rule.
68441
68442 2006-02-15  Eric Blake  <ebb9@byu.net>
68443
68444         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
68445         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
68446         'present but cannot compile' warnings on cygwin.
68447         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
68448         use ws2tcpip.h if sys/socket.h works.
68449         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
68450         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
68451
68452 2006-02-14  Simon Josefsson  <jas@extundo.com>
68453
68454         * modules/maintainer-makefile (Files): Rename.
68455
68456         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
68457         and (the local) Makefile.cfg to maint-cfg.mk.
68458
68459         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
68460         to the latter.
68461
68462         * modules/maintainer-makefile: New module.
68463
68464         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
68465         severaly stripped to make it possible to build it up from scratch
68466         with reliable tests.
68467
68468         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
68469         fixes to permit overriding the default actions when configure and
68470         makefile are not available.
68471
68472 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68473
68474         Sync from coreutils.
68475         * modules/lstat (Depends-on): Don't depend on xalloc.
68476         (License): Change from GPL to LGPL, since this is now simply a
68477         replacement for a libc function.
68478
68479 2006-02-14  Jim Meyering  <jim@meyering.net>
68480
68481         Sync from coreutils.
68482
68483         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
68484         failure on deficient systems, and simplify gnulib lgpl dependencies.
68485         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
68486         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
68487
68488         * lib/xalloc-die.c: Remove unused definition of N_.
68489
68490 2006-02-14  Jim Meyering  <jim@meyering.net>
68491
68492         Sync from coreutils.
68493         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
68494         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
68495         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
68496         double-quote uses of that variable, to accommodate the rare case in
68497         which getmntent is available in none of the libraries checked.  This
68498         happens at least on FreeBSD 5.0.
68499
68500 2006-02-13  Simon Josefsson  <jas@extundo.com>
68501
68502         * gnulib-tool (Usage): Fix --import, from
68503         karl@freefriends.org (Karl Berry).
68504
68505 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
68506
68507         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
68508
68509 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
68510
68511         * lib/argp-namefrob.h: Restore changes accidentally lost during the
68512         "autoupdate" on 2005-12-12.
68513
68514 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68515
68516         * modules/closeout (Depends-on): Remove atexit.
68517
68518 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68519
68520         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
68521         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
68522
68523 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
68524
68525         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
68526         __EXTENSIONS__ if this causes compilation to fail.  Problem
68527         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
68528         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
68529
68530 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
68531
68532         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
68533         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
68534         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
68535         All uses changed.
68536
68537 2006-01-26  Simon Josefsson  <jas@extundo.com>
68538
68539         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
68540         prototype is visible on mingw32.
68541
68542         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
68543         for mingw32.
68544
68545         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
68546         mingw32).
68547
68548 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68549
68550         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
68551         attempt to open for write; this always fails, at least on POSIX
68552         hosts.  This reinstates the 2006-01-09 change, which was
68553         inadvertently removed.
68554
68555 2006-01-26  Bruno Haible  <bruno@clisp.org>
68556
68557         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
68558         Reported by Paul Eggert.
68559
68560 2006-01-26  Bruno Haible  <bruno@clisp.org>
68561             Paul Eggert  <eggert@cs.ucla.edu>
68562
68563         * lib/stdbool_.h (_Bool)
68564         [(! (defined __cplusplus || defined __BEOS__)
68565           && !defined __GNUC__
68566           && !(defined __HP_cc || defined __xlc__
68567                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
68568                || defined __sgi))]:
68569         #define to signed char in these cases too; this simplifies
68570         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
68571         etc., separately) and makes it more conservative.
68572
68573 2006-01-25  Simon Josefsson  <jas@extundo.com>
68574
68575         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
68576         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
68577         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
68578
68579 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
68580
68581         * lib/argp-namefrob.h: Bugfix. Remove stray #
68582
68583 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
68584
68585         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
68586         so that we test the test.
68587         Check for yet another HP-UX cc bug involving *bool |= bool.
68588
68589 2006-01-25  Karl Berry  <karl@gnu.org>
68590
68591         * config/srclist.txt (vasnprintf.c): sync lost.
68592
68593 2006-01-25  Jim Meyering  <jim@meyering.net>
68594
68595         Sync from the stable (b5) branch of coreutils:
68596
68597         * lib/fts.c (fts_children): Don't let close() clobber errno from
68598         failed fchdir().
68599
68600         * lib/fts.c (fts_stat): When following a symlink-to-directory,
68601         don't necessarily interpret stat-fails+lstat-succeeds as indicating
68602         a dangling symlink.  That can also happen at least for ELOOP.
68603         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
68604         FYI, this bug predates the inclusion of fts.c in coreutils.
68605
68606         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
68607         in their own block, so pre-c99 compilers don't object.
68608
68609         Avoid the double-free (first in fts_read, second in fts_close) that
68610         would occur when an `active' directory is made inaccessible (e.g.,
68611         via chmod a-x) during a traversal.
68612         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
68613         before returning.  Reproduce this failure by
68614         mkdir -p a/b; cd a; chmod a-x . b
68615         Reported by Stavros Passas.
68616
68617 2006-01-25  Jim Meyering  <jim@meyering.net>
68618
68619         * lib/fileblocks.c: Remove more useless parentheses.
68620         * lib/readutmp.h: Likewise.
68621
68622 2006-01-25  Bruno Haible  <bruno@clisp.org>
68623
68624         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
68625         warnings.
68626         Reported by Paul Eggert.
68627
68628 2006-01-25  Bruno Haible  <bruno@clisp.org>
68629
68630         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
68631         rid of a trap command. For Solaris sh.
68632         Reported by Mark D. Baushke <mdb@gnu.org>.
68633
68634 2006-01-24  Simon Josefsson  <jas@extundo.com>
68635
68636         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
68637         Bruno.
68638
68639 2006-01-24  Karl Berry  <karl@gnu.org>
68640
68641         * config/srclist.txt (argp-namefrob.h): sync lost.
68642
68643 2006-01-24  Jim Meyering  <jim@meyering.net>
68644
68645         * modules/openat (Files): Add lib/intprops.h.
68646         From Mark D. Baushke.
68647
68648 2006-01-24  Jim Meyering  <jim@meyering.net>
68649
68650         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
68651         Reported by Mark D. Baushke.
68652
68653 2006-01-24  Jim Meyering  <jim@meyering.net>
68654
68655         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
68656
68657 2006-01-24  Bruno Haible  <bruno@clisp.org>
68658
68659         * modules/strnlen (Maintainer): Change from glibc to all.
68660
68661 2006-01-24  Bruno Haible  <bruno@clisp.org>
68662
68663         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
68664         Patch by Paul Eggert.
68665
68666 2006-01-24  Bruno Haible  <bruno@clisp.org>
68667
68668         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
68669         already has it.
68670         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
68671         2005-11-26.
68672
68673         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
68674         'signed char' to avoid problems with the built-in _Bool type.
68675         Reported by Paul Eggert on 2005-11-26.
68676
68677 2006-01-24  Bruno Haible  <bruno@clisp.org>
68678
68679         * gnulib-tool (func_import): Avoid constructing complicated sed
68680         expressions inside backquote.
68681         Report and solution by Mark D. Baushke <mdb@gnu.org>.
68682
68683 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
68684
68685         These changes imported from libc.
68686         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
68687         test and two separate function calls.
68688         * lib/strndup.c (__strndup): Add libc_hidden_def.
68689
68690 2006-01-23  Simon Josefsson  <jas@extundo.com>
68691
68692         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
68693         Remove the test_*_SOURCES variable: automake infers it by default.
68694         * modules/tls-tests: Likewise.
68695
68696 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68697
68698         Work around porting bugs reported by Dieter in
68699         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
68700         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
68701         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
68702         Include "getopt.h" first, to check interface.
68703         (getenv): Declare only if defined HAVE_DECL_GETENV &&
68704         !HAVE_DECL_GETENV.
68705         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
68706         (__strndup): Revert to K&R-style function dfns, the glibc style.
68707         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
68708         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
68709         Include strnlen.h first, to get prototype properly.
68710         (strnlen): Renamed from __strnlen.
68711         Remove weak alias.
68712
68713 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68714
68715         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
68716
68717 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68718
68719         * config/srclist.txt: Adjust to reflect glibc reorganization.
68720         This affects only comments.
68721
68722 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68723
68724          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
68725          Reported by Bruce Korb <bkorb@gnu.org>.
68726
68727 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68728
68729         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
68730         to pacify gcc -Wswitch-default.
68731
68732 2006-01-22  Bruno Haible  <bruno@clisp.org>
68733
68734         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
68735         temporary buffer for sprintf, take into account the precision also
68736         for 'd', 'i', 'u', 'o', 'x', 'X'.
68737
68738 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68739
68740         * modules/argp-tests: New module
68741         * tests/test-argp.c: New file
68742         * tests/test-argp-2.sh: New file
68743
68744 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68745
68746         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
68747         (__argp_base_name): Removed
68748         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
68749         typo.
68750         (__argp_base_name): Provide macro definition or extern declaration
68751         depending on the configuration
68752
68753 2006-01-20  Simon Josefsson  <jas@extundo.com>
68754
68755         * modules/inet_ntop (Depends-on): Depend on sys_socket.
68756
68757 2006-01-20  Simon Josefsson  <jas@extundo.com>
68758
68759         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
68760
68761 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
68764         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
68765         Suggested by Bruno Haible.
68766
68767 2006-01-20  Karl Berry  <karl@gnu.org>
68768
68769         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
68770         until changes propagate, I guess.
68771
68772 2006-01-19  Simon Josefsson  <jas@extundo.com>
68773
68774         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
68775
68776 2006-01-19  Simon Josefsson  <jas@extundo.com>
68777
68778         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
68779
68780 2006-01-19  Simon Josefsson  <jas@extundo.com>
68781
68782         * gnulib-tool: Set check_PROGRAMS.
68783
68784         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68785         modules/des-tests, modules/gc-arcfour-tests,
68786         modules/gc-arctwo-tests, modules/gc-des-tests,
68787         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68788         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68789         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68790         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68791         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68792         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
68793         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
68794         test_*_SOURCES.
68795
68796 2006-01-18  Simon Josefsson  <jas@extundo.com>
68797
68798         * modules/socklen (Depends-on): Depend on sys_socket.
68799
68800 2006-01-18  Simon Josefsson  <jas@extundo.com>
68801
68802         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68803         modules/des-tests, modules/gc-arcfour-tests,
68804         modules/gc-arctwo-tests, modules/gc-des-tests,
68805         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68806         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68807         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68808         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68809         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68810         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
68811         $(EXEEXT) to automake TESTS variable, for mingw32.
68812
68813 2006-01-17  Simon Josefsson  <jas@extundo.com>
68814
68815         * modules/socklen (Include): Need sys/socket.h.
68816
68817 2006-01-17  Bruno Haible  <bruno@clisp.org>
68818
68819         * modules/ssize_t (Include): Add <sys/types.h>.
68820
68821 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
68824         it's not portable and it doesn't work with cross-compiles.
68825         Problem reported by Bruno Haible.  Fix missing-$ typo in
68826         'test "gl_cv_ignore_unused_libraries" ...' that prevented
68827         -zignore from being used with Sun's C compiler.
68828
68829 2006-01-12  Simon Josefsson  <jas@extundo.com>
68830
68831         * lib/base64.c: Fix warning, reported by Bruno Haible
68832         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
68833
68834 2006-01-12  Bruno Haible  <bruno@clisp.org>
68835
68836         * modules/ldd: New file.
68837         * build-aux/ldd.sh.in: New file.
68838         * MODULES.html.sh (Support for building libraries and executables): Add
68839         ldd.
68840
68841 2006-01-12  Bruno Haible  <bruno@clisp.org>
68842
68843         * m4/ldd.m4: New file.
68844
68845 2006-01-12  Bruno Haible  <bruno@clisp.org>
68846
68847         * gnulib-tool (func_import, func_create_testdir): Don't go into an
68848         endless loop while replacing $auxdir with build-aux.
68849
68850 2006-01-11  Simon Josefsson  <jas@extundo.com>
68851
68852         * lib/stdint_.h (SIZE_MAX): Add missing (.
68853
68854 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         Sync from coreutils.
68857         * lib/md5.c: Fix commentary typos.
68858         (alignof, UNALIGNED_P): No need for a GCC-specific version.
68859         * lib/md5.h (__attribute__): Remove; unused.
68860         * lib/sha1.c: Fix commentary to match md5 better.
68861         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
68862         so that we don't need to worry about alignment.  All uses changed.
68863         This merges the 2005-10-28 md5 change into sha1.
68864
68865 2006-01-11  Jim Meyering  <jim@meyering.net>
68866
68867         Sync from coreutils.
68868         * lib/md5.c (OP): Fix spacing.
68869
68870 2006-01-11  Bruno Haible  <bruno@clisp.org>
68871
68872         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68873         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
68874         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
68875
68876 2006-01-11  Bruno Haible  <bruno@clisp.org>
68877
68878         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68879         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
68880         the "early" section as well.
68881
68882 2006-01-11  Bruno Haible  <bruno@clisp.org>
68883
68884         Avoid "ar: no archive members specified" error on MacOS X.
68885         * gnulib-tool (func_modules_add_dummy): New function.
68886         (func_import, func_create_testdir): Invoke it.
68887
68888 2006-01-11  Bruno Haible  <bruno@clisp.org>
68889
68890         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
68891         with $auxdir in AC_CONFIG_FILES statements.
68892
68893 2006-01-11  Bruno Haible  <bruno@clisp.org>
68894
68895         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68896         Initialize also noinst_HEADERS to empty.
68897
68898 2006-01-11  Bruno Haible  <bruno@clisp.org>
68899
68900         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
68901         variables.
68902         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
68903         autoreconf.
68904
68905 2006-01-11  Bruno Haible  <bruno@clisp.org>
68906
68907         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
68908         overridable by the user.
68909         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68910
68911 2006-01-10  Simon Josefsson  <jas@extundo.com>
68912
68913         * modules/sys_socket: New file.
68914
68915 2006-01-10  Simon Josefsson  <jas@extundo.com>
68916
68917         * m4/sys_socket_h.m4: New file.
68918
68919 2006-01-10  Simon Josefsson  <jas@extundo.com>
68920
68921         * lib/socket_.h: New file.
68922
68923 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68924
68925         * modules/readutmp (Maintainer): Add myself.
68926
68927 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68928
68929         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
68930         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
68931         People who are still concerned with buggy memcmp implementations
68932         can invoke gl_FUNC_MEMCMP themselves.
68933
68934 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68935
68936         * lib/regex_internal.h (BITSET_WORD_BITS):
68937         Work around a bug in 64-bit PGC (before version 6.1-2), where the
68938         preprocessor mishandles large unsigned values as if they were signed.
68939         Problem reported by Claudio Fontana in
68940         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
68941
68942 2006-01-10  Jim Meyering  <jim@meyering.net>
68943
68944         Avoid the double-free (first in fts_read, second in fts_close) that
68945         would occur when an `active' directory is made inaccessible (e.g.,
68946         via chmod a-x) during a traversal.
68947         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
68948         before returning.  Reproduce this failure by
68949         mkdir -p a/b; cd a; chmod a-x . b
68950         Reported by Stavros Passas.
68951
68952         Sync from coreutils.
68953         * lib/sha1.c: Tweak grammar in a comment.
68954
68955 2006-01-10  Jim Meyering  <jim@meyering.net>
68956
68957         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
68958         Patch by Joerg Sonnenberger.
68959
68960 2006-01-10  Bruno Haible  <bruno@clisp.org>
68961
68962         * modules/readutmp: Depend on module free.
68963         * modules/strtok_r: Depend on module restrict.
68964
68965 2006-01-10  Bruno Haible  <bruno@clisp.org>
68966
68967         * modules/gettext (configure.ac): Add an invocation of
68968         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
68969
68970 2006-01-10  Bruno Haible  <bruno@clisp.org>
68971
68972         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
68973         Reported by Werner Lemberg <wl@gnu.org>.
68974
68975 2006-01-10  Bruno Haible  <bruno@clisp.org>
68976
68977         * lib/localcharset.c: Update from GNU gettext.
68978
68979 2006-01-10  Bruno Haible  <bruno@clisp.org>
68980
68981         * lib/argp.h (__const): Remove macro. Use const instead.
68982         * lib/argp-fmtstream.h (__const): Likewise.
68983         * lib/glob_.h (__const): Remove macro.
68984         * lib/glob-libc.h: Use const instead of __const.
68985
68986 2006-01-10  Bruno Haible  <bruno@clisp.org>
68987
68988         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
68989         variable.
68990         Needed to avoid an automake error regarding the 'gettext' module.
68991
68992 2006-01-09  Simon Josefsson  <jas@extundo.com>
68993
68994         * modules/inet_ntop (Depends-on): Add restrict.
68995
68996 2006-01-09  Simon Josefsson  <jas@extundo.com>
68997
68998         * modules/gc-rijndael-tests (License): Put under LGPL.
68999
69000         * modules/gc-des-tests (License): Likewise.
69001
69002         * modules/gc-arcfour-tests (License): Likewise.
69003
69004         * modules/gc-arctwo-tests (License): Likewise.
69005
69006         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
69007
69008         * modules/gc-hmac-sha1-tests (Files): Likewise.
69009
69010         * modules/gc-hmac-md5-tests (License): Likewise.
69011
69012         * modules/gc-sha1-tests (License): Likewise.
69013
69014         * modules/gc-md5-tests (License): Likewise.
69015
69016         * modules/gc-md4-tests (License): Likewise.
69017
69018         * modules/gc-md2-tests (License): Likewise.
69019
69020         * modules/gc-tests (License): Likewise.
69021
69022         * modules/des-tests (License): Likewise.
69023
69024         * modules/md4-tests (License): Likewise.
69025
69026         * modules/md2-tests (License): Likewise.
69027
69028 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69029
69030         Sync from coreutils:
69031
69032         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
69033         * modules/lib-ignore: New file.
69034         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
69035         chdir-safer.m4, lchmod.m4.
69036         * modules/openat: Add mkdirat.c, openat-priv.h.
69037
69038 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69039
69040         Sync from coreutils.
69041         * m4/lib-ignore.m4: New file.
69042         * m4/lchmod.m4: New file.
69043
69044 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69045
69046         Sync from coreutils.
69047         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
69048         for write access: POSIX says that must fail.
69049         * lib/fts.c (diropen): Likewise.
69050         * lib/save-cwd.c (save_cwd): Likewise.
69051         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
69052         well, for minor improvements on hosts that lack O_DIRECTORY.
69053         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
69054         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
69055         Fall back on chown if open failed with EACCES.
69056
69057         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
69058         Report an error at compile-time if only a 1-second nominal clock
69059         resolution is found.
69060
69061         * lib/lchmod.h: New file.
69062         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
69063         (make_dir_parents): Use lchown rather than chown, and
69064         lchmod rather than chmod.
69065
69066         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
69067         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
69068         "proc" reported by n0dalus.
69069
69070         * lib/mountlist.c: Include <limits.h>.
69071         (dev_from_mount_options)
69072         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
69073         New function.  It no longer assumes "dev=" has the System V meaning
69074         on Linux (since it doesn't).  It also parses "dev=" more carefully.
69075         (read_file_system_list)
69076         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
69077         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
69078         dev= in that case.
69079
69080         * lib/posixtm.h (PDS_PRE_2000): New macro.
69081         * lib/posixtm.c (year): Arg is now syntax_bits rather than
69082         allow_century.  All usages changed.  Reject dates outside the range
69083         1969-1999 if PDS_PRE_2000 is used.
69084
69085 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69086
69087         Sync from coreutils.
69088         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
69089         (Time of day items): Mention the possibility of leap seconds.
69090         Problem reported by Dr. David Alan Gilbert.
69091
69092 2006-01-09  Jim Meyering  <jim@meyering.net>
69093
69094         Sync from coreutils.
69095
69096         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
69097
69098         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
69099
69100         * lib/modechange.c (mode_compile): Reject an invalid mode string
69101         that starts with an octal digit.  From Andreas Gruenbacher.
69102
69103         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
69104         and dup to open_safer and dup_safer, respectively.
69105         (openat_permissive): Fix typo in comment.
69106
69107         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
69108         "gettext.h"; either no longer needed or are guaranteed by openat.h.
69109         (_): Remove; no longer needed.
69110         (openat): Renamed from rpl_openat; no need for rpl_openat
69111         since openat.h renames openat for us.
69112         Replace most of the body with a call to openat_permissive,
69113         to avoid duplicate code.
69114         Port to (probably hypothetical) environments were mode_t is
69115         wider than int.
69116         (openat_permissive): Require mode arg, so that we can check
69117         types better.  Put it just after flags.  Change cwd failure
69118         indicator from pointer-to-bool to pointer-to-errno-value.
69119         All callers changed.
69120         Invoke openat_save_fail and/or openat_restore_fail if
69121         cwd_errno is null, so that openat can call us.
69122         (openat_permissive, fdopendir, fstatat, unlinkat):
69123         Simplify errno handling to avoid some duplicate code,
69124         as it's OK to set errno on success.
69125         * lib/openat.h: Revamp code so that function macros depend on
69126         __OPENAT_PREFIX only, not also on AT_FDCWD.
69127         (openat_ro): Remove.  Caller changed to use openat_permissive.
69128         (openat_permissive): Now a macro, if not a function.
69129         (openat_restore_fail, openat_save_fail): Now always functions,
69130         since mkdirat needs them even if __OPENAT_PREFIX is defined.
69131
69132         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
69133         and openat.c.
69134         * lib/mkdirat.c: Include openat-priv.h.
69135         Remove definitions of macros defined therein.
69136         * lib/openat.c: Likewise.
69137
69138         * lib/mkdirat.c (mkdirat): New file and function.
69139         * lib/openat.h (mkdirat): Declare.
69140
69141         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
69142
69143         * lib/openat.h (openat_permissive): Declare.
69144         (openat_ro): Define.
69145
69146         * lib/openat.c (EXPECTED_ERRNO): New macro.
69147         (openat_permissive): New function -- used in remove.c rewrite.
69148         (all functions): Set errno just before returning, only if there
69149         was an actual failure.
69150         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
69151
69152         Emulate openat-family functions using Linux's procfs, if possible.
69153         Idea and some code based on Ulrich Drepper's glibc changes.
69154
69155         * lib/openat.c: (BUILD_PROC_NAME): New macro.
69156         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
69157         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
69158         before falling back on save_cwd and restore_cwd.
69159         (fdopendir, fstatat, unlinkat): Likewise.
69160
69161         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
69162         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
69163
69164         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
69165         as second argument to va_arg.  Otherwise, some versions of gcc
69166         warn that `if this code is reached, the program will abort'.
69167
69168 2006-01-09  Jim Meyering  <jim@meyering.net>
69169
69170         Sync from coreutils.
69171         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
69172         Require openat-priv.h.
69173
69174 2006-01-09  Bruno Haible  <bruno@clisp.org>
69175
69176         * modules/strnlen (Include): Use strnlen.h.
69177
69178 2006-01-09  Bruno Haible  <bruno@clisp.org>
69179
69180         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
69181
69182 2006-01-09  Bruno Haible  <bruno@clisp.org>
69183
69184         * lib/sysexit_.h (EX_OK): New macro.
69185         Suggested by Martin Lambers <marlam@marlam.de>.
69186
69187 2006-01-09  Bruno Haible  <bruno@clisp.org>
69188
69189         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
69190         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
69191
69192 2006-01-09  Bruno Haible  <bruno@clisp.org>
69193
69194         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
69195         numbers.
69196
69197 2006-01-09  Bruno Haible  <bruno@clisp.org>
69198
69199         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
69200         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
69201         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
69202         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
69203
69204 2006-01-09  Bruno Haible  <bruno@clisp.org>
69205
69206         * build-aux/javacomp.sh.in: New file, moved from lib/.
69207         * modules/javacomp-script (Files): Update.
69208         (configure.ac): Add AC_CONFIG_FILES invocation.
69209         (EXTRA_DIST): Remove variable.
69210
69211         * build-aux/javaexec.sh.in: New file, moved from lib/.
69212         * modules/javaexec (Files): Update.
69213         (configure.ac): Add AC_CONFIG_FILES invocation.
69214         (EXTRA_DIST): Remove javaexec.sh.in.
69215
69216         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
69217         * modules/csharpcomp-script (Files): Update.
69218         (configure.ac): Add AC_CONFIG_FILES invocation.
69219         (EXTRA_DIST): Remove variable.
69220
69221         * build-aux/csharpexec.sh.in: New file, moved from lib/.
69222         * modules/csharpexec (Files): Update.
69223         (configure.ac): Add AC_CONFIG_FILES invocation.
69224         (EXTRA_DIST): Remove csharpexec.sh.in.
69225
69226 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
69227
69228         Sync from coreutils.
69229
69230         Add POSIX ACL support
69231         * lib/acl.h (copy_acl, set_acl): Add declarations.
69232         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
69233         systems other than Linux.
69234         (chmod_or_fchmod): New function: use fchmod when possible,
69235         and chmod otherwise.
69236         (file_has_acl): Add a POSIX ACL implementation, with a
69237         Linux-specific subcase.
69238         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
69239         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
69240         acls are unsupported.
69241         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
69242         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
69243         are unsupported.
69244
69245 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
69246
69247         Sync from coreutils.
69248         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
69249
69250 2006-01-07  Bruno Haible  <bruno@clisp.org>
69251
69252         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
69253         gl_EARLY.
69254
69255 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69256
69257         * lib/strftime.c (tzname): Don't declare if it is already #defined.
69258         Problem reported for Mingw by Mark Junker.
69259
69260 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69261
69262         * README: Gnulib normally doesn't generate a tarball.
69263
69264 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
69265
69266         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
69267         long int, not int, for nanosecond counts, so that people who are
69268         used to POSIX struct timespec won't be surprised.  Reported by Jim
69269         Meyering.
69270
69271 2005-12-28  Bruno Haible  <bruno@clisp.org>
69272
69273         * build-aux/config.rpath: Update from GNU gettext.
69274
69275 2005-12-16  Jim Meyering  <jim@meyering.net>
69276
69277         * modules/fprintftime: New module.
69278         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
69279
69280 2005-12-16  Jim Meyering  <jim@meyering.net>
69281
69282         * m4/fprintftime.m4: New file.
69283
69284 2005-12-16  Jim Meyering  <jim@meyering.net>
69285
69286         * lib/fprintftime.c, lib/fprintftime.h: New files.
69287
69288 2005-12-15  Simon Josefsson  <jas@extundo.com>
69289
69290         * modules/socklen (configure.ac): Fix M4 macro name, to align with
69291         new m4/socklen.m4.
69292
69293 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
69294
69295         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
69296         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
69297
69298 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
69299
69300         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
69301         * lib/argp-help.c (fill_in_uparams): Check if the constructed
69302         struct uparams is valid. Fall back to the default values if it is
69303         not.
69304
69305 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69306
69307         * modules/argp (Files): Add argp-pin.c
69308         (Depends-on): dirname
69309         (lib_SOURCES): Add argp-pin.c
69310
69311 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69312
69313         * m4/argp.m4:  Check if program_invocation_name and
69314         program_invocation_short_name are declared and define appropriate
69315         macros if they are not.
69316
69317 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69318
69319         * lib/argp-help.c (__argp_base_name): New function
69320         (__argp_short_program_name): Rewrite using __argp_base_name
69321         * lib/argp-namefrob.h: Define program_invocation_name and
69322         program_invocation_short_name if requested
69323         (__argp_base_name): Add prototype
69324         * lib/argp-parse.c (argp_def): Use gettext wrappers
69325         (argp_default_parser): Use __argp_base_name
69326         * lib/argp-pin.c: New file. Defines program_invocation_name and
69327         program_invocation_short_name on systems that lack them.
69328
69329 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69330
69331         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
69332         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
69333         porting problem reported by Georg Schwarz in
69334         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
69335
69336 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
69339         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
69340         porting problem reported by Georg Schwarz in
69341         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
69342
69343 2005-12-05  Bruno Haible  <bruno@clisp.org>
69344
69345         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
69346         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
69347         Reported by Mark Junker <mjscod@gmx.de>.
69348
69349 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
69350
69351         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
69352         Use implementation from Albert Chin, with some
69353         comments/corrections by Stepan Kasal and myself.
69354
69355 2005-12-02  Bruno Haible  <bruno@clisp.org>
69356
69357         * gnulib-tool (func_import): Accept GPLed build tool modules when
69358         --lgpl is given.
69359         * modules/csharpcomp-script: New file.
69360         * modules/csharpcomp: Depend on it.
69361         * modules/javacomp-script: New file.
69362         * modules/javacomp: Depend on it.
69363         Suggested by Simon Josefsson.
69364
69365 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
69366
69367         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
69368         statement, to work around an HP-UX 10.20 compiler bug reported by
69369         Peter O'Gorman.
69370
69371 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
69372
69373         * modules/savedir (Depends-on): Add openat.
69374
69375 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
69376
69377         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
69378         (uintmax_t) [defined uintmax_t]: Do not declare.
69379         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
69380         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
69381         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
69382         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
69383         sake of portability to weird hosts that C allows (though we don't
69384         know of any practical examples).
69385
69386         * lib/savedir.h (fdsavedir): New decl.
69387         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
69388         contains most of the former guts of savedir.
69389         (savedir): Use savedirstream.
69390         Include "openat.h".
69391
69392 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69393
69394         * modules/obstack (Files): Add m4/ulonglong.m4.
69395         Problem reported by Davide Angelocola.
69396
69397 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
69398
69399         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
69400         coreutils no longer futzes with rounding modes.
69401
69402 2005-11-14  Jim Meyering  <jim@meyering.net>
69403
69404         * lib/mkstemp-safer.c: Include <config.h>, required for possible
69405         replacement of mkstemp.
69406
69407 2005-11-10  Simon Josefsson  <jas@extundo.com>
69408
69409         * lib/readline.c: Remove EOL.
69410
69411 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69412
69413         * modules/gethrxtime (Depends-on): Add gettime.
69414
69415 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69416
69417         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
69418         or gettimeofday; no longer needed.
69419
69420 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69421
69422         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
69423         time business.
69424         (gethrxtime) [! (HAVE_NANOUPTIME
69425         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
69426         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
69427         our own approximation.
69428
69429 2005-11-08  Eric Blake  <ebb9@byu.net>
69430
69431         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
69432
69433 2005-11-08  Eric Blake  <ebb9@byu.net>
69434
69435         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
69436
69437 2005-11-04  Bruno Haible  <bruno@clisp.org>
69438
69439         * gnulib-tool: Implement --update mode.
69440
69441 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69442
69443         Fix porting problem reported by Theodoros V. Kalamatianos.
69444         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
69445         Don't assume that futimes failing means we must fail.
69446
69447 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69448
69449         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
69450         variables to suggest the intended function of the PATH_MAX check.
69451
69452 2005-10-30  Kean Johnston  <jkj@sco.com>
69453
69454         Trivial changes to support SCO systems.
69455         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
69456         as PATH_MAX.
69457         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
69458         where __ptr is null when no I/O is pending.
69459
69460 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69461
69462         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
69463         leave errno alone.  Problem reported by Dmitry V. Levin.
69464
69465 2005-10-28  Simon Josefsson  <jas@extundo.com>
69466
69467         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
69468         Test more.
69469
69470         * tests/test-gc-md2.c, tests/test-md2.c: New files.
69471
69472         * modules/md2, modules/md2-tests: New files.
69473
69474 2005-10-28  Simon Josefsson  <jas@extundo.com>
69475
69476         * m4/inet_ntop.m4: More tests.
69477
69478         * m4/gc-md2.m4, md2.m4: New file.
69479
69480 2005-10-28  Simon Josefsson  <jas@extundo.com>
69481
69482         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
69483         "restrict" keywords, as per POSIX.  Protect the function
69484         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
69485         Don't use K&R prototypes.  Check the sprintf return values.
69486         Re-define EAFNOSUPPORT if not present.  Indent.
69487
69488         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
69489         suggested by Bruno Haible <bruno@clisp.org>.
69490
69491         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
69492
69493         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
69494
69495         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
69496         libgcrypt).
69497
69498         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
69499
69500         * lib/md2.h, lib/md2.c: New files.
69501
69502 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
69503
69504         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
69505         errno alone.  Problem reported by Frederic Jolliton.
69506
69507 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69508
69509         * modules/verify (License): Change from GPL to LGPL.  This is a
69510         tiny module and there are apparently near-equivalents that are
69511         under the BSD license.
69512
69513 2005-10-24  Simon Josefsson  <jas@extundo.com>
69514
69515         * modules/sha1: Relicense to LGPL.
69516
69517 2005-10-24  Simon Josefsson  <jas@extundo.com>
69518
69519         * lib/md4.h: Shrink buffer size, now that we changed the type.
69520
69521 2005-10-23  Simon Josefsson  <jas@extundo.com>
69522
69523         * gnulib-tool (func_import): Fix --tests-base.
69524
69525 2005-10-22  Simon Josefsson  <jas@extundo.com>
69526
69527         * modules/arcfour (Depends-on): Need stdint.
69528
69529 2005-10-22  Simon Josefsson  <jas@extundo.com>
69530
69531         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
69532         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
69533
69534 2005-10-22  Simon Josefsson  <jas@extundo.com>
69535
69536         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
69537         suggested by Bruno Haible <bruno@clisp.org>.
69538
69539 2005-10-22  Simon Josefsson  <jas@extundo.com>
69540
69541         * lib/crc.h: Include stddef.h, for size_t.
69542
69543 2005-10-22  Simon Josefsson  <jas@extundo.com>
69544
69545         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
69546         arcfour_context struct (simplify test vector testing in GNU
69547         Shishi).
69548
69549 2005-10-21  Simon Josefsson  <jas@extundo.com>
69550
69551         * modules/des, modules/des-tests: New files.
69552
69553         * modules/gc-des, modules/gc-des-tests: New files.
69554
69555         * tests/test-des.c, tests/test-gc-des.c: New file.
69556
69557 2005-10-21  Simon Josefsson  <jas@extundo.com>
69558
69559         * modules/arctwo, modules/arctwo-tests: New files.
69560
69561         * tests/test-arctwo.c: New file.
69562
69563         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
69564
69565         * tests/test-gc-arctwo.c: New file.
69566
69567 2005-10-21  Simon Josefsson  <jas@extundo.com>
69568
69569         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
69570         Bruno Haible <bruno@clisp.org>.
69571
69572         * m4/gc-des.m4: New file.
69573
69574 2005-10-21  Simon Josefsson  <jas@extundo.com>
69575
69576         * m4/arctwo.m4: New file.
69577
69578         * m4/gc-arctwo.m4: New file.
69579
69580 2005-10-21  Simon Josefsson  <jas@extundo.com>
69581
69582         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
69583         block.
69584
69585 2005-10-21  Simon Josefsson  <jas@extundo.com>
69586
69587         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
69588         <bruno@clisp.org>.
69589
69590         * lib/hmac-sha1.c (hmac_sha1): Likewise.
69591
69592         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
69593         Bruno Haible <bruno@clisp.org>.
69594
69595         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
69596         <bruno@clisp.org>.
69597
69598 2005-10-21  Simon Josefsson  <jas@extundo.com>
69599
69600         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
69601
69602 2005-10-21  Simon Josefsson  <jas@extundo.com>
69603
69604         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
69605
69606 2005-10-21  Simon Josefsson  <jas@extundo.com>
69607
69608         * lib/des.h, lib/des.c: New files.
69609
69610         * lib/gc-gnulib.c: Support DES.c
69611
69612 2005-10-21  Simon Josefsson  <jas@extundo.com>
69613
69614         * lib/arctwo.h, lib/arctwo.c: New files.
69615
69616         * lib/gc-gnulib.c: Support ARCTWO.
69617
69618 2005-10-21  Simon Josefsson  <jas@extundo.com>
69619
69620         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
69621         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69622
69623 2005-10-21  Simon Josefsson  <jas@extundo.com>
69624
69625         * gnulib-tool (func_import, func_create_testdir): Define automake
69626         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
69627         Makefile.am snippet),
69628         suggested by Bruno Haible <bruno@clisp.org>.
69629
69630         * modules/gc (Makefile.am): Use it.
69631
69632 2005-10-21  Bruno Haible  <bruno@clisp.org>
69633
69634         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
69635         patch.
69636
69637 2005-10-19  Simon Josefsson  <jas@extundo.com>
69638
69639         * tests/test-gc-rijndael.c: New file.
69640
69641         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
69642
69643 2005-10-19  Simon Josefsson  <jas@extundo.com>
69644
69645         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
69646         interface too.
69647
69648 2005-10-19  Simon Josefsson  <jas@extundo.com>
69649
69650         * tests/test-gc-arcfour.c: New file.
69651
69652         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
69653
69654 2005-10-19  Simon Josefsson  <jas@extundo.com>
69655
69656         * modules/gc-md4, modules/gc-md4-tests: New file.
69657
69658         * tests/test-gc-md4.c: New file.
69659
69660 2005-10-19  Simon Josefsson  <jas@extundo.com>
69661
69662         * m4/gc-md4.m4: New file.
69663
69664 2005-10-19  Simon Josefsson  <jas@extundo.com>
69665
69666         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
69667         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
69668         <kasal@ucw.cz>.
69669
69670 2005-10-19  Simon Josefsson  <jas@extundo.com>
69671
69672         * m4/gc-arcfour.m4: New file.
69673
69674         * m4/gc-rijndael.m4: New file.
69675
69676 2005-10-19  Simon Josefsson  <jas@extundo.com>
69677
69678         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
69679
69680 2005-10-19  Simon Josefsson  <jas@extundo.com>
69681
69682         * lib/gc-gnulib.c: Support ARCFOUR.
69683
69684 2005-10-19  Simon Josefsson  <jas@extundo.com>
69685
69686         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
69687         support.
69688
69689         * lib/gc.h: Add ECB enum type.
69690
69691         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
69692
69693 2005-10-18  Simon Josefsson  <jas@extundo.com>
69694
69695         * tests/test-md5.c: New file.
69696
69697         * modules/md5-tests: New file.
69698
69699 2005-10-18  Simon Josefsson  <jas@extundo.com>
69700
69701         * tests/test-md4.c: New file.
69702
69703         * modules/md4, modules/md4-tests: New files.
69704
69705 2005-10-18  Simon Josefsson  <jas@extundo.com>
69706
69707         * m4/md4.m4: New file.
69708
69709 2005-10-18  Simon Josefsson  <jas@extundo.com>
69710
69711         * lib/md4.h, lib/md4.c: New files, based on md5.?.
69712
69713 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
69714
69715         * gnulib-tool (func_create_testdir): Omit the second check whether
69716         BUILT_SOURCES in nonempty.
69717
69718 2005-10-17  Simon Josefsson  <jas@extundo.com>
69719
69720         * tests/test-rijndael.c: New file.
69721
69722 2005-10-17  Simon Josefsson  <jas@extundo.com>
69723
69724         * modules/sha1: Depend on stdint instead of md5.
69725
69726         * modules/md5: Depend on stdint, remove uint32_t.
69727
69728 2005-10-17  Simon Josefsson  <jas@extundo.com>
69729
69730         * modules/gc-sha1-tests: New file.
69731
69732         * tests/test-gc-sha1.c: New file.
69733
69734 2005-10-17  Simon Josefsson  <jas@extundo.com>
69735
69736         * m4/md5.m4: Remove call to uint32_t.m4.
69737
69738 2005-10-17  Simon Josefsson  <jas@extundo.com>
69739
69740         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
69741
69742         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
69743         md5.h.
69744
69745         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
69746
69747         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
69748
69749 2005-10-17  Simon Josefsson  <jas@extundo.com>
69750
69751         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
69752
69753 2005-10-17  Simon Josefsson  <jas@extundo.com>
69754
69755         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
69756
69757 2005-10-17  Simon Josefsson  <jas@extundo.com>
69758
69759         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
69760
69761         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
69762
69763 2005-10-17  Bruno Haible  <bruno@clisp.org>
69764
69765         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
69766         that it can also be used in a test.
69767
69768 2005-10-16  Bruno Haible  <bruno@clisp.org>
69769
69770         * gnulib-tool (func_emit_tests_Makefile_am): Also define
69771         TESTS_ENVIRONMENT, so that individual tests can augment it.
69772
69773         * gnulib-tool (func_create_testdir): Use an intermediate target for
69774         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
69775         macros, like $(ALLOCA_H), which cannot be passed through the command
69776         line.
69777
69778 2005-10-15  Simon Josefsson  <jas@extundo.com>
69779
69780         * modules/rijndael-tests: New file.
69781
69782         * modules/rijndael: New file.
69783
69784 2005-10-15  Simon Josefsson  <jas@extundo.com>
69785
69786         * m4/rijndael.m4: New file.
69787
69788 2005-10-15  Simon Josefsson  <jas@extundo.com>
69789
69790         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
69791
69792         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
69793
69794 2005-10-14  Simon Josefsson  <jas@extundo.com>
69795
69796         * tests/test-arcfour.c: New file.
69797
69798         * modules/arcfour, modules/arcfour-tests: New files.
69799
69800 2005-10-14  Simon Josefsson  <jas@extundo.com>
69801
69802         * m4/arcfour.m4: New file.
69803
69804 2005-10-14  Simon Josefsson  <jas@extundo.com>
69805
69806         * lib/arcfour.h, lib/arcfour.c: New files.
69807
69808 2005-10-14  Roland McGrath  <roland@redhat.com>
69809
69810         Import from libc.  [BZ #1331]
69811         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
69812         macro argument.
69813         Reported by Matej Vela <vela@debian.org>.
69814
69815 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
69818         include <wchar.h>; no longer needed.
69819
69820 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69821
69822         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
69823
69824 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
69825         and  Ulrich Drepper  <drepper@redhat.com>
69826
69827         Import from libc.
69828         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
69829         instead of inline stream orientation test and two separate
69830         function calls.  Pay no attention to USE_IN_LIBIO.
69831
69832 2005-10-13  Simon Josefsson  <jas@extundo.com>
69833
69834         * modules/gc-hmac-md5-tests: New file.
69835
69836         * tests/test-gc-hmac-sha1.c: New file.
69837
69838         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
69839
69840         * modules/gc-hmac-md5-tests: New file.
69841
69842         * tests/test-gc-md5.c: New file.
69843
69844         * modules/gc-md5-tests: New file.
69845
69846 2005-10-13  Simon Josefsson  <jas@extundo.com>
69847
69848         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
69849         Move memory allocation outside of loop.
69850
69851 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
69852
69853         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
69854         intermediate directory is in a read-only file system.  Problem
69855         reported by Eric Blake.
69856
69857 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
69858
69859         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
69860
69861 2005-10-12  Simon Josefsson  <jas@extundo.com>
69862
69863         * tests/test-hmac-sha1.c: New file.
69864
69865         * modules/hmac-sha1-tests: New file.
69866
69867         * modules/hmac-sha1: New file.
69868
69869 2005-10-12  Simon Josefsson  <jas@extundo.com>
69870
69871         * modules/gc-sha1: New file.
69872
69873 2005-10-12  Simon Josefsson  <jas@extundo.com>
69874
69875         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
69876
69877         * tests/test-gc-pbkdf2-sha1.c: New file.
69878
69879 2005-10-12  Simon Josefsson  <jas@extundo.com>
69880
69881         * modules/gc-md5, modules/gc-hmac-md5: New files.
69882
69883         * modules/gc (Files): Remove md5, memxor and hmac files.
69884
69885 2005-10-12  Simon Josefsson  <jas@extundo.com>
69886
69887         * m4/gc-pbkdf2-sha1.m4: New file.
69888
69889         * m4/gc-hmac-sha1.m4: New file.
69890
69891         * m4/gc-sha1: New file.
69892
69893         * m4/hmac-sha1.m4: New file.
69894
69895 2005-10-12  Simon Josefsson  <jas@extundo.com>
69896
69897         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
69898
69899         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
69900
69901 2005-10-12  Simon Josefsson  <jas@extundo.com>
69902
69903         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
69904         suggested by Bruno Haible <bruno@clisp.org>.
69905
69906 2005-10-12  Simon Josefsson  <jas@extundo.com>
69907
69908         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
69909
69910 2005-10-12  Simon Josefsson  <jas@extundo.com>
69911
69912         * lib/gc-pbkdf2-sha1.c: New file.
69913
69914         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
69915
69916 2005-10-12  Simon Josefsson  <jas@extundo.com>
69917
69918         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
69919
69920         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
69921
69922 2005-10-12  Simon Josefsson  <jas@extundo.com>
69923
69924         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
69925         GC_USE_HMAC_MD5, respectively.
69926
69927         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
69928         (gc_md5): Fix typo.
69929
69930         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
69931
69932         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
69933
69934         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
69935
69936 2005-10-12  Bruno Haible  <bruno@clisp.org>
69937
69938         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
69939         Reported by Stepan Kasal <kasal@ucw.cz>.
69940
69941 2005-10-11  Simon Josefsson  <jas@extundo.com>
69942
69943         * tests/test-crc.c: New file.
69944
69945         * modules/crc, modules/crc-tests: New files.
69946
69947 2005-10-11  Simon Josefsson  <jas@extundo.com>
69948
69949         * m4/crc.m4: New file.
69950
69951 2005-10-11  Simon Josefsson  <jas@extundo.com>
69952
69953         * lib/gc.h: Add gc_hash and gc_hash_buffer.
69954
69955         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
69956
69957         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
69958
69959 2005-10-11  Simon Josefsson  <jas@extundo.com>
69960
69961         * lib/crc.h, lib/crc.c: New files.
69962
69963         * lib/gc.h (gc_hash_buffer): Add doc.
69964
69965 2005-10-11  Bruno Haible  <bruno@clisp.org>
69966
69967         * modules/c-strcasestr: New file.
69968         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
69969
69970 2005-10-11  Bruno Haible  <bruno@clisp.org>
69971
69972         * modules/c-strcase: New file.
69973         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
69974
69975 2005-10-11  Bruno Haible  <bruno@clisp.org>
69976
69977         * lib/strcasecmp.c: Include limits.h.
69978         (strcasecmp): Avoid integer overflow on exotic platforms.
69979         * lib/strncasecmp.c: Include limits.h.
69980         (strncasecmp): Avoid integer overflow on exotic platforms.
69981         Reported by Paul Eggert.
69982
69983 2005-10-11  Bruno Haible  <bruno@clisp.org>
69984
69985         * lib/c-strcasestr.h: New file, from GNU gettext.
69986         * lib/c-strcasestr.c: New file, from GNU gettext.
69987
69988 2005-10-11  Bruno Haible  <bruno@clisp.org>
69989
69990         * lib/c-strcase.h: New file, from GNU gettext.
69991         * lib/c-strcasecmp.c: New file, from GNU gettext.
69992         * lib/c-strncasecmp.c: New file, from GNU gettext.
69993
69994 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69995
69996         * modules/mempcpy (License): GPL -> LGPL.
69997         * modules/strchrnul (License): Likewise.
69998         * modules/sysexits (License): Likewise.
69999
70000 2005-10-08  Simon Josefsson  <jas@extundo.com>
70001
70002         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
70003
70004 2005-10-07  Simon Josefsson  <jas@extundo.com>
70005
70006         * m4/memxor.m4: Remove gl_C_RESTRICT call.
70007
70008 2005-10-06  Simon Josefsson  <jas@extundo.com>
70009
70010         * tests/test-hmac-md5.c: New file.
70011
70012         * modules/hmac-md5-tests: New file.
70013
70014         * modules/hmac-md5: New file.
70015
70016 2005-10-06  Simon Josefsson  <jas@extundo.com>
70017
70018         * m4/hmac-md5.m4: New file.
70019
70020         * m4/memxor.m4: Require gl_C_RESTRICT.
70021
70022 2005-10-06  Simon Josefsson  <jas@extundo.com>
70023
70024         * lib/memxor.c (memxor): Avoid casts and warnings.
70025
70026 2005-10-06  Simon Josefsson  <jas@extundo.com>
70027
70028         * lib/hmac-md5.c: New file.
70029
70030         * lib/hmac.h: New file.
70031
70032 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70033
70034         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
70035         promotes to int, not unsigned int, to catch the AIX 5.3
70036         compiler bug.
70037
70038 2005-10-05  Simon Josefsson  <jas@extundo.com>
70039
70040         * modules/memxor: New file.
70041
70042         * modules/iconv (Files): Move config.rpath to havelib, it is used
70043         there.
70044
70045         * modules/havelib (Files): Add config.rpath.
70046
70047 2005-10-05  Simon Josefsson  <jas@extundo.com>
70048
70049         * m4/memxor.m4: New file.
70050
70051 2005-10-05  Simon Josefsson  <jas@extundo.com>
70052
70053         * lib/memxor.c (memxor): Fix compiler error.
70054
70055         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
70056         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
70057
70058         * lib/memxor.h, lib/memxor.c: New files.
70059
70060         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
70061         we assume all systems have it, suggested by Jim Meyering
70062         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
70063         any systems lack sys/socket.h; mingw32 is known to lack it, but we
70064         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
70065         same reasons.
70066
70067 2005-10-05  Simon Josefsson  <jas@extundo.com>
70068
70069         * config/srclist.txt: Add glibc bug 1423 for md5.h.
70070
70071 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
70074         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
70075         needed, since the source code now assumes these .h files.
70076
70077 2005-10-05  Derek Price  <derek@ximbiot.com>
70078
70079         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
70080
70081 2005-10-05  Bruno Haible  <bruno@clisp.org>
70082
70083         * modules/stdint (License): Change to LGPL.
70084
70085 2005-10-04  Simon Josefsson  <jas@extundo.com>
70086
70087         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
70088         D. Baushke" <mdb@gnu.org>.
70089
70090 2005-10-04  Bruno Haible  <bruno@clisp.org>
70091
70092         * lib/verify.h (verify_true): Provide alternative definition for C++.
70093
70094 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
70095
70096         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
70097         (SSIZE_MAX): New macro, if not already defined.
70098         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
70099         than 2 GiB.
70100
70101 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70102
70103         Sync from coreutils.
70104         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
70105         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
70106         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
70107         ULLONG_MAX doesn't work with 2.7.2.1.
70108
70109 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70110
70111         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
70112         From Ben Pfaff.
70113
70114         * modules/exclude (Depends-on): Depend on verify.
70115         * modules/strtoimax (Depends-on): Likewise.
70116         * modules/utimecmp (Depends-on): Likewise.
70117
70118 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70119
70120         * lib/exclude.c: Include verify.h.
70121         (verify): Remove.  All callers changed to use verify.h's version.
70122         * lib/strtoimax.c: Likewise.
70123         * lib/utimecmp.c: Likewis.e
70124
70125         Sync from coreutils.
70126         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
70127         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
70128         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
70129         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
70130         bother returning ENOSYS if settimeofday or stime fails; just let
70131         them return whatever errno they want to return.
70132         * lib/utimens.c: Include unistd.h, for dup2.
70133         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
70134         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
70135
70136 2005-10-02  Jim Meyering  <jim@meyering.net>
70137
70138         Sync from coreutils.
70139         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
70140         from glibc-2.2.5 that fails for read-only files.
70141
70142 2005-10-02  Jim Meyering  <jim@meyering.net>
70143
70144         Sync from coreutils.
70145         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
70146         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
70147         `#if HAVE_CONFIG_H'.
70148         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
70149         Remove AT_FDCWD test.
70150         Do not consume the fd unless successful.
70151         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
70152         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
70153         block, so that we don't even try to compile it if settimeofday is
70154         available.  This works around a compilation failure on OSF1 V5.1,
70155         due to stime requiring a `long int*' while tv_sec is `int'.
70156
70157 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
70158
70159         Sync from coreutils.
70160         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
70161         against `yes', rather than just testing for nonempty.
70162
70163 2005-10-01  Simon Josefsson  <jas@extundo.com>
70164
70165         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
70166         and Darwin.
70167
70168         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
70169         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
70170         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
70171         freeaddrinfo and gai_strerror are declared by the POSIX headers.
70172         Check if struct addrinfo is declared.
70173
70174 2005-10-01  Simon Josefsson  <jas@extundo.com>
70175
70176         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
70177         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
70178         AI_* and EAI_* definitions.  Protect function declarations.
70179
70180 2005-10-01  Jim Meyering  <jim@meyering.net>
70181
70182         Sync from coreutils.
70183
70184         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
70185         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
70186         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
70187         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70188         in the inet and nsl libraries.  Required on Solaris 5.7.
70189
70190 2005-10-01  Jim Meyering  <jim@meyering.net>
70191
70192         Sync from coreutils.
70193         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70194         in the inet and nsl libraries.  Required on Solaris 5.7.
70195
70196 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
70197
70198         * lib/getdelim.c (getdelim): Remove unused variables.
70199
70200 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70201
70202         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
70203         so that the code works even with ancient cpp.  Portability problem
70204         with GCC 2.7.2.1 reported by Thomas M.Ott.
70205
70206 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70207
70208         * modules/regex (Depends-on): Add strcase.
70209
70210         * modules/gethostname (Licence): Change from GPL to LGPL, since
70211         gethostname.c is a trivial implementation of a standard library
70212         function.
70213         * modules/poll (License): Change from GPL to LGPL, since it's
70214         derived from LGPL code.
70215
70216 2005-09-27  Jim Meyering  <jim@meyering.net>
70217
70218         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
70219         HAVE_CONFIG_H.
70220
70221         * lib/intprops.h (signed_type_or_expr__): Define.
70222         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
70223         for unsigned types.
70224
70225 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70226
70227         * lib/verify.h (verify_expr): Remove, replacing with:
70228         (verify_true): New macro that returns true instead of void.
70229         (verify_type__): Remove.
70230         (verify): Use verify_true rather than verify_type__.
70231
70232 2005-09-26  Bruno Haible  <bruno@clisp.org>
70233
70234         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
70235         is necessary.
70236         (lib_SOURCES): Remove mbchar.c.
70237         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
70238         (Files): Add m4/mbrtowc.m4.
70239         * modules/mbiter: Likewise.
70240         * modules/mbuiter: Likewise.
70241
70242 2005-09-26  Bruno Haible  <bruno@clisp.org>
70243
70244         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
70245         compile mbchar.c if they are not both present.
70246         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
70247         * m4/mbiter.m4 (gl_MBITER): Likewise.
70248         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
70249         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
70250         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
70251
70252 2005-09-25  Jim Meyering  <jim@meyering.net>
70253
70254         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
70255         also uses socklen_t.
70256
70257 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
70258
70259         * lib/utimens.c (ENOSYS): Define if not already defined.
70260         (futimens): Support having a null PATH if the file descriptor
70261         is nonnegative.
70262
70263         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
70264         Remove.
70265         (__attribute): Define to empty unless GCC 3.1 or later.
70266         This works around a core dump on OpenBSD 3.4, which has GCC
70267         2.95.3, which dumps core when given __attribute__(()).  It also
70268         simplifies other tests, since we really don't want to bother with
70269         worrying about which ancient version of GCC supported what.
70270         Original problem reported by Yoann Vandoorselaere, with part of
70271         the fix suggested by Derek Price.
70272
70273 2005-09-24  Jim Meyering  <jim@meyering.net>
70274
70275         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
70276         so we can once again use a positive bitfield width of 1 -- now we
70277         don't have to explain why we were using a bitfield width of 2.
70278
70279 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
70280
70281         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
70282         and similarly for the other external symbols.  Problem reported
70283         by James Gallager.
70284
70285         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
70286         bug reported by Jim Meyering.
70287
70288         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
70289         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
70290         not needed, since socklen is a prerequisite module.
70291
70292 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
70293
70294         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
70295         Problem reported by Eric Blake.
70296         (getaddrinfo): Initialize se so that it's not garbage.
70297         Redo internal storage allocation so that it doesn't make unportable
70298         assumptions about alignment.
70299         Fix a memory leak.
70300
70301         * lib/utimens.c (futimens): Use futimesat if available.
70302         Prefer it to futimes since it doesn't have the futimes bug.
70303
70304         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
70305         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
70306         Instead, declare a function that returns a pointer to an array,
70307         and use verify_type__ to declare the size of the array.
70308         Problem and germ of a solution reported by Bruno Haible.
70309         (verify_type__): Use 2, not 1, for bitfield size, to avoid
70310         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
70311
70312 2005-09-23  Jim Meyering  <jim@meyering.net>
70313
70314         Sync from coreutils.
70315         Correct build failure (socklen_t not defined) on at least
70316         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
70317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
70318
70319 2005-09-23  Jim Meyering  <jim@meyering.net>
70320
70321         * modules/getaddrinfo (Depends-on): Add socklen.
70322
70323 2005-09-23  Bruno Haible  <bruno@clisp.org>
70324
70325         * tests/test-verify.c: New file.
70326
70327 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70328
70329         Sync from coreutils.
70330
70331         * modules/argmatch (Depends-on): Add verify.
70332         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
70333         unistd-safer.
70334         * modules/save-cwd (Depends-on): Likewise.
70335
70336         * modules/openat (Files): Add lib/openat-die.c.
70337         (Depends-on): Remove error, exitfail.
70338         Add dirname.
70339
70340         * modules/verify: New file.
70341         * MODULES.html.sh (Diagnostics <assert.h>): New section,
70342         with "verify" module.
70343
70344 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70345
70346         Sync from coreutils.
70347
70348         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
70349         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
70350         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
70351         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
70352         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
70353         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
70354         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
70355         Don't bother checking for string.h, stdlib.h, unistd.h.
70356         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
70357         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
70358         module's job.
70359         * m4/jm-macros.m4 (gl_MACROS): Likewise.
70360         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
70361
70362         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
70363         (gl_GETDATE): Use it.
70364
70365         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
70366
70367 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70368
70369         Sync from coreutils.
70370
70371         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
70372         stat-time.h.
70373         * lib/argmatch.h: Include verify.h
70374         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
70375         (ARGMATCH_ASSERT): Remove; unused.
70376         * lib/canonicalize.c: Assume STDC_HEADERS.
70377         * lib/exclude.c: Include "strcase.h".
70378         * lib/regex_internal.h [!defined _LIBC]: Likewise.
70379         * lib/getusershell.c: Include stdio--.h rather than stdio.h
70380         and stdio-safer.h.
70381         (getusershell): Call fopen, not fopen_safer.
70382         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
70383         Do not include unistd-safer.h.
70384         (save_cwd): Don't call fd_safer; no longer needed
70385         now that we include fcntl--.h.
70386
70387         * lib/getdate.y (relative_time): New type.
70388         (RELATIVE_TIME_0): New constant.
70389         (parser_control): Use relative_time instead of doing it ourselves.
70390         (%union): Add new relative_time rel member.
70391         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
70392         Now typeless.
70393         (relunit, relunit_snumber): Now of type rel.
70394         (zone, rel, relunit, get_date): Adjust to above changes.
70395
70396         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
70397         Do not include unistd-safer.h.
70398         (getloadavg): Don't call fd_safer; no longer needed
70399         now that we include fcntl--.h.
70400
70401         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
70402         (make_dir_parents): Treat ENOSYS like EEXIST.
70403
70404         Improve quality of diagnostics on restore_cwd failure.
70405         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
70406         (make_dir_parents): Last arg is now int * (for errno), not bool *.
70407         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
70408         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
70409         each time through the loop.  Do not diagnose restore_cwd failure;
70410         that is the caller's job (and perhaps the caller does not care).
70411
70412         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
70413         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
70414         If the file already exists but is not a directory, don't bother
70415         to try to make its parents.
70416         Close potential file descriptor leak if we can't chdir("/") (!).
70417         Don't always return true if chdir($PWD) fails; return true only
70418         if the requested action was done successfully (except for the
70419         chdir($PWD)).
70420         Don't log final directory unless we actually made it.
70421         Refactor to avoid duplicate code to fix up permissions.
70422         Don't attempt to fix up parent permissions if chdir($PWD) fails.
70423
70424         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
70425         to make it a bit faster and (I hope) clearer.
70426         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
70427         Fix bug in formats like %2N.
70428
70429         * lib/verify.h: New file.
70430
70431 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70432
70433         Sync from coreutils.
70434         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
70435
70436 2005-09-22  Jim Meyering  <jim@meyering.net>
70437
70438         Sync from coreutils.
70439
70440         * m4/lstat.m4 (gl_FUNC_LSTAT):
70441         Use AC_LIBSOURCES to require lstat.c and lstat.h.
70442         Remove obsolete comment.
70443         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
70444         * m4/xstrtod.m4: Likewise.
70445
70446         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
70447
70448 2005-09-22  Jim Meyering  <jim@meyering.net>
70449
70450         Sync from coreutils.
70451
70452         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
70453
70454         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
70455         the .tm_year member, since otherwise gcc-4.0 would now warn about
70456         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
70457
70458         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
70459         order to avoid an unsuppressible warning from gcc on 64-bit systems.
70460
70461         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
70462         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
70463         when run in a time zone for which daylight savings time is in effect
70464         for the starting date.
70465
70466         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
70467         stop us from restricting permissions of just-created absolute-named
70468         directories.
70469         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
70470         to restore initial working directory.
70471         * lib/mkdir-p.c (make_dir_parents): New parameter:
70472         different_working_dir, to tell caller if/when we change the working
70473         directory and are unable to return to the initial one.
70474         * lib/mkdir-p.h (make_dir_parents): Update prototype.
70475         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
70476         `return false'.  This fixes a bug introduced on 2004-07-30.
70477
70478         * lib/openat.c (fdopendir): Be sure to close the supplied
70479         file descriptor before returning.  This makes our replacement
70480         implementation a little closer to Solaris's, where fdopendir
70481         ties the file descriptor to the returned DIR* pointer.
70482         * lib/openat.c (unlinkat): New function.
70483         * lib/openat.h (unlinkat): Add prototype.
70484         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
70485         (openat_restore_fail): Rename from openat_restore_die.
70486         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
70487
70488         Provide an alternative to exiting immediately upon save_cwd or
70489         restore_cwd failure.  Now, an application can arrange e.g.,
70490         to perform a longjump in that case.
70491         * lib/openat.c: Include dirname.h.
70492         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
70493         (rpl_openat, fdopendir, fstatat): Call openat_save_die
70494         and openat_restore_die rather than calling error directly.
70495         Don't include "error.h" or "exitfail.h"; they're no longer needed.
70496
70497         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
70498         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
70499         define.
70500
70501         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
70502         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
70503                             int utc, int nanoseconds);
70504         Background:
70505         date should not have to allocate a megabyte of virtual memory to
70506         handle a format argument like +%1048575T.  When implemented with
70507         strftime, it must allocate such a buffer, use strftime to fill it
70508         in, print it, then free it.
70509         With fprintftime, it simply prints everything and exits.
70510         With no need for memory allocation, that's one fewer way to fail.
70511         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
70512         optional field width, not before, so we accept %9:z, not %:9z.
70513         (my_strftime): Be sure to use L_('x') for literals.
70514
70515         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
70516         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
70517         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
70518         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
70519         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
70520         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
70521         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
70522         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
70523         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
70524         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
70525         * lib/xgethostname.c, lib/xreadlink.c:
70526         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
70527
70528         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
70529         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
70530         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
70531         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
70532         and don't include <sys/file.h>).
70533
70534 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
70535
70536         Sync from coreutils.
70537
70538         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
70539         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
70540         [!LDAV_DONE]: Avoid unused variable warning.
70541
70542 2005-09-21  Bruno Haible  <bruno@clisp.org>
70543
70544         * lib/unicodeio.h (unicode_to_mb): New declaration.
70545
70546 2005-09-20  Derek Price  <derek@ximbiot.com>
70547
70548         * lib/getaddrinfo.c: Don't include <netdb.h> included from
70549         getaddrinfo.h.
70550
70551 2005-09-20  Bruno Haible  <bruno@clisp.org>
70552
70553         * gnulib-tool: Remove trailing slashes from the values specified for
70554         --source-base, --m4-base, --tests-base, --aux-dir.
70555         Suggested by Simon Josefsson <jas@extundo.com>.
70556
70557 2005-09-20  Bruno Haible  <bruno@clisp.org>
70558
70559         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
70560         func_modules_to_filelist, func_import, func_create_testdir): Make all
70561         sorting results locale-independent, so that gnulib-cache.m4 doesn't
70562         change when gnulib-tool is invoked in a different locale.
70563
70564 2005-09-19  Simon Josefsson  <jas@extundo.com>
70565
70566         * m4/socklen.m4: Fix typo.
70567
70568 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70569
70570         Use a consistent style for including <config.h>.
70571         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
70572         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
70573         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
70574         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
70575         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
70576         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
70577         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
70578         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
70579         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
70580         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
70581         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
70582         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
70583         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
70584         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
70585         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
70586         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
70587         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
70588         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
70589         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
70590         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
70591         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
70592         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
70593         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
70594         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
70595         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
70596         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
70597         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
70598         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
70599         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
70600         lib/xstrtoumax.c, lib/yesno.c:
70601         Standardize inclusion of config.h.
70602         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
70603         lib/inttostr.h:  Removed inclusion of config.h from header files.
70604         * lib/inttostr.c:  Adjusted in-tree users.
70605         * lib/timespec.h: Remove superfluous warning to include config.h.
70606         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
70607         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
70608         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
70609         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
70610         config.h with HAVE_CONFIG_H.
70611
70612 2005-09-19  Jim Meyering  <jim@meyering.net>
70613
70614         * modules/pathmax (License): Change to LGPL.
70615
70616 2005-09-19  Derek Price  <derek@ximbiot.com>
70617
70618         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
70619
70620 2005-09-19  Bruno Haible  <bruno@clisp.org>
70621
70622         * gnulib-tool (import): Provide default for --tests-base.
70623
70624 2005-09-19  Bruno Haible  <bruno@clisp.org>
70625
70626         * doc/quote.texi: New file, extracted from gnulib.texi.
70627         * doc/ctime.texi: New file, extracted from gnulib.texi.
70628         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
70629         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
70630         * doc/gnulib.texi: Include them.
70631
70632 2005-09-18  Bruno Haible  <bruno@clisp.org>
70633
70634         Portability fix.
70635         * gnulib-tool (func_readlink): New function.
70636         (func_ln_if_changed): Use it.
70637
70638 2005-09-18  Bruno Haible  <bruno@clisp.org>
70639
70640         * gnulib-tool: Support --with-tests also with --import.
70641         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
70642         (func_import): Use variables $testsbase and $inctests. Emit a
70643         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
70644         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
70645         SUBDIRS += $testsdir.
70646         (func_create_testdir): Update.
70647
70648 2005-09-18  Bruno Haible  <bruno@clisp.org>
70649
70650         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
70651         instead of $dry_run.
70652         (func_cp_if_changed, func_mv_if_changed): Remove functions.
70653         (func_ln_if_changed): Don't handle dry-run here.
70654         (func_import): In dry-run mode, detect more precisely which actions
70655         would be performed, and don't use "...ing" verbs.
70656
70657 2005-09-18  Bruno Haible  <bruno@clisp.org>
70658
70659         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
70660         (func_import): Use join on two temporary files instead of three nested
70661         loops, in order to determine which files are new or old.
70662
70663 2005-09-18  Bruno Haible  <bruno@clisp.org>
70664
70665         * gnulib-tool (func_import): Comment out code that spits out the
70666         new files with --dry-run.
70667
70668 2005-09-18  Bruno Haible  <bruno@clisp.org>
70669
70670         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
70671
70672 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70673
70674         * lib/stat-time.h: New file.
70675         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
70676         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
70677         in a different way.
70678         (timespec_cmp): New function.
70679         * lib/utimecmp.c: Include stat-time.h.
70680         (SYSCALL_RESOLUTION): Depend on whether various struct stat
70681         members exist, not on the obsolescent ST_MTIM_NSEC.
70682         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
70683
70684 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70685
70686         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
70687
70688 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * MODULES.html.sh (File system functions): Add stat-time.
70691         * modules/stat-time: New file.
70692         * modules/timespec (Files): Remove m4/st_mtim.m4; this
70693         is now done in a different way, by the stat-time module.
70694         * modules/utimecmp (Depends-on): Add stat-time.
70695
70696 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70697
70698         * m4/st_mtim.m4: Remove.  Superseded by...
70699         * m4/stat-time.m4: New file.
70700         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
70701         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
70702
70703 2005-09-15  Derek Price  <derek@ximbiot.com>
70704
70705         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
70706
70707 2005-09-15  Derek Price  <derek@ximbiot.com>
70708
70709         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
70710         * lib/regex_internal.c: Ditto, using this...
70711         (__GNUC_PREREQ): ...new macro.
70712         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
70713         using...
70714         (__GNUC_PREREQ): ...this new macro.
70715
70716         * lib/strstr.h: Include string.h. Define strstr as a macro here.
70717
70718 2005-09-15  Derek Price  <derek@ximbiot.com>
70719             Paul Eggert  <eggert@cs.ucla.edu>
70720
70721         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
70722         changes, consolidating in...
70723         * lib/regex_internal.h: ...this file.
70724
70725 2005-09-13  Jim Meyering  <jim@meyering.net>
70726
70727         * lib/canon-host.c: Filter through gnu indent and reword comments
70728         slightly.
70729         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
70730
70731 2005-09-13  Derek Price  <derek@ximbiot.com>
70732
70733         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
70734         failure.
70735         Reported by Jim Meyering  <jim@meyering.net>.
70736
70737 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70738
70739         * lib/base64.c: Typo.
70740         (base64_encode): Put b64str in initialized data section.
70741
70742 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
70743
70744         Merge glibc and coreutils changes into gnulib, plus a few
70745         extra fixes.
70746         * lib/md5.c: Use #error rather than a string.
70747         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
70748         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
70749         (__attribute__): Define to empty for non recent-GCC.
70750         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
70751         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
70752         Renamed from their non-__ counterparts, with new macros replacing
70753         them if not _LIBC.  Add __THROW attribute.
70754         (rol): Remove.
70755         (struct md5_ctx): Align buffer if using GCC.
70756         * lib/sha1.h (struct sha1_ctx): Likewise.
70757         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
70758         The old name was backwards.
70759         (NOTSWAP): Remove; not used.
70760         (rol): New macro, moved here from md5.h.
70761         (sha1_process_block): Remove a FIXME that doesn't make sense.
70762
70763 2005-09-12  Derek Price  <derek@ximbiot.com>
70764
70765         Return usable errors from canon-host.
70766         * lib/canon-host.h: New file.
70767         * lib/canon-host.c (canon_host): Wrap...
70768         (canon_host_r): ...this new function, which now relies exclusively on
70769         getaddrinfo.
70770         (ch_strerror): New function.
70771         (last_cherror): New global.
70772         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
70773         interface.
70774         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
70775         void *.
70776         (freeaddrinfo): Free ai->ai_canonname when set.
70777
70778 2005-09-12  Derek Price  <derek@ximbiot.com>
70779
70780         Make canon-host require getaddrinfo.
70781         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
70782         AC_LIBSOURCE canon-host.h.  Call...
70783         (gl_PREREQ_CANON_HOST): ...this new function, which requires
70784         gl_GETADDRINFO.
70785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
70786
70787 2005-09-12  Derek Price  <derek@ximbiot.com>
70788
70789         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
70790         LGPL.
70791         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
70792
70793 2005-09-12  Derek Price  <derek@ximbiot.com>
70794
70795         * lib/gai_strerror.c: Include config.h when available.  Include
70796         getaddrinfo.h before other headers to test interface.
70797         Reported by Larry Jones <lawrence.jones@ugs.com>.
70798
70799 2005-09-12  Derek Price  <derek@ximbiot.com>
70800             Paul Eggert  <eggert@cs.ucla.edu>
70801
70802         * modules/glob (Files): Add glob-libc.h.
70803
70804 2005-09-12  Derek Price  <derek@ximbiot.com>
70805             Paul Eggert  <eggert@cs.ucla.edu>
70806
70807         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
70808         glob_.h, glob-libc.h.
70809         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
70810
70811 2005-09-12  Derek Price  <derek@ximbiot.com>
70812             Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
70815         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
70816         protecting things that should be done only in gnulib contexts.
70817         * lib/glob_.h: New file, containing only the glob things needed for
70818         gnulib.
70819         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
70820         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
70821         (glob, globfree, glob_pattern_p): Now defined simply in terms of
70822         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
70823         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
70824         and to respect the namespace rules better.
70825
70826 2005-09-08  Simon Josefsson  <jas@extundo.com>
70827
70828         * modules/socklen: New file.
70829
70830 2005-09-08  Simon Josefsson  <jas@extundo.com>
70831
70832         * m4/socklen.m4: New file.
70833
70834 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70835
70836         * modules/utimens (Files): Add m4/utimbuf.m4, since
70837         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
70838         Reported by Sergey Poznyakoff.
70839
70840 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70841
70842         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
70843         definitions, since that's the preferred style in glibc.
70844         Fix a minor spacing issue, and update copyright notice to match
70845         glibc's.
70846
70847 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70848
70849         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
70850
70851 2005-09-06  Simon Josefsson  <jas@extundo.com>
70852
70853         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
70854         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
70855
70856 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70857
70858         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
70859         warning.
70860
70861 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70862
70863         * config/srclist.txt: Add glibc bug 1302.
70864
70865 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
70866
70867         Change bitset word type from unsigned int to unsigned long int,
70868         as this has better performance on typical 64-bit hosts.
70869         Port bitset code to hosts with unusual word sizes.
70870         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
70871         (build_collating_symbol):
70872         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
70873         argument is a bitset.  This is merely a style issue, but it makes
70874         it clearer that an entire array is expected.
70875         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
70876         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
70877         Port to the case where bitset_word is not the same as unsigned int.
70878         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70879         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
70880         Likewise.
70881         * lib/regexec.c (check_dst_limits_calc_pos_1,
70882         check_subexp_matching_top):
70883         (build_trtable, group_nodes_into_DFAstates):
70884         Likewise.
70885         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
70886         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
70887         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
70888         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
70889         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
70890         * lib/regcomp.c (optimize_subexps, lower_subexp):
70891         Work even if bitset_word has holes in its bitwise representation.
70892         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
70893         * lib/regexec.c (check_dst_limits_calc_pos_1,
70894         check_subexp_matching_top):
70895         Likewise.
70896         * lib/regex_internal.c (re_string_reconstruct):
70897         Don't assume UCHAR_MAX == 255.
70898         * lib/regex_internal.h (bitset_set_all): Likewise.
70899         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
70900         All uses changed.
70901         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
70902         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
70903         All uses changed.
70904         (BITSET_WORD_MAX): New macro.
70905         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
70906         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
70907         (bitset_empty, bitset_copy):
70908         Prefer sizeof (bitset) to multiplying it out ourselves.
70909         (bitset_not_merge): Remove; unused.
70910         (bitset_contain): Return bool, not unsigned int with one bit on.
70911         All callers changed.
70912         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
70913         alignment than re_node_set; do this by defining a new internal
70914         type struct dests_alloc and using it to allocate memory.
70915
70916 2005-09-05  Bruno Haible  <bruno@clisp.org>
70917
70918         * gnulib-tool (func_import): Fix comparison in handling of symbolic
70919         links.
70920
70921 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
70922
70923         * modules/size_max (Makefile.am): Add size_max.h
70924
70925 2005-09-04  Derek Price  <derek@ximbiot.com>
70926
70927         * gnulib-tool (func_import): Fix reversed $symbolic logic.
70928
70929 2005-09-03  Simon Josefsson  <jas@extundo.com>
70930
70931         * gnulib-tool: Fix typo.
70932
70933 2005-09-03  Simon Josefsson  <jas@extundo.com>
70934
70935         * config/srclist.txt: Add glibc bug 1293.
70936
70937 2005-09-03  Derek Price  <derek@ximbiot.com>
70938
70939         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
70940         From Larry Jones <lawrence.jones@ugs.com>.
70941
70942 2005-09-02  Simon Josefsson  <jas@extundo.com>
70943
70944         * modules/socklen: New file.
70945
70946 2005-09-02  Simon Josefsson  <jas@extundo.com>
70947
70948         * modules/havelib: New module.
70949
70950         * modules/gettext, modules/iconv, modules/lock, modules/readline:
70951         Use havelib.
70952
70953 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70954
70955         Check for arithmetic overflow when calculating sizes, to prevent
70956         some buffer-overflow issues.  These patches are conservative, in the
70957         sense that when I couldn't determine whether an overflow was possible,
70958         I inserted a run-time check.
70959         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
70960         macros.
70961         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
70962         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
70963         (re_xnrealloc, re_x2nrealloc): New inline functions.
70964         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
70965         parse_bracket_exp):
70966         (build_equiv_class, build_charclass): Check for arithmetic overflow
70967         in size expression calculations.
70968         * lib/regex_internal.c (re_string_realloc_buffers):
70969         (build_wcs_upper_buffer, re_node_set_add_intersect):
70970         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
70971         (re_dfa_add_node, register_state): Likewise.
70972         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
70973         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
70974         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
70975         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
70976
70977 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70978
70979         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70980         m4/ulonglong.m4.  Problem reported by Martin Lambers.
70981
70982 2005-09-02  Bruno Haible  <bruno@clisp.org>
70983
70984         Support for lib vs. lib64 distinction on biarch platforms.
70985         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
70986         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
70987         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
70988
70989 2005-09-02  Bruno Haible  <bruno@clisp.org>
70990
70991         * gnulib-tool (import): In the other first-use case, provide defaults
70992         as well.
70993
70994 2005-09-02  Bruno Haible  <bruno@clisp.org>
70995
70996         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
70997         patches not yet found in the latest gettext release.
70998
70999 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71000
71001         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
71002         to avoid a collision with bits/local_lim.h in glibc.
71003         All uses changed.  Problem reported by Dmitry V. Levin in
71004         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
71005
71006         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
71007         bugs in int versus size_t comparisons.
71008         (re_string_context_at): Fix bug where the code assumed that
71009         Idx is signed.
71010
71011         Use bool where appropriate.
71012         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
71013         All callers changed.
71014         (calc_eclosure_iter): Likewise, for ROOT arg.
71015         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
71016         (build_charclass_op): Likewise, for NON_MATCH arg.
71017         * lib/regex_internal.c (re_string_allocate, re_string_construct):
71018         (re_string_construct_common): Likewise, for ICASE arg.
71019         * lib/regexec.c (re_search_2_stub, re_search_stub):
71020         Likewise, for RET_LEN arg.
71021         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
71022         (set_regs): Likewise, for FL_BACKTRACK arg.
71023         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
71024         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
71025         (calc_eclosure_iter, parse_bracket_exp):
71026         Use bool for internal variables that are booleans.
71027         * lib/regexec.c (re_search_internal, check_matching,
71028         proceed_next_node):
71029         (set_regs, build_sifted_states, sift_states_bkref):
71030         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
71031         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71032         (find_collation_sequence_value):
71033         Likewise.
71034         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
71035         (re_node_set_compare):
71036         Return bool, not int. All callers changed.
71037         * lib/regexec.c (check_halt_node_context, check_dst_limits):
71038         (build_trtable, check_node_accept): Likewise.
71039         * lib/regex_internal.h: Include stdbool.h.
71040
71041         Fix bugs uncovered when converting to bool.
71042         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
71043         failure instead of charging ahead blindly.
71044         * lib/regex_internal.c (register_state): Likewise.
71045         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
71046         for freeing internal storage.
71047         (group_nodes_into_DFA_states): Use unsigned int, not int, for
71048         bitset pieces used as boolean, to avoid undefined behavior
71049         on hosts that do int overflow checking.
71050
71051 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71052
71053         * config/srclist.txt: Add glibc bugs 1285-1287.
71054
71055 2005-09-01  Jim Meyering  <jim@meyering.net>
71056
71057         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
71058         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
71059         Require gl_STAT_MACROS, too.
71060
71061 2005-09-01  Bruno Haible  <bruno@clisp.org>
71062
71063         * gnulib-tool (import): In the first-use case, provide defaults.
71064
71065 2005-09-01  Bruno Haible  <bruno@clisp.org>
71066
71067         * gnulib-tool (func_import): Remove the .tmp files.
71068
71069 2005-09-01  Bruno Haible  <bruno@clisp.org>
71070
71071         * gnulib-tool (func_import): Fix handling of symbolic links.
71072
71073 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71074
71075         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
71076         old glibc regex code mishandles strings longer than 2**31 bytes.
71077         This patch fixes this when the regex code is used in gnulib
71078         (i.e., outside glibc).
71079
71080         This patch should not affect the use of the regex code inside
71081         glibc.  No doubt this problem also needs to be handled for glibc
71082         as well, but the result will be an incompatible change to the
71083         glibc ABI, and the old ABI will have to be supported too.  That
71084         can be the the subject for another patch.
71085
71086         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
71087         governing whether the rest of this patch is active.  By default,
71088         the macro is disabled and the patch has no effect.
71089         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
71090         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
71091         (struct re_pattern_buffer, re_search, re_search_2, re_match):
71092         (re_match_2, re_set_registers): Use the new types.
71093         * lib/regex_internal.h (Idx, re_hashval_t): New types.
71094         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
71095         New macros.
71096         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
71097         (re_string_context_at, bin_tree_t, re_dfastate_t):
71098         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
71099         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
71100         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
71101         (re_string_char_size_at, re_string_wchar_at):
71102         (re_string_elem_size_at):
71103         Use the new types and macros to port to 64-bit hosts.
71104         Use unsigned types for internal values, so that the code
71105         mostly works even for arrays larger than SSIZE_MAX.
71106         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
71107         (search_duplicated_node, calc_eclosure_iter, fetch_number):
71108         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
71109         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
71110         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
71111         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
71112         (calc_inveclosure, parse_dup_op, build_range_exp):
71113         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
71114         (fetch_number, create_token_tree, mark_opt_subexp):
71115         Likewise.
71116         * lib/regex_internal.c (re_string_construct_common,
71117         create_ci_newstate):
71118         (create_cd_newstate, re_string_allocate, re_string_construct):
71119         (re_string_realloc_buffers, build_wcs_upper_buffer):
71120         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71121         (re_string_reconstruct, re_string_peek_byte_case):
71122         (re_string_fetch_byte_case, re_string_context_at):
71123         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71124         (re_node_set_init_copy, re_node_set_add_intersect):
71125         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71126         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71127         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71128         (re_acquire_state, re_acquire_state_context, register_state):
71129         Likewise.
71130         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
71131         search_cur_bkref_entry):
71132         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
71133         (re_search_internal, re_search_2_stub, re_search_stub)
71134         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
71135         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
71136         (update_cur_sifted_state, check_dst_limits):
71137         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
71138         (check_subexp_limits, sift_states_bkref, merge_state_array):
71139         (check_subexp_matching_top, get_subexp, get_subexp_sub):
71140         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
71141         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71142         (expand_bkref_cache, check_node_accept_bytes):
71143         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
71144         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
71145         (acquire_init_state_context, check_halt_node_context):
71146         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
71147         (sift_states_backward, clean_state_log_if_needed):
71148         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
71149         (find_recover_state, transit_state_sb, transit_state_mb):
71150         (transit_state_bkref, build_trtable, match_ctx_clean):
71151         Likewise.
71152         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
71153         to work around an assumption that REG_MISSING is negative.
71154
71155         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
71156         (seek_collating_symbol_entry) [defined _LIBC]:
71157         (lookup_collation_sequence_value) [defined _LIBC]:
71158         (build_range_exp, build_collating_symbol) [defined _LIBC]:
71159         Use prototypes rather than old-style function definitions.
71160         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
71161         (transit_state_sb) [0]:
71162         (find_collation_sequence_value) [defined _LIBC]: Likewise.
71163
71164         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
71165         rm_eo.
71166
71167         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
71168         (optimize_subexps, lower_subexp):
71169         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
71170         since the signed shift might overflow.  Use 1u<<31 instead.
71171         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
71172         Likewise.
71173         * lib/regexec.c (check_dst_limits_calc_pos_1,
71174         check_subexp_matching_top): Likewise.
71175
71176         * lib/regcomp.c (optimize_subexps, lower_subexp):
71177         Use CHAR_BIT rather than 8, for clarity.
71178         * lib/regexec.c (check_dst_limits_calc_pos_1):
71179         (check_subexp_matching_top): Likewise.
71180         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
71181         have to worry about portability issues when shifting it left.
71182         Remove no-longer-needed test for table_size > 0.
71183         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
71184         in a word, as the resulting behavior is undefined.
71185         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
71186         in one case, a <= should have been an <, and in another case the
71187         whole test was missing.
71188         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
71189         the standard name CHAR_BIT.
71190         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
71191         this is not true on one's complement and signed-magnitude hosts.
71192
71193         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
71194         next_last_offset.
71195         (struct re_dfa_t): Remove unused member states_alloc.
71196         * lib/regcomp.c (init_dfa): Don't initialize unused members.
71197
71198 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71199
71200         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
71201         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
71202         and large-file glibc and in 32-bit large-file Solaris.
71203
71204 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71205
71206         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
71207         lengths fit in regoff_t; this isn't true if regoff_t is the same
71208         width as size_t.
71209         * lib/regex.c (re_search_internal): 5th arg is LAST_START
71210         (= START + RANGE) instead of RANGE.  This avoids overflow
71211         problems when regoff_t is the same width as size_t.
71212         All callers changed.
71213         (re_search_2_stub): Check for overflow when adding the
71214         sizes of the two strings.
71215         (re_search_stub): Check for overflow when adding START
71216         to RANGE; if it occurs, substitute the extreme value.
71217
71218 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71219
71220         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
71221
71222 2005-08-31  Jim Meyering  <jim@meyering.net>
71223
71224         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
71225         a pointer-to-const.
71226         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
71227         (register_state): Likewise.
71228         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
71229         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
71230         (group_nodes_into_DFAstates): Likewise.
71231
71232 2005-08-31  Jim Meyering  <jim@meyering.net>
71233
71234         * check-module: Add a FIXME comment.
71235
71236 2005-08-31  Eric Blake  <ebb9@byu.net>
71237
71238         * modules/unistd-safer (Files): Add unistd--.h.
71239         * modules/stdio-safer (Files): Add stdio--.h.
71240
71241 2005-08-31  Derek Price  <derek@ximbiot.com>
71242
71243         * lib/getdelim.c (getdelim): Return EOF on EOF.
71244         Reported by Larry Jones <lawrence.jones@ugs.com>.
71245
71246 2005-08-31  Bruno Haible  <bruno@clisp.org>
71247
71248         Avoid unnecessary diffs in the generated lib/Makefile.am.
71249         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
71250         the generated files.
71251         (func_import): Don't set cmd.
71252
71253 2005-08-31  Bruno Haible  <bruno@clisp.org>
71254
71255         * lib/strstr.c: Include <stddef.h>, for NULL.
71256         * lib/strcasestr.c: Likewise.
71257         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71258
71259 2005-08-31  Bruno Haible  <bruno@clisp.org>
71260
71261         * gnulib-tool: New option --macro-prefix.
71262         (func_import): Use macro_prefix.
71263         (import): Handle option --macro-prefix.
71264
71265 2005-08-31  Bruno Haible  <bruno@clisp.org>
71266
71267         * gnulib-tool (import): Rename most ac_* variables to cached_*.
71268         Also use new variables cached_lgpl, cached_libtool.
71269
71270 2005-08-31  Bruno Haible  <bruno@clisp.org>
71271
71272         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
71273         always instantiating them.
71274
71275 2005-08-31  Bruno Haible  <bruno@clisp.org>
71276
71277         * gnulib-tool (func_import): Read the previous cached settings
71278         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
71279         earlier added by gnulib but are now dropped. Warn when a gnulib file
71280         overwrites a non-gnulib file.
71281
71282 2005-08-31  Bruno Haible  <bruno@clisp.org>
71283
71284         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
71285         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
71286         projects that don't keep autogenerated files in CVS. Put into
71287         actioncmd only the specified modules, not the transitive closure.
71288
71289 2005-08-31  Bruno Haible  <bruno@clisp.org>
71290
71291         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
71292         Create directories that shall be filled.
71293         (import): Don't look for gl_* macros in configure.ac. Recurse across
71294         all directories containing a gnulib-cache.m4 files, if meaningful.
71295
71296 2005-08-31  Bruno Haible  <bruno@clisp.org>
71297
71298         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
71299         (import): Set seen_libtool when we see gl_LIBTOOL.
71300
71301 2005-08-31  Bruno Haible  <bruno@clisp.org>
71302
71303         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
71304         declaration macro definitions from generated gnulib.m4.
71305
71306 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
71307
71308         * lib/iconvme.h: Add prototype for iconv_alloc.
71309
71310 2005-08-29  Simon Josefsson  <jas@extundo.com>
71311
71312         * lib/iconvme.c: Fix errno.
71313
71314 2005-08-29  Bruno Haible  <bruno@clisp.org>
71315
71316         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
71317         that it works when the directory contains spaces.
71318
71319 2005-08-29  Bruno Haible  <bruno@clisp.org>
71320
71321         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
71322
71323 2005-08-29  Bruno Haible  <bruno@clisp.org>
71324
71325         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
71326         Emit more advice.
71327
71328 2005-08-29  Bruno Haible  <bruno@clisp.org>
71329         and Stepan Kasal  <kasal@ucw.cz>
71330
71331         * check-module: If more parameters are given, check each of them
71332         separately; add more exceptions, as noted by Jim Meyering.
71333         (check_module): New procedure.
71334         (%exempt_header): Now contains all exceptions.
71335
71336 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
71337
71338         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
71339
71340 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
71341
71342         * lib/iconvme.c: Split iconv_string into iconv_alloc.
71343
71344 2005-08-28  Bruno Haible  <bruno@clisp.org>
71345
71346         * m4/gnulib-tool.m4: New file.
71347
71348 2005-08-27  Jim Meyering  <jim@meyering.net>
71349
71350         * modules/unistd-safer (Files): Add pipe-safer.c.
71351         * modules/fcntl-safer (Files): Add creat-safer.c.
71352
71353 2005-08-27  Jim Meyering  <jim@meyering.net>
71354
71355         * m4/stdlib-safer.m4: New file.  From coreutils.
71356         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
71357         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
71358         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
71359         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
71360         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
71361
71362 2005-08-27  Jim Meyering  <jim@meyering.net>
71363
71364         * lib/fopen-safer.c: Merge minor changes from coreutils.
71365         * lib/dup-safer.c: Likewise.
71366         * lib/fd-safer.c: Likewise.
71367
71368         Merge from coreutils.
71369         * lib/stdio--.h: New file.
71370         * lib/stdlib--.h: New file.
71371         * lib/mkstemp-safer.c: New file.
71372
71373         GNU tar needs these.
71374         * lib/pipe-safer.c: New file.
71375         * lib/creat-safer.c: New file.
71376         * lib/fcntl--.h (creat): Define to creat_safer.
71377         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
71378         * lib/unistd--.h (pipe): Define to pipe_safer.
71379         * lib/unistd-safer.h: Declare pipe_safer.
71380
71381 2005-08-26  Simon Josefsson  <jas@extundo.com>
71382
71383         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
71384         Haible <bruno@clisp.org>.
71385
71386 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
71387
71388         * lib/regex_internal.h: Remove all references to
71389         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
71390         or better.
71391         (bitset_not, bitset_merge, bitset_not_merge):
71392         (bitset_mask, re_string_allocate, re_string_construct):
71393         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
71394         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
71395         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
71396         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
71397         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71398         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71399         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
71400         (re_acquire_state_context):
71401         Remove unnecessary forward decls.
71402         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
71403         Put __attribute at function definition,
71404         now that the function decl has been removed.
71405         * lib/regex_internal.c (re_string_peek_byte_case):
71406         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
71407         Likewise.
71408
71409 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
71410
71411         * m4/regex.m4: Add AC_PREREQ(2.50).
71412         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
71413
71414 2005-08-25  Simon Josefsson  <jas@extundo.com>
71415
71416         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
71417         __fsetlocking.
71418
71419 2005-08-25  Simon Josefsson  <jas@extundo.com>
71420
71421         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
71422         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
71423         GLIBC specific code.
71424
71425 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71426
71427         Make regex safe for g++.  This fixes one real bug (an "err"
71428         that should have been "*err").  g++ problem reported by
71429         Sam Steingold.
71430         * lib/regex_internal.h (re_calloc): New macro, consistent with
71431         re_malloc etc.  All callers of calloc changed to use re_calloc.
71432         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
71433         not int.  All callers changed.
71434         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
71435         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
71436         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
71437         (find_recover_state): Change "err" to "*err"; this fixes what
71438         appears to be a real bug.
71439         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
71440         versus int.
71441
71442 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71443
71444         * modules/regex (Depends-on): Add malloc, since the code
71445         assumes that !malloc(0) means failure.
71446
71447 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71448
71449         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
71450
71451         alloca modernization/simplification for regex.
71452         * lib/regex.c: Remove portability cruft for alloca.  This no longer
71453         needs to be at the start of the file, and can be moved into
71454         regex_internal.h and simplified.
71455         * lib/regex_internal.h: Include <alloca.h>.
71456         (__libc_use_alloca) [!defined _LIBC]: New macro.
71457         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
71458         now works outside glibc.
71459
71460 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71461
71462         * config/srclist.txt: Add glibc bugs 1241, 1245.
71463
71464 2005-08-25  Jim Meyering  <jim@meyering.net>
71465
71466         * lib/open-safer.c: Include <config.h>.
71467         Otherwise, we'd lose LARGEFILE support in any file using
71468         e.g. "fcntl--.h"
71469
71470 2005-08-25  Bruno Haible  <bruno@clisp.org>
71471
71472         * m4/minmax.m4: Require autoconf 2.52.
71473         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
71474         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
71475         alternatives of translit over the alphabet.
71476         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
71477
71478 2005-08-24  Simon Josefsson  <jas@extundo.com>
71479
71480         * tests/test-getpass.c: New file.
71481
71482 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71483
71484         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
71485         for GNU regex features.
71486
71487 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71488
71489         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
71490         * lib/regex.h (regerror): Likewise.
71491
71492         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
71493         requires this.  (The code never needed it.)
71494
71495         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
71496         All uses of recently-renamed identifiers changed to use the new,
71497         POSIX-compliant names.  The code will build and run just fine
71498         without these changes, but it's better to eat our own dog food
71499         and use the standard-conforming names.
71500
71501         * lib/regex.h: Fix a multitude of POSIX name space violations.
71502         These changes have an effect only for programs that define
71503         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
71504         do not change anything for programs compiled in the normal way.
71505         Also, there is no effect on the ABI.
71506
71507         (_REGEX_SOURCE): New macro.
71508         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
71509         defined and _GNU_SOURCE is not; this fixes a name space violation.
71510
71511         Rename the following macros to obey POSIX requirements.
71512         The old names are still visible as macros if _REGEX_SOURCE is defined.
71513         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
71514         RE_BACKSLASH_ESCAPE_IN_LISTS.
71515         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
71516         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
71517         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
71518         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
71519         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
71520         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
71521         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
71522         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
71523         (REG_INTERVALS): renamed from RE_INTERVALS.
71524         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
71525         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
71526         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
71527         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
71528         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
71529         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
71530         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
71531         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
71532         RE_UNMATCHED_RIGHT_PAREN_ORD.
71533         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
71534         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
71535         (REG_DEBUG): renamed from RE_DEBUG.
71536         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
71537         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
71538         unusual, since we can't clash with the POSIX REG_ICASE.
71539         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
71540         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
71541         (REG_NO_SUB): renamed from RE_NO_SUB.
71542         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
71543         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
71544         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
71545         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
71546         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
71547         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
71548         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
71549         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
71550         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
71551         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
71552         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
71553         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
71554         RE_SYNTAX_POSIX_MINIMAL_BASIC.
71555         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
71556         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
71557         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
71558         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
71559         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
71560         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
71561         (REG_FIXED): Renamed from REGS_FIXED.
71562         (REG_NREGS): Renamed from RE_NREGS.
71563
71564         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
71565         of other REG_* macros, since POSIX says the user is allowed to
71566         #undef these macros selectively.
71567
71568         (reg_errcode_t): Update comment stating what other tables need
71569         to be consistent.
71570
71571         Rename the following enum values to obey POSIX requirements.
71572         The old names are still visible as macros.
71573         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
71574         is not defined, since GNU is supposed to be a superset of POSIX as
71575         much as possible, and since we want reg_errcode_t to be a signed
71576         type for implementation consistency.
71577         (_REG_NOERROR): Renamed from REG_NOERROR.
71578         (_REG_NOMATCH): Renamed from REG_NOMATCH.
71579         (_REG_BADPAT): Renamed from REG_BADPAT.
71580         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
71581         (_REG_ECTYPE): Renamed from REG_ECTYPE.
71582         (_REG_EESCAPE): Renamed from REG_EESCAPE.
71583         (_REG_ESUBREG): Renamed from REG_ESUBREG.
71584         (_REG_EBRACK): Renamed from REG_EBRACK.
71585         (_REG_EPAREN): Renamed from REG_EPAREN.
71586         (_REG_EBRACE): Renamed from REG_EBRACE.
71587         (_REG_BADBR): Renamed from REG_BADBR.
71588         (_REG_ERANGE): Renamed from REG_ERANGE.
71589         (_REG_ESPACE): Renamed from REG_ESPACE.
71590         (_REG_BADRPT): Renamed from REG_BADRPT.
71591         (_REG_EEND): Renamed from REG_EEND.
71592         (_REG_ESIZE): Renamed from REG_ESIZE.
71593         (_REG_ERPAREN): Renamed from REG_ERPAREN.
71594         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
71595         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
71596         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
71597         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
71598
71599         (_REG_RE_NAME, _REG_RM_NAME): New macros.
71600         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
71601         changed.  But support the old name if the new one is not defined
71602         and if _REGEX_SOURCE.
71603
71604         Change the following member names in struct re_pattern_buffer.
71605         The old names are still supported if !_REGEX_SOURCE.
71606         The new names are always supported, regardless of _REGEX_SOURCE.
71607         (re_buffer): Renamed from buffer.
71608         (re_allocated): Renamed from allocated.
71609         (re_used): Renamed from used.
71610         (re_syntax): Renamed from syntax.
71611         (re_fastmap): Renamed from fastmap.
71612         (re_translate): Renamed from translate.
71613         (re_can_be_null): Renamed from can_be_null.
71614         (re_regs_allocated): Renamed from regs_allocated.
71615         (re_fastmap_accurate): Renamed from fastmap_accurate.
71616         (re_no_sub): Renamed from no_sub.
71617         (re_not_bol): Renamed from not_bol.
71618         (re_not_eol): Renamed from not_eol.
71619         (re_newline_anchor): Renamed from newline_anchor.
71620
71621         Change the following member names in struct re_registers.
71622         The old names are still supported if !_REGEX_SOURCE.
71623         The new names are always supported, regardless of _REGEX_SOURCE.
71624         (rm_num_regs): Renamed from num_regs.
71625         (rm_start): Renamed from start.
71626         (rm_end): Renamed from end.
71627
71628         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
71629         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
71630         Prepend __ to parameter names.
71631
71632         Undo yesterday's changes.
71633
71634 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71635
71636         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
71637         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
71638         lib/regex.c.
71639
71640 2005-08-24  Jim Meyering  <jim@meyering.net>
71641
71642         Sync from coreutils.
71643         * m4/fcntl-safer.m4: New file.
71644
71645         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
71646         and object files for this module.
71647
71648 2005-08-24  Jim Meyering  <jim@meyering.net>
71649
71650         Sync from coreutils.
71651         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
71652
71653 2005-08-24  Jim Meyering  <jim@meyering.net>
71654
71655         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
71656         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
71657
71658 2005-08-24  Jim Meyering  <jim@meyering.net>
71659
71660         * modules/fcntl-safer: New module.
71661         * modules/fts (Depends-on): Add fcntl-safer.
71662         * MODULES.html.sh (File descriptor based Input/Output):
71663         Add fcntl-safer.
71664
71665 2005-08-24  Bruno Haible  <bruno@clisp.org>
71666
71667         Support for unit test modules.
71668         * modules/README: Mention tests modules.
71669         * modules/TEMPLATE-TESTS: New file.
71670         * gnulib-tool: New options --extract-tests-module, --with-tests and
71671         --tests-base (unused for the moment).
71672         (testsbase, inctests): New variables.
71673         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
71674         (func_verify_module): Exclude TEMPLATE-TESTS.
71675         (func_verify_nontests_module, func_verify_tests_module): New functions.
71676         (func_get_dependencies): Add implicit dependency for tests modules.
71677         (func_get_tests_module): New function.
71678         (func_modules_transitive_closure): When --with-tests was specified,
71679         include the unit tests as well, unless explicitly avoided.
71680         (func_emit_lib_Makefile_am): Ignore the tests modules here.
71681         (func_emit_tests_Makefile_am): New function.
71682         (func_create_testdir): When --with-tests was specified, emit a
71683         tests/ directory.
71684         * MODULES.html.sh (Future developments): Update.
71685
71686 2005-08-24  Bruno Haible  <bruno@clisp.org>
71687
71688         * modules/tls-tests: New file.
71689         * tests/test-tls.c: New file, from GNU gettext.
71690
71691 2005-08-24  Bruno Haible  <bruno@clisp.org>
71692
71693         * modules/lock-tests: New file.
71694         * tests/test-lock.c: New file, from GNU gettext.
71695
71696 2005-08-24  Bruno Haible  <bruno@clisp.org>
71697
71698         * lib/lock.h: Add multiple inclusion guard.
71699         * lib/tls.h: Add multiple inclusion guard.
71700
71701 2005-08-24  Bruno Haible  <bruno@clisp.org>
71702
71703         * gnulib-tool: Add support for the --aux-dir option to
71704         --create-testdir, --create-megatestdir, --test, --megatest.
71705         (func_create_testdir, func_create_megatestdir): Optionally emit a
71706         AC_CONFIG_AUX_DIR directive.
71707         (create-testdir, create-megatestdir, test, megatest): Provide a
71708         default value for $auxdir.
71709
71710 2005-08-24  Bruno Haible  <bruno@clisp.org>
71711
71712         * gnulib-tool (import): Use compound statement instead of subshell
71713         where possible.
71714
71715 2005-08-24  Bruno Haible  <bruno@clisp.org>
71716
71717         * gnulib-tool (import): Change --aux-dir default to "build-aux".
71718
71719 2005-08-24  Bruno Haible  <bruno@clisp.org>
71720
71721         * gnulib-tool (func_version): Update.
71722
71723 2005-08-24  Bruno Haible  <bruno@clisp.org>
71724
71725         * gnulib-tool (func_import, func_create_testdir,
71726         func_create_megatestdir): Quote all autoconf macro arguments.
71727
71728 2005-08-24  Bruno Haible  <bruno@clisp.org>
71729
71730         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
71731         option --force, because --force causes the aclocal.m4 of each
71732         subdirectory to be newer than the corresponding config.h.in.
71733
71734 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71735
71736         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
71737         All contents moved to gl_REGEX.
71738         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
71739         assume that it does.
71740
71741 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71742
71743         * lib/regex.h (REG_NOSYS)
71744         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
71745         Define, since POSIX requires it as of 2001.
71746         (_REG_ENOSYS)
71747         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
71748         New private symbol, used to keep the enum signed in all cases.
71749         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
71750         Youngman in
71751         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
71752
71753         * lib/regex_internal.c (re_string_skip_chars, register_state):
71754         (calc_state_hash):
71755         Remove forward decls; no longer needed now that we use prototypes.
71756         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
71757         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
71758         (clean_state_log_if_needed): Likewise.
71759
71760 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71761
71762         * config/srclist.txt: Add glibc bugs 1231-1233.
71763
71764 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71765
71766         Fix problems reported by Sam Steingold in
71767         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
71768         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
71769         assumed that reg_errcode_t is a signed type, which is not
71770         necessarily true if _XOPEN_SOURCE is not defined.
71771         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
71772         since some compilers warn about it otherwise.
71773
71774 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71775
71776         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
71777         (init_word_char, create_initial_state, duplicate_node_closure):
71778         (fetch_token, peek_token_bracket, build_range_exp):
71779         (build_collating_symbol): Remove forward decls; no longer needed
71780         now that we use prototypes.
71781
71782         * lib/regcomp.c:
71783         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
71784         (re_compile_fastmap_iter, regcomp, regerror, regfree):
71785         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
71786         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
71787         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
71788         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
71789         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
71790         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
71791         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
71792         (build_range_exp, build_collating_symbol, parse_bracket_exp):
71793         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
71794         (build_charclass, build_charclass_op, fetch_number, create_tree):
71795         (create_token_tree, mark_opt_subexp, duplicate_tree):
71796         Use prototypes rather than old-style definitions.
71797
71798         * lib/regex_internal.c:
71799         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
71800         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
71801         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71802         (re_string_reconstruct, re_string_peek_byte_case):
71803         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
71804         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71805         (re_node_set_init_copy, re_node_set_add_intersect):
71806         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71807         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71808         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71809         (re_acquire_state, re_acquire_state_context, register_state):
71810         (create_ci_newstate, create_cd_newstate, free_state):
71811         Likewise.
71812         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
71813         re_search_2):
71814         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
71815         (re_search_internal, prune_impossible_nodes):
71816         (acquire_init_state_context, check_matching, static):
71817         (check_halt_node_context, check_halt_state_context, proceed_next_node):
71818         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
71819         (update_regs, sift_states_backward, build_sifted_states):
71820         (clean_state_log_if_needed, merge_state_array):
71821         (update_cur_sifted_state, add_epsilon_src_nodes):
71822         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
71823         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
71824         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
71825         (find_recover_state, check_subexp_matching_top, transit_state_mb):
71826         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
71827         (check_arrival, check_arrival_add_next_nodes):
71828         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71829         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71830         (check_node_accept_bytes, check_node_accept, extend_buffers):
71831         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
71832         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
71833         (sift_ctx_init):
71834         Likewise.
71835
71836         * lib/regex_internal.h:
71837         (re_string_allocate, re_string_construct, re_string_reconstruct):
71838         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
71839         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
71840         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
71841         (re_string_context_at, re_string_peek_byte_case):
71842         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
71843         is defined, since we now use prototypes always.
71844
71845         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
71846         C89 or better.  All uses removed.
71847
71848 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71849
71850         * config/srclist.txt: Add glibc bugs 1220-1227.
71851
71852 2005-08-20  Jim Meyering  <jim@meyering.net>
71853
71854         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
71855         of unused local, dfa.
71856
71857 2005-08-20  Bruno Haible  <bruno@clisp.org>
71858
71859         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
71860
71861 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71862
71863         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
71864         (re_node_set_insert_last, re_dfa_add_node):
71865         Rename local variables to avoid GCC shadowing warnings.
71866
71867 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71868
71869         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
71870         [defined lint]: Suppress bogus uninitialized-variable warnings.
71871
71872         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
71873         and let the caller return REG_ESPACE if out of space.  This
71874         removes an uninitialied-variable warning with GCC 4.0.1, and also
71875         avoids taking the address of a local variable.  All callers
71876         changed.
71877
71878 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
71881         $LIBCSRC/posix/regexec.c.
71882         Add glibc bug 1217 for regcomp.c.
71883
71884 2005-08-19  Jim Meyering  <jim@meyering.net>
71885
71886         * lib/regexec.c (proceed_next_node): Redo local variables to
71887         avoid GCC shadowing warnings.
71888
71889 2005-08-18  Bruno Haible  <bruno@clisp.org>
71890
71891         * lib/strstr.c (strstr): Fix return value in multibyte case.
71892         * lib/strcasestr.c (strcasestr): Likewise.
71893
71894 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71895
71896         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
71897
71898 2005-08-17  Jim Meyering  <jim@meyering.net>
71899
71900         Make the %s format (seconds since the epoch) work for a negative
71901         number and when used with a zero-padded field width, e.g. %015s.
71902
71903         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
71904         label so that it precedes the code to set `digits'.  Otherwise,
71905         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
71906         print `00-22'.  Now, it prints `-0022', as it should.
71907
71908 2005-08-17  Bruno Haible  <bruno@clisp.org>
71909
71910         * modules/strstr (Files): Add m4/mbrtowc.m4.
71911         (Depends-on): Add mbuiter.
71912
71913 2005-08-17  Bruno Haible  <bruno@clisp.org>
71914
71915         * modules/strcasestr: New file.
71916         * MODULES.html.sh (String handling, based on ANSI C 89): Add
71917         strcasestr.
71918
71919 2005-08-17  Bruno Haible  <bruno@clisp.org>
71920
71921         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
71922
71923 2005-08-17  Bruno Haible  <bruno@clisp.org>
71924
71925         * modules/mbuiter: New file.
71926         * MODULES.html.sh (Extended multibyte and wide character utilities):
71927         Add mbuiter.
71928
71929 2005-08-17  Bruno Haible  <bruno@clisp.org>
71930
71931         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
71932         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
71933
71934 2005-08-17  Bruno Haible  <bruno@clisp.org>
71935
71936         * m4/strcasestr.m4: New file.
71937
71938 2005-08-17  Bruno Haible  <bruno@clisp.org>
71939
71940         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
71941         * lib/strstr.c: Completely rewritten, with multibyte locale support.
71942
71943 2005-08-17  Bruno Haible  <bruno@clisp.org>
71944
71945         * lib/strcasestr.h: New file.
71946         * lib/strcasestr.c: New file.
71947
71948 2005-08-17  Bruno Haible  <bruno@clisp.org>
71949
71950         * lib/strcasecmp.c: Use mbuiter.h.
71951
71952 2005-08-17  Bruno Haible  <bruno@clisp.org>
71953
71954         * lib/mbuiter.h: New file.
71955
71956 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71957
71958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
71959         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
71960         and gl_GETOPT are both invoked via different paths (as happens
71961         with GNU tar CVS because it uses both argp and getopt), the former
71962         wins.
71963
71964 2005-08-16  Bruno Haible  <bruno@clisp.org>
71965
71966         * modules/tls: New file.
71967         * MODULES.html.sh (Multithreading): Add tls.
71968
71969 2005-08-16  Bruno Haible  <bruno@clisp.org>
71970
71971         * modules/strnlen1: New file.
71972         * MODULES.html.sh (String handling): Add strnlen1.
71973
71974 2005-08-16  Bruno Haible  <bruno@clisp.org>
71975
71976         * modules/strcase (Files): Add m4/mbrtowc.m4.
71977         (Depends-on): Add strnlen1, mbchar.
71978
71979 2005-08-16  Bruno Haible  <bruno@clisp.org>
71980
71981         * modules/mbiter: New file.
71982         * MODULES.html.sh (Extended multibyte and wide character utilities):
71983         Add mbiter.
71984
71985 2005-08-16  Bruno Haible  <bruno@clisp.org>
71986
71987         * modules/mbfile: New file.
71988         * MODULES.html.sh (Extended multibyte and wide character utilities):
71989         Add mbfile.
71990
71991 2005-08-16  Bruno Haible  <bruno@clisp.org>
71992
71993         * modules/mbchar: New file.
71994         * MODULES.html.sh (Extended multibyte and wide character utilities):
71995         New section.
71996
71997 2005-08-16  Bruno Haible  <bruno@clisp.org>
71998
71999         * m4/tls.m4: New file, from GNU gettext.
72000
72001 2005-08-16  Bruno Haible  <bruno@clisp.org>
72002
72003         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
72004         always.
72005         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
72006
72007 2005-08-16  Bruno Haible  <bruno@clisp.org>
72008
72009         * m4/mbiter.m4: New file.
72010
72011 2005-08-16  Bruno Haible  <bruno@clisp.org>
72012
72013         * m4/mbfile.m4: New file.
72014
72015 2005-08-16  Bruno Haible  <bruno@clisp.org>
72016
72017         * m4/mbchar.m4: New file.
72018
72019 2005-08-16  Bruno Haible  <bruno@clisp.org>
72020
72021         * lib/tls.h: New file, from GNU gettext.
72022         * lib/tls.c: New file, from GNU gettext.
72023
72024 2005-08-16  Bruno Haible  <bruno@clisp.org>
72025
72026         * lib/strnlen1.h: New file.
72027         * lib/strnlen1.c: New file.
72028
72029 2005-08-16  Bruno Haible  <bruno@clisp.org>
72030
72031         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
72032         (mbi_init): Update.
72033         (mbi_avail, mbi_advance): Let the iteration end before the terminating
72034         NUL byte, not after it.
72035
72036 2005-08-16  Bruno Haible  <bruno@clisp.org>
72037
72038         * lib/strcase.h (strcasecmp): Add note in comments.
72039         * lib/strncasecmp.c: Use code from strcasecmp.c.
72040         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
72041         (strcasecmp): Work correctly in multibyte locales.
72042
72043 2005-08-16  Bruno Haible  <bruno@clisp.org>
72044
72045         * lib/mbiter.h: New file.
72046
72047 2005-08-16  Bruno Haible  <bruno@clisp.org>
72048
72049         * lib/mbfile.h: New file.
72050
72051 2005-08-16  Bruno Haible  <bruno@clisp.org>
72052
72053         * lib/mbchar.h: New file.
72054         * lib/mbchar.c: New file.
72055
72056 2005-08-16  Bruno Haible  <bruno@clisp.org>
72057
72058         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
72059         the valid ones. Makes the comparison operations transitive:
72060         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
72061         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
72062
72063 2005-08-15  Simon Josefsson  <jas@extundo.com>
72064
72065         * modules/ssize_t (License): Change to 'unlimited'.
72066
72067         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
72068
72069 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72070
72071         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
72072         Add comments for each pending glibc patch.
72073
72074 2005-08-15  Bruno Haible  <bruno@clisp.org>
72075
72076         * lib/regex.h (__restrict_arr): Don't define to __restrict if
72077         __cplusplus is defined.
72078
72079 2005-08-14  Jim Meyering  <jim@meyering.net>
72080
72081         Sync from coreutils.
72082
72083         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
72084         Use the hash-table-based cycle-detection code not just when
72085         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
72086         Reported by James Youngman in
72087         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
72088         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
72089         FTS_TIGHT_CYCLE_CHECK.
72090         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
72091         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
72092         once again.
72093         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
72094         * lib/fts.c (fd_safer): Remove decl.
72095         Include fcntl--.h rather than unistd-safer.h
72096         (fts_safe_changedir): Don't call fd_safer; no longer needed
72097         now that we include fcntl--.h.
72098
72099 2005-08-12  Simon Josefsson  <jas@extundo.com>
72100
72101         * modules/getndelim2: Use ssize_t module.
72102         * modules/getnline: Likewise.
72103         * modules/safe-read: Likewise.
72104         * modules/xreadlink: Likewise.
72105
72106         * modules/ssize_t: New file.
72107
72108 2005-08-12  Simon Josefsson  <jas@extundo.com>
72109
72110         * m4/readline.m4: Look for termcap, curses or ncurses if required.
72111
72112 2005-08-12  Simon Josefsson  <jas@extundo.com>
72113
72114         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72115         ssize_t.
72116
72117 2005-08-12  Simon Josefsson  <jas@extundo.com>
72118
72119         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
72120         readline, getdelim and check_version.
72121         (Support for systems lacking ISO C 99: Sizes of integer types):
72122         Add size_max.
72123
72124 2005-08-12  Bruno Haible  <bruno@clisp.org>
72125
72126         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
72127
72128 2005-08-11  Simon Josefsson  <jas@extundo.com>
72129
72130         * modules/readline: New file.
72131
72132         * modules/strnlen (Files): Add strnlen.h.
72133
72134 2005-08-11  Simon Josefsson  <jas@extundo.com>
72135
72136         * m4/readline.m4: New file.
72137
72138 2005-08-11  Simon Josefsson  <jas@extundo.com>
72139
72140         * lib/readline.h, readline.c: New file.
72141
72142 2005-08-11  Simon Josefsson  <jas@extundo.com>
72143
72144         * doc/gnulib.texi (Initial import, Finishing touches): Mention
72145         gl_AVOID.
72146
72147 2005-08-11  Bruno Haible  <bruno@clisp.org>
72148
72149         * lib/strnlen.h (strnlen): Change parameter name to match comment.
72150
72151 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
72152
72153         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
72154
72155 2005-08-10  Simon Josefsson  <jas@extundo.com>
72156
72157         * tests/test-iconvme.c: New file.
72158
72159 2005-08-10  Simon Josefsson  <jas@extundo.com>
72160
72161         * m4/strnlen.m4: New file.
72162
72163         * m4/strndup.m4: Don't check for strnlen declaration, done in
72164         strnlen.m4.
72165
72166 2005-08-10  Simon Josefsson  <jas@extundo.com>
72167
72168         * lib/strndup.c: Use strnlen.h.
72169
72170         * lib/strnlen.h: New file.
72171
72172 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72173
72174         * README: Typos.
72175
72176 2005-08-02  Simon Josefsson  <jas@extundo.com>
72177
72178         * modules/readline: New file.
72179
72180 2005-08-02  Simon Josefsson  <jas@extundo.com>
72181
72182         * modules/getdelim: New file.
72183
72184         * modules/getline: Rewrite, don't use getndelim2.
72185
72186 2005-08-02  Simon Josefsson  <jas@extundo.com>
72187
72188         * m4/getline.m4: Separate out getdelim stuff into separate module.
72189
72190         * m4/getdelim.m4: New file.
72191
72192 2005-08-02  Simon Josefsson  <jas@extundo.com>
72193
72194         * lib/getline.h, getline.c: Rewrite.
72195
72196         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
72197
72198 2005-07-31  Bruno Haible  <bruno@clisp.org>
72199
72200         * lib/lock.h (gl_lock_initializer): New macro.
72201         (gl_lock_define_initialized): Use it.
72202         (gl_rwlock_initializer): New macro.
72203         (gl_rwlock_define_initialized): Use it.
72204         (gl_recursive_lock_initializer): New macro.
72205         (gl_recursive_lock_define_initialized): Use it.
72206
72207 2005-07-30  Karl Berry  <karl@gnu.org>
72208
72209         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
72210         Report from Ben Pfaff, regarding getopt.
72211
72212 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
72213
72214         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
72215         normal way.
72216         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
72217         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
72218         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
72219         (gl_GETOPT): Use the new macros.  Most of the implementation
72220         is moved to the new macros.  This is for programs like Emacs
72221         that don't want all the functionality of gl_GETOPT.
72222
72223 2005-07-26  Bruno Haible  <bruno@clisp.org>
72224
72225         * m4/lock.m4: Update from GNU gettext.
72226
72227 2005-07-26  Bruno Haible  <bruno@clisp.org>
72228
72229         * lib/lock.h: Update from GNU gettext.
72230         * lib/lock.c: Update from GNU gettext.
72231
72232 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
72233
72234         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
72235         obsolescent AC_TRY_RUN.  Include the default includes files, for
72236         'exit'.
72237
72238 2005-07-24  Bruno Haible  <bruno@clisp.org>
72239
72240         * modules/visibility: New file.
72241         * MODULES.html.sh (Misc): Add visibility.
72242
72243 2005-07-24  Bruno Haible  <bruno@clisp.org>
72244
72245         * m4/visibility.m4: New file.
72246
72247 2005-07-24  Bruno Haible  <bruno@clisp.org>
72248
72249         * doc/visibility.texi: New file.
72250
72251 2005-07-22  Bruno Haible  <bruno@clisp.org>
72252
72253         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
72254         $(ALLOCA_H), redundant through BUILT_SOURCES.
72255         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
72256         redundant through BUILT_SOURCES.
72257         * modules/byteswap (Makefile.am): Remove explicit dependency on
72258         $(BYTESWAP_H), redundant through BUILT_SOURCES.
72259         * modules/fnmatch (Makefile.am): Remove explicit dependency on
72260         $(FNMATCH_H), redundant through BUILT_SOURCES.
72261         * modules/getopt (Makefile.am): Remove explicit dependency on
72262         $(GETOPT_H), redundant through BUILT_SOURCES.
72263         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
72264         redundant through BUILT_SOURCES.
72265         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
72266         redundant through BUILT_SOURCES.
72267         * modules/stdbool (Makefile.am): Remove explicit dependency on
72268         $(STDBOOL_H), redundant through BUILT_SOURCES.
72269         * modules/stdint (Makefile.am): Remove explicit dependency on
72270         $(STDINT_H), redundant through BUILT_SOURCES.
72271         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
72272         Remove explicit dependency on $(SYSEXITS_H).
72273         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
72274
72275 2005-07-18  Simon Josefsson  <jas@extundo.com>
72276
72277         * lib/check-version.c (check_version): Accept identical versions too.
72278
72279 2005-07-18  Bruno Haible  <bruno@clisp.org>
72280
72281         * modules/lock: New file.
72282         * MODULES.html.sh (Multithreading): New section.
72283
72284 2005-07-18  Bruno Haible  <bruno@clisp.org>
72285
72286         * m4/lock.m4: New file, from GNU gettext.
72287
72288 2005-07-18  Bruno Haible  <bruno@clisp.org>
72289
72290         * lib/lock.h: New file, from GNU gettext.
72291         * lib/lock.c: New file, from GNU gettext.
72292
72293 2005-07-18  Bruno Haible  <bruno@clisp.org>
72294
72295         * lib/lock.h (gl_once_t): New type.
72296         (gl_once_define, gl_once): New macros.
72297         * lib/lock.c (fresh_once): New variable.
72298         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
72299         functions.
72300
72301 2005-07-16  Simon Josefsson  <jas@extundo.com>
72302
72303         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
72304         workaround, suggested by Bruno.
72305
72306 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
72307
72308         * modules/xalloc (Depends-on): Add xalloc-die.
72309         * modules/xvasprintf (Depends-on): Add xalloc-die.
72310
72311 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
72312
72313         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
72314         with a minor change.
72315
72316 2005-07-15  Bruno Haible  <bruno@clisp.org>
72317
72318         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
72319         When using lib/poll.c, define poll as rpl_poll.
72320
72321 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
72322
72323         * modules/argp (Depends-on): Remove unlocked-io.
72324
72325 2005-07-14  Derek Price  <derek@ximbiot.com>
72326
72327         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
72328         for glob symlink bug.
72329
72330 2005-07-14  Bruno Haible  <bruno@clisp.org>
72331
72332         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
72333         Instead, test for *_unlocked function declarations directly.
72334
72335 2005-07-11  Simon Josefsson  <jas@extundo.com>
72336
72337         * modules/size_max: New file.
72338
72339         * modules/xsize: Depend on size_max module for size_max.m4.
72340
72341 2005-07-11  Simon Josefsson  <jas@extundo.com>
72342
72343         * lib/size_max.h: New file.
72344
72345 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
72346
72347         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
72348         copyright symbol and the year.
72349         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
72350         (version_etc_va): Use parameterized copyright notice.
72351         Reword to conform to the current GNU coding standards.
72352
72353 2005-07-11  Karl Berry  <karl@gnu.org>
72354
72355         * doc/gnulib.texi (Quoting): new node.
72356         (Initial import): more info, from Patrice.
72357
72358 2005-07-11  Bruno Haible  <bruno@clisp.org>
72359
72360         * gnulib-tool (func_usage): Document option --avoid.
72361         (Command line options): Handle --avoid.
72362         (func_acceptable): New function.
72363         (func_modules_transitive_closure): Use it.
72364
72365 2005-07-11  Bruno Haible  <bruno@clisp.org>
72366
72367         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
72368         Reported by Jim Meyering.
72369
72370 2005-07-10  Bruno Haible  <bruno@clisp.org>
72371
72372         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
72373         Needed when size_t is smaller than 'unsigned int'.
72374         Reported by Paul Eggert.
72375
72376 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72377
72378         * modules/argp (Depends-on): Add unlocked-io
72379
72380 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72381
72382         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
72383         block of defines.
72384
72385 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
72386
72387         * config/srclist.txt: Comment out regcomp.c, since we have a porting
72388         fix now.
72389
72390 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
72391         and Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
72394         in wint_t, not wchar_t.  Remove now-unnecessary cast.
72395
72396 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         * modules/regex (Files): Add lib/regex_internal.c,
72399         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
72400         (Depends-on): Add extensions.
72401         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
72402
72403 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72404
72405         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
72406         pathconf.
72407         * m4/same.m4 (gl_SAME): Likewise.
72408         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
72409
72410         * m4/regex.m4: Adjust to new libc regex implementation.
72411         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
72412         all the .c and .h parts of (the new) regex.
72413         Quote the m4 stuff better.
72414         Check for RE_ICASE bug of old gnulib.
72415         Check for REG_STARTEND of recent libc.
72416         Rename local variables from jm_* to gl_*.
72417         Quote operand of "test -f".
72418         Say "recent enough" version of libc, not "version 2".
72419         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
72420         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
72421         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
72422         Remove check for btowc, isascii.
72423         Require AM_LANGINFO_CODESET.
72424
72425 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72426
72427         * lib/regex.c, regex.h: Sync from libc.
72428         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
72429         * lib/regexec.c:
72430         New files, synced from libc, except that regex_internal.h
72431         currently has a small porting fix.
72432
72433 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72434
72435         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
72436         regex_internal.c, regexec.c.
72437         Add regex_internal.h too, but as a comment, since the libc version
72438         is currently broken in gnulib mode.
72439
72440 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72441
72442         Support programs like Emacs that use gnulib but not gettext.
72443         * MODULES.html.sh (Internationalization functions): Add gettext-h.
72444         * modules/gettext-h: New file.
72445         * modules/gettext (Files): Remove lib/gettext.h.
72446         (Depends-on): Add gettext-h.
72447         (Makefile.am): Remove lib_SOURCES.
72448         * modules/argmatch, modules/c-stack, modules/closeout:
72449         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
72450         * modules/execute, modules/file-type, modules/getaddrinfo:
72451         * modules/getopt, modules/human, modules/javacomp:
72452         * modules/javaexec, modules/mkdir-p, modules/obstack:
72453         * modules/openat, modules/pagealign_alloc, modules/pipe:
72454         * modules/quotearg, modules/regex, modules/rpmatch:
72455         * modules/unicodeio, modules/userspec, modules/version-etc:
72456         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
72457         * modules/xsetenv:
72458         Depend on gettext-h, not gettext.
72459
72460 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72461
72462         * gnulib-tool (func_import): Add support for 'public domain' license.
72463         * modules/alloca, modules/atexit, modules/memmove:
72464         Now public domain, not GPL.
72465         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
72466         * modules/realloc, modules/strerror, modules/strtod:
72467         Now LGPL, not GPL.
72468
72469 2005-07-05  Bruno Haible  <bruno@clisp.org>
72470
72471         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
72472         autoconf CVS. Needed for mingw.
72473
72474 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72475
72476         Remove the dependency of the strftime module on the tzset module.
72477         * modules/strftime (Depends-on): Remove dependency on tzset.
72478
72479 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         Remove the dependency of the strftime module on the tzset module.
72482         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
72483         gl_FUNC_TZSET_CLOBBER.
72484
72485 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72486
72487         Remove the dependency of the strftime module on the tzset module.
72488         * lib/strftime.c (my_strftime)
72489         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
72490         Copy the input structure, to work around some of the bug with
72491         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
72492         Solaris releases, you should also use the tzset module, but we won't
72493         require it as a dependency any more since we don't want LGPLed code
72494         to depend on GPLed code.
72495
72496 2005-07-02  Jim Meyering  <jim@meyering.net>
72497
72498         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
72499         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
72500         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
72501         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
72502
72503 2005-07-02  Jim Meyering  <jim@meyering.net>
72504
72505         * lib/backupfile.c (backup_args): Change a `0' to NULL.
72506
72507 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72508
72509         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
72510         declares only 'struct timespec;' (!).
72511
72512 2005-07-01  Jim Meyering  <jim@meyering.net>
72513
72514         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
72515         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
72516         * lib/save-cwd.c, tempname.c:
72517         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
72518         and don't include <sys/file.h>).
72519
72520 2005-06-29  Jim Meyering  <jim@meyering.net>
72521
72522         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
72523         type name.  Use the variable name instead.
72524         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
72525         Likewise.
72526
72527 2005-06-28  Simon Josefsson  <jas@extundo.com>
72528
72529         * modules/check-version (Files): Add check-version.m4.
72530
72531 2005-06-28  Simon Josefsson  <jas@extundo.com>
72532
72533         * m4/check-version.m4: New file, suggested by Jim Meyering
72534         <jim@meyering.net>.
72535
72536 2005-06-28  Simon Josefsson  <jas@extundo.com>
72537
72538         * lib/check-version.h, lib/check-version.c: New files.
72539
72540 2005-06-28  Simon Josefsson  <jas@extundo.com>
72541
72542         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
72543         collision with global variable.  Better indentation.  Don't
72544         increment buffer pointer beyond buffer end.  Based on comments
72545         from Paul Eggert <eggert@cs.ucla.edu>.
72546
72547         * lib/base64.h: Indent.
72548
72549 2005-06-28  Simon Josefsson  <jas@extundo.com>
72550
72551         * doc/gnulib.texi (Library version handling): New section.
72552
72553 2005-06-28  Jim Meyering  <jim@meyering.net>
72554
72555         * check-module (find_included_lib_files): Hard-code another
72556         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
72557         but modules/fts-lgpl (correctly) does not list those files.
72558
72559         * modules/canonicalize (Files): Add lib/pathmax.h.
72560
72561 2005-06-25  Simon Josefsson  <jas@extundo.com>
72562
72563         * modules/check-version: New file.
72564
72565 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
72566
72567         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
72568         initializer of struct addrinfo, as an indication that we don't
72569         care how many members the structure has.
72570
72571 2005-06-24  Derek Price  <derek@ximbiot.com>
72572         and Bruno Haible  <bruno@clisp.org>
72573
72574         Remove stat module & update lstat.
72575         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
72576         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72577         * m4/stat.m4: Remove this file.
72578
72579 2005-06-24  Derek Price  <derek@ximbiot.com>
72580         and Bruno Haible  <bruno@clisp.org>
72581
72582         Remove stat module & update lstat.
72583         * lib/stat.c: Remove this file...
72584         (slash_aware_lstat): ...moving this content and its support...
72585         * lib/lstat.c (rpl_lstat): ...into here.
72586         * lib/lstat.h: New file.
72587
72588 2005-06-24  Derek Price  <derek@ximbiot.com>
72589         and Bruno Haible  <bruno@clisp.org>
72590
72591         Remove stat module & update lstat.
72592         * config/srclist.txt (libc sources): Remove stat.
72593
72594 2005-06-24  Derek Price  <derek@ximbiot.com>
72595         and Bruno Haible  <bruno@clisp.org>
72596
72597         Remove stat module & update lstat.
72598         * MODULES.html.sh (stat): Remove.
72599         * MODULES.html: Regenerated.
72600         * modules/lstat (Description): Correct function name.
72601         (Files): Add "lstat.h".
72602         (Depends-on): Remove stat, add xalloc, stat-macros.
72603         * modules/stat: Remove this file.
72604         (Include): Add "lstat.h", remove <sys/stat.h>.
72605
72606 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
72607
72608         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
72609         (ranged_convert): Don't save conversion in a temporary struct.
72610         This causes a warning with GCC 4.0.0, and anyway in the typical
72611         case it's not worth the extra 100 bytes or so of code.
72612         (ranged_convert, __mktime_internal): When calling a function via a
72613         pointer P, use P () rather than (*P) (), as we now assume C89 or
72614         better.
72615
72616 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72617
72618         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
72619         "who -r" failed to give output.  Problem reported by Tim Waugh.
72620
72621         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
72622         (xcalloc): Use it to avoid needless tests.
72623         Problem reported by Jim Meyering.
72624
72625 2005-06-20  Derek Price  <derek@ximbiot.com>
72626
72627         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
72628         unnecessary for Autoconfs > 2.59c.
72629
72630 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72631
72632         * lib/argp.h (__option_is_short): Check upper limit of
72633         __key. Isprint() requires its argument to have the value
72634         of an unsigned char or EOF.
72635
72636 2005-06-16  Jim Meyering  <jim@meyering.net>
72637
72638         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
72639         when either N or S is zero.
72640
72641 2005-06-16  Derek Price  <derek@ximbiot.com>
72642
72643         * m4/bison.m4: Declare YACC & YFLAGS precious.
72644
72645 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
72646
72647         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
72648         multibyte string or pattern, fall back on unibyte matching.
72649         Problem reported by James Youngman.
72650
72651 2005-06-08  Bruno Haible  <bruno@clisp.org>
72652
72653         * modules/csharpcomp: New file.
72654         * MODULES.html.sh (C#): Add csharpcomp.
72655
72656 2005-06-08  Bruno Haible  <bruno@clisp.org>
72657
72658         * m4/csharpcomp.m4: New file, from GNU gettext.
72659
72660 2005-06-08  Bruno Haible  <bruno@clisp.org>
72661
72662         * lib/csharpcomp.h: New file, from GNU gettext.
72663         * lib/csharpcomp.c: New file, from GNU gettext.
72664         * lib/csharpcomp.sh.in: New file, from GNU gettext.
72665
72666 2005-06-08  Bruno Haible  <bruno@clisp.org>
72667
72668         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
72669         warning on mingw.
72670
72671 2005-06-07  Derek Price  <derek@ximbiot.com>
72672
72673         Sync from CVS.
72674         * lib/glob_.h: Indent nested #ifdef.
72675
72676 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72677
72678         Sync from coreutils.
72679         Use "file name" when talking about file names, instead of "filename"
72680         or "path", as per the GNU coding standards.
72681         * lib/mkdir-p.c: Renamed from makepath.c.
72682         (make_dir_parents): Renamed from make_path.  All callers changed.
72683         * lib/mkdir-p.h: Likewise.  All includers changed.
72684         * lib/filenamecat.c: Renamed from path-concat.c.
72685         (file_name_concat): Renamed from path_concat.  All callers changed.
72686         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
72687         * lib/filenamecat.h: Likewise.  All includers changed.
72688         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
72689         in comments or local variable names.
72690         * lib/basename.c: Likewise.
72691         * lib/canonicalize.c, canonicalize.h: Likewise.
72692         * lib/dirname.c, dirname.h: Likewise.
72693         * lib/euidaccess.c: Likewise.
72694         * lib/exclude.c: Likewise
72695         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
72696         * lib/fsusage.c, fsuage.h: Likewise.
72697         * lib/fts.c, fts_.h: Likewise.
72698         * lib/getcwd.c: Likewise.
72699         * lib/getloadavg.c: Likewise.
72700         * lib/mkstemp.c: Likewise.
72701         * lib/mountlist.c, mountlist.h: Likewise.
72702         * lib/openat.c, openat.h: Likewise.
72703         * lib/readlink-stub.c: Likewise.
72704         * lib/readutmp.c, readutmp.h: Likewise.
72705         * lib/rename.c: Likewise.
72706         * lib/rmdir.c: Likewise.
72707         * lib/same.c: Likewise.
72708         * lib/savedir.c: Likewise.
72709         * lib/stripslash.c: Likewise.
72710         * lib/tempname.c: Likewise.
72711         * lib/xreadlink.c: Likewise.
72712         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
72713         All uses changed.
72714         * lib/exclude.h: Likewise.
72715
72716         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
72717         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72718         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
72719         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72720         * lib/pathmax.h: Include <limits.h> unconditionally, since other
72721         files have been getting away with it for years (MORE/BSD 4.3
72722         is extinct now).
72723         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
72724         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72725
72726         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
72727         Define to 256, not 255, as per modern POSIX.
72728
72729 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         Sync from coreutils.
72732         Use "file name" when talking about file names, instead of "filename"
72733         or "path", as per the GNU coding standards.
72734         * MODULES.html.sh: mkdir-p renamed from makepath.
72735         filenamecat renamed from path-concat.
72736         * modules/filenamecat: Renamed from modules/path-concat.
72737         (Files): filenamecat.h and filenamecat.c renamed from
72738         path-concat.h and path-concat.c.
72739         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
72740         (Include): filenamecat.h, not path-concat.h.
72741         * modules/mkdir-p: Renamed from modules/makepath.
72742         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
72743         makepath.c.
72744         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
72745         (Include): mkdir-p.h, not makepath.h.
72746
72747 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72748
72749         Sync from coreutils.
72750         * m4/mkdir-p.m4: Renamed from makepath.m4.
72751         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
72752         Rename files from makepath.c to mkdir-p.c, and from
72753         makepath.h to mkdir-p.h.
72754         * m4/filenamecat.m4: Renamed from path-concat.m4.
72755         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
72756         Rename files from path-concat.c to filenamecat.c,
72757         and from path-concat.h to filenamecat.h.
72758         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
72759         "file name" in local variables or comments.
72760         * m4/rename.m4: Likewise.
72761
72762 2005-06-01  Bruno Haible  <bruno@clisp.org>
72763
72764         * modules/csharpexec: New file.
72765         * MODULES.html.sh (C#): New section.
72766
72767 2005-06-01  Bruno Haible  <bruno@clisp.org>
72768
72769         * m4/csharp.m4: New file, from GNU gettext.
72770         * m4/csharpexec.m4: New file, from GNU gettext.
72771
72772 2005-06-01  Bruno Haible  <bruno@clisp.org>
72773
72774         * lib/csharpexec.h: New file, from GNU gettext.
72775         * lib/csharpexec.c: New file, from GNU gettext.
72776         * lib/csharpexec.sh.in: New file, from GNU gettext.
72777
72778 2005-05-31  Derek Price  <derek@ximbiot.com>
72779             Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         Sync from cvs.
72782         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72783
72784 2005-05-31  Derek Price  <derek@ximbiot.com>
72785             Paul Eggert  <eggert@cs.ucla.edu>
72786
72787         Sync from cvs.
72788         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72789
72790 2005-05-29  Derek Price  <derek@ximbiot.com>
72791
72792         * config/srclist.txt (glob_.h, glob.c): Add these files.
72793
72794 2005-05-29  Derek Price  <derek@ximbiot.com>
72795
72796         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
72797         * modules/glob: New file.
72798         * modules/getlogin_r: Add link to POSIX spec in description.
72799
72800 2005-05-29  Derek Price  <derek@ximbiot.com>
72801             Paul Eggert  <eggert@cs.ucla.edu>
72802
72803         * m4/glob.m4: New file.
72804
72805 2005-05-29  Derek Price  <derek@ximbiot.com>
72806             Paul Eggert  <eggert@cs.ucla.edu>
72807
72808         * lib/glob_.h, lib/glob.c: New files.
72809
72810 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72811
72812         * modules/fts (Files): Remove m4/inttypes-pri.m4.
72813         * modules/fts-lgpl (Depends-on): Remove gettext.
72814
72815 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72816
72817         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
72818         and don't require gt_INTTYPES_PRI.
72819
72820 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72821
72822         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
72823
72824         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
72825         the configuration hassle isn't worth it.
72826         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
72827         (LONGEST_MODIFIER, PRIuMAX): Remove.
72828
72829 2005-05-27  Bruno Haible  <bruno@clisp.org>
72830
72831         * lib/getlogin_r.h: Remove second include of <stddef.h>.
72832
72833 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
72834
72835         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
72836         _POSIX_PTHREAD_SEMANTICS for Solaris.
72837
72838 2005-05-25  Derek Price  <derek@ximbiot.com>
72839
72840         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
72841
72842 2005-05-25  Derek Price  <derek@ximbiot.com>
72843             Paul Eggert  <eggert@cs.ucla.edu>
72844
72845         * modules/getlogin_r, m4/getlogin_r.m4: New files.
72846         * lib/getlogin_r.c, getlogin_r.h: New files.
72847
72848 2005-05-25  Bruno Haible  <bruno@clisp.org>
72849             Derek Price  <derek@ximbiot.com>
72850
72851         * lib/getlogin_r.h: Simplify API documentation.
72852
72853 2005-05-23  Derek Price  <derek@ximbiot.com>
72854
72855         * modules/minmax (Files): Add m4/minmax.m4.
72856         (configure.ac): Add gl_MINMAX.
72857
72858 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
72859
72860         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
72861         so that unistd-safer.h (GPL'ed code) need not be included.
72862
72863 2005-05-22  Bruno Haible  <bruno@clisp.org>
72864
72865         * m4/minmax.m4: New file.
72866         Based on a patch by Derek Price <derek@ximbiot.com>.
72867
72868 2005-05-22  Bruno Haible  <bruno@clisp.org>
72869
72870         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
72871         (INT64_MIN): Fix definition.
72872         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
72873
72874         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
72875         NEED_SIGNED_INT_TYPES.
72876
72877         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
72878         HAVE_SYSTEM_INTTYPES.
72879
72880 2005-05-22  Bruno Haible  <bruno@clisp.org>
72881
72882         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
72883         Also include <sys/param.h> if it defines MIN, MAX.
72884         Based on a patch by Derek Price <derek@ximbiot.com>.
72885
72886 2005-05-21  Jim Meyering  <jim@meyering.net>
72887
72888         * modules/fts (Files): Add m4/inttypes-pri.m4.
72889         (Depends-on): Add lstat and remove gettext.  Alphabetize.
72890
72891 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72892
72893         New fts module.
72894         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
72895         (setup_dir, free_dir): New functions.
72896         (enter_dir, leave_dir): Define trivial
72897         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
72898         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
72899         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
72900         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
72901         Move to fts-cycle.c.
72902         (fts_open): Use setup_dir.
72903         (fts_close): Use free_dir.
72904         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
72905         This adds a label and some gotos, but the alternatives were messier.
72906         Check for memory allocation failure when entering a dir.
72907         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
72908         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
72909         (FTS): New member fts_cycle, that is a union that contains the
72910         old active_dir_ht and cycle_state.  All uses changed to mention
72911         fts_cycle.ht and fts_cycle.state.
72912         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
72913         fts.c, with the following changes:
72914         (setup_dir, free_dir): New functions.
72915         (enter_dir): Now returns bool.  Return true if successful, false
72916         if memory exhausted.  All callers changed.
72917         Do not bother partly cleaning up on
72918         memory allocation failure; that is free_dir's job.
72919         However, free ad if hash_insert fails, to avoid memory leak.
72920         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
72921         fts->fts_options to see which union member to use.
72922
72923 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72924
72925         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
72926         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
72927
72928 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72929
72930         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
72931
72932 2005-05-20  Jim Meyering  <jim@meyering.net>
72933
72934         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
72935         Now a macro, to pacify GCC.
72936
72937 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72938
72939         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
72940         of -1.
72941
72942 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72943
72944         * lib/chown.c (rpl_chown): Return -1 on failure.
72945
72946 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72947
72948         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
72949         Don't check for stddef.h.
72950         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
72951         don't use its results.
72952         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
72953         since we include them unconditionally.  Don't require
72954         AM_STDBOOL_H, since stdbool is a prerequisite.
72955         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
72956         since we assume C89 or better.
72957         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
72958         as we don't use their results.
72959         Don't check for fchdir, memmove, memset, strrchr, as we use
72960         them unconditionally.
72961         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
72962         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
72963
72964 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72965
72966         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
72967         Include <stddef.h> unconditionally, since we assume C89 now.
72968         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
72969         * lib/fts.c: Include fts_.h first, to check interface.
72970         Do not include intprops.h; no longer needed.
72971         Include cycle-check.h and hash.h, since fts_.h no longer does.
72972         Remove unnecessary casts of closedir to void.
72973         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
72974         decide whether to decrement nlinks.
72975         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
72976         (FTS): Use struct hash_table * instead of Hash_table, so that
72977         we no longer need to include hash.h here.
72978
72979 2005-05-18  Jim Meyering  <jim@meyering.net>
72980
72981         * modules/dirfd (License): Change to LGPL.  Most of the code
72982         is already in the public domain.
72983
72984 2005-05-18  Jim Meyering  <jim@meyering.net>
72985
72986         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
72987         Reported by Yoann Vandoorselaere.
72988
72989 2005-05-17  Jim Meyering  <jim@meyering.net>
72990
72991         * m4/fts.m4: New file, from coreutils.
72992
72993 2005-05-17  Jim Meyering  <jim@meyering.net>
72994
72995         * lib/fts.c, lib/fts_.h: New files, from coreutils.
72996
72997 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         Sync from coreutils.
73000         * m4/unlinkdir.m4: New file.
73001
73002 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73003
73004         Sync from coreutils.
73005         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
73006         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
73007         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
73008         White space changes only.
73009         * lib/makepath.c (make_path): Port to hosts where leading "//" is
73010         special.
73011         * lib/yesno.c: Include getline.h, not ctype.h.
73012         (yesno): Don't remove leading white space; POSIX doesn't allow it.
73013         Use getline to remove arbitrary restriction on response length.
73014
73015 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73016
73017         * config/srclist-update: Spell out "Street" in FSF postal
73018         mail address; this is the style the FSF seems to prefer.
73019
73020         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
73021         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
73022         this updates FSF postal mail address.
73023
73024         Sync from coreutils.
73025         * modules/unlinkdir: New file.
73026         * modules/yesno (Depends-on): Add getline.
73027         * MODULES.html.sh (File system functions): Add unlinkdir.
73028
73029 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73030
73031         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
73032         lib/strsep.h:
73033         Change the initial comment to refer to GPL, not LGPL.
73034         gnulib-tool will change it to LGPL as needed.
73035
73036         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
73037         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
73038         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
73039         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
73040         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
73041         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
73042         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
73043         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
73044         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
73045         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
73046         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
73047         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
73048         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
73049         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
73050         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
73051         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
73052         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
73053         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
73054         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
73055         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
73056         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
73057         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
73058         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
73059         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
73060         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
73061         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
73062         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
73063         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
73064         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
73065         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
73066         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
73067         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
73068         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
73069         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
73070         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
73071         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
73072         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
73073         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
73074         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
73075         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
73076         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
73077         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
73078         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
73079         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
73080         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
73081         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
73082         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
73083         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
73084         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
73085         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
73086         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
73087         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
73088         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
73089         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
73090         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
73091         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
73092         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
73093         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
73094         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
73095         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
73096         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
73097         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
73098         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
73099         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
73100         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
73101         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
73102         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
73103         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
73104         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
73105         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
73106         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
73107         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
73108         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
73109         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
73110         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
73111         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
73112         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
73113         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
73114         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
73115         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
73116         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
73117         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
73118         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
73119         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
73120         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
73121         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
73122         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
73123         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
73124         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
73125         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
73126         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
73127         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
73128         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
73129         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
73130         lib/yesno.c, lib/yesno.h:
73131         Update FSF postal mail address.
73132
73133 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73134
73135         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
73136         tests/test-memmem.c, tests/test-stpncpy.c:
73137         Update FSF postal mail address.
73138
73139 2005-05-13  Bruno Haible  <bruno@clisp.org>
73140
73141         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
73142         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
73143         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
73144         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
73145         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
73146         Add support for 64-bit integers in the MSVC compiler.
73147
73148 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73149
73150         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
73151
73152 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
73153
73154         * gnulib-tool (func_import): Sort and uniquify recommended includes.
73155
73156 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
73157
73158         * doc/getdate.texi (General date syntax): Don't say that date
73159         date --iso-8601=ns generates acceptable dates; it doesn't yet.
73160         Problem reported by Nic Ferrier.
73161
73162 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73163
73164         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
73165         specified in ai_socktype. Fix invalid ai_protocol
73166         check. ai_protocol is usually set to 0 or depending on
73167         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
73168         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
73169         ai_socktype / ai_protocol in the returned addrinfo structure.
73170
73171 2005-05-10  Simon Josefsson  <jas@extundo.com>
73172
73173         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
73174         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73175
73176 2005-05-10  Karl Berry  <karl@gnu.org>
73177
73178         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
73179         (from http://www.gnu.org/licenses).
73180         * doc/COPYING.LIB: also rename to COPYING.LESSER.
73181         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
73182         fdl.texi suffices.
73183
73184 2005-05-10  Karl Berry  <karl@gnu.org>
73185
73186         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
73187         (COPYING.DOC): remove.
73188
73189         * config/srclist-update: new FSF address.
73190
73191 2005-05-10  Derek Price  <derek@ximbiot.com>
73192
73193         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
73194         possible.
73195
73196 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73197             Bruno Haible  <bruno@clisp.org>
73198
73199         * modules/inet_ntop: New file.
73200         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73201         inet_ntop.
73202
73203 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73204             Bruno Haible  <bruno@clisp.org>
73205
73206         * m4/inet_ntop.m4: New file.
73207
73208 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73209             Bruno Haible  <bruno@clisp.org>
73210
73211         * lib/inet_ntop.h: New file.
73212         * lib/inet_ntop.c: New file, from glibc with modifications.
73213
73214 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
73215
73216         * modules/time_r (License): Change to LGPL.
73217         * modules/extensions (License): Change to LGPL.  Actually,
73218         the license is more permissive than that, but currently gnulib-tool
73219         doesn't know how to handle more-permissive licenses.
73220
73221         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
73222         Problem reported by Dave Love.
73223
73224 2005-05-08  Jim Meyering  <jim@meyering.net>
73225
73226         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
73227         blank.
73228
73229 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
73230
73231         * modules/argmatch (Depends-on): Add stdbool.
73232         * modules/backupfile (Depends-on): Likewise.
73233         * modules/chdir-long (Depends-on): Likewise.
73234         * modules/closeout (Depends-on): Likewise.
73235         * modules/cycle-check (Depends-on): Likewise.
73236         * modules/dirname (Depends-on): Likewise.
73237         * modules/fnmatch (Depends-on): Likewise.
73238         * modules/fsusage (Depends-on): Likewise.
73239         * modules/fwriteerror (Depends-on): Likewise.
73240         * modules/getcwd (Depends-on): Likewise.
73241         * modules/getloadavg (Depends-on): Likewise.
73242         * modules/hard-locale (Depends-on): Likewise.
73243         * modules/makepath (Depends-on): Likewise.
73244         * modules/mountlist (Depends-on): Likewise.
73245         * modules/nanosleep (Depends-on): Likewise.
73246         * modules/posixtm (Depends-on): Likewise.
73247         * modules/quotearg (Depends-on): Likewise.
73248         * modules/readtokens (Depends-on): Likewise.
73249         * modules/readtokens0 (Depends-on): Likewise.
73250         * modules/readutmp (Depends-on): Likewise.
73251         * modules/save-cwd (Depends-on): Likewise.
73252         * modules/strftime (Depends-on): Likewise.
73253         * modules/userspec (Depends-on): Likewise.
73254         * modules/utimecmp (Depends-on): Likewise.
73255         * modules/xgetcwd (Depends-on): Likewise.
73256         * modules/xnanosleep (Depends-on): Likewise.
73257         * modules/xstrtod (Depends-on): Likewise.
73258         * modules/yesno (Depends-on): Likewise.
73259
73260 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
73261
73262         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
73263         needless checks.
73264
73265 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73266
73267         Merge from coreutils.  Among other things,
73268         add bulletproofing for cases where stdin, stdout, or stderr are closed.
73269         * lib/fd-safer.c: New file.
73270         * lib/fcntl-safer.h, open-safer.c: Remove.
73271         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
73272         * lib/dup-safer.c: Include unistd-safer.h first.
73273         Don't include errno.h.
73274         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
73275         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
73276         * lib/file-type.c: Rely on file-type.h change.
73277         * lib/getloadavg.c: Include unistd-safer.h.
73278         (getloadavg): Use safer open.
73279         * lib/getusershell.c: Include "stdio-safer.h".
73280         (getusershell): Use safer fopen.
73281         * lib/long-options.c (long_options): Use NULL rather than 0.
73282         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
73283         'free'.
73284         * lib/modechange.c: Likewise.
73285         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
73286         (MODE_DONE): New constant.
73287         (struct mode_change): Remove 'next' member.
73288         (make_node_op_equals): New function; like the old one of the
73289         same name, except it allocates an array.
73290         (mode_compile, mode_create_from_ref): Use it.
73291         (mode_compile): Allocate result as an array, not a linked list.
73292         Parse octal string ourself, so that we catch mistakes like "+0".
73293         (mode_adjust): Arg is an array, not a linked list.
73294         * lib/modechange.c: Include stat-macros.h, xalloc.h.
73295         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
73296         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
73297         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
73298         Remove.  This is now stat-macros.h's job.
73299         (talloc): Remove.  All callers replaced by xalloc, so that
73300         our invokers don't have to worry about reporting memory failures.
73301         (make_node_op_equals): Remove.
73302         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
73303         New constants.
73304         (struct mode_change): Moved here from modechange.h.
73305         (mode_append_entry): Remove.
73306         (mode_compile): Remove MASKED_OPS arg, since it encouraged
73307         apps to have incorrect behavior.  Use simpler algorithm for head
73308         and tail.  Don't futz with umask; that's now the job of mode_adjust.
73309         Detect more invalid usages rather than having somewhat-random behavior.
73310         Don't insert an "a=" action, as that leads to incorrect behavior.
73311         (mode_compile, mode_create_from_ref): Return NULL on error instead
73312         of an enum, since now there's only one way to have an error.  All
73313         callers changed.
73314         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
73315         at the correct time.  Simplify calculation of "+u" and its ilk.
73316         Don't mishandle "+X".
73317         (mode_free): Remove "register" and localize decls.
73318         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
73319         (struct mode_change): Move to modechange.c; callers don't
73320         need to see this stuff.
73321         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
73322         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
73323         (mode_change, mode_adjust): Reflect the new signatures noted above.
73324         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
73325         that might redefine system include files.
73326         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
73327         (my_usleep): Use NULL rather than (void *) 0.
73328         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
73329         Use siginterrupt to specify that system calls should be interrupted.
73330         (rpl_nanosleep): Move initialization of suspended closer to call of
73331         my_usleep.
73332         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
73333         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
73334         (desirable_utmp_entry): New function.
73335         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
73336         using x2nrealloc, to simplify logic.
73337         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
73338         size calculation.  Do not assume utmp file is a regular file.
73339         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
73340         (READ_UTMP_CHECK_PIDS): New constant.
73341         * lib/save-cwd.c: Include unistd-safer.h.
73342         (save_cwd): Use fd_safer.
73343         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
73344         [!_LIBC] Include "stat-macros.h" instead.
73345         * lib/unistd-safer.h (fd_safer): New decl.
73346
73347 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73348
73349         * modules/getloadavg (Depends-on): Add unistd-safer.
73350         * modules/getusershell (Depends-on): Add stdio-safer.
73351         * modules/lstat (Depends-on): Remove xalloc.
73352         * modules/mkstemp (Depends-on): Add stat-macros.
73353         * modules/modechange (Depends-on): Remove xstrtol.
73354         Add stat-macros, xalloc.
73355         * modules/save-cwd (Depends-on): Add unistd-safer.
73356         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
73357         * modules/unistd-safer (Files): Add lib/fd-safer.c
73358         (Makefile.am): Remove lib_SOURCES.
73359
73360         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
73361         Remove fcntl-safer; unistd-safer supersedes it.
73362
73363 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73364
73365         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
73366         AC_HEADER_STAT.
73367         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
73368         (gl_PREREQ_CHOWN): Remove.
73369         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
73370         it.  Don't require AC_HEADER_STAT.
73371         (gl_PREREQ_LSTAT): Remove.
73372         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
73373         Don't require AC_HEADER_STAT.
73374         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
73375         (gl_PREREQ_RMDIR): Remove.
73376         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
73377         mention stat-macros.h or AC_HEADER_STAT, since we'll make
73378         the stat-macros module a prerequisite.
73379         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
73380         * m4/filemode.m4 (gl_FILEMODE): Likewise.
73381         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
73382         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
73383         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
73384         variable names.
73385         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
73386         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
73387         variable prefixes.
73388         * m4/fcntl-safer.m4: Remove.
73389         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
73390         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
73391         Invoke gl_PREREQ_FD_SAFER.
73392         (gl_PREREQ_FD_SAFER): New macro.
73393         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
73394         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
73395         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
73396         Remove duplicate call to AC_LIBOBJ(readutmp).
73397         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
73398
73399         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
73400         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
73401
73402 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73403
73404         * MODULES.html.sh (Misc): Add byteswap.
73405
73406 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73407
73408         * modules/getcwd (Depends-on): Add extensions.
73409         * modules/openat (Depends-on): Likewise.
73410
73411 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73412
73413         * modules/byteswap: New file.
73414
73415 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73416
73417         * m4/byteswap.m4: New file.
73418
73419 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73420
73421         * lib/byteswap_.h: New file.
73422
73423 2005-04-25  Karl Berry  <karl@gnu.org>
73424
73425         * m4/gettext.m4: Update from GNU gettext 0.14.4.
73426
73427 2005-04-25  Albert Chin  <china@thewrittenword.com>
73428
73429         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
73430         Toolkit C bug.
73431
73432 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
73433
73434         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
73435         (func_ln_if_changed): Remove forcibly for no error message
73436         in case file does not exist.
73437
73438 2005-04-19  Simon Josefsson  <jas@extundo.com>
73439
73440         * gnulib-tool (Options): Make --symlink mean --symbolic.
73441
73442 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
73443
73444         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
73445
73446 2005-04-16  Simon Josefsson  <jas@extundo.com>
73447
73448         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
73449
73450 2005-04-15  Simon Josefsson  <jas@extundo.com>
73451
73452         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
73453
73454 2005-04-15  Simon Josefsson  <jas@extundo.com>
73455
73456         * gnulib-tool: Rename --symlink to --symbolic.
73457
73458 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
73459
73460         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
73461         symbolic links to files instead of copying/moving.  Add --aux-dir,
73462         specifying directory relative --dir where auxiliary build tools
73463         are placed.
73464
73465 2005-04-14  Bruno Haible  <bruno@clisp.org>
73466
73467         * modules/allocsa (License): Change to LGPL.
73468         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73469
73470 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
73471
73472         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
73473         that "UTC +1 second" continues to work.  Problem reported
73474         by Dmitry V. Levin.
73475         (relunit_snumber): New rule.
73476         (relunit): Use it.
73477
73478 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73479
73480         * lib/getdate.y (universal_time_zone_table): New constant.
73481         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
73482         universal_time_zone_table.
73483         (lookup_zone): Prefer universal_time_zone_table to
73484         local_time_zone_table, so that "GMT" time stamps are allowed in
73485         London during the summer.  Problem reported by Ian Abbott.
73486
73487 2005-04-12  Jim Meyering  <jim@meyering.net>
73488
73489         * lib/human.c (humblock): Set *options even when returning due to
73490         xstrtoumax conversion failure.  Thanks to a used-uninitialized
73491         warning from gcc-4.
73492
73493 2005-04-09  Jim Meyering  <jim@meyering.net>
73494
73495         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
73496         -Wuninitialized: initialize tm0.tm_year.
73497
73498 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
73499
73500         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
73501         count, since there's no maximum.  All uses changed.
73502         Add member dsts_seen.
73503         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
73504         not being INT_MAX.
73505         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
73506         Use pc_rels_seen to decide whther a date is absolute.
73507
73508         * lib/getdate.y (number): Don't overwrite year.
73509         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
73510         check.
73511
73512 2005-04-02  Simon Josefsson  <jas@extundo.com>
73513
73514         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
73515         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
73516
73517 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
73518
73519         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
73520         where no absolute path name can be longer than PATH_MAX.
73521
73522 2005-03-27  Jim Meyering  <jim@meyering.net>
73523
73524         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
73525
73526 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
73527
73528         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
73529         "one's complement" -> "ones' complement" in comment, as per Knuth.
73530         "value of type" -> "type or expression" in comment.
73531         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
73532
73533 2005-03-26  Jim Meyering  <jim@meyering.net>
73534
73535         Comment nits.
73536         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
73537         Correct typos: s/or/of/.
73538
73539 2005-03-26  Jim Meyering  <jim@meyering.net>
73540
73541         * modules/check-include-files: Move to ../ and rename to...
73542         * check-module: ...this.
73543
73544 2005-03-25  Jim Meyering  <jim@meyering.net>
73545
73546         * modules/xvasprintf (Files): Add xalloc.h.
73547
73548 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
73549
73550         * modules/gettext (Files): config/config.rpath ->
73551         build-aux/config.rpath
73552         * modules/iconv (Files): Likewise.
73553         Problem reported by Oskar Liljeblad.
73554
73555 2005-03-23  Jim Meyering  <jim@meyering.net>
73556
73557         * modules/check-include-files: New script to check for
73558         missing dependencies, multiple includes, etc.
73559
73560         * modules/c-strtold (Depends-on): Add xalloc.
73561         * modules/c-strtod (Depends-on): Add xalloc.
73562         * modules/hash (Depends-on): Add xalloc.
73563         (Files): Remove lib/xalloc.h.
73564
73565         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
73566         * modules/userspec (Files): Add lib/inttostr.h.
73567
73568 2005-03-23  Jim Meyering  <jim@meyering.net>
73569
73570         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
73571
73572 2005-03-22  Jim Meyering  <jim@meyering.net>
73573
73574         * modules/stat-macros: New module.
73575         * modules/canonicalize, modules/euidaccess, modules/file-type,
73576         * modules/filemode, modules/lchown, modules/makepath,
73577         * modules/rmdir, modules/stat: Depend on new stat-macros module
73578         rather than listing lib/stat-macros.h manually.
73579         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
73580
73581 2005-03-22  Jim Meyering  <jim@meyering.net>
73582
73583         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
73584
73585 2005-03-22  Bruno Haible  <bruno@clisp.org>
73586
73587         * config/srclist.txt: Replace target directory 'config' with
73588         'build-aux'.
73589         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
73590         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
73591         ../build-aux/.
73592
73593 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
73594
73595         * modules/chdir-long (Depends-on): Add mempcpy.
73596
73597         * modules/acl, modules/backupfile, modules/c-strtod,
73598         modules/c-strtold, modules/canon-host, modules/canonicalize,
73599         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
73600         modules/exclude, modules/exitfail, modules/file-type,
73601         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
73602         modules/getdate, modules/getline, modules/getpagesize,
73603         modules/getpass, modules/getugroups, modules/group-member,
73604         modules/hard-locale, modules/hash, modules/human, modules/idcache,
73605         modules/inttostr, modules/long-options, modules/makepath,
73606         modules/md5, modules/memcasecmp, modules/memcoll,
73607         modules/modechange, modules/mountlist, modules/path-concat,
73608         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
73609         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
73610         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
73611         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
73612         modules/strftime, modules/strndup, modules/strverscmp,
73613         modules/timespec, modules/unlocked-io, modules/userspec,
73614         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
73615         modules/yesno:
73616         Remove lib_SOURCES line from Makefile.am section, as this is now
73617         done automatically by the corresponding Autoconf macro.
73618
73619 2005-03-21  Jim Meyering  <jim@meyering.net>
73620
73621         Changes imported from coreutils.
73622
73623         * lib/cycle-check.c: Don't include xalloc.h.
73624
73625         * lib/path-concat.c: Don't include assert.h.
73626         (path_concat): Remove assertion that would have triggered
73627         for ABASE starting with more than one slash.
73628         Reported by Andreas Schwab.
73629
73630         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
73631         properly when ABASE is an absolute file name.
73632         Correct the description of this function.
73633         Include <assert.h>.
73634         Add an assertion and a test driver.
73635         This fixes a bug introduced on 2004-07-02.
73636         Andreas Schwab reported the resulting failure of cp --parents:
73637         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
73638
73639 2005-03-21  Jim Meyering  <jim@meyering.net>
73640
73641         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
73642         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
73643
73644 2005-03-21  Jim Meyering  <jim@meyering.net>
73645         and  Paul Eggert  <eggert@cs.ucla.edu>
73646
73647         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
73648         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
73649         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
73650         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
73651         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
73652         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
73653         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
73654         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
73655         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
73656         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
73657         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
73658         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
73659         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
73660         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
73661         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
73662         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
73663         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
73664         for these modules.
73665
73666 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
73669         (which shouldn't happen), generate nothing instead of returning 0
73670         immediately, so that nstrftime (NULL, ...) doesn't return 0.
73671
73672 2005-03-16  Bruno Haible  <bruno@clisp.org>
73673
73674         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
73675         HAVE_LONGLONG_64BIT.
73676
73677 2005-03-16  Bruno Haible  <bruno@clisp.org>
73678
73679         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
73680         HAVE_LONGLONG_64BIT.
73681
73682 2005-03-16  Bruno Haible  <bruno@clisp.org>
73683
73684         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
73685         HAVE_LONGLONG_64BIT.
73686
73687 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73688
73689         * lib/strftime.c (my_strftime): Prepend space to format so that we can
73690         reliably distinguish strftime failure from empty output on POSIX
73691         hosts.
73692
73693 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73694
73695         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
73696         (iconv_string): Don't guess a size-zero buffer, as that might cause
73697         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
73698         result would be 'too large', where 'too large' is (heuristically)
73699         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
73700         overflow concerns.  This will prevent some unwanted malloc failures
73701         when the inputs are very large.
73702
73703 2005-03-15  Karl Berry  <karl@gnu.org>
73704
73705         * config/srclist.txt (config.rpath): from gettext.
73706         * config/config.rpath: update.
73707
73708 2005-03-15  Bruno Haible  <bruno@clisp.org>
73709
73710         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
73711         to 'negate'.
73712
73713         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
73714         variable.
73715
73716         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
73717         results.
73718
73719 2005-03-14  Simon Josefsson  <jas@extundo.com>
73720
73721         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
73722         <fx@gnu.org>.
73723
73724 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
73725
73726         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
73727         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
73728         intprops.h.
73729         * lib/strtol.c: Likewise.
73730
73731 2005-03-14  Jim Meyering  <jim@meyering.net>
73732
73733         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
73734         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
73735         to be nonzero so that we (and caller) can detect the difference
73736         between a valid zero-length expansion and an error return, even
73737         when the underlying strftime fails before writing anything into
73738         that location.
73739
73740 2005-03-14  Bruno Haible  <bruno@clisp.org>
73741
73742         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
73743         Update from GNU gettext 0.14.3.
73744
73745 2005-03-10  Jim Meyering  <jim@meyering.net>
73746
73747         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
73748
73749 2005-03-10  Jim Meyering  <jim@meyering.net>
73750
73751         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
73752         so that this module works on systems without fchdir.
73753
73754 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
73755
73756         Factor int-properties macros into a single file, except for
73757         glibc-related files.
73758         * lib/intprops.h: New file.
73759         * lib/getloadavg.c: Include it instead of limits.h.
73760         (INT_STRLEN_BOUND): Remove.
73761         * lib/human.c: Include intprops.h.
73762         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
73763         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
73764         302/1000.
73765         * lib/inttostr.h: Include intprops.h instead of limits.h.
73766         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
73767         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
73768         for consistency with intprops.h.
73769         (time_t_is_integer, twos_complement_arithmetic): Use them.
73770         * lib/sig2str.h: Include <signal.h>, intprops.h.
73771         (INT_STRLEN_BOUND): Remove.
73772         * lib/strftime.c (TYPE_SIGNED): Remove.
73773         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
73774         * lib/strtol.c: Adjust comments to match intprops.h.
73775         * lib/userspec.c: Include intprops.h.
73776         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
73777         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
73778         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
73779         instead of rolling our own expressions.
73780         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
73781
73782         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
73783         instead of int.
73784         (my_strftime): Do not mishandle years close to INT_MAX, by doing
73785         the right thing even if adding 1900 would overflow.  Similarly
73786         for tm_mon + 1 and tm_yday + 1.
73787         Make %Y always equivalent to %C%y, and similarly for %G and %g.
73788         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
73789         (DO_SIGNED_NUMBER): New macro.
73790         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
73791
73792 2005-03-07  Bruno Haible  <bruno@clisp.org>
73793
73794         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
73795
73796 2005-03-07  Bruno Haible  <bruno@clisp.org>
73797
73798         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
73799
73800 2005-03-04  Derek R. Price  <derek@ximbiot.com>
73801
73802         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
73803         (func_import): Only replace files via --import when they have actually
73804         changed.
73805
73806 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73807
73808         * m4/mmap-anon.m4: New file.
73809         * m4/pagealign_alloc.m4: New file.
73810
73811 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73812             Bruno Haible  <bruno@clisp.org>
73813
73814         * modules/pagealign_alloc: New file.
73815         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
73816
73817 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73818             Bruno Haible  <bruno@clisp.org>
73819
73820         * lib/pagealign_alloc.h: New file.
73821         * lib/pagealign_alloc.c: New file.
73822
73823 2005-03-03  Bruno Haible  <bruno@clisp.org>
73824
73825         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
73826         Use an all-permissive copyright notice, recommended by RMS.
73827
73828 2005-03-02  Bruno Haible  <bruno@clisp.org>
73829
73830         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
73831         of AIX, the replacement has to be done only after <string.h> is
73832         included, therefore not in config.h. stpncpy.h does the replacement,
73833         and stpncpy.c uses it.
73834
73835 2005-03-02  Bruno Haible  <bruno@clisp.org>
73836
73837         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
73838         stpncpy.c uses it.
73839
73840 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73841
73842         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
73843         The workaround isn't strictly needed for POSIX conformance, and
73844         it's too much of a pain to configure and maintain.  We'll ask
73845         people to fix their kernels instead.
73846         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
73847         (NANOSLEEP_BUG_WORKAROUND): Remove.
73848         (xnanosleep): Remove the workaround.
73849
73850 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73851
73852         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
73853         Reported by Derek Price.
73854         (Include): Add "timespec.h".
73855
73856         * modules/xnanosleep (Depends-on): Remove gethrxtime.
73857
73858 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73859
73860         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
73861         to detect nanosleep bug.
73862
73863 2005-03-01  Bruno Haible  <bruno@clisp.org>
73864
73865         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
73866
73867 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
73868
73869         * modules/gethrxtime: New file.
73870         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
73871         (Depends-on): Add gethrxtime.
73872         (configure.ac): Add gl_XNANOSLEEP.
73873         (Makefile.am): Remove lib_SOURCES line.
73874
73875 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73876
73877         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
73878         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
73879
73880 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73881
73882         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
73883         * lib/timespec.h (gettime): Return void, since it always
73884         succeeds now.  All uses changed.
73885         * lib/gettime.c (gettime): Likewise.
73886         [HAVE_NANOTIME]: Prefer nanotime.
73887         Assume gettimeofday succeeds, as POSIX requires.
73888         Assime time () succeeds, since other code already does.
73889         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
73890         (timespec_subtract): Remove.
73891         (NANOSLEEP_BUG_WORKAROUND): New constant.
73892         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
73893         things considerably.  Use it only on GNU/Linux hosts, since the
73894         workaround shouldn't be needed elsewhere.
73895
73896 2005-02-24  Bruno Haible  <bruno@clisp.org>
73897
73898         * modules/gettext (Files): Add m4/glibc2.m4.
73899
73900 2005-02-24  Bruno Haible  <bruno@clisp.org>
73901
73902         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
73903         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
73904         * m4/progtest.m4:
73905         Update from GNU gettext 0.14.2.
73906         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
73907
73908 2005-02-24  Bruno Haible  <bruno@clisp.org>
73909
73910         * lib/localcharset.c: Update from GNU gettext 0.14.2.
73911         * lib/config.charset: Update from GNU gettext 0.14.2.
73912
73913 2005-02-24  Bruno Haible  <bruno@clisp.org>
73914
73915         * lib/gettext.h: Update from GNU gettext 0.14.2.
73916
73917 2005-02-23  Simon Josefsson  <jas@extundo.com>
73918
73919         * m4/iconvme.m4: New file.
73920
73921 2005-02-23  Jim Meyering  <jim@meyering.net>
73922
73923         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
73924         change.
73925         Thanks to Bruno Haible for catching it.
73926
73927 2005-02-22  Simon Josefsson  <jas@extundo.com>
73928
73929         * modules/iconvme: New file.
73930
73931         * MODULES.html.sh: Add iconvme.
73932
73933 2005-02-22  Simon Josefsson  <jas@extundo.com>
73934
73935         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
73936
73937 2005-02-22  Simon Josefsson  <jas@extundo.com>
73938
73939         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
73940
73941 2005-02-22  Jim Meyering  <jim@meyering.net>
73942
73943         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
73944         s/ifndef/ifdef/.
73945
73946 2005-02-20  Neil Conway  <neilc@samurai.com>
73947
73948         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
73949         returned by OSX/Darwin if the specified buffer is not large
73950         enough for the hostname.
73951
73952 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73953
73954         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
73955         pass it to _help, otherwise the latter coredumps trying to
73956         dereference state.root_argp.
73957
73958 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73959
73960         * modules/chdir-long (Depends-on): Add memrchr.
73961         * modules/memrchr (Files): Add lib/memrchr.h.
73962         (Include): "memrchr.h".
73963
73964 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73965
73966         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
73967
73968 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73969
73970         * lib/memrchr.h: New file.
73971         * lib/chdir-long.c: Include it.
73972         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
73973         Don't bother including stddef.h.
73974
73975 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73976
73977         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
73978         inclusion.
73979         Include <sys/types.h>, for dev_t.
73980         (ME_DUMMY, ME_REMOTE): Move from here....
73981         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
73982         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
73983         Dmitry V. Levin.
73984         Include mountlist.h first, to test the interface.
73985
73986 2005-01-29  Bruno Haible  <bruno@clisp.org>
73987
73988         * lib/progname.c (program_name): Initialize.
73989         Needed when linking statically on MacOS X.
73990
73991 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73992
73993         Sync from coreutils.
73994         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
73995         (Depends-on): Add c-strtod.
73996         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
73997
73998 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73999
74000         Sync from coreutils.
74001         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
74002
74003         Remove files that are specific to coreutils.
74004         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
74005
74006 2005-01-28  Bruno Haible  <bruno@clisp.org>
74007
74008         * modules/javacomp: New file.
74009         * MODULES.html.sh (Java): Add javacomp.
74010
74011 2005-01-28  Bruno Haible  <bruno@clisp.org>
74012
74013         * m4/javacomp.m4: New file, from GNU gettext.
74014
74015 2005-01-28  Bruno Haible  <bruno@clisp.org>
74016
74017         * lib/javacomp.sh.in: New file, from GNU gettext.
74018         * lib/javacomp.h: New file, from GNU gettext.
74019         * lib/javacomp.c: New file, from GNU gettext.
74020
74021 2005-01-26  Simon Josefsson  <jas@extundo.com>
74022
74023         * lib/gai_strerror.c: Use GPL in header.
74024
74025 2005-01-26  Bruno Haible  <bruno@clisp.org>
74026
74027         * modules/javaexec: New file.
74028         * MODULES.html.sh (Java): Add javaexec.
74029
74030 2005-01-26  Bruno Haible  <bruno@clisp.org>
74031
74032         * m4/javaexec.m4: New file, from GNU gettext.
74033
74034 2005-01-26  Bruno Haible  <bruno@clisp.org>
74035
74036         * lib/javaexec.sh.in: New file, from GNU gettext.
74037         * lib/javaexec.h: New file, from GNU gettext.
74038         * lib/javaexec.c: New file, from GNU gettext.
74039
74040 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74041
74042         * modules/lchown (Depends-on): Remove lchown.h
74043
74044 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74045
74046         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
74047         must be defined if the header file was not found, in order
74048         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
74049
74050 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74051
74052         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
74053         initializers for struct pentry_state.
74054         (__argp_error): Check return value of __asprintf
74055         (__argp_failure): Translate error message
74056
74057         * lib/argp-parse.c: Removed braces around the expansion of N_()
74058
74059 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74060
74061         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
74062         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
74063         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
74064         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
74065         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
74066         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
74067         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
74068         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
74069         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
74070         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
74071         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
74072         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
74073         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
74074         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
74075         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
74076         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
74077         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
74078         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
74079         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
74080         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
74081         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
74082         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
74083         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
74084         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
74085         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
74086         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
74087         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
74088         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
74089         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
74090         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
74091         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
74092         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
74093         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
74094         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
74095         xstrtol.m4, xstrtoumax.m4, yesno.m4:
74096         Use an all-permissive copyright notice, recommended by RMS.
74097
74098 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
74099
74100         * modules/chdir-long (Depends-on): Remove mempcpy.
74101
74102 2005-01-21  Jim Meyering  <jim@meyering.net>
74103
74104         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
74105         same value as for Solaris 9.
74106
74107         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
74108         component length.  This included changing the parameter to be
74109         of type `char *' rather than `char const *'.
74110         * lib/chdir-long.h (chdir_long): Update prototype.
74111
74112         * lib/openat.c (fdopendir, fstatat): New functions.
74113         * lib/openat.h: Include headers required for use of DIR and struct
74114         stat.
74115         [AT_SYMLINK_NOFOLLOW]: Define.
74116         (fdopendir, fstatat): Add prototypes.
74117
74118 2005-01-21  Bruno Haible  <bruno@clisp.org>
74119
74120         * modules/classpath: New file.
74121         * MODULES.html.sh (Java): Add classpath.
74122
74123 2005-01-21  Bruno Haible  <bruno@clisp.org>
74124
74125         * lib/classpath.h: New file, from GNU gettext.
74126         * lib/classpath.c: New file, from GNU gettext.
74127
74128 2005-01-20  Simon Josefsson  <jas@extundo.com>
74129
74130         * modules/version-etc-fsf: New file.
74131
74132 2005-01-20  Simon Josefsson  <jas@extundo.com>
74133
74134         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
74135         * lib/version-etc.c: Remove version_etc_copyright.
74136         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
74137         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
74138
74139 2005-01-20  Simon Josefsson  <jas@extundo.com>
74140
74141         * lib/base64.h (isbase64): Add.
74142
74143         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
74144         using a unsigned prototype, don't inline.
74145         (base64_decode): Use it.
74146
74147 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74148
74149         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
74150         it.
74151
74152 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74153
74154         * lib/save-cwd.c (save_cwd): Remove code to support the case
74155         where fchdir is missing or flaky.
74156
74157 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74158
74159         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
74160
74161 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74162
74163         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
74164         AC_LIBSOURCES now does this.
74165         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
74166         with new ullong_max module.
74167
74168 2005-01-19  Bruno Haible  <bruno@clisp.org>
74169
74170         * modules/sh-quote: New file.
74171         * MODULES.html.sh (Executing programs): Add sh-quote.
74172
74173 2005-01-19  Bruno Haible  <bruno@clisp.org>
74174
74175         * lib/sh-quote.h: New file, from GNU gettext.
74176         * lib/sh-quote.c: New file, from GNU gettext.
74177
74178 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74179
74180         Merge from coreutils.
74181         * m4/ullong_max.m4: New file.
74182         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
74183         (gl_MACROS): Assume localeconv exists.
74184
74185 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74186
74187         Merge changes from coreutils, as described below in several
74188         changelogs dated today.
74189
74190         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
74191         (O_DIRECTORY): Remove; not needed here, since "." must be
74192         a directory.  All uses removed.
74193         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
74194         universal on Suns, and we also need to test for IRIX.
74195         Revamp code to use 'if' rather than '#if'.
74196         Avoid unnecessary comparison of cwd->desc to 0.
74197
74198         * lib/utimens.c (futimens): Robustify the previous patch, by checking
74199         for known valid error numbers rather than observed invalid ones.
74200
74201 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74202
74203         * modules/ullong_max: New file.
74204
74205         * modules/chdir-long, modules/openat: New files.
74206         * modules/save-cwd (Depends-on): Depend on chdir-long.
74207         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
74208
74209 2005-01-18  Jim Meyering  <jim@meyering.net>
74210
74211         Merge from coreutils.
74212         * m4/chdir-long.m4, m4/openat.m4: New files.
74213         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
74214         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
74215         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
74216         is sane and DOES follow symlinks.  Besides, testing 20 different
74217         systems found no broken chown implementations.
74218         Prompted by a change in rsync's copy of this macro.
74219         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
74220
74221         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
74222
74223         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
74224         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
74225         NULL-means-set-to-current-time semantics.
74226         Remove temporary file immediately, rather than waiting
74227         for configure's at-exit trap code to do it.
74228
74229 2005-01-18  Jim Meyering  <jim@meyering.net>
74230
74231         * lib/version-etc.c (version_etc_copyright): Update copyright date.
74232
74233         * lib/utimens.c (futimens): Account for the fact that futimes
74234         can also fail with errno == ENOSYS or errno == ENOENT.
74235         Patch from Dmitry V. Levin.
74236
74237         Change the name of the robust chdir function from chdir to chdir_long.
74238         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
74239         (restore_cwd): Use chdir_long, not chdir.
74240         * lib/chdir-long.c: Renamed from chdir.c.
74241         * lib/chdir-long.h: Renamed from chdir.h.
74242         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
74243         Hurd.
74244
74245 2005-01-18  Bruno Haible  <bruno@clisp.org>
74246
74247         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
74248         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
74249         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
74250         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
74251         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
74252         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
74253         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
74254         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
74255         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
74256         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
74257         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
74258         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
74259         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
74260         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
74261         Use an all-permissive copyright notice, recommended by RMS.
74262
74263 2005-01-18  Bob Proulx  <bob@proulx.com>
74264
74265         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
74266         simplify offsetof() macro construct to avoid compile failure with
74267         native HP-UX 11.0 ANSI C compiler.
74268
74269 2005-01-17  Bruno Haible  <bruno@clisp.org>
74270
74271         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
74272         redundant because stpncpy.m4 takes care of it.
74273
74274 2005-01-17  Bruno Haible  <bruno@clisp.org>
74275
74276         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
74277
74278 2005-01-17  Bruno Haible  <bruno@clisp.org>
74279
74280         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
74281         used.
74282
74283 2005-01-17  Bruno Haible  <bruno@clisp.org>
74284
74285         * lib/fwriteerror.h (fwriteerror): Change specification to include
74286         fclose.
74287         * lib/fwriteerror.c: Include <stdbool.h>.
74288         (fwriteerror): At the end, close the file stream. Record whether
74289         stdout was already closed.
74290
74291 2005-01-17  Bruno Haible  <bruno@clisp.org>
74292
74293         * lib/execute.c (environ): Declare if needed.
74294         * lib/pipe.c (environ): Likewise.
74295         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
74296
74297 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74298
74299         * modules/argp: Depend on vsnprintf
74300
74301 2005-01-10  Jim Meyering  <jim@meyering.net>
74302
74303         * modules/closeout (Depends-on): Add atexit.
74304
74305 2005-01-06  Bruno Haible  <bruno@clisp.org>
74306
74307         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
74308
74309 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
74312         definitions to be after all include files, to avoid collisions.
74313         Problem reported by Bob Proulx.
74314
74315 2005-01-04  Jim Meyering  <jim@meyering.net>
74316
74317         Changes imported from coreutils.
74318         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
74319         as the mkstemp template, use a temporary directory and an
74320         8.3-friendly template to avoid trouble on systems like DJGPP.
74321         Reported by Juan M. Guerrero via Stepan Kasal.
74322         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
74323         close. Remove the temporary directory right away, rather than waiting
74324         for configure's at-exit trap code to do it.
74325         Suggestion from Stepan Kasal.
74326
74327 2005-01-01  Simon Josefsson  <jas@extundo.com>
74328
74329         * gnulib-tool: Print #include directives when --import'ing.
74330
74331 2004-12-28  Simon Josefsson  <jas@extundo.com>
74332
74333         * tests/test-base64.c: Include required header files.  Remove
74334         unused variables.
74335
74336 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74337
74338         * modules/error (Depends-on): Remove gettext.
74339
74340 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74341
74342         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
74343         not needed.  This removes a dependency on the gettext module.
74344         [defined _LIBC]: Do not include <libintl.h>; not needed.
74345
74346 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74347
74348         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
74349         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
74350
74351 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
74354         HAVE_DECL_STRTOLD.
74355
74356 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74357
74358         * modules/getdate (Depends-on): Remove alloca-opt.
74359
74360 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74361
74362         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
74363
74364 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74365
74366         * lib/argp-parse.c: Include <stddef.h>.
74367         (alignof, alignto): New macros.
74368         (parser_init): Don't assume that void * is aligned sufficiently
74369         for struct option.
74370
74371         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
74372         need to extend the stack.
74373         (YYINITDEPTH): New macro, so that the initial stack isn't overly
74374         large.
74375
74376 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74377
74378         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
74379
74380 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
74381
74382         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
74383         (2004-10-24) change.  Apparently this was a false alarm.
74384
74385         * modules/getdate: Depend on alloca-opt, not alloca.
74386
74387 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
74388
74389         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
74390         Remove now-obsolete comment about AIX.
74391         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
74392         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
74393         (YYMAXDEPTH): New macro.
74394
74395 2004-12-18  Simon Josefsson  <jas@extundo.com>
74396
74397         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
74398
74399 2004-12-18  Bruno Haible  <bruno@clisp.org>
74400
74401         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
74402
74403 2004-12-18  Bruno Haible  <bruno@clisp.org>
74404
74405         * lib/fatal-signal.c (fatal_signals): Make non-const.
74406         (init_fatal_signals): New function.
74407         (uninstall_handlers, install_handlers): Ignore signals that were set to
74408         SIG_IGN.
74409         (at_fatal_signal): Call init_fatal_signals.
74410         (init_fatal_signal_set): Likewise. Ignore signals that were set to
74411         SIG_IGN.
74412         Reported by Paul Eggert.
74413
74414 2004-12-18  Bruno Haible  <bruno@clisp.org>
74415
74416         * doc/alloca.texi: New file.
74417         * doc/alloca-opt.texi: New file.
74418
74419 2004-12-17  Jim Meyering  <jim@meyering.net>
74420
74421         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
74422         Otherwise, install-sh could exit with improper exit status when
74423         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
74424
74425 2004-12-16  Simon Josefsson  <jas@extundo.com>
74426
74427         * tests/test-base64.c: Add license.
74428
74429 2004-12-15  Stepan Kasal  <address@hidden>
74430
74431         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
74432
74433 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         * modules/getcwd (Files): Add m4/d-ino.m4.
74436         Suggested by Mark D. Baushke.
74437
74438 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
74439
74440         * lib/getdate.y (textint): New member "negative".
74441         (time_zone_hhmm): New function.
74442         Expect 14 shift-reduce conflicts, not 13.
74443         (o_colon_minutes): New rule.
74444         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
74445         (yylex): Set the "negative" member of signed numbers.
74446
74447 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
74448
74449         * doc/getdate.texi (Time of day items, Time zone items):
74450         Describe new formats +00:00, UTC+00:00.
74451
74452 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
74453
74454         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
74455         spurious "-l"s.  Problem reported by Stepan Kasal.
74456
74457 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
74458
74459         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
74460         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
74461
74462 2004-12-04  Simon Josefsson  <jas@extundo.com>
74463
74464         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
74465         Vandoorselaere <yoann@prelude-ids.org>.
74466
74467 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74468
74469         Changes imported from coreutils.
74470         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
74471         exist.
74472         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
74473
74474 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74475
74476         Changes imported from coreutils.
74477         * lib/hard-locale.c: Assume <locale.h> exists.
74478         Include "strdup.h".
74479         (GLIBC_VERSION): New macro.
74480         (hard_locale): Assume setlocale exists.
74481         Rewrite to avoid #ifdef.
74482         Use strdup rather than malloc + strcpy.
74483         * lib/human.c: Assume <locale.h> exists.
74484         (human_readable): Assume localeconv exists.
74485
74486 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74487
74488         * modules/hard-locale (Depends-on): Add strdup.
74489
74490 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74491
74492         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
74493         convert T2, not T.  (Imported from libc.)
74494
74495 2004-11-30  Simon Josefsson  <jas@extundo.com>
74496
74497         * modules/restrict (License): Change to LGPL.
74498
74499 2004-11-30  Simon Josefsson  <jas@extundo.com>
74500
74501         * m4/restrict.m4: Add copyright and copying conditions.
74502
74503 2004-11-30  Simon Josefsson  <jas@extundo.com>
74504
74505         * m4/base64.m4: New file.
74506
74507 2004-11-30  Simon Josefsson  <jas@extundo.com>
74508
74509         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
74510         base64.
74511
74512         * tests/test-base64.c: New file.
74513
74514         * modules/base64: New file.
74515
74516 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74517
74518         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
74519         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
74520
74521         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
74522
74523 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74524
74525         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
74526         (__getcwd.c): Don't restore errno; glibc doesn't.
74527         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
74528         first, falling back to our code only if its results look suspicious.
74529         Ensure that the resulting buffer is only as large as necessary.
74530
74531         * lib/readutmp.c: Include readutmp.h first.
74532         Include <errno.h>, since readutmp.h no longer does that.
74533         * lib/readutmp.h: Don't include <errno.h>,
74534         <sys/param.h>, <time.h>; not needed to establish interface.
74535         (errno): Remove decl.
74536         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
74537         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
74538         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
74539
74540 2004-11-28  Simon Josefsson  <jas@extundo.com>
74541
74542         * lib/base64.h, base64.c: New file.
74543
74544 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
74545
74546         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
74547
74548 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
74551         (Depends-on): Remove pathmax, same.  Add mempcpy.
74552         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
74553         (Makefile.am): Append getcwd.h to lib_SOURCES.
74554         (Include): Add getcwd.h.
74555         (Maintainer): Change from Jim Meyering to "all, glibc",
74556         since getdate now uses intended-for-glibc code.
74557         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
74558         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
74559
74560 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74561
74562         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
74563         HP's ANSI C compiler.
74564         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
74565         Declaring int functions causes warnings on some modern systems and
74566         shouldn't be needed to compile on ancient ones.
74567         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
74568         defined.
74569
74570         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
74571         with the following changes.
74572         (__set_errno): Parenthesize properly.
74573         Include <stdbool.h>.
74574         (MIN, MAX, MATCHING_INO): New macros.
74575         (__getcwd): Define with prototype, not K&R form.
74576         Use heuristics to allocate default buffer on stack if possible.
74577         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
74578         behavior, and to avoid the PATH_MAX limit when computing
74579         ../../../../...
74580         Use MATCHING_INO to compare inode number to file.
74581         Check for arithmetic overflow in size calculations.
74582         Fix bug in reallocation of dot array that caused getcwd to fail
74583         on directories nested deeper than 75.
74584         Be more careful about saving errno on error.
74585         Do not use realloc; use only free+malloc, as this is a bit
74586         more flexible and avoids a needless copy operation.
74587         Do not inspect st_dev and st_ino for symbolic links; POSIX
74588         doesn't specify the latter.
74589         Check for closedir errors.
74590         Avoid needless casts.
74591         Use "#ifdef weak_alias" around weak_alias, to be like other
74592         glibc code.
74593         The following changes to getcwd.c have effect only when used in
74594         gnulib; they have no effect inside glibc proper.
74595         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
74596         as alloca isn't used.
74597         (alloca, __alloca): Likewise.
74598         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
74599         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74600         unconditionally, as gnulib assumes C89 or better.
74601         Do not include <sys/param.h>.
74602         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
74603         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
74604         better.
74605         (NULL) [!defined NULL]: Remove; we assume C89 or better.
74606         Include <dirent.h> in a way that is compatible with modern Autoconf.
74607         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
74608         New macros, if not already defined.
74609         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
74610         Use "_LIBC", not "defined _LIBC", for consistency.
74611         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
74612         a mempcpy module.
74613         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
74614         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
74615         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
74616         credit only to Jim Meyering and adjust the copyright dates.
74617         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
74618         <stdlib.h>, <unistd.h>, "pathmax.h".
74619         Instead, include "xgetcwd.h" (first) and "getcwd.h".
74620         (INITIAL_BUFFER_SIZE): Remove.
74621         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
74622
74623 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74624
74625         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
74626         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
74627         Use the _ONCE methods, for efficiency.
74628         Check for fcntl.h.  In test program, include <errno.h>
74629         and <fcntl.h> if available.  Remove old K&R cruft from
74630         test program.  Check for common errors in GNU/Linux,
74631         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
74632         don't do AC_LIBOBJ, as that's getcwd.m4's job.
74633         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
74634         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
74635         name accordingly.
74636         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
74637         accommodate new getcwd.c.
74638         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
74639         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
74640         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
74641         that's all we need now.
74642
74643 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74644
74645         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
74646         argp-parse.c depends on getopt internals, that means we should
74647         always use our getopt, to be on the safe side.
74648         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
74649         order not to spoil the result of an eventual previous invocation
74650         of gl_GETOPT_SUBSTITUTE.
74651
74652 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74653
74654         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
74655         redefinition warnings. To avoid them, include the defines
74656         in `#if !defined __need_getopt ... #endif'. The only place
74657         where __getopt_argv_const is used is in definitions
74658         of getopt_long and getopt_long_only below, which are as well
74659         protected by `#ifndef __need_getopt'.
74660         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
74661         __need_getopt after including <stdio.h> and <unistd.h> These
74662         headers might have defined it.
74663
74664 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
74665
74666         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
74667
74668 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
74669
74670         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
74671         (futimens): New function, which uses futimes if available.
74672         (futimens, utimens): Support timespec==NULL, with same semantics
74673         as utime and utimens.
74674         * lib/utimens.h (futimens): New decl.
74675
74676 2004-11-23  Jim Meyering  <jim@meyering.net>
74677
74678         * lib/getopt_.h: Remove trailing blanks.
74679
74680 2004-11-23  Jim Meyering  <jim@meyering.net>
74681
74682         * lib/__fpending.c: Add comment.
74683
74684 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
74685
74686         * modules/canonicalize (Depends-on): Add xreadlink.
74687         Problem reported by James Youngman.
74688
74689 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
74692         New macros.
74693         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
74694         optopt): Use them instead of invoking ## directly; otherwise, the
74695         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
74696
74697 2004-11-19  Bruno Haible  <bruno@clisp.org>
74698
74699         * lib/strtok_r.c: Move comments from here...
74700         * lib/strtok_r.h: ... to here.
74701
74702 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74703
74704         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
74705         implementations that mishandle size_t overflow.
74706
74707 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74708
74709         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
74710         might fail.  Problem reported by Yoann Vandoorselaere.
74711         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
74712         implementations that mishandle size_t overflow.
74713
74714 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74715
74716         * modules/canon-host (Depends-on): Add strdup.
74717
74718 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74719
74720         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
74721
74722 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74723
74724         * lib/canon-host.c: Include "strdup.h".
74725         (canon_host): Use getaddrinfo if available, so that IPv6 works.
74726         Use strdup instead of malloc/strcpy to duplicate strings.
74727
74728         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
74729         (human_space_before_unit): New constant.
74730         * lib/human.c (human_readable): Support it.
74731
74732         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
74733         (xgetcwd): Set errno correctly when failing.
74734         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
74735         the failure is actually due to a PATH_MAX problem.
74736
74737         Further getopt changes to make it more likely that glibc will
74738         buy the changes back.
74739         * lib/getopt.c (POSIXLY_CORRECT): New constant.
74740         (getopt): Use it, so to preserve glibc semantic
74741         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
74742         when compiling for libc.
74743         * lib/getopt_.h (__getopt_argv_const): Bring it back.
74744         (getopt_long, getopt_long_only): Use it.
74745
74746         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74747         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
74748         (getopt): Argv is now char * const *, as per standard.
74749         (_getopt_internal_r, _getopt_internal): Argv is now char **,
74750         not char *__getopt_argv_const *.
74751         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74752         _getopt_long_only_r): Likewise.
74753         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
74754         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74755         _getopt_long_r, _getopt_long_only_r): Likewise.
74756         * lib/getopt_.h (__getopt_argv_const): Remove.
74757         (getopt): Argv is now char * const *, as per standard.
74758
74759         * lib/getdate.y (tORDINAL): New token.
74760         (day, relunit): Allow it for relative times.
74761         (relative_time_table): Use tORDINAL for ordinals.
74762
74763 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74764
74765         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
74766         Document that "second" isn't allowed as an ordinal number.
74767
74768 2004-11-16  Jim Meyering  <jim@meyering.net>
74769
74770         * modules/closeout (Depends-on): Add fpending.
74771
74772 2004-11-15  Jim Meyering  <jim@meyering.net>
74773
74774         * lib/closeout.c: Include "__fpending.h" once again.
74775         Include <stdbool.h>.
74776         (close_stdout): Don't fail just because stdout was closed initially,
74777         since some programs don't write to stdout in the normal course of
74778         operation (other than --version and --help), and we don't want this
74779         function to make e.g. `touch file >&-' fail.
74780         But do fail if it was closed and someone has tried to write to it.
74781         E.g., `printf foo >&-' must fail.
74782
74783 2004-11-13  Jim Meyering  <jim@meyering.net>
74784
74785         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
74786
74787 2004-11-12  Simon Josefsson  <jas@extundo.com>
74788
74789         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
74790         small doc fix is still pending.
74791
74792 2004-11-11  Simon Josefsson  <jas@extundo.com>
74793
74794         * modules/strtok_r: New file.
74795
74796         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74797         strtok_r.
74798
74799 2004-11-11  Simon Josefsson  <jas@extundo.com>
74800
74801         * m4/strtok_r.m4: New file.
74802
74803         * m4/getopt.m4: Replace opterr.
74804
74805 2004-11-11  Simon Josefsson  <jas@extundo.com>
74806
74807         * lib/strtok_r.h, strtok_r.c: New file.
74808
74809 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74810
74811         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
74812         of replacing opterr, getopt, etc.  This should handle the
74813         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
74814
74815 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74816
74817         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
74818         we can stop lying to compilers about the constness of argv when we
74819         are compiled outside glibc.
74820         (getopt, getopt_long, getopt_long_only): Use it.
74821         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74822         _getopt_internal, getopt): Likewise.
74823         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74824         _getopt_long_only_r): Likewise.
74825         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74826         _getopt_long_r, _getopt_long_only_r): Likewise.
74827
74828         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
74829         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
74830         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
74831         the other external symbols.
74832         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
74833         declaration, since the above renaming now works around collisions.
74834
74835 2004-11-11  Jim Meyering  <jim@meyering.net>
74836
74837         * lib/linebreak.c: Remove trailing blanks.
74838         * lib/alloca_.h: Likewise.
74839         * lib/acosl.c: Likewise.
74840         * lib/euidaccess.c: Likewise.
74841         * lib/allocsa.h: Likewise.
74842
74843 2004-11-10  Simon Josefsson  <jas@extundo.com>
74844
74845         * m4/getaddrinfo.m4: New file.
74846
74847 2004-11-10  Simon Josefsson  <jas@extundo.com>
74848
74849         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
74850
74851 2004-11-10  Simon Josefsson  <jas@extundo.com>
74852
74853         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74854         getaddrinfo.
74855
74856         * modules/getaddrinfo: New file.
74857
74858 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74859
74860         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
74861
74862 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74863
74864         * lib/mktime.c (SHR): New macro, which is a portable
74865         substitute for >> that should work even on Crays.
74866         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
74867         Problem reported by Mark D. Baushke in
74868         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
74869         * lib/getdate.y (SHR): Likewise.
74870         (tm_diff): Use it.
74871         * lib/strftime.c (SHR): Likewise.
74872         (tm_diff): Use it.
74873         * lib/quotearg.c (struct quoting_options): Use unsigned int for
74874         quote_these_too, so that right shifts are well defined.  All uses
74875         changed.
74876
74877 2004-11-10  Jim Meyering  <jim@meyering.net>
74878
74879         Ensure that no close failure goes unreported.
74880         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
74881         return early when it seems there's nothing to flush.
74882         Don't include __fpending.h.
74883
74884 2004-11-10  Jim Meyering  <jim@meyering.net>
74885
74886         * modules/closeout (Depends-on): Remove fpending.
74887
74888 2004-11-10  Jim Meyering  <jim@meyering.net>
74889
74890         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
74891
74892 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74893
74894         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
74895         gl_FUNC_STRFTIME.
74896         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
74897         and AC_REQUIRE when possible, to avoid duplicate checks.
74898         Check for <wchar.h>.
74899
74900 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74901
74902         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
74903
74904 2004-11-09  Bruno Haible  <bruno@clisp.org>
74905
74906         * m4/sockpfaf.m4: New file.
74907
74908 2004-11-05  Bruno Haible  <bruno@clisp.org>
74909
74910         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
74911         Reported by Mark D. Baushke <mdb@cvshome.org>.
74912
74913 2004-11-04  Bruno Haible  <bruno@clisp.org>
74914
74915         2004-09-11  Bruno Haible  <bruno@clisp.org>
74916                 * allocsa.valgrind: New file.
74917         2004-02-06  Bruno Haible  <bruno@clisp.org>
74918                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
74919                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
74920                 Reported by Christopher Seip <chris.seip@hp.com>.
74921
74922 2004-11-04  Bruno Haible  <bruno@clisp.org>
74923
74924         * modules/allocsa (Files): Add lib/allocsa.valgrind.
74925         (Makefile.am): Distribute it.
74926
74927 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74928
74929         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
74930         with errno == ERANGE if the buffer is too small.
74931         Problem reported by Mark D. Baushke.
74932
74933 2004-11-03  Albert Chin  <china@thewrittenword.com>
74934             Paul Eggert  <eggert@cs.ucla.edu>
74935
74936         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
74937         equivalent, substitute $ac_type for equivalent type rather than
74938         blindly using uint32_t *always* which won't work if uint32_t is not
74939         available.  Define _UINT32_T to work around typedef of uint32_t if
74940         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
74941         2.5.1.
74942
74943 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74944
74945         * m4/jm-macros.m4: Sync from coreutils.
74946         (gl_MACROS): Check for mbrlen, for pathchk.
74947         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
74948
74949 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74950
74951         * lib/xreadlink.c (MAXSIZE): New macro.
74952         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
74953         size does not exceed MAXSIZE.  Avoid cast.
74954         As suggested by Mark D. Baushke in
74955         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
74956         if readlink fails with buffer size just under MAXSIZE, try again
74957         with MAXSIZE.
74958
74959 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74960
74961         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
74962
74963 2004-11-02  Derek R. Price  <derek@ximbiot.com>
74964         and  Paul Eggert  <eggert@cs.ucla.edu>
74965
74966         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
74967         (get_date): Overparenthesize to avoid GCC warning.
74968
74969 2004-11-02  Bruno Haible  <bruno@clisp.org>
74970
74971         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
74972         returns void.
74973
74974 2004-11-02  Bruno Haible  <bruno@clisp.org>
74975
74976         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
74977         function returns void.
74978
74979 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74980
74981         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
74982         fflush_unlocked, flockfile, funlockfile, funlockfile,
74983         fputs_unlocked, putc_unlocked.
74984
74985 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74986
74987         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74988         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
74989         already declared.
74990
74991 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * modules/getdate (Files): Add doc/getdate.texi.
74994         (Depends-on): Add setenv, xalloc.
74995
74996 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74997
74998         * lib/getdate.y: Add support for TZ="foo" within a date string.
74999         Fix some bugs near time_t boundaries.  Reject dates with
75000         out-of-range components, e.g., "Sept 31".
75001         Include <stdlib.h>, "setenv.h", "xalloc.h".
75002         (ISDIGIT_LOCALE): Remove; unused.
75003         Note that the TZ and time functions used here are not reentrant.
75004         (mktime_ok, get_tz): New functions.
75005         (TZBUFSIZE): New constant.
75006         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
75007         This requires that we sometimes generate our own TZ="XXX..." setting.
75008
75009 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75010
75011         * doc/getdate.texi: New file, from coreutils with modifications for
75012         the new TZ parsing.
75013
75014 2004-10-27  Derek R. Price  <derek@ximbiot.com>
75015
75016         * lib/mktime.c (not_equal_tm): Remove redundant check.
75017
75018 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75019
75020         * modules/regex (lib_SOURCES): Add regex.c.
75021         Reported by James Youngman in
75022         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
75023
75024 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         * lib/getdate.y: Use Bison 1.875 features, and some minor
75027         code cleanups.  This change does not affect semantics.
75028         Don't include <stdlib.h>; no longer needed.
75029         Don't include unlocked-io.h; only the "#if TEST" code uses
75030         stdio, and performance isn't crucial there.
75031         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
75032         Bison 1.875 features as described below.
75033         All uses of "PC." replaced by "pc->".
75034         (YYSTYPE): Add a forward declaration.
75035         (yylex, yyerror): Use full prototypes in forward decls.
75036         Use "%pure-parser" rather than obsolescent "%pure_parser".
75037         Use %parse-param and %lex-param instead of obsolescent
75038         YYPARSE_PARAM and YYLEX_PARAM.
75039         (meridian_table, month_and_day_table, time_units_table,
75040         relative_time_table, time_zone_table, military_table,
75041         lookup_zone, lookup_word, get_date):
75042         Use NULL instead of 0 where appropriate.
75043         (to_hour): Avoid abort (), to avoid a dependency on
75044         stdlib.h.
75045         (yyerror, yylex): Now accepts parser_control * arg.
75046         (main) [TEST]: Use '\0' rather than 0 for char.
75047
75048 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75049
75050         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
75051
75052 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75053
75054         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
75055         It's now the caller's responsibility to handle the case where
75056         !HAVE_GETPAGESIZE && !defined getpagesize.
75057
75058         * lib/mktime.c (leapyear): Arg is long int, not int.
75059
75060 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
75061
75062         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
75063
75064 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
75067         missing.  Problem reported by James Youngman.
75068
75069 2004-10-16  Simon Josefsson  <jas@extundo.com>
75070
75071         * gnulib-tool: Fix comments.  Fix parse problem.
75072         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
75073
75074 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
75075
75076         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
75077         implementation of getopt_long.  Problem reported by Alexander Taler in:
75078         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
75079
75080 2004-10-15  Bruno Haible  <bruno@clisp.org>
75081
75082         * gnulib-tool: Untabify. Initialize supplied_libname.
75083         (func_usage): More homogenous output.
75084         (func_modules_transitive_closure, func_modules_to_filelist,
75085         func_emit_lib_Makefile_am): New functions.
75086         (func_import): New function, extracted from big case statement. Use
75087         func_get_license, func_modules_transitive_closure,
75088         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
75089         opt_lgpl. Don't use test -a, as it's not portable.
75090         (func_create_testdir): Use func_modules_transitive_closure,
75091         func_modules_to_filelist, func_emit_lib_Makefile_am.
75092
75093 2004-10-15  Bruno Haible  <bruno@clisp.org>
75094
75095         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
75096
75097 2004-10-15  Bruno Haible  <bruno@clisp.org>
75098
75099         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
75100         the portions belonging to each module.
75101         Suggested by Derek Robert Price <derek@ximbiot.com>.
75102
75103 2004-10-12  Simon Josefsson  <jas@extundo.com>
75104
75105         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
75106         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
75107         to real functions.
75108
75109 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75110
75111         * modules/vsnprintf: New file.
75112
75113 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75114
75115         * m4/vsnprintf.m4: New file.
75116
75117 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75118
75119         * lib/vsnprintf.h: New file.
75120         * lib/vsnprintf.c: New file.
75121
75122 2004-10-11  Bruno Haible  <bruno@clisp.org>
75123
75124         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
75125         vsnprintf.
75126
75127 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75128
75129         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
75130
75131 2004-10-07  Bruno Haible  <bruno@clisp.org>
75132
75133         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
75134         fits into the provided buffer.
75135
75136 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * lib/diacrit.c, diacrit.h: Add GPL notice.
75139
75140         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
75141         notice.
75142         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
75143         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
75144         This avoids a potential constant-folding bug.
75145
75146 2004-10-05  Bruno Haible  <bruno@clisp.org>
75147
75148         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
75149         for the declaration of strsep.
75150
75151 2004-10-05  Bruno Haible  <bruno@clisp.org>
75152
75153         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
75154
75155 2004-10-04  Simon Josefsson  <jas@extundo.com>
75156
75157         * modules/memmem: New file.
75158         * tests/test-memmem.c: New file.
75159         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
75160
75161 2004-10-04  Simon Josefsson  <jas@extundo.com>
75162
75163         * m4/memmem.m4: New file.
75164
75165 2004-10-04  Simon Josefsson  <jas@extundo.com>
75166
75167         * lib/memmem.h: New file.
75168         * lib/memmem.c: New file, taken from glibc.
75169
75170 2004-10-04  Simon Josefsson  <jas@extundo.com>
75171
75172         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
75173         '#ifdef USE_UNLOCKED_IO'.
75174
75175 2004-10-04  Simon Josefsson  <jas@extundo.com>
75176
75177         * config/srclist.txt: Add memmem from glibc.
75178
75179 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75180
75181         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
75182
75183         * modules/argmatch, modules/argp, modules/closeout, modules/error,
75184         modules/exclude, modules/getdate, modules/getline,
75185         modules/getndelim2, modules/getpass, modules/getpass-gnu,
75186         modules/getusershell, modules/linebuffer, modules/md5,
75187         modules/mountlist, modules/posixtm, modules/readtokens,
75188         modules/readutmp, modules/regex, modules/sha1,
75189         modules/version-etc, modules/yesno:
75190         Remove dependency on unlocked-io.
75191
75192 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75193
75194         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
75195
75196         * m4/unlocked-io.m4: Add copyright notice.
75197         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
75198
75199 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75200
75201         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
75202         * lib/xmalloc.c (xmemdup): Likewise.
75203         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
75204         XFREE): Remove these long-obsolescent macros.
75205         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
75206         * lib/xstrdup.c: Remove.
75207
75208         * lib/regex.c (re_comp): Cast gettext return value to char *,
75209         Problem reported by Martin Neitzel via Mark D. Baushke.
75210
75211 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75212
75213         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
75214         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
75215         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
75216         regex.c, sha1.c, version-etc.c, yesno.c:
75217         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
75218         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
75219         the includer's responsibility.
75220
75221         Sync from coreutils.
75222
75223         * lib/modechange.c (mode_compile): Don't decrement a pointer that
75224         points to the start of a string, as the C Standard says the
75225         resulting behavior is undefined.
75226
75227         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
75228         simple -> simple_backups, numbered_existing ->
75229         numbered_existing_backups, numbered -> numbered_backups
75230         to avoid shadowing problems.  All uses changed.
75231         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
75232         * lib/backupfile.c (check_extension, numbered_backup):
75233         Rename locals to avoid shadowing 'basename'.
75234         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
75235         once.
75236
75237         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
75238         * lib/.cvsignore: Add getopt.h.
75239
75240 2004-10-04  Bruno Haible  <bruno@clisp.org>
75241
75242         * modules/README: New file.
75243         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
75244         not a module.
75245
75246 2004-10-02  Jim Meyering  <jim@meyering.net>
75247
75248         * lib/dirfd.h, getpagesize.h: Add copyright notice.
75249
75250 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75251
75252         * modules/strsep: New file.
75253
75254 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75255
75256         * m4/strsep.m4: New file.
75257
75258 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75259
75260         * lib/strsep.h: New file.
75261         * lib/strsep.c: New file.
75262
75263 2004-10-01  Simon Josefsson  <jas@extundo.com>
75264
75265         * lib/snprintf.c (snprintf): Handle size==0.
75266
75267 2004-10-01  Simon Josefsson  <jas@extundo.com>
75268             Bruno Haible  <bruno@clisp.org>
75269
75270         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
75271         (snprintf): Declare 'args'.
75272
75273 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
75274
75275         * lib/snprintf.c: Remove comments as to why each header is needed.
75276
75277 2004-10-01  Bruno Haible  <bruno@clisp.org>
75278
75279         * MODULES.html.sh: Add strsep.
75280
75281 2004-09-30  Simon Josefsson  <jas@extundo.com>
75282
75283         * modules/snprintf: New file.
75284
75285 2004-09-30  Simon Josefsson  <jas@extundo.com>
75286
75287         * m4/snprintf.m4: New file.
75288
75289 2004-09-30  Simon Josefsson  <jas@extundo.com>
75290
75291         * lib/snprintf.h, lib/snprintf.c: New files.
75292
75293 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75294
75295         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
75296         (hol_entry_help): Never translate an empty string.
75297         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
75298         * lib/argp.h (OPTION_NO_TRANS): New option.
75299
75300 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75301
75302         * modules/argp (Maintainer): Replace Simon Josefsson
75303         by Sergey Poznyakoff.
75304
75305 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75306
75307         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
75308         changes merged back into glibc.
75309
75310 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75311
75312         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
75313
75314 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75315
75316         * lib/xvasprintf.c: Include xalloc.h.
75317         (xvasprintf): Use xalloc_die, not xmalloc_die.
75318
75319 2004-09-29  Bruno Haible  <bruno@clisp.org>
75320
75321         * modules/alloca-opt: New file, derived from modules/alloca.
75322         * modules/allocsa: Depend on alloca-opt instead of alloca.
75323         * modules/setenv: Likewise.
75324         * modules/vasnprintf: Likewise.
75325         * MODULES.html.sh: Add alloca-opt.
75326
75327 2004-09-28  Simon Josefsson  <jas@extundo.com>
75328
75329         * gnulib-tool: New parameter --lgpl, to asseert that modules are
75330         LGPL, and to replace license template from GPL to LGPL.
75331
75332 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * modules/dummy: Change license to LGPL.
75335
75336 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
75337
75338         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
75339
75340 2004-09-24  Simon Josefsson  <jas@extundo.com>
75341
75342         * modules/minmax (License): Change from GPL to LGPL.
75343
75344 2004-09-23  Simon Josefsson  <jas@extundo.com>
75345
75346         * gnulib-tool (--import): Typo.
75347
75348 2004-09-23  Simon Josefsson  <jas@extundo.com>
75349
75350         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
75351
75352 2004-09-22  Bruno Haible  <bruno@clisp.org>
75353
75354         * modules/*: Add 'License' field.
75355         * gnulib-tool: Accept --extract-license option.
75356         (func_get_license): New function.
75357
75358 2004-09-21  Bruno Haible  <bruno@clisp.org>
75359
75360         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
75361         Reported by Simon Josefsson.
75362
75363 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75364
75365         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
75366         gl_AC_TYPE_LONG_LONG.
75367
75368 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75369
75370         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
75371
75372 2004-09-18  Simon Josefsson  <jas@extundo.com>
75373         and  Paul Eggert  <eggert@cs.ucla.edu>
75374
75375         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
75376         calls with autoreconf.  Define GL_LIB.
75377
75378 2004-09-14  Karl Berry  <karl@gnu.org>
75379
75380         * config/srclist.txt: unsync setenv.c, sigh.
75381
75382 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75383
75384         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
75385         Problem reported by Bruno Haible in:
75386         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
75387
75388 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75389
75390         * config/srclist.txt: Comment out argp-pvh.c.
75391
75392 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
75393
75394         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
75395         in case some system header has #define'd it.  Problem reported by
75396         Soeren D. Schulze in
75397         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
75398
75399 2004-09-09  Karl Berry  <karl@gnu.org>
75400
75401         * regex.[ch]: delete from the root.  These were supposed to be
75402                 synced with emacs cvs, but this has not happened for about
75403                 a year, and anyway nothing else uses emacs regex.[ch].
75404                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
75405                 lib/regex[.ch] is untouched.
75406
75407 2004-09-09  Bruno Haible  <bruno@clisp.org>
75408
75409         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
75410
75411 2004-09-09  Bruno Haible  <bruno@clisp.org>
75412
75413         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
75414         modifications.
75415         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
75416
75417 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
75418
75419         * modules/xvasprintf: New file.
75420         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
75421
75422 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
75423
75424         * lib/xvasprintf.h: New file.
75425         * lib/xvasprintf.c: New file.
75426         * lib/xasprintf.c: New file.
75427
75428 2004-09-08  Bruno Haible  <bruno@clisp.org>
75429
75430         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
75431
75432 2004-09-08  Bruno Haible  <bruno@clisp.org>
75433
75434         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
75435         length is > INT_MAX.
75436         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
75437         more.
75438
75439 2004-09-08  Bruno Haible  <bruno@clisp.org>
75440
75441         * lib/stdint_.h: New file, taken from GNU clisp.
75442
75443 2004-09-08  Bruno Haible  <bruno@clisp.org>
75444             Oskar Liljeblad  <oskar@osk.mine.nu>
75445
75446         * modules/stdint: New file.
75447         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
75448
75449 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75450
75451         Import from coreutils.
75452         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
75453         strings on unbounded length.  alloca's performance benefits aren't
75454         that important here.
75455         (V_STRDUP): Remove.
75456         (parse_with_separator): New function, with most of the internals
75457         of the old parse_user_spec.  Allow user to omit both user and group,
75458         for compatibility with FreeBSD.
75459         Clone only the user name, not the entire spec.
75460         Do not set *uid, *gid unless entirely successful.
75461         Avoid memory leak in some failing cases.
75462         Fix regression for USER.GROUP reported by Dmitry V. Levin in
75463         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
75464         (parse_user_spec): Rewrite to use parse_with_separator.
75465
75466 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75467
75468         * modules/userspec: Don't depend on alloca.
75469
75470 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75471
75472         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
75473
75474 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
75477         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
75478         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
75479
75480 2004-08-16  Simon Josefsson  <jas@extundo.com>
75481
75482         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
75483         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
75484         Add --dry-run for --import.
75485         Let user provided command line parameters override configure.ac
75486         settings.
75487
75488 2004-08-12  Simon Josefsson  <jas@extundo.com>
75489
75490         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
75491         as discussed with Paul Eggert in threads rooted at
75492         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
75493         and
75494         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
75495         Before, the test was empty, and relied on ELIDE_CODE in source
75496         code.)
75497         (gl_PREREQ_GETOPT): New macro.
75498         (gl_GETOPT): Use them.
75499
75500 2004-08-12  Simon Josefsson  <jas@extundo.com>
75501
75502         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
75503         * lib/getopt_.h: Renamed from getopt.h.
75504
75505 2004-08-12  Simon Josefsson  <jas@extundo.com>
75506
75507         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
75508         Change default library name from libfoo to libgnu.
75509         Now, if you have a configure.ac that says:
75510                 gl_SOURCE_BASE(gl)
75511                 gl_M4_BASE(gl/m4)
75512                 gl_MODULES(error getopt etcetera)
75513                 gl_INIT
75514         you can import all you need by running:
75515                 ../gnulib/gnulib-tool --import
75516
75517         * modules/getopt (Files): Rename getopt.h to getopt_.h.
75518         (Makefile.am): Rewrite, use logic from argz.
75519         (Include): Use <getopt.h> instead of "getopt.h".
75520
75521 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75522
75523         * modules/argp (Files): Add m4/unlocked-io.m4.
75524         (Depends-on): Add extensions.
75525
75526 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75527
75528         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
75529         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
75530         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
75531         Check for program_invocation_name, program_invocation_short_name,
75532         flockfile, funlockfile, features.h, _getopt_long_only_r.
75533
75534 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75535
75536         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
75537         its complicated substitute.
75538         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
75539         and program_invocation_name.
75540         (__argp_basename) [!_LIBC]: Remove; the only use was
75541         replaced by its body.
75542         (__argp_short_program_name): Change condition from
75543         !defined __argp_short_program_name to
75544         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
75545         to match argp-namefrob.h.
75546         (__argp_failure): Don't assume strerror_r returns char *.
75547         * lib/argp-parse.c (N_): Define unconditionally.
75548         (argp_default_options): Fill out initializers with 0 to avoid
75549         gcc warnings.
75550
75551 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75552
75553         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
75554         getopt1.c.
75555
75556 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75557
75558         Merge from coreutils.
75559
75560         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
75561
75562         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
75563         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
75564
75565 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75566
75567         Merge from coreutils.
75568
75569         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
75570         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
75571         for Reliant Unix 5.43.
75572
75573         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
75574         (union fooround): Use uintmax_t, not long int.
75575         The rest is a merge from libc:
75576         [defined _LIBC]: Include <shlib-compat.h>.
75577         (_obstack) [defined _LIBC]: Remove after 2.3.4.
75578
75579         * lib/settime.c (settime): Recode to avoid warning with
75580         Sun Forte C 6U2.
75581
75582         * lib/strverscmp.c: Convert to UTF-8.
75583
75584 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75585
75586         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75587         m4/uintmax_t.m4.
75588
75589 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75590
75591         * modules/xalloc-die: New file.
75592         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
75593
75594         * modules/md5 (Files): Add m4/uint32_t.m4.
75595         * modules/sha1: Renamed from modules/sha.
75596         (Files):
75597         Rename lib/sha.h to lib/sha1.h.
75598         Rename lib/sha.c to lib/sha1.c.
75599         Rename m4/sha.m4 to m4/sha1.m4.
75600         (lib_SOURCES): Likewise.
75601         (configure.ac): Rename gl_SHA to gl_SHA1.
75602         (Include): sha.h -> sha1.h.
75603
75604 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75605
75606         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
75607         * m4/sha1.m4: Renamed from sha.m4.
75608         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
75609
75610 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75611
75612         * lib/obstack.h (obstack_empty_p):
75613         Don't assume that chunk->contents is suitably aligned.
75614         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
75615         Likewise. Problem reported by Benno in
75616         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
75617
75618         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
75619         readable.  This could be improved further but it'd take some work.
75620
75621 2004-08-08  Simon Josefsson  <jas@extundo.com>
75622
75623         * modules/xgethostname (Depends-on): Remove exit and error (not
75624         used).
75625
75626         * modules/getpass-gnu: Add getpass.h.
75627         (Depends-on): Add stdbool.
75628         * modules/getpass: Add getpass.h.
75629
75630 2004-08-08  Simon Josefsson  <jas@extundo.com>
75631
75632         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
75633         Check getpass declaration.
75634
75635 2004-08-08  Simon Josefsson  <jas@extundo.com>
75636
75637         * lib/xgethostname.c: Don't include error.h (not used).
75638
75639         * lib/getpass.h: Add.
75640         * lib/getpass.c: Include getpass.h first.
75641
75642 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
75643
75644         * lib/xalloc-die.c: New file.
75645         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
75646         All uses removed.
75647         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
75648         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
75649         xalloc-die.c.
75650         (_, N_, xalloc_die): Move to xalloc-die.c.
75651         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
75652         so that we needn't mess with xalloc_msg_memory_exhausted.
75653
75654         * lib/sha1.h: Renamed from sha.h.
75655         (SHA1_H): Renamed from _SHA_H.
75656         (sha1_ctx): Renamed from sha_ctx.
75657         (sha1_init_ctx): Renamed from sha_init_ctx.
75658         (sha1_process_block): Renamed from sha_process_block.
75659         (sha1_process_bytes): Renamed from sha_process_bytes.
75660         (sha1_finish_ctx): Renamed from sha_finish_ctx.
75661         (sha1_read_ctx): Renamed from sha_read_ctx.
75662         (sha1_stream): Renamed from sha_stream.
75663         (sha1_buffer): Renamed from sha_buffer.
75664         * lib/sha1.c: Likewise; renamed from sha.c.
75665         Do not include <sys/types.h>.
75666         Include <stddef.h> rather than <stdlib.h>.
75667
75668 2004-08-08  Bruno Haible  <bruno@clisp.org>
75669
75670         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
75671         FILESYSTEM_PREFIX_LEN.
75672         * lib/progreloc.c: Likewise.
75673         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
75674
75675 2004-08-06  Simon Josefsson  <jas@extundo.com>
75676
75677         * modules/progname (Depends-on): Don't depend on stdbool.
75678
75679 2004-08-06  Simon Josefsson  <jas@extundo.com>
75680
75681         * modules/getsubopt: New file.
75682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75683         getsubopt.
75684
75685 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75686
75687         More merge from coreutils.
75688
75689         * m4/utimens.m4, m4/utimecmp.m4: New files.
75690         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
75691         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
75692         prereq.m4, sha.m4: Import changes from coreutils.
75693
75694 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75695
75696         More merge from coreutils.
75697         * modules/raise, modules/readtokens0, modules/utimens:
75698         * modules/utimecmp, module/xnanosleep: New files.
75699         * modules/strftime: Add lib/strftime.h.
75700         Change include from <time.h> to "strftime.h".
75701         * modules/yesno: Add lib/yesno.h.
75702         * modules/backupfile: Remove lib/addext.c.
75703         * modules/euidaccess: Add stat-macros.h.
75704         * modules/canonicalize, modules/euidaccess,
75705         modules/filemode, modules/lchown, modules/makepath,
75706         modules/rmdir, modules/stat: Likewise.
75707
75708 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75709
75710         Merge from tar.
75711         * lib/argp-help.c (make_hol, hol_append): Don't assume that
75712         SIZE_MAX is a valid preprocessor constant.
75713         (__argp_basename): Change from "#ifndef _LIBC"
75714         to "#ifndef __argp_short_program_name", so that
75715         we don't compile these functions for tar.
75716
75717         More merges from coreutils.
75718         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
75719         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
75720         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
75721         * lib/addext.c: Remove; no longer needed.
75722         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
75723         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
75724         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
75725         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
75726         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
75727         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
75728         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
75729         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
75730         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
75731         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
75732         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
75733         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
75734         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
75735         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
75736         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
75737         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
75738         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
75739         Import changes from coreutils.
75740
75741 2004-08-05  Simon Josefsson  <jas@extundo.com>
75742
75743         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
75744
75745 2004-08-05  Simon Josefsson  <jas@extundo.com>
75746
75747         * m4/getsubopt.m4: New file.
75748
75749 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75750
75751         Merge from coreutils.
75752
75753         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
75754         * m4/getcwd-path-max.m4: New files.
75755
75756         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
75757         FILESYSTEM_PREFIX_LEN ->
75758         FILE_SYSTEM_PREFIX_LEN.
75759         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
75760         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
75761         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
75762         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
75763
75764         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
75765         prerequisite modules now handle the DOS stuff.
75766         Don't check for unistd.h.
75767
75768 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75769
75770         Merge from coreutils.
75771
75772         * lib/.gdb-history: Remove; this doesn't belong here.
75773
75774         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
75775         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
75776         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
75777         * lib/getcwd.c: New files.
75778
75779         * lib/dirname.h: Include <stdbool.h>.
75780         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
75781         for consistency with POSIX terminology.  All uses changed.
75782         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
75783         (strip_trailing_slashes): Use bool for booleans.
75784         * lib/stripslash.c (strip_trailing_slashes): Likewise.
75785
75786         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
75787         sometimes returns a positive errno value even when it succeeds.
75788         (print_errno_message) [!LIBC]: Fall back on strerror if
75789         __strerror_r fails.
75790
75791         * lib/path-concat.c (mempcpy): Don't define if a system header defines
75792         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
75793         (longest_relative_suffix): New function.
75794         (path_concat): Use it.  Assume first argument is not NULL.
75795         Port to DOS.  Omit redundant separators.
75796         Report an error instead of returning NULL.
75797         Use mempcpy instead of memcpy.
75798         (xpath_concat): Remove: not declared or used.
75799
75800         * lib/same.h: Include <stdbool.h>
75801         (same_name): Return bool, not int.
75802         * lib/same.c (same_name): Likewise.
75803         (errno): Don't declare; we assume C89 or better now.
75804
75805         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
75806         if not already defined.
75807
75808         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
75809         * lib/dup-safer.c (errno): Likewise.
75810
75811 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75812
75813         Merge from coreutils.
75814         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
75815         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
75816         * modules/path-concat: Don't depend on strdup.
75817
75818 2004-08-03  Simon Josefsson  <jas@extundo.com>
75819
75820         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
75821         * lib/progname.h: Don't include stdbool.h.
75822
75823 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75824
75825         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
75826         * MODULES.html.sh (func_all_modules): Remove fatal.
75827
75828 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75829
75830         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
75831
75832 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75833
75834         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
75835         working.
75836
75837 2004-08-02  Simon Josefsson  <jas@extundo.com>
75838
75839         * lib/getsubopt.h: New file, with comments from Bruno Haible.
75840         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
75841         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
75842
75843 2004-08-01  Simon Josefsson  <jas@extundo.com>
75844
75845         * lib/xgetdomainname.c: Include stdlib.h, for free().
75846
75847 2004-07-19  Bruno Haible  <bruno@clisp.org>
75848
75849         * MODULES.html.sh (func_all_modules): Add dummy.
75850
75851 2004-07-16  Simon Josefsson  <jas@extundo.com>
75852
75853         * modules/dummy: New file.
75854
75855 2004-07-16  Simon Josefsson  <jas@extundo.com>
75856
75857         * lib/dummy.c: New file.
75858
75859 2004-07-16  Bruno Haible  <bruno@clisp.org>
75860
75861         * lib/backupfile.h: Add extern "C" for C++.
75862         * lib/closeout.h: Likewise.
75863         * lib/copy-file.h: Likewise.
75864         * lib/findprog.h: Likewise.
75865         * lib/full-write.h: Likewise.
75866         * lib/pathname.h: Likewise.
75867         * lib/progname.h: Likewise.
75868         * lib/stpcpy.h: Likewise.
75869         * lib/stpncpy.h: Likewise.
75870         * lib/strcase.h: Likewise.
75871         * lib/strstr.h: Likewise.
75872         * lib/xalloc.h: Likewise.
75873
75874         * lib/mbswidth.h: Add extern "C" for C++.
75875         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
75876
75877 2004-07-13  Robert Millan  <robertmh@gnu.org>
75878
75879         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
75880
75881 2004-07-09  Simon Josefsson  <jas@extundo.com>
75882
75883         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
75884         failed without this.)
75885
75886 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75887
75888         * modules/chown (Files): Add lib/fchown-stub.c, since
75889         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
75890
75891 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75892
75893         * lib/fchown-stub.c: New file.
75894
75895 2004-06-24  Jim Meyering  <jim@meyering.net>
75896
75897         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
75898
75899 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75900
75901         * modules/argz: Omit "#include".
75902
75903         * MODULES.html.sh (func_all_modules): Add calloc, to match
75904         2004-06-01 addition of calloc module.
75905
75906 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75907
75908         * m4/argz.m4: New file, which is autoupdated from libtool.
75909
75910 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75911
75912         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
75913         libtool.
75914
75915 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75916
75917         * config/srclist-update: Don't insist on "USA." before the
75918         close-comment, as libtool omits the period and puts the */ on a
75919         separate line.
75920         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
75921         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
75922
75923 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
75924
75925         * modules/argz: New file.
75926         * MODULES.html.sh (func_all_modules): Add argz.
75927
75928 2004-06-12  Jim Meyering  <jim@meyering.net>
75929         and  Paul Eggert  <eggert@cs.ucla.edu>
75930
75931         * modules/hash (Files): Add lib/xalloc.h.
75932         * modules/pipe (Depends-on): Add wait-process.
75933         * modules/stat (Depends-on): Add xalloc.
75934         * modules/userspec (Files): Add lib/userspec.h.
75935         * modules/xstrto
75936
75937         Upgrade from gettext-0.13.
75938         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
75939         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
75940         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
75941
75942 2004-06-10  Jim Meyering  <jim@meyering.net>
75943
75944         * lib/calloc.c: New file.
75945
75946 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
75947
75948         * lib/getdate.y (yylex): Allow space between sign and number.
75949         Problem reported by Dan Jacobson.
75950
75951 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75952
75953         Merge from coreutils CVS.
75954
75955         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
75956         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
75957         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
75958         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
75959         xstrtol.m4: Fix copyright date and/or serial number.
75960
75961         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
75962         See if we need an fchown replacement.
75963         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
75964         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
75965         and use the replacement function if we detect either defect.
75966
75967         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
75968         gl_UTIMECMP.
75969
75970 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75971         and  Jim Meyering  <jim@meyering.net>
75972
75973         Merge from coreutils CVS.
75974
75975         * lib/stat-macros.h: New file, with contents from file-type.h
75976         and coreutils' system.h.
75977         * lib/file-type.c: Include "stat-macros.h".
75978         * lib/file-type.h (file_type): Move all macro definitions to new file,
75979         stat-macros.h.
75980
75981         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
75982         Wrap old code with this conditional.
75983         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
75984         function that does not dereference symlinks.
75985         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
75986
75987         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
75988         dependency problems.
75989         (xreadlink): Accept new arg SIZE, for efficiency.
75990         All decls and uses changed.
75991         * lib/xreadlink.h: Include <stddef.h>, for size_t.
75992
75993         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
75994         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
75995
75996         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
75997         sysexits.h.
75998
75999 2004-06-01  Jim Meyering  <jim@meyering.net>
76000
76001         * m4/calloc.m4: New file.
76002
76003 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
76004
76005         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
76006         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
76007         Also, fix a typo in a diagnostic.
76008
76009 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76010
76011         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
76012         or AC_FUNC_REALLOC.
76013
76014 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
76017         macros to be defined.
76018         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
76019         the allocator returns NULL because the requested size is zero.
76020
76021 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76022
76023         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
76024         var.  Add comment explaining why libc still defines it.  This
76025         merges the following patch from glibc:
76026         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
76027
76028 2004-05-20  Andreas Schwab  <schwab@suse.de>
76029
76030         * m4/free.m4: Replace free if it not known to work, not the other
76031         way round.
76032
76033 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76034
76035         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
76036         present in glibc since revision 1.1 of this file.
76037         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
76038         obstack_alignment_mask, obstack_alloc, obstack_base,
76039         obstack_blank, obstack_blank_fast, obstack_chunk_size,
76040         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
76041         obstack_grow0, obstack_init, obstack_int_grow,
76042         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
76043         obstack_next_free, obstack_object_size, obstack_ptr_grow,
76044         obstack_ptr_grow_fast, obstack_room): Remove declarations of
76045         nonexistent functions.
76046
76047 2004-05-18  Karl Berry  <karl@gnu.org>
76048
76049         * config/srclist.txt: break link for vasnprintf.c.
76050
76051 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76052
76053         Port obstack to the AS/400, where pointers are 16 bytes wide and
76054         you cannot cast an integer to a valid pointer.  This patch is
76055         currently waiting to be integrated into glibc; see
76056         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
76057
76058         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
76059         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
76060         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
76061         (struct obstack): temp member is now a union of a pointer and
76062         an integer, instead of an integer.  All integer uses changed.
76063         This does not affect the physical layout of struct obstack,
76064         except on hosts (like the AS/400) where the size or alignment of
76065         void * is greater than that of ptrdiff_t.
76066         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
76067         __STDC__)]: Store temporary in pointer member of union, not
76068         integer member.
76069         * lib/obstack.c: Include <stddef.h>, for offsetof.
76070         (struct fooalign): Remove; it doesn't need a name.
76071         (union fooround): Change double to long double, and add void *.
76072         (DEFAULT_ALIGNMENT): Use offsetof to compute.
76073         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
76074         not a macro.  Hence the values are always int; so remove all
76075         casts-to-int in uses.
76076
76077 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76078
76079         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
76080         we can get this patch merged into glibc.
76081
76082 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76083             Paul Eggert  <eggert@cs.ucla.edu>
76084
76085         * m4/argp: Depend on alloca.
76086
76087 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76088             Paul Eggert  <eggert@cs.ucla.edu>
76089
76090         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
76091         freecoding.
76092
76093 2004-05-17  Bruno Haible  <bruno@clisp.org>
76094
76095         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
76096         precision that consists of a '.' followed by an empty digit string.
76097         Patch by Tor Lillqvist <tml@iki.fi>.
76098
76099 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76100
76101         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
76102         for backward compatibility with older code.  We need our own
76103         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
76104         it under some other name, and our alloca.h will define it.
76105
76106 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76107             Derek Price  <derek@ximbiot.com>
76108
76109         * lib/alloca.c: Include <alloca.h>, to get our interface.
76110         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
76111         include <alloca.h> first.  Use C89 prototype for alloca; this
76112         requires including <stddef.h> for size_t.  Use extern "C" if C++.
76113         Use #elif for simplicity, since we can assume C89 now.
76114         Don't try to source the system alloca.h since it will not be found
76115         and to prevent recursively including its replacement.
76116         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
76117         * lib/regex.c: Likewise.
76118
76119 2004-05-16  Derek Price  <derek@ximbiot.com>
76120             Paul Eggert  <eggert@cs.ucla.edu>
76121
76122         getline cleanup.  This changes the getndelim2 API: both order of
76123         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
76124         no delimiter).
76125
76126         * lib/getline.c: Don't include stddef.h or stdio.h, since our
76127         interface does that.
76128         (getline): Always use getdelim, so that we don't have two
76129         copies of this code.
76130         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
76131         if available.
76132         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
76133         (GETNDELIM2_MAXIMUM): New macro.
76134         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
76135         instead of the old practice of delim2==0.  All callers changed.
76136         Return -1 on overflow, instead of returning junk.
76137         Do not set *linesize unless allocation succeeds.
76138         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
76139         that we include sys/types.h.
76140         * lib/getnline.h: Likewise.
76141         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
76142         (getndelim2): Reorder arguments.
76143         * lib/getnline.c (getnline, getndelim):
76144         Don't discard the NMAX argument.
76145         (getnline): Invoke getndelim, to avoid code duplication.
76146         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
76147         of (size_t) -1 by callers of the getnline family.
76148
76149 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76150
76151         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
76152         Check for gettimeofday.
76153         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
76154         Check for settimeofday, stime.
76155
76156 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76157
76158         * lib/nanosleep.c (suspended): Change its type from int to
76159         sig_atomic_t volatile.
76160         (first_call): Make it private to rpl_nanosleep, and have it
76161         be zero initially as that's a bit faster.
76162         (my_usleep): Round up fractional times instead of truncating them,
76163         as this is the usual meaning for 'sleep'.
76164
76165         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
76166         doesn't work.
76167         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
76168         (ENOSYS): Define if not defined.
76169         (settime): Fall back on stime if it exists and settimeofday fails.
76170         But don't bother with fallbacks if a method fails with errno == EPERM.
76171
76172 2004-05-11  Jim Meyering  <jim@meyering.net>
76173
76174         Prior to this change, the save_cwd caller required read access to the
76175         current directory on most systems (ones with the fchdir function).
76176
76177         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
76178         fails, try write-only, and finally, resort to using xgetcwd.
76179
76180 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76181
76182         * lib/obstack.c, obstack.h: Import changes from libc.
76183
76184 2004-04-28  Bruno Haible  <bruno@clisp.org>
76185
76186         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
76187         also implicitly appends .exe to executables.
76188         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
76189         accepts Windows pathnames.
76190         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76191         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76192         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76193         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76194         Reported by Derek Robert Price <derek@ximbiot.com>.
76195
76196 2004-04-21  Karl Berry  <karl@gnu.org>
76197
76198         * config/srclist.txt (localcharset.c): break sync.
76199
76200 2004-04-20  Paul Eggert  <eggert@twinsun.com>
76201
76202         * m4/host-os.m4: Add a copyright notice.
76203
76204 2004-04-20  Jim Meyering  <jim@meyering.net>
76205
76206         Change UTILS_ to gl_ in AC_DEFINE'd names.
76207         Change utils_- and jm_-prefixed variables, too.
76208         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
76209         UTILS_FUNC_MKDIR_TRAILING_SLASH.
76210         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
76211
76212         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
76213         Don't emit trailing blanks.
76214         Also rename jm_-prefixed variables to have gl_ prefix.
76215
76216         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
76217         Also rename jm_-prefixed variables to have gl_ prefix.
76218
76219         * m4/jm-macros.m4: Reflect the renamings.
76220         * m4/prereq.m4: Likewise.
76221
76222 2004-04-20  Jim Meyering  <jim@meyering.net>
76223
76224         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
76225         memory.
76226
76227 2004-04-20  Jim Meyering  <jim@meyering.net>
76228             Bruno Haible  <bruno@clisp.org>
76229
76230         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
76231         memory when realloc fails.
76232
76233 2004-04-19  Jim Meyering  <jim@meyering.net>
76234
76235         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
76236         now that readutmp.c may call `free (0)'.
76237
76238 2004-04-19  Bruno Haible  <bruno@clisp.org>
76239
76240         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
76241         * m4/inttypes_h.m4: Likewise.
76242         * m4/stdint_h.m4: Likewise.
76243         * m4/intmax_t.m4: Likewise.
76244         * m4/uintmax_t.m4: Likewise.
76245
76246 2004-04-18  Jim Meyering  <jim@meyering.net>
76247
76248         * m4/prereq.m4: Don't forbid jm_ prefix.
76249
76250         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
76251         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
76252         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
76253         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
76254         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
76255         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
76256         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
76257         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
76258         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
76259         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
76260         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
76261         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
76262         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
76263         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
76264         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
76265         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
76266         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
76267         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
76268         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
76269
76270 2004-04-18  Jim Meyering  <jim@meyering.net>
76271
76272         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
76273         failure, don't leak memory and do call END_UTMP_ENT.
76274
76275 2004-04-16  Jim Meyering  <jim@meyering.net>
76276
76277         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
76278         coreutils' stat program.
76279         (gl_PREREQ): Don't require jm_PREREQ_STAT.
76280
76281 2004-04-11  Paul Eggert  <eggert@twinsun.com>
76282
76283         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
76284         C89.
76285         (CHAR_BIT): Remove, since we assume C89.
76286         Include <stdint.h> if available, as per current Autoconf CVS advice.
76287
76288 2004-03-31  Jim Meyering  <jim@meyering.net>
76289
76290         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
76291         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
76292         * m4/xalloc.m4: Likewise.
76293
76294 2004-03-30  Paul Eggert  <eggert@twinsun.com>
76295
76296         Merge from coreutils.
76297
76298         * m4/inttostr.m4: New file.
76299         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
76300         Require AM_STDBOOL_H and gl_TIMESPEC instead.
76301         Require gl_CLOCK_TIME.
76302         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
76303
76304 2004-03-30  Paul Eggert  <eggert@twinsun.com>
76305
76306         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
76307         not bool, to be more consistent with Unix conventions.
76308         Suggested by Bruno Haible.
76309
76310         Merge from coreutils.
76311
76312         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
76313         * lib/umaxtostr.c: New files.
76314
76315         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
76316         the usual <time.h> dance.
76317         (get_date): Change signature to support fractional time stamps.
76318         All callers changed.
76319         * lib/getdate.y: Include "getdate.h" first, as we can now
76320         assume C89 and don't need to worry about 'const'.
76321         Similarly, include "unlocked-io.h" near start, not in middle.
76322         Include <limits.h>.
76323         (textint.value): Use long int rather than int.
76324         (textint.digits): Use size_t rather than int.
76325         (BILLION, LOG10_BILLION): New constants.
76326         (parser_control): New member rel_ns.  Members day_ordinal,
76327         time_zone, month, day, hour, minutes, rel_year, rel_month,
76328         rel_day, rel_hour, rel_minutes, rel_seconds
76329         are now long int, not int.  Member seconds is now struct timespec,
76330         not int.  New member timespec_seen.  Members dates_seen, days_seen,
76331         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
76332         not int.
76333         (%union.intval): Now long int, not int.
76334         New member timespec.
76335         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
76336         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
76337         (spec): Now is a timespec or an item list.
76338         (timespec, items): New nonterminals.
76339         (time, rel, relunit, number, get_date):
76340         Add support for fractional seconds.
76341         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
76342         (gmtime, localtime, mktime): Remove decls; not needed with C89.
76343         (to_hour): First arg is now long int, not int.
76344         (to_year): Returns long int, not int.
76345         Don't treat year -70 like 70.
76346         (tm_diff): Returns long int, not int.
76347         (lookup_word): Use bool instead of int when appropriate.
76348         (yylex): Use size_t for count, not int.
76349         Detect overflow when parsing large integer constants.
76350         Add support for fractions.
76351         (get_date): Make pointers 'const' if possible.
76352         Use more-portable code to detect integer overflow.
76353         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
76354         Don't use ctime; it's not reliable if the year has >4 digits.
76355
76356         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
76357         This is for compatibility with BSD.
76358
76359         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
76360         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
76361         From coreutils' system.h.
76362
76363         * lib/userspec.c: Don't include "posixver.h".
76364         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
76365         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
76366         compatible extension.  Simplify code by removing a boolean int
76367         that was always nonzero if a string was nonnull.
76368
76369 2004-03-30  Jim Meyering  <jim@meyering.net>
76370
76371         Merge from coreutils.
76372
76373         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
76374         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
76375         on some systems one must include <grp.h> before it.
76376         Reported by Christian Krackowizer.
76377
76378 2004-03-30  Jim Meyering  <jim@meyering.net>
76379
76380         Merge from coreutils.
76381
76382         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
76383
76384         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
76385         an empty input stream.
76386
76387         * lib/readtokens.c: Include <stdbool.h>.
76388         (readtoken): Use `size_t' rather than int/long.
76389         All callers adjusted.
76390         Use `bool' rather than `int' where appropriate.
76391         Use memset rather than an explicit loop.
76392         Use x2nrealloc rather than xrealloc.
76393         Allow the use of `\0' as a delimiter.
76394         (readtokens): Likewise.
76395         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
76396
76397 2004-03-30  Jim Meyering  <jim@meyering.net>
76398
76399         * m4/realloc.m4: Remove file, since now it does no more than
76400         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
76401         the `configure.ac' section of module/realloc.
76402         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
76403
76404 2004-03-30  Bruno Haible  <bruno@clisp.org>
76405
76406         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
76407         nonnull.
76408
76409 2004-03-29  Paul Eggert  <eggert@twinsun.com>
76410
76411         Merge changes to getloadavg.c from coreutils and Emacs.
76412
76413         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
76414         Define to an expression, not to the empty string.
76415         Include cloexec.h and xalloc.h.
76416         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
76417         Use set_cloexec_flag rather than rolling our own.
76418         * lib/cloexec.c, lib/cloexec.h: New files.
76419
76420 2004-03-29  Paul Eggert  <eggert@twinsun.com>
76421
76422         * m4/cloexec.m4: New file.
76423
76424 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76425
76426         * lib/getopt.h: Sync with libc CVS.
76427
76428 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76429             Bruno Haible  <bruno@clisp.org>
76430
76431         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
76432         mbswidth.
76433
76434 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76435             Bruno Haible  <bruno@clisp.org>
76436
76437         * lib/mbswidth.h: Include <wchar.h> only if
76438         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
76439         <wchar.h>.
76440         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
76441
76442 2004-03-09  Paul Eggert  <eggert@twinsun.com>
76443
76444         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
76445         Sync with libc CVS.
76446         * lib/getopt_int.h: New file, also synced from libc.
76447
76448 2004-03-09  Paul Eggert  <eggert@twinsun.com>
76449
76450         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
76451         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
76452         Bring back getopt.c, getopt.h, getopt1.c.
76453
76454 2004-03-07  Paul Eggert  <eggert@twinsun.com>
76455
76456         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
76457         All uses changed.  Check for sa_sigaction member; this fixes
76458         a bug first reported by Jason Andrade in
76459         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
76460
76461 2004-03-07  Paul Eggert  <eggert@twinsun.com>
76462
76463         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
76464         '#if' expressions.  Unlike the code it replaces, it does not
76465         depend on (defined _SC_PAGESIZE).  However, it does depend on
76466         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
76467         first reported by Jason Andrade in
76468         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
76469
76470 2004-02-25  Simon Josefsson  <jas@extundo.com>
76471
76472         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
76473
76474 2004-02-25  Simon Josefsson  <jas@extundo.com>
76475
76476         * lib/strdup.h: New file.
76477         * lib/strdup.c: Include it.
76478         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
76479         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
76480
76481 2004-02-23  Karl Berry  <karl@gnu.org>
76482
76483         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
76484         (from fencepost.gnu.org:/gd/gnuorg).
76485
76486 2004-02-23  Karl Berry  <karl@gnu.org>
76487
76488         * config/srclistvars.sh (GNUORG) [karl]: redefine.
76489         * config/srclist.txt: add maintain/standards documents.
76490
76491 2004-02-18  Bruno Haible  <bruno@clisp.org>
76492
76493         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
76494         Reported by Derek Robert Price <derek@ximbiot.com>.
76495
76496 2004-02-16  Karl Berry  <karl@gnu.org>
76497
76498         * config/mkinstalldirs, install-sh: update from automake.
76499
76500 2004-02-06  Karl Berry  <karl@gnu.org>
76501
76502         * m4/po.m4: update from gettext 0.14.1.
76503
76504 2004-02-06  Karl Berry  <karl@gnu.org>
76505
76506         * lib/config.charset: update from gettext 0.14.1.
76507
76508 2004-02-05  Paul Eggert  <eggert@twinsun.com>
76509
76510         Add comments and code, prompted by suggestions from Bruno Haible
76511         for sh-quote.
76512         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
76513         describing the enum quoting_style values.
76514         * lib/quotearg.c (quotearg_alloc): New function.
76515         (quotearg_buffer_restyled): Treat lone { and } as special.
76516         Treat = as special.  Work around bug with older shells
76517         that "see" a '\' that is really the 2nd byte of a multibyte char.
76518         Quote empty string with shell_quoting_style.
76519
76520 2004-02-03  Bruno Haible  <bruno@clisp.org>
76521
76522         * m4/pipe.m4: New file, from GNU gettext.
76523
76524 2004-02-03  Bruno Haible  <bruno@clisp.org>
76525
76526         * lib/pipe.h: New file, from GNU gettext.
76527         * lib/pipe.c: New file, from GNU gettext.
76528
76529 2004-01-27  Bruno Haible  <bruno@clisp.org>
76530
76531         * m4/execute.m4: New file, from GNU gettext.
76532
76533 2004-01-27  Bruno Haible  <bruno@clisp.org>
76534
76535         * lib/execute.h: New file, from GNU gettext.
76536         * lib/execute.c: New file, from GNU gettext.
76537         * lib/w32spawn.h: New file, from GNU gettext.
76538
76539 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76540
76541         Merge from diffutils.
76542
76543         * lib/file-type.c (file_type): Add typed memory objects.
76544         * lib/file-type.h (S_TYPEISTMO): New macro.
76545
76546         * lib/c-stack.h (c_stack_action): Remove argv argument.
76547         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
76548         (die): Don't calculate message unless segv_action returns.
76549         (get_stack_location, min_address_from_argv, max_address_from_argv,
76550         volatile stack_base, volatile_stack_size): Remove.
76551         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
76552         that every segmentation violation is a stack overflow.  (Ouch!)
76553         See Debian bug 136249 (still outstanding) for more info about why
76554         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
76555
76556 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76557
76558         Exit-status fix from coreutils.
76559
76560         Use exit_failure consistently in place of EXIT_FAILURE,
76561         so that program exit statuses are consistent on failure.
76562
76563         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
76564         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
76565         * lib/argmatch.h: Comment fix to match the above.
76566         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
76567         Now a macro referring to exit_failure, instead of a separate
76568         variable.  Include "exitfail.h" to get it.
76569         * lib/xstrtol.h: Include "exitfail.h".
76570         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
76571
76572         * lib/long-options.c (parse_long_options): Use prototype
76573         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
76574         for clarity.
76575
76576 2004-01-21  Jim Meyering  <jim@meyering.net>
76577
76578         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
76579         so as not to conflict with a different-sized __mktime_internal
76580         function in GNU libc.
76581         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
76582         Problem building statically-linked `ls' reported by Michael Brunnbauer.
76583
76584 2004-01-20  Karl Berry  <karl@gnu.org>
76585
76586         * config/config.guess: update from config.
76587
76588         * config/srclistvars.sh: GNUWWWLICENSES for karl.
76589
76590 2004-01-20  Bruno Haible  <bruno@clisp.org>
76591
76592         Safer stack allocation.
76593         * lib/setenv.c: Include allocsa.h.
76594         (alloca): Remove fallback definition.
76595         (freea): Remove macro.
76596         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
76597         instead of freea.
76598
76599 2004-01-20  Bruno Haible  <bruno@clisp.org>
76600
76601         * m4/eealloc.m4: New file, from GNU gettext.
76602
76603 2004-01-20  Bruno Haible  <bruno@clisp.org>
76604
76605         * m4/allocsa.m4: New file, from GNU gettext.
76606
76607 2004-01-20  Bruno Haible  <bruno@clisp.org>
76608
76609         * lib/xallocsa.h: New file, from GNU gettext.
76610         * lib/xallocsa.c: New file, from GNU gettext.
76611
76612 2004-01-20  Bruno Haible  <bruno@clisp.org>
76613
76614         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
76615
76616 2004-01-20  Bruno Haible  <bruno@clisp.org>
76617
76618         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
76619         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
76620         specially.
76621
76622 2004-01-20  Bruno Haible  <bruno@clisp.org>
76623
76624         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
76625         patch.
76626
76627 2004-01-20  Bruno Haible  <bruno@clisp.org>
76628
76629         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
76630
76631 2004-01-20  Bruno Haible  <bruno@clisp.org>
76632
76633         * lib/eealloc.h: New file.
76634
76635 2004-01-20  Bruno Haible  <bruno@clisp.org>
76636
76637         * lib/binary-io.h: Avoid warnings on Cygwin.
76638
76639 2004-01-20  Bruno Haible  <bruno@clisp.org>
76640
76641         * lib/allocsa.h: New file, from GNU gettext.
76642         * lib/allocsa.c: New file, from GNU gettext.
76643
76644 2004-01-18  Karl Berry  <karl@gnu.org>
76645
76646         * doc/gpl.texi, doc/lgpl.texi: new files.
76647
76648 2004-01-18  Karl Berry  <karl@gnu.org>
76649
76650         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
76651         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
76652
76653 2004-01-15  Paul Eggert  <eggert@twinsun.com>
76654
76655         Merge from coreutils.
76656
76657         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
76658         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
76659         (gl_DEFAULT_POSIX2_VERSION): Move
76660         the documentation from 'configure' into 'config.hin',
76661         so that 'configure --help' isn't burdened by it and
76662         we don't have to worry about its formatting there.
76663         Reword the documentation so that it's more succinct
76664         and can be run together into a single paragraph.
76665         * m4/same.m4 (gl_SAME): Check for pathconf.
76666
76667 2004-01-15  Paul Eggert  <eggert@twinsun.com>
76668
76669         Merge from coreutils.
76670
76671         * lib/posixver.c: Include posixver.h.
76672
76673         * lib/same.c: Include <stdbool.h>, <limits.h>.
76674         (_POSIX_NAME_MAX): Define if not defined.
76675         (MIN): New macro.
76676         (same_name): If file names are silently truncated, report
76677         that the file names are the same if they are the same after
76678         the silent truncation.
76679
76680         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
76681         conversion function.
76682         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
76683         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
76684         longer needed.
76685
76686 2004-01-15  Jim Meyering  <jim@meyering.net>
76687
76688         Merge from coreutils.
76689
76690         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
76691         if no library is required.
76692         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
76693         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
76694         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
76695         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
76696         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
76697         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
76698         value, $ac_cv_search_crypt, if it's "none required".
76699         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
76700         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
76701         not gl_FUNC_GETLOADAVG.
76702         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
76703         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
76704
76705 2004-01-15  Jim Meyering  <jim@meyering.net>
76706
76707         Merge from coreutils.
76708
76709         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
76710         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
76711         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
76712
76713         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
76714         optional configure-time default.
76715
76716         * lib/version-etc.c (version_etc_copyright): Update copyright date.
76717
76718         * lib/xreadlink.c (xreadlink): Correct outdated comment.
76719
76720 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
76721
76722         Merge from coreutils.
76723
76724         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
76725         value, $ac_cv_search_nanosleep, if it's "none required".
76726
76727 2004-01-14  Paul Eggert  <eggert@twinsun.com>
76728
76729         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
76730         with like-named macro in fnmatch.c.
76731         (EXT): Use an internal constant instead.
76732
76733         Merge fnmatch patches from glibc.
76734         * lib/fnmatch.c (mbsinit): Remove define.
76735         Add libc_hidden_ver (__fnmatch, fnmatch).
76736         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
76737         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
76738
76739 2004-01-14  Karl Berry  <karl@gnu.org>
76740
76741         * config/install-sh: update from automake.
76742
76743 2004-01-13  Karl Berry  <karl@gnu.org>
76744
76745         * config/install-sh: update from automake.
76746
76747 2004-01-09  Karl Berry  <karl@gnu.org>
76748
76749         * config/install-sh: update from automake.
76750
76751 2004-01-05  Karl Berry  <karl@gnu.org>
76752
76753         * config/config.{sub,guess}: update from config.
76754
76755 2003-12-31  Karl Berry  <karl@gnu.org>
76756
76757         * config/depcomp: update from automake.
76758
76759 2003-12-14  Karl Berry  <karl@gnu.org>
76760
76761         * lib/config.charset: update from gettext-runtime.
76762
76763 2003-12-03  Paul Eggert  <eggert@twinsun.com>
76764
76765         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
76766         Bug reported by Alfred M. Szmidt.
76767
76768 2003-12-03  Bruno Haible  <bruno@clisp.org>
76769
76770         * m4/gettext.m4: Upgrade from gettext-0.13.
76771         * m4/po.m4: Upgrade from gettext-0.13.
76772         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
76773         * m4/intmax.m4: New file, from gettext-0.13.
76774         * m4/printf-posix.m4: New file, from gettext-0.13.
76775
76776 2003-11-29  Karl Berry  <karl@gnu.org>
76777
76778         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
76779
76780 2003-11-25  Paul Eggert  <eggert@twinsun.com>
76781             Bruno Haible  <bruno@clisp.org>
76782
76783         * lib/printf-parse.h: Don't include sys/types.h.
76784         (ARG_NONE): New macro.
76785         (char_directive): Change type of *arg_index fields to size_t.
76786         * lib/printf-parse.c: Don't include sys/types.h.
76787         (SSIZE_MAX): Remove macro.
76788         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
76789         Remove unnecessary overflow check.
76790         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
76791         fields.
76792
76793 2003-11-25  Bruno Haible  <bruno@clisp.org>
76794
76795         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
76796
76797 2003-11-25  Bruno Haible  <bruno@clisp.org>
76798
76799         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
76800         gt_TYPE_SSIZE_T.
76801
76802 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76803
76804         * modules/alloca: Remove dependency on xalloc.
76805
76806 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76807
76808         * lib/alloca.c: Remove dependency on xalloc module.
76809         (xalloc_die): Remove.
76810         (memory_full) [!defined emacs]: New macro.
76811         [!defined emacs]: Don't include xalloc.h.
76812         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
76813         address arithmetic overflows.  Change datatypes a bit to avoid
76814         unnecessary casts.
76815
76816 2003-11-22  Jim Meyering  <jim@meyering.net>
76817
76818         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
76819         s/size/size_t/.
76820
76821 2003-11-21  Karl Berry  <karl@gnu.org>
76822
76823         * config/config.{sub,guess}: update from config.
76824
76825 2003-11-18  Karl Berry  <karl@gnu.org>
76826
76827         * config/config.{sub,guess}: update from config.
76828
76829         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
76830
76831 2003-11-17  Paul Eggert  <eggert@twinsun.com>
76832
76833         * README: Mention that S+T cannot overflow if S is the size of
76834         an existing object and T is sufficiently small.
76835
76836 2003-11-17  Jim Meyering  <jim@meyering.net>
76837
76838         On systems without utime and without a utimes function capable of
76839         dealing with a NULL struct utimbuf* argument, this utime replacement
76840         could -- in unusual circumstances -- leak a file descriptor.
76841         * lib/utime.c: Include <unistd.h> and <errno.h>.
76842         (utime_null): Be sure to close `fd' and to preserve errno.
76843         Reported by Geoff Collyer via Arnold Robbins.
76844
76845 2003-11-17  Bruno Haible  <bruno@clisp.org>
76846
76847         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
76848         (Depends-on): Add xsize.
76849
76850 2003-11-17  Bruno Haible  <bruno@clisp.org>
76851
76852         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
76853
76854 2003-11-17  Bruno Haible  <bruno@clisp.org>
76855
76856         * lib/vasnprintf.c (alloca): Remove fallback definition.
76857         (freea): Remove definition.
76858         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
76859         Reported by Paul Eggert.
76860
76861 2003-11-16  Paul Eggert  <eggert@twinsun.com>
76862             Bruno Haible  <bruno@clisp.org>
76863
76864         Protect against address arithmetic overflow.
76865         * lib/printf-args.h: Include stddef.h.
76866         (arguments): Change type of field 'count' to size_t.
76867         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
76868         'unsigned int' where appropriate.
76869         * lib/printf-parse.h: Include sys/types.h.
76870         (char_directive): Change type of *arg_index fields to ssize_t.
76871         (char_directives): Change type of fields 'count', max_*_length to
76872         size_t.
76873         * lib/printf-parse.c: Include sys/types.h and xsize.h.
76874         (SSIZE_MAX): Define fallback value.
76875         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
76876         instead of 'int' where appropriate. Check a_allocated, d_allocated
76877         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
76878         * lib/vasnprintf.c: Include xsize.h.
76879         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
76880         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
76881         overflow. Avoid wraparound when converting a width or precision from
76882         decimal to binary.
76883
76884 2003-11-16  Bruno Haible  <bruno@clisp.org>
76885
76886         Update from GNU gettext.
76887         * lib/printf-parse.c: Generalize to it can be compiled for wide
76888         strings.
76889         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
76890         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
76891         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
76892         SNPRINTF): New macros.
76893         Don't include <alloca.h> if the file is used inside libintl.
76894         (local_wcslen): New function, for Solaris 2.5.1.
76895         (VASNPRINTF): Use it instead of wcslen.
76896
76897 2003-11-16  Bruno Haible  <bruno@clisp.org>
76898
76899         * lib/xsize.h (xmax): New function.
76900         (xsum, xsum3, xsum4): Declare as "pure" functions.
76901
76902 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76903
76904         * modules/xalloc (Files): Undo latest change, since xalloc.h
76905         no longer needs SIZE_MAX or PTRDIFF_MAX.
76906
76907 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76908
76909         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
76910         gl_PTRDIFF_MAX.
76911
76912 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76913
76914         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
76915         "return", to pacify some unknown compiler.  Problem reported
76916         by Joerg Schilling.
76917
76918 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76919
76920         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
76921         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
76922         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
76923         heuristic is just as accurate as far as we know, and it removes a
76924         dependency on size_max.m4 and ptrdiff_max.m4.
76925
76926 2003-11-11  Bruno Haible  <bruno@clisp.org>
76927
76928         * modules/xsize (Files): Add m4/size_max.m4.
76929         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
76930
76931 2003-11-11  Bruno Haible  <bruno@clisp.org>
76932
76933         * m4/size_max.m4: New file.
76934         * m4/ptrdiff_max.m4: New file.
76935         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
76936         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
76937         (gl_XALLOC): Invoke it.
76938
76939 2003-11-11  Bruno Haible  <bruno@clisp.org>
76940
76941         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
76942         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
76943         defined.
76944
76945 2003-11-10  Paul Eggert  <eggert@twinsun.com>
76946
76947         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
76948         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
76949         rejected some allocations of exactly SIZE_MAX - 2 bytes.
76950         From Bruno Haible.
76951         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
76952         not (size_t) -1, since it's defined here.
76953
76954 2003-11-09  Karl Berry  <karl@gnu.org>
76955
76956         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
76957
76958 2003-11-06  Paul Eggert  <eggert@twinsun.com>
76959
76960         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
76961         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
76962         Reject sizes of exactly SIZE_MAX bytes.
76963         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
76964         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
76965
76966 2003-11-05  Bruno Haible  <bruno@clisp.org>
76967
76968         * lib/xsize.h: Include limits.h, to avoid a possible collision with
76969         SIZE_MAX defined in <limits.h> on Solaris.
76970
76971 2003-11-04  Jim Meyering  <jim@meyering.net>
76972
76973         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
76974         variable names, rather than @VAR@.
76975         * modules/poll: Likewise.
76976
76977 2003-11-04  Bruno Haible  <bruno@clisp.org>
76978
76979         * modules/xsize: New file.
76980         * modules/linebreak: Depend on xsize.
76981         * MODULES.html.sh (func_all_modules): Add xsize.
76982
76983 2003-11-04  Bruno Haible  <bruno@clisp.org>
76984
76985         * m4/xsize.m4: New file.
76986
76987 2003-11-04  Bruno Haible  <bruno@clisp.org>
76988
76989         * lib/xsize.h: New file.
76990         * lib/linebreak.c: Include xsize.h.
76991         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
76992         argument for overflow.
76993         Suggested by Paul Eggert.
76994
76995 2003-11-03  Karl Berry  <karl@gnu.org>
76996
76997         * config/config.{guess,sub}: update from config.
76998
76999 2003-11-03  Jim Meyering  <jim@meyering.net>
77000
77001         * modules/userspec (lib_SOURCES): Add userspec.h.
77002         (Include): Add "userspec.h".
77003         Improve description.
77004
77005 2003-11-03  Jim Meyering  <jim@meyering.net>
77006
77007         * lib/userspec.c: Include "userspec.h".
77008         * lib/userspec.h: New file.
77009
77010 2003-11-03  Bruno Haible  <bruno@clisp.org>
77011
77012         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
77013
77014 2003-11-03  Bruno Haible  <bruno@clisp.org>
77015
77016         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
77017         available, to avoid (extremely rare) race condition.
77018         Suggested by Paul Eggert.
77019
77020 2003-11-02  Karl Berry  <karl@gnu.org>
77021
77022         * config/srclist.txt (vasprintf.c): sync broken, sigh.
77023
77024 2003-10-31  Paul Eggert  <eggert@twinsun.com>
77025
77026         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
77027         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
77028         (read_filesystem_list): Set and use me_type_malloced.
77029         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
77030         whatever the type happens to be), for brevity and consistency.
77031         Check for size calculation overflow on Alphas running OSF/1.
77032
77033 2003-10-31  Jim Meyering  <jim@meyering.net>
77034
77035         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
77036
77037         * lib/linebuffer.c: Include <string.h> for declaration of memset.
77038
77039 2003-10-30  Paul Eggert  <eggert@twinsun.com>
77040             Bruno Haible  <bruno@clisp.org>
77041
77042         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
77043         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
77044
77045 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77046
77047         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
77048         netbsd*-gnu*.  Suggested by Robert Millan.
77049
77050 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77051
77052         * modules/group-member: Depend on stdbool.
77053
77054 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77055
77056         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
77057
77058 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77059
77060         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
77061         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
77062         after the 'gnu' in these cases.  This fixes some bugs in the
77063         previous change, and is based on suggestions by Robert Millan.
77064
77065 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77066
77067         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
77068         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
77069         no longer needed.
77070         * lib/quotearg.c (quotearg_n_options): Use it.
77071         * lib/group-member.c: Include <stdbool.h>.
77072         (free_group_info): Arg is now const *; don't free arg.
77073         (get_group_info): Now returns bool and accepts struct group_info *,
77074         rather than returning a malloc'ed struct group_info *.
77075         All uses changed.  Check for overflow in internal size calculation.
77076
77077         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
77078         rather than xmalloc/xrealloc.
77079         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
77080         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
77081         conformance bug: the old code used a pointer after freeing the
77082         storage that it addressed.
77083         * lib/hash.c (hash_initialize): Simplify the code by using
77084         xalloc_oversized rather than doing it by hand.
77085         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
77086         the buffer preserved.  Use free and xmalloc instead.
77087         * lib/quotearg.c (quotearg_n_options): Likewise.
77088         Use a simpler test for size overflow.  Don't use xalloc_oversized
77089         because unsigned int might be wider than size_t (!); this suggests
77090         that we should switch from unsigned int to size_t for slot numbers.
77091
77092 2003-10-28  Paul Eggert  <eggert@twinsun.com>
77093
77094         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
77095         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
77096         NetBSD kernels.  Requested by Richard Stallman.
77097
77098 2003-10-27  Paul Eggert  <eggert@twinsun.com>
77099
77100         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
77101         to allocate the returned structure.  Do not allocate a subarray,
77102         as x2nrealloc will do that.
77103         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
77104         instead of xnrealloc.
77105         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
77106
77107 2003-10-27  Bruno Haible  <bruno@clisp.org>
77108
77109         * lib/stdbool_.h: Better support for BeOS.
77110
77111 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77112
77113         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
77114         now uses inline.
77115
77116 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77117
77118         * lib/xalloc.h (xalloc_oversized): New static inline function, for
77119         callers that want to do their own size-overflow checking.  Include
77120         <stdbool.h>, since xalloc_oversized returns bool.
77121         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
77122         to use xalloc_oversized.
77123
77124         Add two functions x2realloc, x2nrealloc, for programs that grow
77125         arrays dynamically by doubling their sizes.
77126         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
77127         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
77128         New functions.
77129
77130         Port to C99 semantics for 'inline' of external functions.
77131         Bug reported by Bruno Haible.
77132         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
77133         with the old contents of xnmalloc.
77134         (xnmalloc, xmalloc): Use it.
77135         (xnrealloc_inline): New static inline function,
77136         with the old contents of xnrealloc.
77137         (xnrealloc, xrealloc): Use it.
77138
77139         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
77140         that.
77141
77142 2003-10-26  Karl Berry  <karl@gnu.org>
77143
77144         * config/srclist.txt (COPYING.DOC): no longer available from
77145         /gd/gnuorg; don't know where the ultimate source is.
77146
77147 2003-10-25  Paul Eggert  <eggert@twinsun.com>
77148
77149         Fix several address-calculation bugs in the hash modules,
77150         plus some minor code cleanup.
77151
77152         * lib/hash.h: Include <stdbool.h>, for bool.
77153         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
77154         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
77155         hash_get_n_entries, hash_get_max_bucket_length,
77156         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
77157         hash_rehash): Use size_t rather than unsigned.
77158         * lib/hash.c (struct hash_table, hash_get_n_buckets,
77159         hash_get_n_buckets_used, hash_get_n_entries,
77160         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
77161         hash_get_entries, hash_do_for_each, hash_string, is_prime,
77162         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
77163         Likewise.
77164         (SIZE_MAX): Define if not defined.
77165         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
77166         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
77167         hash_print):
77168         Use const * when possible.
77169         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
77170         (check_tuning): Fix bug: if tuning parameters were very close to
77171         0 or 1, rounding errors could have caused subscript violations.
77172         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
77173         (hash_initialize): Add 'fail:' label
77174         to free table and return NULL, and use it to simplify code.
77175         Use calloc rather than clearing the storage ourself.
77176         (hash_initialize, hash_rehash): Check for arithmetic overflow in
77177         buffer size calculations.
77178         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
77179         Include <stddef.h>, for size_t.
77180         * lib/hash-pjw.c (hash_pjw): Likewise.
77181         Switch to method described by Bruno Haible.
77182         Include <limits.h>, for CHAR_BIT.
77183         (SIZE_BITS): New macro.
77184
77185 2003-10-23  Paul Eggert  <eggert@twinsun.com>
77186
77187         * m4/getline.m4 (AM_FUNC_GETLINE):
77188         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
77189         hosts.  Problem reported by Derek Robert Price in
77190         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
77191         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
77192         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
77193
77194 2003-10-21  Paul Eggert  <eggert@twinsun.com>
77195
77196         * lib/getndelim2.c (getndelim2): When size calculation overflows,
77197         ceiling the allocation at NMAX bytes rather than silently
77198         discarding input bytes before NMAX is reached.  This makes
77199         a difference only if NMAX exceeds SIZE_MAX / 2.
77200
77201         * lib/obstack.c: Merge from glibc.
77202         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
77203         Add libc_hidden_def (_obstack_newchunk).
77204         (_obstack_free) [! defined _LIBC]: Remove.
77205         [defined _LIBC]: Make a strong alias from obstack_free, rather than
77206         a clone of the function body.
77207         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
77208         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
77209
77210         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
77211         glibc.
77212         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
77213         arg to memcpy.
77214
77215         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
77216         (obstack_ptr_grow_fast, obstack_int_grow_fast):
77217         Don't use lvalue casts, as GCC plans to remove support for them
77218         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
77219         was also present in the non-GCC version, indicating that this
77220         code had always been buggy and had never been widely used.
77221         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
77222         Use the fast variant of each macro, rather than copying the
77223         definiens of the fast variant; that way, we'll be more likely to
77224         catch future bugs in the fast variants.
77225
77226 2003-10-20  Bruno Haible  <bruno@clisp.org>
77227
77228         * modules/wait-process: New file.
77229         * MODULES.html.sh (func_all_modules): Add wait-process.
77230
77231 2003-10-20  Bruno Haible  <bruno@clisp.org>
77232
77233         * m4/wait-process.m4: New file.
77234
77235 2003-10-20  Bruno Haible  <bruno@clisp.org>
77236
77237         * lib/wait-process.h: New file, from GNU gettext.
77238         * lib/wait-process.c: New file, from GNU gettext.
77239
77240 2003-10-19  Jim Meyering  <jim@meyering.net>
77241
77242         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
77243         HPUX 10.20.
77244
77245 2003-10-18  Karl Berry  <karl@gnu.org>
77246
77247         * config/config.guess: update from config.
77248
77249 2003-10-16  Paul Eggert  <eggert@twinsun.com>
77250
77251         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
77252         (getgroups): First arg is int, not size_t.
77253         Don't let 'free' mangle errno.
77254
77255 2003-10-16  Paul Eggert  <eggert@twinsun.com>
77256
77257         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
77258
77259 2003-10-16  Karl Berry  <karl@gnu.org>
77260
77261         * config/config.{guess,sub}: update from config.
77262
77263 2003-10-16  Jim Meyering  <jim@meyering.net>
77264
77265         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
77266         memcpy.
77267
77268 2003-10-15  Paul Eggert  <eggert@twinsun.com>
77269
77270         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
77271         (SIZE_MAX): Remove.
77272         (new_exclude, add_exclude_file): Initial size no longer needs to
77273         be a power of 2.
77274         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
77275         our own address arithmetic overflow checking.
77276
77277         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
77278         (fnmatch): Do not alloca more than 2000 wide characters;
77279         instead, use malloc for large buffers.
77280         Check for address arithmetic overflow, and return -1
77281         with errno set to ENOMEM in that case.
77282         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
77283         (NEW_PATTERN): Do not alloca more than 8000 bytes;
77284         instead, return -1.  Check for address arithmetic overflow.
77285
77286 2003-10-14  Paul Eggert  <eggert@twinsun.com>
77287
77288         Handle invalid suffixes and overflow independently, so that
77289         callers can treat them independently as needed.  Fix some bugs in
77290         suffix handling, e.g., "100k@" was not diagnosed as an invalid
77291         suffix for a human-readable blocksize.  The major caller-visible
77292         change is the addition of a new
77293         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
77294         that both overflow and suffix chars were found.
77295
77296         * lib/human.c (humblock): Don't check separately for invalid suffix
77297         char; that is xstrtoumax's job (now that its bug is fixed).
77298         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
77299         INTMAX_MAX]: New macros.
77300         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
77301         TYPE_MAXIMUM): New macros.
77302         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
77303         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
77304         if overflow occurs, as it's what __strtol does and it's more useful
77305         in practice.
77306         (__xstrtol): If __strtol reports some error other than ERANGE,
77307         reflect it to the caller as LONGINT_INVALID.  If it reports
77308         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
77309         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
77310         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
77311         value.
77312         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
77313         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
77314         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
77315         [defined UINTMAX_MAX]: New macros.
77316
77317 2003-10-14  Bruno Haible  <bruno@clisp.org>
77318
77319         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
77320
77321 2003-10-14  Bruno Haible  <bruno@clisp.org>
77322
77323         * m4/sig_atomic_t: New file, from GNU gettext.
77324         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
77325
77326 2003-10-14  Bruno Haible  <bruno@clisp.org>
77327
77328         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
77329         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
77330         Also use volatile where needed.
77331
77332 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77333
77334         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
77335         Change maintainer from Bruno Haible to 'all'.
77336
77337 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77338
77339         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
77340
77341 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77342
77343         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
77344         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
77345         and define in terms of the other primitives.
77346         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
77347         (SIZE_MAX): Define if not already defined.
77348         (array_size_overflow): New function.
77349         (xalloc_die): Abort instead of exiting if 'error' returns.
77350         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
77351         (xmalloc, xrealloc): Use them.
77352         (xcalloc): Check for address arithmetic overflow.
77353         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
77354         a bit faster than strcpy.
77355
77356 2003-10-10  Simon Josefsson  <jas@extundo.com>
77357
77358         * modules/argp (Depends-on): Add restrict and strcase.
77359
77360 2003-10-10  Simon Josefsson  <jas@extundo.com>
77361
77362         * m4/argp.m4: Add AC_C_INLINE.
77363
77364 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77365
77366         Merge getpass from libc, plus a few fixes.
77367
77368         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
77369         Include <stdbool.h>.
77370         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
77371         __fsetlocking to empty.
77372         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
77373         do include <bits/libc-lock.h>.
77374         Do not include <fcntl.h>; not needed.
77375         [_LIBC]: Include <wchar.h>.
77376         (NOTCANCEL_MODE): New macro.
77377         (flockfile, funlockfile) [_LIBC]: New macros.
77378         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
77379         [!_LIBC]: New macros.
77380         (call_fclose): New function.
77381         (getpass): Use it.  Save tty stream separately; this simplifies the
77382         code and makes it more reliable if stdin happens to equal stdout.
77383         Invoke __fsetlocking on tty.
77384         Handle thread cancellation if needed.
77385         Namespace cleanup (use __tcgetattr, __getline).
77386         Use bool for Booleans.
77387         [USE_IN_LIBIO]: Handle wide streams.
77388         [!_LIBC]: Unconditionally do the fseek, since we don't know what
77389         stream might go where.
77390
77391         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
77392         doesn't have to include <stdio.h> before us.
77393         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
77394         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
77395         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
77396         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
77397         if not declared, so that we can use getpass.c code from libc without
77398         rewriting it.
77399         (flockfile, ftrylockfile, funlockfile): New macros.
77400
77401 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77402
77403         * modules/getpass: Depend on stdbool.
77404
77405 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77406
77407         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
77408
77409 2003-10-07  Karl Berry  <karl@gnu.org>
77410
77411         * config/config.{guess,sub}: update from config.
77412
77413 2003-10-06  Jim Meyering  <jim@meyering.net>
77414             Bruno Haible  <bruno@clisp.org>
77415
77416         This lets translators provide better translations for the
77417         "Written by ..." part of --version output.
77418         * lib/version-etc.h: Include stdarg.h.
77419         (version_etc_copyright): Declare as readonly.
77420         (version_etc): Make this function variadic with a NULL-terminated list
77421         of author name strings.
77422         (version_etc_va): New declaration.
77423         * lib/version-etc.c: Include stdarg.h, stdlib.h.
77424         (version_etc_copyright): Declare as readonly.
77425         (version_etc_va): New function. Provide a different translatable string
77426         for each possible number of authors < 10. Abbreviate when there are 10
77427         authors or more.
77428         (version_etc): Make this function variadic. Call version_etc_va.
77429         Suggestion from Gary V. Vaughan.
77430
77431         * lib/long-options.h (parse_long_options): Change prototype: the
77432         authors string is moved to the end and becomes variadic.
77433         * lib/long-options.c: Include stdarg.h.
77434         (parse_long_options): Make this function variadic, too.
77435         Call version_etc_va, not version_etc.
77436
77437 2003-10-06  Bruno Haible  <bruno@clisp.org>
77438
77439         * modules/version-etc-2: Remove file.
77440         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
77441
77442 2003-10-06  Bruno Haible  <bruno@clisp.org>
77443
77444         * modules/fatal-signal: New file.
77445         * MODULES.html.sh (func_all_modules): Add fatal-signal.
77446
77447 2003-10-06  Bruno Haible  <bruno@clisp.org>
77448
77449         * m4/fatal-signal.m4: New file.
77450         * m4/signalblocking.m4: New file, from GNU gettext.
77451
77452 2003-10-06  Bruno Haible  <bruno@clisp.org>
77453
77454         * lib/version-etc-2.h: Remove file.
77455         * lib/version-etc-2.c: Remove file.
77456
77457 2003-10-06  Bruno Haible  <bruno@clisp.org>
77458
77459         * lib/fatal-signal.h: New file, from GNU gettext.
77460         * lib/fatal-signal.c: New file, from GNU gettext.
77461
77462 2003-10-05  Paul Eggert  <eggert@twinsun.com>
77463
77464         * README: Rework advice for preventing empty .o files.
77465         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
77466         not <sys/types.h>.
77467
77468 2003-10-04  Karl Berry  <karl@gnu.org>
77469
77470         * lib/argp*: update from libc.
77471
77472 2003-10-04  Karl Berry  <karl@gnu.org>
77473
77474         * config/config.{guess,sub}: update from config.
77475
77476 2003-10-02  Bruno Haible  <bruno@clisp.org>
77477
77478         * modules/lchown (Include): Add lchown.h.
77479         * modules/time_r (Include): Use "..." syntax.
77480         * modules/xgetdomainname (Include): Add xgetdomainname.h.
77481
77482 2003-10-01  Simon Josefsson  <jas@extundo.com>
77483
77484         * MODULES.html.sh (func_all_modules): Move gethostname from section
77485         'based on' to section 'lacking' POSIX:2001.
77486
77487 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
77488
77489         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
77490         to output mode on the same stream.
77491
77492 2003-09-29  Paul Eggert  <eggert@twinsun.com>
77493
77494         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
77495         Fix arg typo in previous patch.
77496
77497 2003-09-28  Jim Meyering  <jim@meyering.net>
77498
77499         * lib/error.c: Correct cpp indentation.
77500
77501 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77502
77503         * modules/free: New file.
77504
77505 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77506
77507         * m4/free.m4: New file.
77508
77509 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77510
77511         * lib/minmax.h (MIN, MAX)
77512         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
77513         Omit the special code that used __typeof__, since we worry that
77514         it could be more trouble than it's worth.  See:
77515         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
77516         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
77517
77518         * lib/free.c: New file.
77519
77520 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
77521
77522         Trivial fixes to Makefile.am parts of module listings.
77523         * modules/strstr: Append strstr.h to lib_SOURCES.
77524         * modules/strcase: Likewise, for strcase.h.
77525
77526 2003-09-27  Karl Berry  <karl@gnu.org>
77527
77528         * config/mkinstalldirs: update from automake.
77529
77530 2003-09-26  Paul Eggert  <eggert@twinsun.com>
77531
77532         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
77533         (error_tail): Do not loop, reallocating temporary buffer, since
77534         the output cannot contain more wide characters than the input
77535         contains bytes, the size must be big enough already.  This avoids
77536         one potential size overflow calculation.  Check for size overflow
77537         when calculating temporary buffer size.  Free temporary buffer
77538         when done, if it was allocated with malloc; this plugs a memory
77539         leak.  Remove casts from void * to pointers, that are no longer
77540         needed now that we're assuming C89 or better.
77541
77542         Merge error changes from glibc.
77543
77544         * lib/error.c, error.h: Update copyright notice header to match glibc.
77545         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
77546         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
77547         Disable cancellation while printing error.
77548         * lib/error.h: Prepend __ to parameter names.
77549
77550 2003-09-26  Jim Meyering  <jim@meyering.net>
77551
77552         * lib/error.c (error_tail): Move some declarations
77553         into inner scope where the local variables are used.
77554
77555 2003-09-26  Bruno Haible  <bruno@clisp.org>
77556
77557         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
77558         stpncpy().
77559         Don't define stpncpy through config.h; it's now done through stpncpy.h.
77560
77561 2003-09-26  Bruno Haible  <bruno@clisp.org>
77562
77563         * lib/stpncpy.h (gnu_stpncpy): New declaration.
77564         (stpncpy): Define as alias for gnu_stpncpy.
77565         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
77566
77567 2003-09-25  Simon Josefsson  <jas@extundo.com>
77568
77569         * lib/xgetdomainname.h: New file.
77570         * lib/xgetdomainname.c: New file.
77571
77572 2003-09-25  Simon Josefsson  <jas@extundo.com>
77573             Bruno Haible  <bruno@clisp.org>
77574
77575         * modules/getdomainname: New file.
77576         * modules/xgetdomainname: New file.
77577         * MODULES.html.sh (func_all_modules): Add getdomainname,
77578         xgetdomainname.
77579
77580 2003-09-25  Simon Josefsson  <jas@extundo.com>
77581             Bruno Haible  <bruno@clisp.org>
77582
77583         * m4/getdomainname.m4: New file.
77584
77585 2003-09-25  Simon Josefsson  <jas@extundo.com>
77586             Bruno Haible  <bruno@clisp.org>
77587
77588         * lib/getdomainname.h: New file.
77589         * lib/getdomainname.c: New file.
77590
77591 2003-09-25  Karl Berry  <karl@gnu.org>
77592
77593         * lib/argp-fmtstream.c, argp-help.c: update from libc.
77594
77595 2003-09-25  Karl Berry  <karl@gnu.org>
77596
77597         * config/install-sh: update from automake.
77598
77599 2003-09-25  Bruno Haible  <bruno@clisp.org>
77600
77601         * modules/version-etc-2: New file, from modules/version-etc with
77602         modifications.
77603         * MODULES.html.sh (func_all_modules): Add version-etc-2.
77604
77605 2003-09-25  Bruno Haible  <bruno@clisp.org>
77606
77607         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
77608         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
77609
77610 2003-09-24  Simon Josefsson  <jas@extundo.com>
77611
77612         * modules/xgethostname: Add xgethostname.h.
77613
77614 2003-09-24  Paul Eggert  <eggert@twinsun.com>
77615
77616         * lib/linebuffer.c (freebuffer): Don't free the argument, just
77617         the buffer associated with the argument.  Bug reported by
77618         Simon Josefsson.
77619
77620 2003-09-24  Paul Eggert  <eggert@twinsun.com>
77621
77622         * README: Document assumptions that 'int' is at least 32 bits
77623         wide, that integer arithmetic is 2's complement without overflow,
77624         that there are no holes in integer values, that adding sizes of
77625         two nonoverlapping objects can't overflow, and that all-bits-zero
77626         yields scalar zero.  Fix spelling and capitalization typos.
77627
77628 2003-09-19  Karl Berry  <karl@gnu.org>
77629
77630         * lib/argp.h: update from libc.
77631
77632 2003-09-17  Paul Eggert  <eggert@twinsun.com>
77633
77634         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
77635         to avoid spurious warnings like "AC_RUN_IFELSE was called before
77636         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
77637
77638 2003-09-17  Paul Eggert  <eggert@twinsun.com>
77639
77640         * gnulib-tool: Use "test -h", not "test -L", for portability
77641         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
77642         (tags_regexp): Remove, since \| doesn't conform to POSIX.
77643         (sed_extract_prog): Issue s commands one-by-one, rather than
77644         using \| in one s command.
77645
77646 2003-09-16  Paul Eggert  <eggert@twinsun.com>
77647
77648         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
77649         input error, instead of returning NULL the next time we are called
77650         (and therefore losing track of errno).
77651
77652 2003-09-16  Bruno Haible  <bruno@clisp.org>
77653
77654         * gnulib-tool (func_create_testdir): Warn about duplicated
77655         dependencies.
77656
77657 2003-09-15  Paul Eggert  <eggert@twinsun.com>
77658
77659         * modules/argmatch, modules/fatal, modules/obstack,
77660         modules/xalloc, modules/xgethostname: Sort dependencies by
77661         importance, not alphabetically.
77662
77663 2003-09-15  Paul Eggert  <eggert@twinsun.com>
77664
77665         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
77666         fails, so that the caller gets the proper errno.
77667
77668         * lib/readutmp.c (read_utmp): Likewise.
77669         Check for fstat error.  Close stream and free storage
77670         when failing.
77671
77672 2003-09-14  Karl Berry  <karl@gnu.org>
77673
77674         * config/srclist.txt (strdup.c): disable for c89 changes.
77675
77676 2003-09-14  Jim Meyering  <jim@meyering.net>
77677
77678         * lib/getloadavg.c: Correct cpp indentation.
77679         * lib/strdup.c: Likewise.
77680         * lib/vasnprintf.c: Likewise.
77681
77682 2003-09-14  Bruno Haible  <bruno@clisp.org>
77683
77684         * modules/fwriteerror: New file.
77685         * MODULES.html.sh (func_all_modules): Add fwriteerror.
77686
77687 2003-09-14  Bruno Haible  <bruno@clisp.org>
77688
77689         * lib/fwriteerror.h: New file.
77690         * lib/fwriteerror.c: New file.
77691
77692 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77693
77694         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
77695         modules/xgethostname, modules/xalloc: Depend on exit.
77696
77697 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77698
77699         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
77700
77701         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
77702         and AC_MINIX, too, so that their extensions are available.
77703
77704         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
77705         This macro has been superseded by gl_BACKUPFILE.
77706
77707         More patches to assume C89 or better.
77708
77709         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
77710
77711         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
77712         unconditionally.
77713         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
77714         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
77715         Include <string.h>, <stdlib.h> unconditionally.
77716         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
77717         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
77718         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
77719         headers or for string.h.
77720         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
77721         or strtoul.
77722
77723         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
77724         headers.
77725         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
77726         * m4/userspec.m4 (gl_USERSPEC): Likewise.
77727         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
77728         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
77729         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77730         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
77731         memcpy, memset.
77732         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
77733         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
77734         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
77735         strtol.
77736         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
77737         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
77738         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
77739         strtoul.
77740
77741 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77742
77743         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
77744         * lib/obstack.c [!defined _LIBC]: Likewise.
77745         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
77746         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
77747         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
77748
77749         More changes to assume C89 or better.
77750
77751         * lib/error.c (error_tail): Assume vprintf.
77752
77753         * lib/argmatch.c (getenv): Remove decl.
77754         * lib/progreloc.c (get_full_program_name): Define via prototype.
77755         * lib/setenv.c (clearenv): Likewise.
77756         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
77757         needed.
77758         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
77759         (malloc, memcpy): Remove decls.
77760         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
77761         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
77762         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77763         (memcpy): Remove macro.
77764         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
77765         (__P): Remove.  All uses removed.
77766         (PTR): Remove.  All uses changed to void *.
77767         (CHAR_BIT, NULL): Remove.
77768         (spaces, zeros, memset_space, memset_zero)
77769         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
77770         Remove.
77771         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
77772         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
77773         Define with prototype.
77774         Remove now-unnecessary prototype decl.
77775         (extra_args_spec): Assume ANSI C.  All uses changed.
77776         (extra_args_spec_iso): Remove.
77777         (my_strftime, emacs_strftimeu): Define via prototype.
77778         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
77779         unconditionally.
77780         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
77781         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
77782         (strtoul, strtol): Remove decls.
77783         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
77784         LONG_MAX): Remove.
77785         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77786         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
77787         (LOCALE_PARAM_PROTO): New macro.
77788         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
77789         (INTERNAL (strtol), strtol): Define with a prototype.
77790         (PARAMS): Remove.  All uses removed.
77791         * lib/tempname.c: Include <string.h> unconditionally.
77792         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
77793         * lib/xgethostname.c (main): Define with a prototype.
77794         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
77795         Include <stdlib.h> unconditionally.
77796         (calloc, malloc, realloc, free): Remove decls.
77797         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
77798         Include <stdlib.h> unconditionally.  Sort include file names.
77799         (strtod): Remove.
77800         (xstrtod): Define with a prototype.
77801         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
77802         (strtol, strtoul): Remove decls.
77803
77804 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77805
77806         More patches to assume C89 or better.
77807         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
77808         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
77809         string.h, memchr, STDC_HEADERS.
77810
77811 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77812
77813         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
77814         Include <stdlib.h>, <string.h> unconditionally.
77815         Remove now-unnecessary cast to char *.
77816         * lib/strnlen.c: Include <string.h> unconditionally.
77817         * lib/yesno.c (yesno): Define with a prototype.
77818
77819 2003-09-11  Bruno Haible  <bruno@clisp.org>
77820
77821         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
77822
77823 2003-09-10  Jim Meyering  <jim@meyering.net>
77824
77825         * lib/error.c: Correct indentation of cpp directives.
77826
77827 2003-09-10  Bruno Haible  <bruno@clisp.org>
77828
77829         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
77830         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
77831         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
77832         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
77833         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
77834         <stdlib.h> and <string.h> checks.
77835         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
77836         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
77837
77838 2003-09-10  Bruno Haible  <bruno@clisp.org>
77839
77840         * lib/strcspn.c: Include <string.h> unconditionally.
77841         * lib/strpbrk.c: Include <string.h> unconditionally.
77842         * lib/strstr.c: Include <string.h> unconditionally.
77843         * lib/unicodeio.c: Include <string.h> unconditionally.
77844         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
77845         * lib/unsetenv.c: Likewise.
77846         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
77847         * lib/yesno.c: Include <stdlib.h> unconditionally.
77848         (rpmatch): Add prototype.
77849
77850 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77851
77852         More patches to assume C89 or better.
77853         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
77854         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
77855         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
77856         or for string.h.
77857         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
77858         stdlib.h.
77859         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
77860         C headers.
77861         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
77862         string.h.
77863         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
77864         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
77865         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
77866         or for string.h.
77867         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
77868         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
77869         C headers.
77870         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
77871         memcpy.
77872         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
77873         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
77874         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
77875         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
77876         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
77877         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
77878         string.h, free.
77879         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
77880         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
77881         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
77882         C headers, or for string.h.
77883         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
77884         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
77885         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
77886         headers, memory.h, stdlib.h, string.h, strings.h.
77887         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
77888         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
77889         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
77890         strchr.
77891         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
77892         headers, memory.h, string.h.
77893         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
77894         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
77895         free.
77896         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
77897         headers.
77898         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
77899         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
77900         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
77901         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
77902         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
77903
77904 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77905
77906         More K&R removal.
77907
77908         * lib/acosl.c (main): Use a prototype.
77909         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
77910         tanl.c: Likewise.
77911
77912         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
77913
77914         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
77915         (getopt, etopt_long, getopt_long_only, _getopt_internal)
77916         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
77917         with a prototype.
77918         * lib/getopt.c (const): Remove macro.
77919         Include <string.h> unconditionally.
77920         (my_index): Remove; all uses changed to strchr.
77921         (strlen): Remove decl.
77922         (exchange): Remove forward decl; no longer needed.
77923         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
77924         Define with prototype.
77925         * lib/getopt1.c (const): Remove macro.
77926         (getopt_long, getopt_long_only, main): Define with prototype.
77927
77928         * lib/getugroups.c: Include <string.h> unconditionally.
77929
77930         * lib/getusershell.c: Include <stdlib.h> unconditionally.
77931         (getusershell, setusershell, endusershell, readname, main):
77932         Define with prototypes.
77933
77934         * lib/group-member.c: Include group-member.h first.
77935         Include <stdlib.h> unconditionally.
77936
77937         * lib/hard-locale.c: Include hard-locale.h first.
77938         Include <stdlib.h>, <string.h> unconditionally.
77939
77940         * lib/hash.c (free, malloc): Remove decls.
77941         Include <stdlib.h> unconditionally.
77942
77943         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
77944         (getenv): Do not declare.
77945
77946         * lib/idcache.c: Include <string.h> unconditionally.
77947
77948         * lib/long-options.c: Include long-options.h first, to test interface.
77949         Include <stdlib.h> unconditionally.
77950
77951         * lib/makepath.c: Include makepath.h first, to test interface.
77952         Include <stdlib.h> and <string.h> unconditionally.
77953
77954         * lib/linebuffer.c: Include <stdlib.h>.
77955         (free): Remove decl.
77956
77957         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
77958         stddef.h. rpl_malloc returns void *, not char *.
77959         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
77960         prototype.
77961
77962         * lib/md5.h: Include <limits.h> unconditionally.
77963         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
77964         (__P): Remove; all uses removed.
77965         * lib/md5.c: Include "md5.h" first.
77966         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
77967         md5_buffer, md5_process_bytes, md5_process_block):
77968         Define with prototypes.
77969         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
77970         * lib/sha.c: Include "sha.h" first.
77971         Include <stdlib.h>, <string.h> unconditionally.
77972
77973         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
77974         * lib/memcmp.c (__ptr_t): Likewise.
77975         * lib/memrchr.c (__ptr_t): Likewise.
77976         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
77977         Include <string.h> unconditionally.
77978         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
77979         * lib/memchr.c: Include <stdlib.h> unconditionally.
77980         * lib/memchr.c (LONG_MAX): Remove.
77981         * lib/memrchr.c (LONG_MAX): Likewise.
77982         * lib/memchr.c (__memchr): Define via a prototype.
77983         * lib/memrchr.c (__memrchr): Likewise.
77984         * lib/memcmp.c (__P): Remove, and remove all uses.
77985         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
77986         Remove forward decls; no longer needed.
77987         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
77988         Use types required by C89 in prototype.
77989
77990         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
77991         * lib/savedir.c: Likewise.
77992         * lib/mkdir.c (free): Remove decl.
77993         * lib/rmdir.c (rmdir): Define with a prototype.
77994         * lib/savedir.c: Include savedir.h first, to test interface.
77995
77996         * lib/mktime.c (STDC_HEADERS): Remove.
77997         Include <stdlib.h>, <string.h> unconditionally.
77998
77999         * lib/modechange.c: Include <stdlib.h> unconditionally.
78000         (malloc): Remove decl.
78001
78002         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
78003         (free): Remove decl.
78004
78005         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
78006         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
78007         (This type really should be intptr_t, but that's a C99ism.)
78008         (_obstack_memcpy): Remove: all uses changed to memcpy.
78009         Include <string.h> unconditionally.
78010         (struct obstack): Assume __STDC__ for types of members
78011         chunkfun, freefun, extra_arg.
78012         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
78013         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
78014         obstack_begin, obstack_specify_allocation,
78015         obstack_specify_allocation_with_arg, obstack_chunkfun,
78016         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
78017         Remove unprototyped decls and the macros that use them.
78018         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
78019         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
78020         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
78021         (defined __STDC__ && __STDC__)]:
78022         Remove nonprototyped code.
78023         Include <stdlib.h> unconditionally.
78024         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
78025         _obstack_allocated_p, _obstack_free, obstack_free,
78026         _obstack_memory_used, print_and_abort):
78027         Define using prototypes.
78028         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
78029         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
78030         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
78031         obstack_next_free, obstack_object_size, obstack_room) [0]:
78032         Remove unused, unprototyped code.
78033
78034         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
78035
78036         * lib/physmem.c (physmem_total, physmem_available, main): Define
78037         with prototypes.
78038
78039         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
78040         (main): Define with a prototype.
78041
78042         * lib/posixver.c (getenv): Remove decl.
78043
78044         * lib/putenv.c (malloc): Returns void *, not char *.
78045         Include <string.h> unconditionally.
78046         (strchr, memcpy, NULL): Do not define.
78047
78048         * lib/readtokens.c: Include readtokens.h first, to test interface.
78049         Include <stdlib.h>, <string.h> unconditionally.
78050         (init_tokenbuffer): Define with a prototype.
78051
78052         * lib/regex.c (PARAMS): Remove.  All uses removed.
78053         All uses of _RE_ARGS removed, too.
78054         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78055         unconditionally.
78056         (bzero): Assume memset exists.
78057         (memcmp, memcpy, NULL): Remove.
78058         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
78059         char, or assignments to local vars of type signed char.
78060         (init_syntax_once, PREFIX(extract_number_and_incr),
78061         PREFIX(print_partial_compiled_pattern),
78062         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
78063         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
78064         PREFIX(regex_grow_registers), PREFIX(regex_compile),
78065         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
78066         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
78067         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
78068         wcs_compile_range, byte_compile_range, truncate_wchar,
78069         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
78070         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
78071         count_mbs_length, wcs_re_match_2_internal,
78072         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
78073         PREFIX(alt_match_null_string_p),
78074         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
78075         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
78076         regfree, PREFIX(extract_number)): Define with prototype.  Remove
78077         now-unnecessary declaration, if any.
78078         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
78079         regcomp, regexec):
78080         Remove now-unnecessary casts among pointer types.
78081         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
78082
78083         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
78084         (free): Remove decl.
78085
78086         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
78087
78088         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
78089         (free): Remove decl.
78090
78091         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
78092         * lib/xgetcwd.c: Likewise.
78093
78094         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
78095         (free): Remove decl.
78096
78097         * lib/strchrnul.c (strchrnul): Define with a prototype.
78098         Fix bug: c_in was not converted to char before searching.
78099
78100         The following changes are not K&R related:
78101
78102         * lib/group-member.h: Include <sys/types.h>, so that this file is
78103         self-contained.
78104         * lib/makepath.h: Likewise.
78105
78106         * lib/getusershell.c (readname, default_index, line_size, readname):
78107         Use size_t, not int, for sizes.
78108         (readname): If the size overflows, report an error instead of
78109         looping forever.
78110
78111 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78112
78113         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
78114         libc.
78115
78116 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78117
78118         * README: New section: portability guidelines.
78119
78120 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78121
78122         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
78123         C89 spec.
78124
78125 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78126
78127         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
78128
78129 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78130
78131         Assume C89 or better; remove K&R cruft.
78132         A few of these changes were first proposed by Derek Robert Price
78133         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
78134
78135         * lib/addext.c: Include <string.h> unconditionally.
78136         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
78137         Don't declare getenv or malloc.
78138
78139         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
78140         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
78141         (NULL): Remove.
78142         (find_stack_direction, alloca): Use prototypes.
78143
78144         * lib/atexit.c (atexit): Define using a prototype.
78145
78146         * lib/basename.c, dirname.c, stripslash.c:
78147         Include <string.h> unconditionally.
78148
78149         * lib/bcopy.c: Include <stddef.h>.
78150         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
78151
78152         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
78153
78154         * lib/error.h (error, error_at_line, error_print_progname)
78155         [! (defined (__STDC__) && __STDC__)]: Remove decls.
78156         * lib/error.c: Include error.h first, to check interface.
78157         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78158         (VA_START): Remove; all uses changeed to va_start.
78159         (exit, strerror): Remove decls.
78160         (error_print_progname): Prototype uncondionally.
78161         Don't include <errno.h>; no longer needed.
78162         (private_strerror): Remove.
78163         (error_tail): Always define.
78164         (error, error_at_line): Assume C89 or better; always use prototypes.
78165         * lib/fatal.c: Include "fatal.h" first, to test interface.
78166         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78167         (VA_START): Remove; all uses changed to va_start.
78168         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
78169         this case.
78170         (exit): Remove decl.
78171         (fatal): Prototype unconditionally.  Assume va_start works.
78172         Abort at end, to pacify gcc.
78173
78174         * lib/euidaccess.c (main): Define with a prototype.
78175
78176         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
78177
78178         * lib/exitfail.c: Include <stdlib.h> unconditionally.
78179
78180         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
78181         prototypes.
78182         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
78183         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
78184         (getenv): Remove decl.
78185         (fnmatch): Define using a prototype.
78186         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
78187         (FCT): Define using a prototype.
78188
78189         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
78190
78191         * lib/gethostname.c: Include <stddef.h>.
78192         (gethostname): Define with prototype.  Length is size_t, not int.
78193
78194 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78195
78196         Assume C89 or better; remove K&R cruft.
78197         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
78198         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
78199         string.h, getenv, malloc.
78200         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
78201         headers.
78202         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
78203         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
78204         do not check for strerror.
78205         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
78206         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
78207         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
78208         do not check for doprnt or vprintf.
78209         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
78210         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
78211
78212 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78213
78214         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
78215         getversion.c should have been removed then, but was accidentally
78216         preserved.
78217
78218         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
78219         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
78220
78221 2003-09-08  Karl Berry  <karl@gnu.org>
78222
78223         * config/config.sub, config.guess, srclistvars.sh: update from savannah
78224                 config, forget about prep.
78225
78226         * config/depcomp, missing: update from automake.
78227
78228 2003-09-07  Paul Eggert  <eggert@twinsun.com>
78229
78230         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
78231         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
78232
78233 2003-09-07  Paul Eggert  <eggert@twinsun.com>
78234
78235         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
78236         copy_tm_result.  Bug reported by Simon Josefsson in
78237         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
78238
78239 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78240
78241         * m4/time_r.m4: New file.
78242         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
78243         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
78244         is. Check for timegm declaration.
78245         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
78246         Do not check for gmtime_r.
78247         Replace mktime if __mktime_internal does not exist and if mktime
78248         hasn't been replaced already.
78249
78250 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78251
78252         * lib/time_r.c, lib/time_r.h: New files.
78253
78254         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
78255         __localtime_r.
78256         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
78257         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
78258
78259         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
78260         __gmtime_r.
78261         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
78262         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
78263         Include <time_r.h>.
78264
78265         * lib/timegm.c: Switch to glibc implementation, with the following
78266         changes:
78267         [defined HAVE_CONFIG_H]: Include <config.h>.
78268         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
78269         (__mktime_internal) [!defined _LIBC]: New decl.
78270         (__gmtime_r) [!defined _LIBC]: New macro and function.
78271         (timegm): Use a prototype, since gnulib assumes C89.
78272         Do not bother declaring tmp to be const, as it's not really usefu.
78273         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
78274         (timegm): Declare only if HAVE_DECL_TIMEGM.
78275
78276 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78277
78278         * MODULES.html.sh (func_all_modules): Add time_r.
78279         * modules/time_r: New file.
78280         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
78281         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
78282
78283 2003-09-03  Paul Eggert  <eggert@twinsun.com>
78284
78285         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
78286         Bug reported by Lute Kamstra in
78287         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
78288
78289         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
78290         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
78291         course with correspondingly smaller numbers for tomorrow and
78292         yesterday.  From Tadayoshi Funaba.  Originally installed into
78293         sh-utils on 1999-08-07, but the patch got lost (I guess during the
78294         coreutils merge?).
78295
78296 2003-08-31  Simon Josefsson  <jas@extundo.com>
78297
78298         * modules/timegm: New file.
78299         * MODULES.html.sh (func_all_modules): Add timegm.
78300
78301 2003-08-31  Simon Josefsson  <jas@extundo.com>
78302
78303         * m4/timegm.m4: New file.
78304
78305 2003-08-31  Simon Josefsson  <jas@extundo.com>
78306
78307         * lib/timegm.h: New file.
78308         * lib/timegm.c: New file.  Based on
78309         wget-1.8.2/src/http.c:mktime_from_utc.
78310
78311 2003-08-31  Karl Berry  <karl@gnu.org>
78312
78313         * lib/argp.h: update from libc.
78314
78315 2003-08-28  Bruno Haible  <bruno@clisp.org>
78316
78317         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
78318         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
78319         followed by '#define fnmatch fnmatch_posix' gives an error.
78320
78321 2003-08-28  Bruno Haible  <bruno@clisp.org>
78322
78323         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
78324         warning on QNX, which defines O_BINARY to 000000.
78325
78326 2003-08-27  Jim Meyering  <jim@meyering.net>
78327
78328         * m4/mkstemp.m4: Require that the system mkstemp be able to create
78329         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
78330         would fail after 32.  Reported by Danny Levinson.  Details here:
78331         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
78332
78333 2003-08-24  Bruno Haible  <bruno@clisp.org>
78334
78335         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
78336         MSVC7 <stdio.h> is included later.
78337
78338 2003-08-22  Simon Josefsson  <jas@extundo.com>
78339
78340         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
78341
78342 2003-08-20  Karl Berry  <karl@gnu.org>
78343
78344         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
78345
78346 2003-08-20  Bruno Haible  <bruno@clisp.org>
78347
78348         * modules/progname: New file.
78349         * MODULES.html.sh (func_all_modules): Add progname.
78350
78351 2003-08-20  Bruno Haible  <bruno@clisp.org>
78352
78353         * lib/progname.h: New file, from GNU gettext.
78354         * lib/progname.c: New file, from GNU gettext.
78355         * lib/progreloc.c: New file, from GNU gettext.
78356
78357 2003-08-19  Jim Meyering  <jim@meyering.net>
78358
78359         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
78360         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
78361
78362 2003-08-19  Bruno Haible  <bruno@clisp.org>
78363
78364         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
78365         more.
78366
78367 2003-08-19  Bruno Haible  <bruno@clisp.org>
78368
78369         * lib/xstrdup.c: Assume <string.h> exists.
78370
78371 2003-08-18  Paul Eggert  <eggert@twinsun.com>
78372
78373         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
78374         in makefile rules.
78375
78376 2003-08-18  Jim Meyering  <jim@meyering.net>
78377
78378         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
78379         * m4/lib-ld.m4: Likewise.
78380
78381 2003-08-18  Jim Meyering  <jim@meyering.net>
78382
78383         * lib/setenv.h: Indent nested cpp directive.
78384         * lib/vasnprintf.c: Remove trailing blanks.
78385
78386 2003-08-17  Simon Josefsson  <jas@extundo.com>
78387
78388         * modules/xstrndup: New file.
78389         * MODULES.html.sh (func_all_modules): Add xstrndup.
78390
78391 2003-08-17  Simon Josefsson  <jas@extundo.com>
78392
78393         * modules/argp: Fix autoconf macro name. Add more dependencies.
78394
78395 2003-08-17  Simon Josefsson  <jas@extundo.com>
78396
78397         * m4/xstrndup.m4: New file.
78398
78399 2003-08-17  Simon Josefsson  <jas@extundo.com>
78400
78401         * m4/argp.m4: New file.
78402
78403 2003-08-17  Simon Josefsson  <jas@extundo.com>
78404             Bruno Haible  <bruno@clisp.org>
78405
78406         * lib/xstrndup.h: New file.
78407         * lib/xstrndup.c: New file.
78408
78409 2003-08-17  Bruno Haible  <bruno@clisp.org>
78410
78411         * modules/strndup (Files, Include): Add lib/strndup.h.
78412
78413 2003-08-17  Bruno Haible  <bruno@clisp.org>
78414
78415         * modules/euidaccess (Files): Add lib/euidaccess.h.
78416
78417 2003-08-17  Bruno Haible  <bruno@clisp.org>
78418
78419         * lib/strndup.h: New file.
78420
78421 2003-08-17  Bruno Haible  <bruno@clisp.org>
78422
78423         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
78424         like AC_GNU_SOURCE.
78425         * modules/extensions (configure.ac): Comment out the invocation of
78426         gl_USE_SYSTEM_EXTENSIONS.
78427
78428 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78429
78430         Merges from coreutils, etc.
78431         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
78432         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
78433         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
78434         fixing a typo.
78435         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
78436         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
78437
78438 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78439
78440         Document merge from coreutils.
78441         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
78442         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
78443         * modules/utime: Add m4/utimes-null.m4.
78444
78445 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78446
78447         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
78448         space, undoing this 2003-08-12 change:
78449         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
78450
78451 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78452
78453         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
78454         strtoul.c from libc, undoing this 2003-08-12 change:
78455         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
78456
78457 2003-08-16  Jim Meyering  <jim@meyering.net>
78458
78459         Merges from coreutils.
78460         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
78461         prefix.  Adjust cache variables similarly.  Create 500 rather than
78462         just 300 files, to exercise bug on Darwin6.5, too.
78463         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
78464         $missing_dir.
78465         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
78466         AM_SYS_POSIX_TERMIOS.
78467         Reported by mkc@mathdogs.com.
78468         Also change use of $am_cv_sys_posix_termios
78469         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
78470         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
78471         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
78472         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
78473         in /proc/mounts until it finds one with matching device number.  This
78474         is unnecessary when the FILE argument *is* a mount point.  No stat call
78475         is necessary in that case.  So, disable the statvfs-testing code on
78476         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
78477         as RedHat bug# 84846.
78478         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
78479         to 1MB, so as not to render systems with no stack size limit (e.g.,
78480         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
78481         Include <unistd.h>.  On some systems,
78482         it is required for the definition of _SC_PAGESIZE.
78483
78484 2003-08-16  Jim Meyering  <jim@meyering.net>
78485
78486         Merge from coreutils.
78487         * lib/xstrtoimax.c: #else #if -> #elif.
78488         * lib/xstrtoumax.c: Likewise.
78489
78490 2003-08-16  Jim Meyering  <jim@meyering.net>
78491
78492         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
78493         * m4/utimes.m4: Removed.
78494         * m4/utimes-null.m4: Renamed from utimes.m4.
78495
78496         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
78497         to 1MB, so as not to render systems with no stack size limit (e.g.,
78498         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
78499         Include <unistd.h>.  On some systems,
78500         it is required for the definition of _SC_PAGESIZE.
78501
78502 2003-08-16  Jim Meyering  <jim@meyering.net>
78503         and Paul Eggert  <eggert@cs.ucla.edu>
78504
78505         Merges from coreutils, etc.
78506
78507         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
78508         using the latest version from cvs.  This avoids problems with #line
78509         directives using a vendor (Sun) compiler.
78510         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
78511         Don't set GETGROUPS_LIB here; now it's
78512         done via getgroups.m4's wrapper function.
78513         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
78514         rather than just in sh-util/configure.in, so that the
78515         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
78516         same.
78517         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
78518         AC_FUNC_GETLOADAVG where to find getloadavg.c.
78519         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
78520         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
78521         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
78522         Remove code that is now done by the newly-required macros.
78523         Append $(EXEEXT) to DF_PROG.
78524         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
78525         Do not invoke or require the following here,
78526         since prereq.m4 or some gnulib .m4 now does this for us:
78527         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
78528         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
78529         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
78530         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
78531         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
78532         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
78533         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
78534         AC_FUNC_OBSTACK.
78535         Do not replace the following functions, as this is now the job
78536         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
78537         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
78538         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
78539         atexit getpass, strdup, getpagesize.
78540         Replace 'raise'.
78541         Do not check for the following functions, as this is now the job
78542         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
78543         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
78544         setregid.
78545         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
78546         Check for sys/sysctl.h.
78547         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
78548         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
78549         of checking for ssize_t ourselves.
78550
78551         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
78552         Require every macro that gnulib/modules/* suggests for us.
78553         (jm_PREREQ_ADDEXT): New macro.
78554         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
78555         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
78556
78557         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
78558         (gl_PHYSMEM): Use it.
78559         Also check for `table' function.
78560         Check for new headers and functions.
78561         Add check for sys/sysmp.h.
78562         With suggestions from Kaveh Ghazi.
78563         Ignore headers that are present but cannot be compiled.  This
78564         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
78565         C 5.4.
78566
78567 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78568
78569         Document merge from coreutils.
78570         * modules/userspec: Depend on posixver.
78571         * modules/strftime: Depend on tzset.
78572
78573 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78574
78575         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
78576         rather than tab, after '#' in shell-script copyright notices.
78577         Suggested by Bruno Haible.
78578
78579 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78580
78581         * config/srclist-update: Use three spaces, rather than tab, after '#'
78582         in shell-script copyright notices.  Suggested by Bruno Haible.
78583         Remove unnecessary parenthesization in regular expression.
78584
78585 2003-08-15  Jim Meyering  <jim@meyering.net>
78586
78587         Merge from coreutils.
78588         * lib/xgethostname.c: Include <stdlib.h>.
78589         (xghostname): Don't exit for anything other than memory-related
78590         failure; just return NULL.
78591         * lib/userspec.c: Include "posixver.h".
78592         (parse_user_spec): Accept `.' as a separator only
78593         in pre-POSIX-200112 mode.
78594         * lib/strtoimax.c: Use #elif rather than #else #if.
78595         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
78596         Remove function, now that we can rely on a working tzset function.
78597         [!_LIBC]: Ensure that the required autoconf test has been run.
78598         [!defined _NL_CURRENT && HAVE_STRFTIME]:
78599         Use underlying_strftime for %r.
78600         * lib/sha.c: Merge in some clean-up and optimization changes from
78601         glibc.
78602         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
78603         Ensure that it is a multiple of 64.
78604         Rearrange loop exit tests so as to avoid performing an
78605         additional fread after encountering an error or EOF.
78606         * lib/realloc.c: Update copyright date.
78607
78608 2003-08-15  Jim Meyering  <jim@meyering.net>
78609         and Paul Eggert  <eggert@twinsun.com>
78610
78611         Merge from coreutils.
78612         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
78613         member but strut utmpx does not.  Needed for AIX 4.3.3.
78614         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
78615
78616 2003-08-15  Jim Meyering  <jim@meyering.net>
78617         and Paul Eggert  <eggert@cs.ucla.edu>
78618
78619         Merges from coreutils, etc.
78620         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
78621         Require gl_FUNC_TZSET_CLOBBER.
78622         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
78623         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
78624         members.
78625
78626 2003-08-14  Paul Eggert  <eggert@twinsun.com>
78627
78628         Help the merge from coreutils.
78629         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
78630         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
78631         * m4/tzset.m4: Use it too.
78632
78633 2003-08-14  Paul Eggert  <eggert@twinsun.com>
78634
78635         * modules/tzset: New file.
78636
78637 2003-08-14  Jim Meyering  <jim@meyering.net>
78638
78639         Merges from coreutils.
78640         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
78641         variable names, rather than @FNMATCH_H@.
78642         * modules/alloca: Likewise for $(ALLOCA_H).
78643
78644         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
78645         the three copies of the literal target, `fnmatch.h'.
78646         * modules/alloca (alloca.h): Likewise.
78647
78648 2003-08-14  Jim Meyering  <jim@meyering.net>
78649
78650         Merge from coreutils.
78651         * m4/tzset.m4: New file.
78652         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
78653         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
78654         otherwise, AIX 5.1 systems would end up using the latter.
78655         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
78656         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
78657         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
78658         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
78659
78660 2003-08-14  Jim Meyering  <jim@meyering.net>
78661
78662         Merge from coreutils.
78663         * lib/obstack.h: Whitespace changes.
78664         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
78665         and xcalloc return values.
78666         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
78667         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
78668         hang on OSF/1 5.1 for DIR on both local and remote file systems.
78669         Reported by (and fix confirmed by) Nelson H. F. Beebe.
78670         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
78671         error from mntctl.
78672         Use mntctl's return value to drive the entry-processing loop, since
78673         we can't rely on the value of the vmt_length member in the last
78674         entry.  On some systems doing so could result in exhausting
78675         virtual memory.  Based in part on a patch from Mike Jetzer.
78676
78677 2003-08-14  Jim Meyering  <jim@meyering.net>
78678         and Paul Eggert  <eggert@twinsun.com>
78679
78680         Merges from coreutils, plus other fixes.
78681         * lib/physmem.c: Merge in portability changes from gcc/libiberty
78682         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
78683         for credits and details.  Thanks to Kaveh Ghazi for helping
78684         to keep these files in sync.
78685         (ARRAY_SIZE): Define it.
78686         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
78687         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
78688         (memcasecmp): Don't assume size_t fits in unsigned int.
78689         Remove casts and duplicate code.
78690         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
78691         (memcpy): Remove definition.
78692         Merge in some clean-up and optimization changes from glibc.
78693         [BLOCKSIZE]: Move definition to top of file.
78694         Ensure that it is a multiple of 64.
78695         Rearrange loop exit tests so as to avoid performing an
78696         additional fread after encountering an error or EOF.
78697         * lib/md5.h (md5_uintptr): Define.
78698         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
78699         return to the initial working directory.  Preserve errno
78700         for caller.
78701         * lib/idcache.c: Include "xalloc.h".
78702         (xmalloc, xrealloc): Remove decls.
78703         (getuser): Remove casts no longer required in C89.
78704         * lib/human.c: Include stdio.h, for sprintf.
78705         * lib/group-member.c: Include "xalloc.h".
78706         (xmalloc, xrealloc): Remove decls.
78707         (get_group_info): Remove casts no longer required in C89.
78708         * lib/getusershell.c (readname): Remove casts no longer required in
78709         C89.
78710         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
78711         * lib/getline.c: Whitespace fix, from coreutils.
78712
78713 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78714
78715         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
78716         Check for isascii.
78717
78718         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78719         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78720         Undo previous (whitespace-only) change.
78721
78722 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78723
78724         * lib/exclude.c: Include <ctype.h>
78725         (IN_CTYPE_DOMAIN): New macro.
78726         (is_space): New fn.
78727         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
78728         and empty lines.
78729
78730         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78731         Undo previous (whitespace-only) change.
78732
78733 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78734
78735         * config/srclist-update: Change update back to the old behavior,
78736         leaving whitespace alone.  Use one 'sed' command rather than a
78737         pipeline.
78738         (fixlicense): Now a variable, not a function.
78739         (remove_trailing_blanks): Remove.
78740         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
78741         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78742         Undo previous (whitespace-only) change.
78743
78744 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78745
78746         Merge from coreutils.
78747         * modules/euidaccess: Add lib_SOURCES, include for new
78748         file euidaccess.h
78749
78750 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78751
78752         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78753         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78754         Normalize leading white space and remove trailing white space.
78755
78756         Merge from coreutils
78757         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
78758
78759         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
78760         0.12.1.  These files are now being upgraded automatically by
78761         ../config/srclist-update.
78762
78763 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78764
78765         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78766         Normalize leading white space and remove trailing white space.
78767         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
78768         notice, as per ../config/srclist-update.
78769
78770         Merge from coreutils.
78771         * lib/euidaccess.h: New file.
78772         * lib/euidaccess.c: Include it.
78773         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
78774         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
78775         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
78776
78777 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78778
78779         * config/srclist-update: Add copyright notice.
78780         (remove_id_lines, remove_trailing_blanks): New constants.
78781         (fixfile): Use them to normalize spacing a bit in copied files.
78782         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78783         Normalize leading white space and remove trailing white space.
78784
78785         * config/texinfo.tex: Sync with texinfo.
78786
78787         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
78788         strtoul.c from libc, to merge coreutils whitespace changes.
78789
78790         * config/srclist.txt: Get the following m4 files from gettext:
78791         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
78792         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
78793         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
78794         wint_t.m4.
78795
78796 2003-08-12  Karl Berry  <karl@gnu.org>
78797
78798         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
78799         been made.
78800
78801 2003-08-11  Paul Eggert  <eggert@twinsun.com>
78802
78803         * modules/gnu-source, m4/gnu-source.m4:
78804         Remove; we're assuming Autoconf 2.54 or later now.
78805         Suggested by Bruno Haible.
78806         * MODULES.html.sh (func_all_modules): Remove gnu-source.
78807
78808 2003-08-11  Bruno Haible  <bruno@clisp.org>
78809
78810         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
78811
78812 2003-08-11  Bruno Haible  <bruno@clisp.org>
78813
78814         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
78815         (vasnprintf): Use it instead of wcslen.
78816
78817 2003-08-11  Bruno Haible  <bruno@clisp.org>
78818
78819         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
78820         value to ensure that _Bool promotes to int. Use #define for _Bool when
78821         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
78822
78823 2003-08-10  Karl Berry  <karl@gnu.org>
78824
78825         * lib/regex.h: update from libc (whitespace fix).
78826
78827 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78828
78829         Merge some files from coreutils.  These changes were
78830         originally made by Jim Meyering.
78831         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
78832         many older Unixes require this.
78833         * lib/alloca.c (alloca): Remove cast to argument of free;
78834         no longer needed in C89.
78835         * lib/alloca_.h, regex.h: Fix white space to match
78836         what GNU indent does.
78837
78838 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78839
78840         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
78841         apparently Emacs's Unicode mode got confused before my 2003-08-05
78842         checkin.
78843
78844 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78845
78846         * m4/extensions.m4: New file.
78847         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
78848         Require gl_USE_SYSTEM_EXTENSIONS.
78849         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
78850         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
78851
78852 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78853
78854         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
78855         * modules/extensions, modules/gnu-source: New files.
78856         * modules/timespec, modules/unlocked-io: Depend on extensions.
78857
78858 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78859
78860         * modules/restrict: New file.
78861         * MODULES.html.sh (func_all_modules): Add restrict.
78862         * modules/regex: Depend on restrict.
78863
78864 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78865
78866         * m4/restrict.m4: New file.
78867         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
78868
78869 2003-08-07  Bruno Haible  <bruno@clisp.org>
78870
78871         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
78872         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
78873
78874 2003-08-07  Bruno Haible  <bruno@clisp.org>
78875
78876         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
78877         makes the module 'getndelim2' compatible with the module 'getline'.
78878
78879 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78880
78881         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
78882         byte with "\201" to avoid glitches when editing that source file
78883         with multi-gnome-terminal.
78884
78885 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78886
78887         * lib/bumpalloc.h: Remove.
78888
78889 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78890
78891         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
78892         * modules/bumpalloc: Remove.
78893
78894 2003-08-04  Paul Eggert  <eggert@twinsun.com>
78895
78896         * lib/getloadavg.c: Change copyright notice and spacing to conform to
78897         GNU coding style.
78898
78899         Merge from coreutils.
78900         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
78901         1. From glibc.
78902         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
78903         from Karl Berry, implemented by Jim Meyering.
78904         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
78905         from Dmitry V. Levin.
78906         Remove anachronistic cast of xrealloc.
78907         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
78908         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
78909         type. Otherwise, it wouldn't compile with at least /bin/cc on
78910         ymp-cray-unicos9.0.2.X.
78911         Combine two mostly-identical uses of alloca into one.
78912         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
78913
78914 2003-08-04  Dave Love  <d.love@dl.ac.uk>
78915
78916         [From Emacs.]
78917
78918         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
78919         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
78920         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
78921         obsolete NLIST_NAME_UNION.
78922         [__GNU__]: Undef BSD and FSCALE.
78923         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
78924
78925 2003-08-03  Paul Eggert  <eggert@twinsun.com>
78926
78927         * lib/stdbool_.h (_Bool): Make it signed char, instead of
78928         an enum type, so that it's guaranteed to promote to int.  See:
78929         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
78930
78931 2003-08-03  Karl Berry  <karl@gnu.org>
78932
78933         * config/depcomp: update from automake.
78934
78935 2003-07-31  Paul Eggert  <eggert@twinsun.com>
78936
78937         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
78938         (strerror): Don't assume that a printable int fits in 14 bytes.
78939
78940 2003-07-31  Bruno Haible  <bruno@clisp.org>
78941
78942         * modules/getpass-gnu: New file.
78943         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
78944
78945 2003-07-31  Bruno Haible  <bruno@clisp.org>
78946
78947         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
78948
78949 2003-07-24  Karl Berry  <karl@gnu.org>
78950
78951         * config/missing: update from automake.
78952
78953 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
78954             Bruno Haible  <bruno@clisp.org>
78955
78956         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
78957         * lib/getline.c (getline, getdelim): Likewise.
78958         Remove _GNU_SOURCE define; now it's defined in config.h through
78959         m4/getline.m4.
78960
78961 2003-07-23  Karl Berry  <karl@gnu.org>
78962
78963         * config/config.sub: update from prep.
78964
78965 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78966
78967         * modules/xalloc (Depends-on): Add exitfail.
78968         * modules/xmemcoll: Likewise.
78969
78970 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78971
78972         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
78973         over-parenthesization in macros.
78974
78975         Sync with coreutils.
78976
78977         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
78978         required by C99.
78979
78980         Use `exit_failure' for xalloc and xmemcoll instead of their own
78981         private exit-failure variables.
78982         * lib/xalloc.h (xalloc_exit_failure): Remove.
78983         * lib/xmalloc.c: Likewise.  Include exitfail.h.
78984         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
78985         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
78986         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
78987         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
78988
78989 2003-07-20  Jim Meyering  <jim@meyering.net>
78990
78991         * modules/closeout (Depends-on): Add exitfail.
78992         Suggestion from Bruno Haible.
78993
78994 2003-07-19  Karl Berry  <karl@gnu.org>
78995
78996         * config/config.sub: update from prep.
78997
78998 2003-07-18  Paul Eggert  <eggert@twinsun.com>
78999
79000         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
79001         Remove.
79002         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
79003         to test that it can stand by itself.  Include "exitfail.h".
79004         Clients should set exit_failure instead.
79005         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
79006
79007 2003-07-18  Bruno Haible  <bruno@clisp.org>
79008
79009         * modules/getndelim2: New file.
79010         * modules/getline: Share files with module getndelim2.
79011         * modules/getnline: Depend on getndelim2 instead of sharing files with
79012         it. Add getnline.c to lib_SOURCES.
79013         * MODULES.html.sh (func_all_modules): Add getndelim2.
79014
79015 2003-07-18  Bruno Haible  <bruno@clisp.org>
79016
79017         * m4/getndelim2.m4: New file.
79018         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
79019         invoke gl_PREREQ_GETNDELIM2.
79020         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
79021         gl_PREREQ_GETNDELIM2.
79022         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
79023         gl_GETNDELIM2.
79024
79025 2003-07-18  Bruno Haible  <bruno@clisp.org>
79026
79027         * lib/getndelim2.h: New file.
79028         * lib/getndelim2.c: Make into a module of its own. Include config.h,
79029         getndelim2.h.
79030         (getndelim2): Make non-static. Change return type to ssize_t.
79031         * lib/getline.h: Change argument names.
79032         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
79033         * lib/getnline.c: Include getndelim2.h.
79034
79035 2003-07-18  Andreas Schwab  <schwab@suse.de>
79036
79037         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
79038
79039 2003-07-17  Karl Berry  <karl@gnu.org>
79040
79041         * config/config.sub: update from prep.
79042
79043 2003-07-17  Bruno Haible  <bruno@clisp.org>
79044
79045         * modules/getnline: New file.
79046         * modules/getline: Add lib/getndelim2.c to source file list.
79047         * MODULES.html.sh (func_all_modules): Add getnline.
79048
79049 2003-07-17  Bruno Haible  <bruno@clisp.org>
79050
79051         * m4/getnline.m4: New file.
79052
79053 2003-07-17  Bruno Haible  <bruno@clisp.org>
79054
79055         * m4/Makefile.am.in: Remove file.
79056         * m4/Makefile.am: Remove file.
79057         * m4/Makefile.in: Remove file.
79058
79059 2003-07-17  Bruno Haible  <bruno@clisp.org>
79060
79061         * lib/getnline.h: New file.
79062         * lib/getnline.c: New file.
79063         * lib/getndelim2.c: New file, extracted from getline.c.
79064         (getndelim2): Renamed from getdelim2, with added nmax argument.
79065         * lib/getline.c: Include getndelim2.c.
79066         (getdelim2): Moved out to getndelim2.c.
79067         (getline, getdelim): Update.
79068
79069 2003-07-17  Bruno Haible  <bruno@clisp.org>
79070
79071         * lib/Makefile.am: Remove file.
79072         * lib/Makefile.in: Remove file.
79073
79074 2003-07-17  Bruno Haible  <bruno@clisp.org>
79075
79076         * configure.in: Remove file.
79077         * Makefile.in: Remove file.
79078
79079 2003-07-17  Bruno Haible  <bruno@clisp.org>
79080
79081         * MODULES.html.sh: Put the </BODY> right before </HTML>.
79082
79083 2003-07-16  Karl Berry  <karl@gnu.org>
79084
79085         * config/srclist-update: was running fixlicense twice, which caused
79086                 texinfo.tex to be nullified for some reason.  Simplify,
79087                 $gplsrc is no longer needed as far as I can see?
79088
79089 2003-07-16  Jim Meyering  <jim@meyering.net>
79090
79091         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
79092
79093 2003-07-15  Paul Eggert  <eggert@twinsun.com>
79094
79095         * config/srclist.txt: Get the following files from gettext-runtime/intl
79096         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
79097         ref-del.sin.  From Bruno Haible.
79098         * config/srclist-update (fixfile): Change grep pattern again, since the
79099         previous fix didn't work (there was another trailing $).  Use
79100         '[$]' to escape the $s.
79101
79102 2003-07-15  Karl Berry  <karl@gnu.org>
79103
79104         * lib/vasnprintf.c: update from gettext.
79105
79106 2003-07-15  Karl Berry  <karl@gnu.org>
79107
79108         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
79109         gets expanded when surrounded by '$'.
79110
79111 2003-07-15  Jim Meyering  <jim@meyering.net>
79112
79113         * modules/save-cwd: Don't depend on error.  From Derek Price.
79114
79115 2003-07-15  Jim Meyering  <jim@meyering.net>
79116
79117         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
79118
79119 2003-07-14  Simon Josefsson  <jas@extundo.com>
79120
79121         * modules/mempcpy: New file.
79122         * MODULES.html.sh (func_all_modules): Add mempcpy.
79123
79124 2003-07-14  Simon Josefsson  <jas@extundo.com>
79125
79126         * m4/mempcpy.m4: New file.
79127
79128 2003-07-14  Simon Josefsson  <jas@extundo.com>
79129
79130         * lib/mempcpy.h: New file.
79131         * lib/mempcpy.c: New file.
79132
79133 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79134
79135         * modules/getdate, modules/posixtm: Depend on mktime.
79136
79137 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79138
79139         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
79140         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
79141         unicodeio.c, unicodeio.h, unlocked-io.h:
79142         Switch from LGPL to GPL.
79143
79144 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79145
79146         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
79147         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
79148         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
79149         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
79150         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
79151         updated automatically by ../config/srclist-update.  This changes
79152         their license from LPGL to GPL.
79153
79154 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79155
79156         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
79157         assumed to refer to the root of the most recent stable gettext version.
79158         * config/srclistvars.sh: Add defaults for eggert.
79159         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
79160         Match "This program" as well as "The program".  This is needed
79161         for gettext.
79162
79163 2003-07-14  Jim Meyering  <jim@meyering.net>
79164
79165         Don't emit diagnostics.  Let callers do that.
79166         * lib/save-cwd.c: Don't include "error.h".
79167         (save_cwd): Don't call error.  Ensure that errno is valid
79168         when returning nonzero.
79169
79170         * lib/save-cwd.h (restore_cwd): Update prototype.
79171         * lib/save-cwd.c (restore_cwd): Remove two parameters.
79172         Simplify.  Don't call error upon failure.  Let callers do that.
79173         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
79174         when auditing is enabled.  But don't bother updating the #if.
79175
79176 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
79177
79178         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
79179         it breaks C++ compilation.
79180         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
79181
79182 2003-07-10  Simon Josefsson  <jas@extundo.com>
79183
79184         * modules/strchrnul (Makefile.am): Add strchrnul.h.
79185
79186 2003-07-10  Jim Meyering  <jim@meyering.net>
79187
79188         * m4/clock_time.m4: Remove trailing blank.
79189         * m4/intmax_t.m4: Likewise.
79190
79191 2003-07-10  Jim Meyering  <jim@meyering.net>
79192
79193         * lib/vasnprintf.c: Remove trailing blanks.
79194         Make cpp indentation consistent.
79195
79196 2003-07-09  Paul Eggert  <eggert@twinsun.com>
79197
79198         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
79199         posixver.c, strftime.c, strnlen.c, strverscmp.c:
79200         Switch from LGPL to GPL.
79201
79202 2003-07-09  Paul Eggert  <eggert@twinsun.com>
79203
79204         * config/srclist.txt: Sort sublists.  Add
79205         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
79206         that differ from gnulib for one reason or another; we'd like this list
79207         to be smaller but for now let's document what we have.
79208
79209 2003-07-08  Paul Eggert  <eggert@twinsun.com>
79210
79211         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
79212         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
79213         and sweeter "eval x=$x".
79214         * config/srclist.txt: Get lib/argp* from glibc.
79215
79216 2003-07-07  Paul Eggert  <eggert@twinsun.com>
79217
79218         * lib/mktime.c: Fix some boundary cases and remove need for floating
79219         point.
79220
79221         Issue a compile-time diagnostic if time_t is floating point, or if
79222         two's complement arithmetic is not in effect, or if arithmetic
79223         right shift does not propagate the sign.  These assumptions were
79224         all in the original code but they weren't checked.
79225
79226         (TIME_T_MIDPOINT, verify): New macros.
79227         (__isleap): Remove; it has integer overflow problems.
79228         (leapyear): New function, without those problems.
79229         (ydhms_tm_diff): Remove; splitting into two parts.
79230         (ydhms_diff): New function, containing the arithmetic part of
79231         the old ydhms_tm_diff function.  Issue a compile-time
79232         diagnostic if we are not using C99 integer division.
79233         Avoid casts when possible.
79234         (guess_time_tm): New function, containing the checking part of
79235         the old ydhms_tm_diff function.  Return the new value, rather than
79236         the difference between it and the old.  Accept a new argument T
79237         so that *T specifies the old value.  Check for overflow in the result.
79238
79239         (__mktime_internal): Use a time_t offset, not a long int offset.
79240         This undoes the 2003-06-04 change, which is no longer needed now
79241         that we have better overflow checking.
79242         (localtime_offset): Likewise.
79243
79244         (__mktime_internal): Avoid harmful overflow on hosts where time_t
79245         and long are 64-bit but int is only 32-bit.
79246         (ydhms_diff): Use long int to store year1 and yday1.
79247         Issue a compile-time diagnostic if long int is not wide enough.
79248
79249         (__mktime_internal): Use long int to store adjusted year and yday.
79250         Use plain C rather than preprocessor commands, if that doesn't
79251         affect efficiency.
79252         Check for overflow (and try to repair) after each probe
79253         rather than checking only at the very end.  This avoids some bugs
79254         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
79255         does not equal GMT offset at maximum time).
79256         Use integer to check for overflow rather than floating point; this
79257         is more portable to non-IEEE hosts, and is a tad faster.
79258         When we detect that we are oscillating between two values,
79259         don't check whether tm_isdst has the requested value, since
79260         we already know the answer.  When tm_isdst has the wrong value,
79261         use a different heuristic to find the right one, based on the
79262         extreme values actually observed in practice in tz2003a,
79263         rather than the (overly optimistic) "previous 3 calendar quarters".
79264
79265         (not_equal_tm, print_tm, check_result): Use "const T" rather than
79266         "T const" to accommodate glibc style.
79267         (check_result): Use less-confusing report format.  "long" -> "long int.
79268         (main): Likewise.
79269         Don't loop if the iteration overflows time_t.
79270         Allow a negative step in the iteration.
79271
79272 2003-07-06  Karl Berry  <karl@gnu.org>
79273
79274         * config/depcomp: update from automake.
79275         * config/config.sub: update from prep.
79276
79277 2003-07-03  Karl Berry  <karl@gnu.org>
79278
79279         * config/config.guess: update from prep.
79280
79281 2003-07-01  Paul Eggert  <eggert@twinsun.com>
79282
79283         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
79284         xreadlink.c now includes it unconditionally.
79285
79286 2003-07-01  Paul Eggert  <eggert@twinsun.com>
79287
79288         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
79289         having it depend on HAVE_SYS_TYPES_H.
79290
79291 2003-07-01  Bruno Haible  <bruno@clisp.org>
79292
79293         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
79294         <sys/types.h> should be sufficient.
79295         Reported by Paul Eggert.
79296
79297 2003-06-26  Karl Berry  <karl@gnu.org>
79298
79299         * config/depcomp: update from automake.
79300
79301 2003-06-26  Bruno Haible  <bruno@clisp.org>
79302
79303         * modules/human: Depend on module stdbool.
79304
79305 2003-06-25  Bruno Haible  <bruno@clisp.org>
79306
79307         * modules/readlink: New file.
79308         * modules/xreadlink: Depend on it.
79309         * MODULES.html.sh (func_all_modules): Add readlink.
79310
79311 2003-06-25  Bruno Haible  <bruno@clisp.org>
79312
79313         * m4/readlink.m4: New file.
79314
79315 2003-06-25  Bruno Haible  <bruno@clisp.org>
79316
79317         * lib/readlink.c: New file.
79318
79319 2003-06-22  Karl Berry  <karl@gnu.org>
79320
79321         * config/srclist.txt: update mkinstalldirs from automake.
79322         * config/mkinstalldirs: update.
79323
79324 2003-06-22  Bruno Haible  <bruno@clisp.org>
79325
79326         Portability to mingw32.
79327         * m4/ssize_t.m4: New file, from GNU gettext.
79328         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
79329         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
79330
79331 2003-06-22  Bruno Haible  <bruno@clisp.org>
79332
79333         * modules/safe-read: Add m4/ssize_t.m4.
79334         * modules/xreadlink: Add m4/ssize_t.m4.
79335
79336 2003-06-20  Bruno Haible  <bruno@clisp.org>
79337
79338         Assume C89, so PARAMS isn't needed.
79339         * lib/unicodeio.h (PARAMS): Remove.
79340         * lib/unicodeio.c: Don't use PARAMS.
79341
79342 2003-06-18  Karl Berry  <karl@gnu.org>
79343
79344         * config/config.{guess,sub}: update from prep.
79345
79346 2003-06-18  Jim Meyering  <jim@meyering.net>
79347
79348         Merge changes from coreutils.
79349         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
79350         Remove explicit declarations of xmalloc and realloc.
79351         Include xalloc.h.
79352         (read_utmp): Remove anachronistic cast of xmalloc.
79353
79354 2003-06-17  Paul Eggert  <eggert@twinsun.com>
79355
79356         Assume C89, so PARAMS isn't needed.
79357         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
79358         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
79359         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
79360         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
79361         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
79362         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
79363         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
79364         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
79365         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
79366         lib/xstrtod.h, lib/xstrtol.h: Likewise.
79367         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
79368         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
79369         no longer needed. Anyway, config.h should always be included before any
79370         other file.
79371
79372 2003-06-11  Simon Josefsson  <jas@extundo.com>
79373
79374         * modules/sysexits: New file.
79375         * MODULES.html.sh (func_all_modules): Add sysexits.
79376
79377 2003-06-11  Simon Josefsson  <jas@extundo.com>
79378
79379         * lib/sysexit_.h: New file.
79380
79381 2003-06-11  Derek Price  <derek@ximbiot.com>
79382
79383         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
79384         necessary.
79385
79386 2003-06-11  Bruno Haible  <bruno@clisp.org>
79387
79388         * m4/sysexits.m4: New file.
79389
79390 2003-06-10  Simon Josefsson  <jas@extundo.com>
79391
79392         * lib/argp.h: New file, from glibc.
79393         * lib/argp-ba.c: New file, from glibc.
79394         * lib/argp-eexst.c: New file, from glibc.
79395         * lib/argp-fmtstream.c: New file, from glibc.
79396         * lib/argp-fmtstream.h: New file, from glibc.
79397         * lib/argp-fs-xinl.c: New file, from glibc.
79398         * lib/argp-help.c: New file, from glibc.
79399         * lib/argp-namefrob.h: New file, from glibc.
79400         * lib/argp-parse.c: New file, from glibc.
79401         * lib/argp-pv.c: New file, from glibc.
79402         * lib/argp-pvh.c: New file, from glibc.
79403         * lib/argp-xinl.c: New file, from glibc.
79404
79405 2003-06-10  Simon Josefsson  <jas@extundo.com>
79406
79407         * modules/strchrnul: New file.
79408
79409 2003-06-10  Simon Josefsson  <jas@extundo.com>
79410
79411         * modules/argp: New file.
79412
79413 2003-06-10  Simon Josefsson  <jas@extundo.com>
79414
79415         * m4/strchrnul.m4: New file.
79416
79417 2003-06-10  Simon Josefsson  <jas@extundo.com>
79418
79419         * lib/strchrnul.h: New file.
79420         * lib/strchrnul.c: New file.
79421
79422 2003-06-10  Bruno Haible  <bruno@clisp.org>
79423
79424         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
79425
79426 2003-06-07  Karl Berry  <karl@gnu.org>
79427
79428         * config/config.{guess,sub}: update from prep.
79429
79430 2003-06-07  Jim Meyering  <jim@meyering.net>
79431
79432         * modules/strtod: Use $(...) notation, not @...@ for
79433         AC_REPLACE'd variables.
79434         * modules/localcharset: Likewise.
79435
79436 2003-06-07  Jim Meyering  <jim@meyering.net>
79437
79438         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
79439         in place of my name in the copyright comment.
79440         Remove definition and uses of __P.
79441
79442         From coreutils.
79443         * lib/stat.c: Don't declare xmalloc explicitly.
79444         Instead, include "xalloc.h".
79445         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
79446         xrealloc, and xcalloc return values.
79447         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
79448         Improve comment.
79449         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
79450
79451 2003-06-07  Bruno Haible  <bruno@clisp.org>
79452
79453         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
79454         avoid AC_CONFIG_LINKS.
79455         * modules/fnmatch (Makefile.am): Use explicit creation rule for
79456         fnmatch.h, to avoid AC_CONFIG_LINKS.
79457         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
79458
79459 2003-06-07  Bruno Haible  <bruno@clisp.org>
79460
79461         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
79462         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
79463         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
79464         directory.
79465         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
79466         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
79467         directory.
79468
79469 2003-06-06  Jim Meyering  <jim@meyering.net>
79470
79471         Merge from coreutils.
79472         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
79473         Consolidate declarations and initializations of *_base* locals.
79474
79475         Merge from coreutils.
79476         This avoids a core dump on systems without GNU putenv,
79477         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
79478         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
79479         (unsetenv): New static function, from GNU libc.
79480         (rpl_putenv): Use it.
79481
79482         * lib/modechange.c: Remove trailing blanks.
79483
79484         Merge from coreutils.
79485         * lib/fsusage.c: Remove declaration of statfs.
79486         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
79487
79488         * lib/posixtm.c: Include <stdbool.h> unconditionally.
79489
79490 2003-06-06  Jim Meyering  <jim@meyering.net>
79491
79492         * lib/stdbool_.h: Renamed from stdbool.h.in.
79493
79494 2003-06-06  Jim Meyering  <jim@meyering.net>
79495             Bruno Haible  <bruno@clisp.org>
79496
79497         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
79498         Adjust Makefile.am snippet not to redirect directly to target.
79499         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
79500
79501 2003-06-05  Paul Eggert  <eggert@twinsun.com>
79502
79503         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
79504         mismatch, look in future quarters as well as past.  This fixes a
79505         bug when processing fall-backwards gaps immediately after a long
79506         period of daylight-saving time.
79507
79508         * lib/mktime.c: Assume freestanding C89 or better.
79509         (HAVE_LIMITS_H): Remove.  Assume it's 1.
79510         (__P): Remove; not used.
79511         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
79512         (mktime, not_equal_tm, print_tm, check_result,
79513         main): Use prototypes.  Use const * where appropriate.
79514         (main): Fix typo in testing code that uncovered by above changes.
79515         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
79516
79517 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79518
79519         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
79520         locale.h, localeconv.  This merges changes from coreutils.
79521
79522         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
79523         It can be removed after the next Autoconf is released.
79524         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
79525         needed.
79526
79527 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79528
79529         * lib/mktime.c: Fix Debian bug 177940
79530         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
79531         (localtime_offset): Now long int, not time_t, because we want it
79532         to be guaranteed to be signed.  All uses changed.
79533         (__mktime_internal): If overflow would occur when adding offset,
79534         don't add it.
79535
79536         Merge 'human' changes from coreutils.  Rewrite to support
79537         locale-specific notations like thousands separators.
79538         * lib/human.c: Simplify authorship notice.
79539         Include human.h immediately after config.h.
79540         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
79541         <limits.h>: Do not include, since human.h does.
79542         (SIZE_MAX, UINTMAX_MAX): New macros.
79543         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
79544         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
79545         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
79546         (power_letter): Renamed from suffixes.
79547         (generate_suffix_backwards): Remove.
79548         (adjust_value): Now takes int style (because of human.h changes)
79549         and long double value (for greater precision on some platforms).
79550         (group_number): New function.
79551         (human_readable): Use it.  Use integer options, not enum.
79552         Put the options before the sizes in the arg list.
79553         Support all the new options.
79554         The old human_readable function has been removed;
79555         use inttostr.h instead.
79556         (human_readable, default_block_size, humblock):
79557         Use uintmax_t, not int, for block sizes.
79558         (human_readable_inexact, block_size_types): Remove.
79559         (block_size_opts): New constant.
79560         (human_options): Renamed from human_block_size, with new signature
79561         that allows block sizes up to UINTMAX_MAX.  All callers changed.
79562         * lib/human.h: Add copyright and authorship notice.
79563         Include <limits.h> and <stdbool.h> unconditionally.
79564         (PARAMS): Remove.  All uses removed.
79565         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
79566         (enum human_inexact_style): Remove tag; now a nameless enum.
79567         (human_floor, human_ceiling, human_round_to_even): Now have
79568         values 2, 0, 1 rather than -1, 1, 0.
79569         (human_group_digits, human_suppress_point_zero, human_autoscale,
79570         human_base_1024, human_SI, human_B): New constants.
79571         (human_readable_inexact, human_block_size): Remove.
79572         (human_readable): Size args are now uintmax_t, not int.
79573         (human_options): New decl.
79574
79575         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
79576         unnecessary now that we assume C89 or better.  This change
79577         imported from coreutils.
79578
79579         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79580         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
79581         in the 2003-05-30 sync from glibc.
79582
79583         .h files should stand alone, but we shouldn't include <sys/types.h>
79584         if we can get away with just <stddef.h>.
79585
79586         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
79587         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
79588         rather than <sys/types.h>, as we merely need size_t.
79589         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
79590         to get size_t.
79591         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
79592         Include <stdio.h>, to get FILE.
79593         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
79594         memcasecmp.h has included <stddef.h> and all we need is size_t.
79595         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
79596         our interface, instead of including <sys/types.h>
79597
79598 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79599
79600         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
79601         now, as glibc mktime is buggy on non-glibc systems.
79602
79603 2003-06-03  Karl Berry  <karl@gnu.org>
79604
79605         * config/config.sub: update from prep.
79606
79607 2003-06-02  Paul Eggert  <eggert@twinsun.com>
79608
79609         [from coreutils]
79610         Fix some minor time-related bugs with POSIX time arguments.
79611         Some valid time stamps were being rejected (notably -1, and
79612         time stamps before 1900 on 64-bit hosts).  And some invalid
79613         time stamps were being accepted, e.g. September 31.
79614
79615         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
79616         that we can return (time_t) -1 successfully.
79617         * lib/posixtm.c: Likewise.
79618         [HAVE_STDBOOL_H]: Include <stdbool.h>.
79619         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
79620         (t): Remove static var.
79621         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
79622         of static var.  All uses changed.
79623         (year): Do not reject years before 1900; they can occur with
79624         64-bit time_t.
79625         (posix_time_parse): Do not check for out-of-range components;
79626         that is now the caller's responsibility, since our checks were
79627         only approximations.
79628         (posixtime): Use mktime to check for out-of-range components,
79629         since it knows them exactly.
79630         If mktime returns (time_t) -1, check whether an error actually occurred
79631         by invoking localtime on -1.
79632         (main) [TEST_POSIXTIME]: Check for input data errors, and report
79633         posixtime failures better.
79634         Improve the test data (in comments only).
79635
79636 2003-06-02  Karl Berry  <karl@gnu.org>
79637
79638         * config/mkinstalldirs (version): new variable.
79639         (--version): new option.
79640         (usage): improve message.
79641
79642 2003-05-30  Karl Berry  <karl@gnu.org>
79643
79644         * lib/mktime.c: update from libc.
79645
79646 2003-05-30  Bruno Haible  <bruno@clisp.org>
79647
79648         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
79649         * config/config.rpath: Upgrade to gettext-0.12.1.
79650
79651 2003-05-30  Bruno Haible  <bruno@clisp.org>
79652
79653         * m4/gettext.m4: Upgrade to gettext-0.12.1.
79654         * m4/nls.m4: New file, from gettext-0.12.1.
79655         * m4/po.m4: New file, from gettext-0.12.1.
79656         * m4/progtest.m4: Upgrade to gettext-0.12.1.
79657
79658 2003-05-30  Bruno Haible  <bruno@clisp.org>
79659
79660         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
79661         * lib/localcharset.h: Likewise.
79662         * lib/localcharset.c: Likewise.
79663
79664 2003-05-29  Karl Berry  <karl@gnu.org>
79665
79666         * config/config.rpath: update from gettext.
79667
79668 2003-05-28  Paul Eggert  <eggert@twinsun.com>
79669
79670         Assume the headers required for C89 freestanding compilers.
79671         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
79672         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
79673         * m4/human.m4 (gl_HUMAN): Likewise.
79674         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
79675         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
79676         * m4/userspec.m4 (gl_USERSPEC): Likewise.
79677         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
79678         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79679         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
79680
79681 2003-05-28  Paul Eggert  <eggert@twinsun.com>
79682
79683         Assume the headers required for C89 freestanding compilers.
79684         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
79685         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
79686         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
79687         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
79688         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
79689         define, since <limits.h> is guaranteed to do that.
79690         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
79691         * lib/exclude.c: Include <stdbool.h> unconditionally.
79692         * lib/tempname.c: Include <stddef.h> unconditionally.
79693         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
79694         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
79695         <stddef.h> does that.
79696         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
79697         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
79698         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
79699         needed.
79700         * lib/xstrtol.c: Likewise.
79701         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
79702         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
79703
79704         * lib/addext.c (addext): Use assignment rather than cast, to avoid
79705         warnings on some platforms.
79706
79707         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79708         arbitrarily.
79709
79710 2003-05-26  Jim Meyering  <jim@meyering.net>
79711
79712         Merge in a change from coreutils:
79713         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
79714         that is guaranteed to be `no'.  Use `no_such_member' to indicate
79715         that condition, rather than `-1' which is slightly misleading.
79716         Change the name of the cache variable to have the gl_ prefix.
79717         Prompted by a patch from Richard Dawe for DJGPP.
79718
79719 2003-05-24  Karl Berry  <karl@gnu.org>
79720
79721         * config/config.guess: update from prep.
79722
79723 2003-05-22  Karl Berry  <karl@gnu.org>
79724
79725         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
79726
79727 2003-05-20  Karl Berry  <karl@gnu.org>
79728
79729         * config/config.guess: update from prep.
79730
79731 2003-05-18  Karl Berry  <karl@gnu.org>
79732
79733         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
79734         might actually be set by the user.
79735
79736         * config/depcomp, install-sh, mdate-sh: update from automake.
79737
79738 2003-05-17  Bruno Haible  <bruno@clisp.org>
79739
79740         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
79741         invalid expansion for AC_EGREP_CPP.
79742         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
79743         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
79744         Suggested by Akim Demaille <akim@epita.fr> in
79745         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
79746
79747 2003-05-12  Jim Meyering  <jim@meyering.net>
79748
79749         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
79750         the space-padded-by-default conversion specifiers, %e, %k, %l.
79751
79752 2003-05-12  Bruno Haible  <bruno@clisp.org>
79753
79754         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
79755         the string is longer than 4 KB.
79756
79757 2003-05-11  Karl Berry  <karl@gnu.org>
79758
79759         * config/config.{guess,sub}: update from prep.
79760
79761 2003-05-09  Bruno Haible  <bruno@clisp.org>
79762
79763         * modules/error: Add m4/strerror_r.m4 to file list.
79764
79765 2003-05-03  Bruno Haible  <bruno@clisp.org>
79766
79767         Upgrade to Unicode-4.0.
79768         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
79769         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
79770         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
79771         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
79772         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
79773         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
79774         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
79775         Change width of U+E0100..U+E01EF from 1 to 0.
79776
79777 2003-04-25  Jim Meyering  <jim@meyering.net>
79778
79779         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
79780         of type size_t, not int.
79781
79782 2003-04-25  Bruno Haible  <bruno@clisp.org>
79783
79784         * lib/copy-file.c: Include <stddef.h>, for size_t.
79785
79786 2003-04-21  Paul Eggert  <eggert@twinsun.com>
79787
79788         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
79789         code which expansion is under static control.  Patch imported from
79790         Akim Demaille's patch to Bison; see
79791         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
79792
79793 2003-04-14  Bruno Haible  <bruno@clisp.org>
79794
79795         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
79796
79797 2003-04-11  Jim Meyering  <jim@meyering.net>
79798
79799         Merge changes from Coreutils.
79800
79801         2003-03-22  Jim Meyering  <jim@meyering.net>
79802
79803         * lib/strftime.c (widen): Cast alloca return value to proper type.
79804
79805         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
79806
79807         From GNU libc.
79808         * lib/strftime.c (my_strftime): Handle very large width
79809         specifications for numeric values correctly.  Improve checks for
79810         overflow.
79811
79812         2003-01-19  Jim Meyering  <jim@meyering.net>
79813
79814         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
79815         definitions.
79816         (nl_get_alt_digit) [! defined my_strftime]: Define.
79817         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
79818         _nl_get_alt_digit and _nl_get_walt_digit.
79819
79820         * lib/strftime.c (my_strftime): Merge in locale-related changes from
79821         libc. These changes have no effect outside of _LIBC.
79822
79823 2003-04-10  Bruno Haible  <bruno@clisp.org>
79824
79825         * modules/findprog: New file.
79826         * MODULES.html.sh (func_all_modules): Add it.
79827
79828 2003-04-10  Bruno Haible  <bruno@clisp.org>
79829
79830         * m4/findprog.m4: New file.
79831         * m4/eaccess.m4: New file.
79832
79833 2003-04-10  Bruno Haible  <bruno@clisp.org>
79834
79835         * lib/findprog.h: New file, from GNU gettext.
79836         * lib/findprog.c: New file, from GNU gettext.
79837
79838 2003-04-05  Jim Meyering  <jim@meyering.net>
79839
79840         Merge changes from Coreutils.
79841
79842         * lib/exclude.h (PARAMS): Remove definition and uses.
79843         * lib/exclude.c: Remove uses of `PARAMS'.
79844
79845         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
79846         Add test-cases for DOS filenames. Declare program_name.
79847         (main): Set up program_name.  Patch by Rich Dawe.
79848
79849         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
79850         error from mntctl.
79851         Use mntctl's return value to drive the entry-processing loop, since
79852         we can't rely on the value of the vmt_length member in the last
79853         entry.  On some systems doing so could result in exhausting
79854         virtual memory.  Based in part on a patch from Mike Jetzer.
79855
79856 2003-04-04  Bruno Haible  <bruno@clisp.org>
79857
79858         * modules/linebreak: New file.
79859         * MODULES.html.sh (func_all_modules): Add it.
79860
79861 2003-04-04  Bruno Haible  <bruno@clisp.org>
79862
79863         * m4/linebreak.m4: New file.
79864
79865 2003-04-04  Bruno Haible  <bruno@clisp.org>
79866
79867         * lib/linebreak.h: New file, from GNU gettext.
79868         * lib/linebreak.c: New file, from GNU gettext with slight
79869         modifications.
79870         * lib/lbrkprop.h: New file, from GNU gettext.
79871
79872 2003-04-03  Bruno Haible  <bruno@clisp.org>
79873
79874         * modules/utf8-ucs4: New file.
79875         * modules/utf16-ucs4: New file.
79876         * modules/ucs4-utf8: New file.
79877         * modules/ucs4-utf16: New file.
79878         * MODULES.html.sh (func_all_modules): Add them.
79879
79880 2003-04-03  Bruno Haible  <bruno@clisp.org>
79881
79882         * m4/utf-ucs4.m4: New file.
79883         * m4/ucs4-utf.m4: New file.
79884
79885 2003-04-03  Bruno Haible  <bruno@clisp.org>
79886
79887         * lib/utf8-ucs4.h: New file, from GNU gettext.
79888         * lib/utf16-ucs4.h: New file, from GNU gettext.
79889         * lib/ucs4-utf8.h: New file, from GNU gettext.
79890         * lib/ucs4-utf16.h: New file, from GNU gettext.
79891
79892 2003-04-02  Bruno Haible  <bruno@clisp.org>
79893
79894         * modules/binary-io: New file.
79895         * MODULES.html.sh (func_all_modules): Add it.
79896
79897 2003-04-02  Bruno Haible  <bruno@clisp.org>
79898
79899         * lib/binary-io.h: New file, from GNU gettext.
79900
79901 2003-04-01  Bruno Haible  <bruno@clisp.org>
79902
79903         * modules/pathname: New file.
79904         * MODULES.html.sh (func_all_modules): Add it.
79905
79906 2003-04-01  Bruno Haible  <bruno@clisp.org>
79907
79908         * lib/pathname.h: New file, from GNU gettext.
79909         * lib/concatpath.c: New file, from GNU gettext.
79910
79911 2003-03-30  Bruno Haible  <bruno@clisp.org>
79912
79913         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
79914
79915 2003-03-30  Bruno Haible  <bruno@clisp.org>
79916
79917         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
79918         function chown() doesn't exist.
79919
79920 2003-03-28  Bruno Haible  <bruno@clisp.org>
79921
79922         * modules/copy-file: New file.
79923         * MODULES.html.sh (func_all_modules): Add it.
79924
79925 2003-03-28  Bruno Haible  <bruno@clisp.org>
79926
79927         * m4/copy-file.m4: New file.
79928
79929 2003-03-28  Bruno Haible  <bruno@clisp.org>
79930
79931         * lib/copy-file.h: New file, from GNU gettext.
79932         * lib/copy-file.c: New file, from GNU gettext.
79933
79934 2003-03-18  Jim Meyering  <jim@meyering.net>
79935
79936         * lib/quote.c (quote_n): Fix typo in comment.
79937
79938 2003-03-18  Bruno Haible  <bruno@clisp.org>
79939
79940         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
79941         checking.
79942         * m4/onceonly_2_57.m4: Likewise.
79943
79944 2003-03-17  Bruno Haible  <bruno@clisp.org>
79945
79946         * m4/onceonly.m4: Require autoconf 2.54 or newer.
79947         (m4_quote): Remove macro.
79948         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
79949
79950 2003-03-14  Jim Meyering  <jim@meyering.net>
79951
79952         Merge changes from Coreutils.
79953         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
79954         to be const, in order to avoid warnings.
79955         (obstack_room): Likewise.
79956         (obstack_empty_p): Likewise.
79957
79958 2003-03-14  Bruno Haible  <bruno@clisp.org>
79959
79960         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
79961         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
79962
79963 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79964
79965         Merge changes from Bison.
79966         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
79967         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
79968         when compiling Bison 1.875's `bitset bset = obstack_alloc
79969         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
79970         * lib/hash.c: Include <stdbool.h> unconditionally.
79971
79972 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79973
79974         * m4/onceonly.m4 (m4_quote): New macro.
79975         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
79976         Quote AC_FOREACH variable-expansions properly.
79977
79978 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79979
79980         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
79981
79982 2003-03-09  Paul Eggert  <eggert@twinsun.com>
79983
79984         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
79985         Reported by Bruce Becker; see:
79986         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
79987
79988 2003-03-03  Paul Eggert  <eggert@twinsun.com>
79989             Bruno Haible  <bruno@clisp.org>
79990
79991         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
79992         Reported by John Hughes, see
79993         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
79994
79995 2003-02-20  Bruno Haible  <bruno@clisp.org>
79996
79997         * MODULES.html.sh (func_all_modules): Add poll.
79998
79999 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80000
80001         * modules/poll: New file.
80002
80003 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80004
80005         * lib/poll_.h: New file.
80006         * lib/poll.c: New file.
80007
80008 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80009
80010         * m4/poll.m4: New file.
80011
80012 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80013
80014         * modules/mathl: New file.
80015
80016 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80017
80018         * lib/mathl.h: New file.
80019         * lib/acosl.c: New file.
80020         * lib/asinl.c: New file.
80021         * lib/atanl.c: New file.
80022         * lib/ceill.c: New file.
80023         * lib/cosl.c: New file.
80024         * lib/expl.c: New file.
80025         * lib/floorl.c: New file.
80026         * lib/frexpl.c: New file.
80027         * lib/ldexpl.c: New file.
80028         * lib/logl.c: New file.
80029         * lib/sincosl.c: New file.
80030         * lib/sinl.c: New file.
80031         * lib/sqrtl.c: New file.
80032         * lib/tanl.c: New file.
80033         * lib/trigl.c: New file.
80034         * lib/trigl.h: New file.
80035
80036 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80037
80038         * m4/mathl.m4: New file.
80039
80040 2003-02-18  Bruno Haible  <bruno@clisp.org>
80041
80042         * MODULES.html.sh (func_all_modules): Add mathl.
80043
80044 2003-02-17  Bruno Haible  <bruno@clisp.org>
80045
80046         * modules/mkdtemp: New module.
80047         * MODULES.html.sh (func_all_modules): Add it.
80048
80049 2003-02-17  Bruno Haible  <bruno@clisp.org>
80050
80051         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
80052
80053 2003-02-17  Bruno Haible  <bruno@clisp.org>
80054
80055         * lib/mkdtemp.h: New file, from GNU gettext.
80056         * lib/mkdtemp.c: New file, from GNU gettext.
80057
80058 2003-02-02  Jim Meyering  <jim@meyering.net>
80059
80060         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
80061         e.g. glibc-2.2.93.
80062
80063 2003-01-31  Bruno Haible  <bruno@clisp.org>
80064
80065         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
80066         'rpl_rename'.
80067         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
80068         'rpl_strnlen'.
80069         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
80070         'rpl_strtod'.
80071         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
80072         'rpl_utime'.
80073
80074 2003-01-31  Bruno Haible  <bruno@clisp.org>
80075
80076         * lib/rename.c: #undef rename before defining rpl_rename.
80077         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
80078
80079 2003-01-30  Bruno Haible  <bruno@clisp.org>
80080
80081         * modules/vasnprintf, modules/vasprintf: New modules.
80082         * MODULES.html.sh (func_all_modules): Add them.
80083
80084 2003-01-30  Bruno Haible  <bruno@clisp.org>
80085
80086         * m4/signed.m4: New file, from GNU gettext.
80087         * m4/longdouble.m4: New file, from GNU gettext.
80088         * m4/wchar_t.m4: New file, from GNU gettext.
80089         * m4/wint_t.m4: New file, from GNU gettext.
80090         * m4/vasnprintf.m4: New file.
80091         * m4/vasprintf.m4: New file.
80092
80093 2003-01-30  Bruno Haible  <bruno@clisp.org>
80094
80095         * lib/printf-args.h: New file, from GNU gettext.
80096         * lib/printf-args.c: New file, from GNU gettext.
80097         * lib/printf-parse.h: New file, from GNU gettext.
80098         * lib/printf-parse.c: New file, from GNU gettext.
80099         * lib/vasnprintf.h: New file, from GNU gettext.
80100         * lib/vasnprintf.c: New file, from GNU gettext.
80101         * lib/asnprintf.c: New file, from GNU gettext.
80102         * lib/vasprintf.h: New file, from GNU gettext with modifications.
80103         * lib/vasprintf.c: New file, from GNU gettext.
80104         * lib/asprintf.c: New file, from GNU gettext.
80105
80106 2003-01-29  Bruno Haible  <bruno@clisp.org>
80107
80108         * modules/stpncpy: New module.
80109         * MODULES.html.sh (func_all_modules): Add it.
80110
80111 2003-01-29  Bruno Haible  <bruno@clisp.org>
80112
80113         * m4/stpncpy.m4: New file.
80114
80115 2003-01-29  Bruno Haible  <bruno@clisp.org>
80116
80117         * lib/stpncpy.h: New file, from GNU gettext with modifications.
80118         * lib/stpncpy.c: New file, from GNU gettext with modifications.
80119
80120 2003-01-28  Bruno Haible  <bruno@clisp.org>
80121
80122         * modules/c-ctype: New module.
80123         * MODULES.html.sh (func_all_modules): Add it.
80124
80125 2003-01-28  Bruno Haible  <bruno@clisp.org>
80126
80127         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
80128         Paul Eggert.
80129         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
80130         Paul Eggert.
80131
80132 2003-01-27  Bruno Haible  <bruno@clisp.org>
80133
80134         * modules/xsetenv: New module.
80135         * MODULES.html.sh (func_all_modules): Add it.
80136
80137 2003-01-27  Bruno Haible  <bruno@clisp.org>
80138
80139         * lib/xsetenv.h: New file, from GNU gettext.
80140         * lib/xsetenv.c: New file, from GNU gettext.
80141
80142 2003-01-23  Jim Meyering  <jim@meyering.net>
80143
80144         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
80145         from working on systems without dirfd (at least Irix and OSF1/Tru64).
80146
80147 2003-01-23  Bruno Haible  <bruno@clisp.org>
80148
80149         * modules/minmax: New module.
80150         * MODULES.html.sh (func_all_modules): Add it.
80151
80152 2003-01-23  Bruno Haible  <bruno@clisp.org>
80153
80154         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
80155         Eggert.
80156
80157 2003-01-22  Bruno Haible  <bruno@clisp.org>
80158
80159         * modules/exit: New module.
80160         * MODULES.html.sh (func_all_modules): Add it.
80161
80162 2003-01-22  Bruno Haible  <bruno@clisp.org>
80163
80164         * lib/exit.h: New file, from GNU gettext.
80165
80166 2003-01-19  Bruno Haible  <bruno@clisp.org>
80167
80168         * gnulib-tool: Recognize option --extract-maintainer.
80169         (func_get_maintainer): New function.
80170         * modules/*: Add Maintainer entry.
80171
80172 2003-01-16  Jim Meyering  <jim@meyering.net>
80173
80174         * m4/regex.m4: The `regex' struct is both input and output.
80175         Initialize it before each use.  Patch by Tim Waugh.
80176
80177 2003-01-16  Bruno Haible  <bruno@clisp.org>
80178
80179         * MODULES.html.sh: Add a table of contents. Add the module name as
80180         leftmost column. Add hyperlinks.
80181
80182 2003-01-15  Bruno Haible  <bruno@clisp.org>
80183
80184         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
80185
80186 2003-01-15  Bruno Haible  <bruno@clisp.org>
80187
80188         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
80189         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
80190         suffix.
80191
80192 2003-01-15  Bruno Haible  <bruno@clisp.org>
80193
80194         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
80195
80196 2003-01-15  Bruno Haible  <bruno@clisp.org>
80197
80198         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
80199         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
80200
80201 2003-01-14  Jim Meyering  <jim@meyering.net>
80202
80203         * lib/same.c (same_name): Tweak a comment.
80204
80205 2003-01-14  Bruno Haible  <bruno@clisp.org>
80206
80207         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
80208         when a string comparison is sufficient.
80209
80210 2003-01-14  Bruno Haible  <bruno@clisp.org>
80211
80212         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
80213         'unsigned int'.
80214
80215 2003-01-14  Bruno Haible  <bruno@clisp.org>
80216
80217         * lib/hash-pjw.c: Add comment about low quality of this function.
80218
80219 2003-01-13  Bruno Haible  <bruno@clisp.org>
80220
80221         * modules/stpcpy: Distribute lib/stpcpy.h.
80222         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
80223
80224 2003-01-13  Bruno Haible  <bruno@clisp.org>
80225
80226         * modules/*: Add a description.
80227         * modules/strpbrk: Fix Makefile.am snippet.
80228         * modules/strtoimax: Fix dependencies.
80229         * modules/strtoumax: Likewise.
80230
80231 2003-01-13  Bruno Haible  <bruno@clisp.org>
80232
80233         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
80234         * modules/alloca (Makefile.am): All object files depend on alloca.h.
80235         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
80236
80237 2003-01-13  Bruno Haible  <bruno@clisp.org>
80238
80239         * gnulib-tool (func_create_testdir): Store config/* files in the main
80240         directory.
80241         * config.rpath: Move to ...
80242         * config/config.rpath: ... here.
80243         * modules/gettext: Contains config/config.rpath, not config.rpath.
80244         * modules/iconv: Likewise.
80245
80246 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80247
80248         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80249         to avoid collisions with libcurses and libreadline.
80250
80251         * m4/getstr.m4: Remove.
80252         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
80253
80254 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80255
80256         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80257         to avoid collisions with libcurses and libreadline.
80258
80259         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
80260         * lib/getstr.h, getstr.c: Remove.
80261         * lib/getline.c: Include "getline.h", to check interface.
80262         Move body of old getstr.c here: this defines MIN_CHUNK and
80263         declares getdelim2, which is renamed from getstr.
80264         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
80265
80266         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
80267         All uses changed.
80268         * lib/linebuffer.h: Likewise.
80269         (readline): Remove backward-compatibility macro.
80270
80271 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80272
80273         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80274         to avoid collisions with libcurses and libreadline.
80275         * getstr: Remove.
80276         * MODULES.html.sh: Remove getstr.
80277         * modules/getline: Depend on unlocked-io, not getstr.
80278
80279 2003-01-12  Jim Meyering  <jim@meyering.net>
80280
80281         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
80282
80283 2003-01-10  Bruno Haible  <bruno@clisp.org>
80284
80285         * modules/alloca: Change Makefile.am requirements. Simplify Include
80286         requirements. Add lib/alloca_.h to file list.
80287
80288 2003-01-10  Bruno Haible  <bruno@clisp.org>
80289
80290         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
80291
80292 2003-01-10  Bruno Haible  <bruno@clisp.org>
80293
80294         * lib/alloca_.h: New file.
80295         * lib/getdate.y: Unconditionally include alloca.h.
80296         * lib/makepath.c: Likewise.
80297         * lib/setenv.c: Likewise.
80298         * lib/userspec.c: Likewise.
80299
80300 2003-01-09  Karl Berry  <karl@gnu.org>
80301
80302         * MODULES.html.sh: include `dirname $0` in PATH, to find
80303         gnulib-tool.
80304
80305 2003-01-09  Bruno Haible  <bruno@clisp.org>
80306
80307         * modules/stdbool: Change configure.ac, Makefile.am requirements.
80308         Simplify Include requirements. Add lib/stdbool.h.in to file list.
80309
80310 2003-01-09  Bruno Haible  <bruno@clisp.org>
80311
80312         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
80313
80314 2003-01-09  Bruno Haible  <bruno@clisp.org>
80315
80316         * lib/stdbool.h.in: New file.
80317
80318 2003-01-09  Bruno Haible  <bruno@clisp.org>
80319
80320         * gnulib-tool (func_all_modules): Ignore files ending in ~.
80321         * MODULES.html.sh: Likewise.
80322
80323 2003-01-08  Jim Meyering  <jim@meyering.net>
80324
80325         * lib/full-write.c: Undefine and define-away `const' after inclusion
80326         of errno.h, not before.  Suggestion from Bruno Haible.
80327
80328 2003-01-08  Bruno Haible  <bruno@clisp.org>
80329
80330         * modules/full-read: Depend on full-write.
80331
80332 2003-01-08  Bruno Haible  <bruno@clisp.org>
80333
80334         * lib/safe-read.c: Include specification header first, to ensure its
80335         selfcontainedness.
80336         * lib/full-write.c: Likewise.
80337
80338 2003-01-07  Jim Meyering  <jim@meyering.net>
80339
80340         * lib/full-write.c: Rework so that it may serve to define full_read,
80341         too.
80342         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
80343
80344 2003-01-07  Bruno Haible  <bruno@clisp.org>
80345
80346         * lib/strtoimax.c: Include <stdint.h> as an alternative to
80347         <inttypes.h>.
80348         * lib/xstrtol.h: Likewise.
80349         * lib/xstrtoimax.c: Likewise.
80350         * lib/xstrtoumax.c: Likewise.
80351         * lib/human.h: Likewise.
80352
80353         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
80354         on systems that have <inttypes.h> but not <stdint.h>.
80355
80356 2003-01-07  Bruno Haible  <bruno@clisp.org>
80357
80358         * MODULES.html.sh: Add copyright notice.
80359         (missed_files): Omit CVS directory entries.
80360         (func_module): Make it work with sed-3.02.
80361         * MODULES.txt: Remove file.
80362
80363 2003-01-06  Jim Meyering  <jim@meyering.net>
80364
80365         * lib/version-etc.c: Update year in translatable copyright string.
80366
80367 2003-01-03  Karl Berry  <karl@gnu.org>
80368
80369         * config/config.{guess,sub}: update from prep.
80370
80371 2003-01-02  Karl Berry  <karl@gnu.org>
80372
80373         * doc/COPYING.DOC: belatedly updated to 1.2.
80374
80375 2003-01-01  Karl Berry  <karl@gnu.org>
80376
80377         * gnulib-tool (func_verify_module): report module name $module in
80378         error message, not $1.
80379         * gnulib-tool (create-testdir): don't complain if destdir couldn't
80380         be created, only if it doesn't exist.
80381         * gnulib-tool (last_checkin_date): don't expand the $Date here.
80382
80383 2002-12-31  Paul Eggert  <eggert@twinsun.com>
80384
80385         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
80386
80387 2002-12-31  Paul Eggert  <eggert@twinsun.com>
80388
80389         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
80390         memcmp if strcoll doesn't work.
80391
80392 2002-12-31  Bruno Haible  <bruno@clisp.org>
80393
80394         * lib/utime.c (utime_null): No need to call ftruncate if the file was
80395         nonempty.
80396
80397 2002-12-31  Bruno Haible  <bruno@clisp.org>
80398
80399         * lib/memcoll.c (STRCOLL): New macro.
80400         (memcoll): Use it.
80401
80402 2002-12-31  Bruno Haible  <bruno@clisp.org>
80403
80404         * lib/localcharset.h: New file.
80405         * lib/localcharset.c: Include it.
80406         * lib/unicodeio.c: Likewise.
80407
80408 2002-12-31  Bruno Haible  <bruno@clisp.org>
80409
80410         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
80411         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
80412
80413 2002-12-31  Bruno Haible  <bruno@clisp.org>
80414
80415         * lib/getline.h: Include <stddef.h>, for size_t.
80416
80417         * lib/unicodeio.h: Include <stddef.h>, for size_t.
80418         * lib/unicodeio.c: Don't include <stddef.h>.
80419
80420 2002-12-31  Bruno Haible  <bruno@clisp.org>
80421
80422         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
80423         HAVE_TM_ZONE.
80424
80425 2002-12-24  Karl Berry  <karl@gnu.org>
80426
80427         * config/config.guess: update from prep.
80428
80429 2002-12-24  Bruno Haible  <bruno@clisp.org>
80430
80431         General infrasructure.
80432         * m4/README: Rewritten.
80433         * m4/onceonly.m4: New file.
80434         * m4/onceonly_2_57.m4: New file.
80435
80436         Module atexit.
80437         * m4/atexit.m4: New file.
80438
80439         Module strtod.
80440         * m4/strtod.m4: New file.
80441
80442         Module strtol.
80443         * m4/strtol.m4: New file.
80444
80445         Module strtoul.
80446         * m4/strtoul.m4: New file.
80447
80448         Module memchr.
80449         * m4/memchr.m4: New file.
80450
80451         Module memcmp.
80452         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
80453         (jm_FUNC_MEMCMP): Invoke it.
80454
80455         Module memcpy.
80456         * m4/memcpy.m4: New file.
80457
80458         Module memmove.
80459         * m4/memmove.m4: New file.
80460
80461         Module memset.
80462         * m4/memset.m4: New file.
80463
80464         Module strcspn.
80465         * m4/strcspn.m4: New file.
80466
80467         Module strpbrk.
80468         * m4/strpbrk.m4: New file.
80469
80470         Module strstr.
80471         * m4/strstr.m4: New file.
80472
80473         Module strerror.
80474         * m4/strerror.m4: New file.
80475
80476         Module mktime.
80477         * m4/mktime.m4: Renamed from jm-mktime.m4.
80478         (gl_PREREQ_MKTIME): New macro.
80479         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
80480
80481         Module malloc.
80482         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
80483         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
80484         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
80485
80486         Module realloc.
80487         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
80488         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
80489         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
80490
80491         Module strftime.
80492         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
80493         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
80494         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
80495         gl_TM_GMTOFF.
80496         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
80497
80498         Module xalloc.
80499         * m4/xalloc.m4: New file.
80500
80501         Module alloca.
80502         * m4/alloca.m4: New file.
80503
80504         Module putenv.
80505         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
80506         (jm_FUNC_PUTENV): Invoke it.
80507
80508         Module setenv.
80509         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
80510         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
80511         when invoked twice.
80512         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
80513         gt_FUNC_SETENV.
80514
80515         Module memrchr.
80516         * m4/memrchr.m4: New file.
80517
80518         Module stpcpy.
80519         * m4/stpcpy.m4: New file.
80520
80521         Module strcase.
80522         * m4/strcase.m4: New file.
80523
80524         Module strdup.
80525         * m4/strdup.m4: New file.
80526
80527         Module strnlen.
80528         * m4/strnlen.m4: New file.
80529
80530         Module strndup.
80531         * m4/strndup.m4: New file.
80532
80533         Module xstrtod.
80534         * m4/xstrtod.m4: New file.
80535
80536         Module xstrtol.
80537         * m4/xstrtol.m4: New file.
80538
80539         Module getdate.
80540         * m4/getdate.m4: New file.
80541
80542         Module unlocked-io.
80543         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
80544         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
80545         * m4/jm-glibc-io.m4n: Remove file.
80546
80547         Module long-options.
80548         * m4/long-options.m4: New file.
80549
80550         Module md5.
80551         * m4/md5.m4: New file.
80552
80553         Module sha.
80554         * m4/sha.m4: New file.
80555
80556         Module getstr.
80557         * m4/getstr.m4: New file.
80558
80559         Module getline.
80560         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
80561         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
80562         <sys/types.h>, for size_t. Use the function name gnu_getline, not
80563         simply getline. Infoke gl_PREREQ_GETLINE.
80564
80565         Module obstack.
80566         * m4/obstack.m4: New file.
80567
80568         Module hash.
80569         * m4/hash.m4: New file.
80570
80571         Module readtokens.
80572         * m4/readtokens.m4: New file.
80573
80574         Module strverscmp.
80575         * m4/strverscmp.m4: New file.
80576
80577         Module stdbool.
80578         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
80579         OSF/1.
80580
80581         Module strtoll.
80582         * m4/strtoll.m4: New file.
80583
80584         Module strtoull.
80585         * m4/strtoull.m4: New file.
80586
80587         Module strtoimax.
80588         * m4/strtoimax.m4: New file.
80589
80590         Module strtoumax.
80591         * m4/strtoumax.m4: New file.
80592
80593         Module xstrtoimax.
80594         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
80595         jm_AC_PREREQ_XSTRTOIMAX.
80596         Moved the strtol prerequisites to strtol.m4.
80597         Moved the strtoll prerequisites to strtoll.m4.
80598         Moved the strtoimax prerequisites to strtoimax.m4.
80599
80600         Module xstrtoumax.
80601         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
80602         jm_AC_PREREQ_XSTRTOUMAX.
80603         Moved the strtoul prerequisites to strtoul.m4.
80604         Moved the strtoull prerequisites to strtoull.m4.
80605         Moved the strtoumax prerequisites to strtoumax.m4.
80606
80607         Module chown.
80608         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
80609         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
80610
80611         Module dup2.
80612         * m4/dup2.m4: New file.
80613
80614         Module ftruncate.
80615         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
80616         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
80617
80618         Module getgroups.
80619         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
80620         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
80621
80622         Module gettimeofday.
80623         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
80624         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
80625         gl_PREREQ_GETTIMEOFDAY.
80626
80627         Module mkdir.
80628         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
80629         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
80630
80631         Module mkstemp.
80632         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
80633         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
80634         jm_AC_TYPE_UINTMAX_T.
80635         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
80636
80637         Module stat.
80638         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
80639         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
80640
80641         Module lstat.
80642         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
80643         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
80644
80645         Module timespec.
80646         * m4/timespec.m4 (gl_TIMESPEC): New macro.
80647         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
80648         * m4/st_mtim.m4: Indentation.
80649
80650         Module nanosleep.
80651         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
80652         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
80653         gl_PREREQ_NANOSLEEP.
80654
80655         Module regex.
80656         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
80657         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
80658         (gl_REGEX): New macro.
80659
80660         Module rename.
80661         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
80662         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
80663
80664         Module rmdir.
80665         * m4/rmdir.m4: New file.
80666
80667         Module utime.
80668         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
80669         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
80670         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
80671
80672         Module dirname.
80673         * m4/dirname.m4: New file.
80674
80675         Module getopt.
80676         * m4/getopt.m4: New file.
80677
80678         Module unistd-safer.
80679         * m4/unistd-safer.m4: New file.
80680
80681         Module fnmatch.
80682         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
80683         declaration.
80684         (gl_PREREQ_FNMATCH_EXTRA): New macro.
80685         (gl_FUNC_FNMATCH_POSIX): New macro.
80686         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
80687         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
80688         simply fnmatch.
80689
80690         Module exclude.
80691         * m4/exclude.m4: New file.
80692
80693         Module human.
80694         * m4/human.m4: New file.
80695
80696         Module acl.
80697         * m4/acl.m4: Nop.
80698
80699         Module backupfile.
80700         * m4/backupfile.m4: New file.
80701         * m4/d-ino.m4: Indentation.
80702
80703         Module fsusage.
80704         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
80705         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
80706         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
80707
80708         Module dirfd.
80709         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
80710         requirements.
80711
80712         Module euidaccess.
80713         * m4/euidaccess.m4: New file.
80714
80715         Module file-type.
80716         * m4/file-type.m4: New file.
80717
80718         Module fileblocks.
80719         * m4/fileblocks.m4: New file.
80720
80721         Module filemode.
80722         * m4/filemode.m4: New file.
80723
80724         Module isdir.
80725         * m4/isdir.m4: New file.
80726
80727         Module lchown.
80728         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
80729         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
80730
80731         Module makepath.
80732         * m4/makepath.m4: New file.
80733
80734         Module modechange.
80735         * m4/modechange.m4: New file.
80736
80737         Module mountlist.
80738         * m4/mountlist.m4: New file.
80739         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
80740         Indentation.
80741
80742         Module path-concat.
80743         * m4/path-concat.m4: New file.
80744
80745         Module pathmax.
80746         * m4/pathmax.m4: New file.
80747
80748         Module same.
80749         * m4/same.m4: New file.
80750
80751         Module save-cwd.
80752         * m4/save-cwd.m4: New file.
80753
80754         Module savedir.
80755         * m4/savedir.m4: New file.
80756
80757         Module xgetcwd.
80758         * m4/xgetcwd.m4: New file.
80759         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
80760
80761         Module xreadlink.
80762         * m4/xreadlink.m4: New file.
80763
80764         Module safe-read.
80765         * m4/safe-read.m4: New file.
80766
80767         Module safe-write.
80768         * m4/safe-write.m4: New file.
80769
80770         Module closeout.
80771         * m4/closeout.m4: New file.
80772
80773         Module stdio-safer.
80774         * m4/stdio-safer.m4: New file.
80775
80776         Module getpass.
80777         * m4/getpass.m4: New file.
80778
80779         Module getugroups.
80780         * m4/getugroups.m4: New file.
80781
80782         Module group-member.
80783         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
80784         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
80785
80786         Module idcache.
80787         * m4/idcache.m4: New file.
80788
80789         Module userspec.
80790         * m4/userspec.m4: New file.
80791
80792         Module gettime.
80793         * m4/clock_time.m4: New file.
80794         * m4/gettime.m4: New file.
80795
80796         Module settime.
80797         * m4/settime.m4: New file.
80798
80799         Module posixtm.
80800         * m4/posixtm.m4: New file.
80801
80802         Module gethostname.
80803         * m4/gethostname.m4: New file.
80804
80805         Module canon-host.
80806         * m4/canon-host.m4: New file.
80807
80808         Module gettext.
80809         * m4/codeset.m4: New file, from gettext-0.11.5.
80810         * m4/gettext.m4: New file, from gettext-0.11.5.
80811         * m4/glibc21.m4: New file, from gettext-0.11.5.
80812         * m4/iconv.m4: New file, from gettext-0.11.5.
80813         * m4/intdiv0.m4: New file, from gettext-0.11.5.
80814         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
80815         * m4/inttypes.m4: New file, from gettext-0.11.5.
80816         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
80817         * m4/isc-posix.m4: New file, from gettext-0.11.5.
80818         * m4/lcmessage.m4: New file, from gettext-0.11.5.
80819         * m4/lib-ld.m4: New file, from gettext-0.11.5.
80820         * m4/lib-link.m4: New file, from gettext-0.11.5.
80821         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
80822         * m4/progtest.m4: New file, from gettext-0.11.5.
80823         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
80824         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
80825         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
80826
80827         Module localcharset.
80828         * m4/localcharset.m4: New file.
80829
80830         Module hard-locale.
80831         * m4/hard-locale.m4: New file.
80832
80833         Module mbswidth.
80834         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
80835         onceonly macros.
80836         * m4/mbrtowc.m4: Add comment.
80837
80838         Module memcasecmp.
80839         * m4/memcasecmp.m4: New file.
80840
80841         Module memcoll.
80842         * m4/memcoll.m4: New file.
80843
80844         Module unicodeio.
80845         * m4/unicodeio.m4: New file.
80846
80847         Module rpmatch.
80848         * m4/rpmatch.m4: New file.
80849
80850         Module yesno.
80851         * m4/yesno.m4: New file.
80852
80853         Module exitfail.
80854         * m4/exitfail.m4: New file.
80855
80856         Module c-stack.
80857         * m4/c-stack.m4 (gl_C_STACK): New macro.
80858         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
80859
80860         Module error.
80861         * m4/error.m4 (gl_ERROR): New macro.
80862         (jm_PREREQ_ERROR): Use onceonly macros.
80863
80864         Module fatal.
80865         * m4/fatal.m4: New file.
80866
80867         Module getloadavg.
80868         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
80869         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
80870
80871         Module getpagesize.
80872         * m4/getpagesize.m4: New file.
80873
80874         Module getusershell.
80875         * m4/getusershell.m4: New file.
80876
80877         Module physmem.
80878         * m4/physmem.m4: New file.
80879
80880         Module posixver.
80881         * m4/posixver.m4: New file.
80882
80883         Module quotearg.
80884         * m4/quotearg.m4: New file.
80885
80886         Module quote.
80887         * m4/quote.m4: New file.
80888
80889         Module readutmp.
80890         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
80891
80892         Module sig2str.
80893         * m4/sig2str.m4: New file.
80894
80895         Other.
80896         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
80897         ulonglong.m4.
80898         * m4/intmax_t.m4: New file.
80899         * m4/d-type.m4: Indentation.
80900         * m4/jm-macros.m4: Update.
80901         * m4/prereq.m4 (jm_PREREQ): Update.
80902         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
80903         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
80904         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
80905         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
80906         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
80907         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
80908         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
80909         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
80910         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
80911         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
80912         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
80913         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
80914         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
80915         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
80916         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
80917         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
80918         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
80919         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
80920         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
80921
80922 2002-12-24  Bruno Haible  <bruno@clisp.org>
80923
80924         * MODULES.txt: Update according to m4/ changes.
80925
80926         Module gettext.
80927         * config.rpath: New file, from gettext-0.11.5.
80928
80929         * modules/*: New module descriptions.
80930         * gnulib-tool: New file.
80931         * MODULES.html.sh: New file.
80932
80933 2002-12-21  Karl Berry  <karl@gnu.org>
80934
80935         * doc/fdl.texi: update to version 1.2.
80936
80937 2002-12-19  Karl Berry  <karl@gnu.org>
80938
80939         * config/config.guess: update from prep.
80940
80941 2002-12-18  Bruno Haible  <bruno@clisp.org>
80942
80943         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
80944         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
80945
80946 2002-12-17  Bruno Haible  <bruno@clisp.org>
80947
80948         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
80949         stdlib.h, string.h.
80950
80951 2002-12-17  Bruno Haible  <bruno@clisp.org>
80952
80953         * lib/canon-host.c (strdup): Remove unused declaration.
80954
80955         * lib/fsusage.c: Include full_read.h.
80956         (get_fs_usage): Use full_read instead of safe_read.
80957
80958         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
80959
80960 2002-12-12  Karl Berry  <karl@gnu.org>
80961
80962         * config/config.guess: update from prep.
80963
80964 2002-12-11  Bruno Haible  <bruno@clisp.org>
80965
80966         * m4/setenv.m4: New file, from gettext-0.11.5.
80967
80968 2002-12-11  Bruno Haible  <bruno@clisp.org>
80969
80970         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
80971         not unsetenv().
80972         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
80973         modifications:
80974
80975         2002-12-11  Bruno Haible  <bruno@clisp.org>
80976
80977                 * setenv.c (alloca): Fall back to malloc.
80978                 (freea): New macro.
80979                 (setenv): Use freea() to free memory allocated with alloca().
80980
80981         2002-11-13  Bruno Haible  <bruno@clisp.org>
80982
80983                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
80984                 function declarations.
80985                 * unsetenv.c (unsetenv): Likewise.
80986
80987         2002-03-04  Bruno Haible  <bruno@clisp.org>
80988
80989                 Portability to AIX 4.3.3.
80990                 * unsetenv.c: New file, extracted from setenv.c.
80991                 * setenv.c: Move the unsetenv() function to unsetenv.c.
80992
80993         2001-12-20  Bruno Haible  <bruno@clisp.org>
80994
80995                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
80996                 use malloc instead. For SunOS 4.
80997
80998         2001-12-11  Bruno Haible  <bruno@clisp.org>
80999
81000                 * setenv.c: Declare alloca.
81001                 (compar_fn_t): New typedef.
81002                 (KNOWN_VALUE, STORE_VALUE): Use it.
81003
81004         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
81005         setenv.h.
81006
81007 2002-12-10  Paul Eggert  <eggert@twinsun.com>
81008
81009         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
81010         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
81011         Choose values that are less likely to collide with system fnmatch
81012         options.
81013         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
81014         defined (e.g., a pure POSIX system).
81015         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
81016         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
81017
81018 2002-12-06  Paul Eggert  <eggert@twinsun.com>
81019
81020         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
81021         a pain in practice to deal with generated m4 files.  This change
81022         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
81023
81024         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
81025         and jm-glibc-io.m4, as they are no longer a special case.
81026         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
81027         kludge and the auto-generation stuff.  Check only whether the
81028         functions are declared, not whether they exist, since older hosts
81029         that don't declare the functions can't use the optimization anyway.
81030
81031 2002-12-06  Jim Meyering  <jim@meyering.net>
81032
81033         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
81034
81035         Merge in changes from libc's misc/error.c, in preparation
81036         for the merge of gnulib's changes back into libc.
81037
81038         * lib/error.c (_): Define only if not already defined.
81039         Move definition to follow all #include directives.
81040         Include unlocked-io.h only if !_LIBC.
81041         [_LIBC]: Include <libio/libioP.h>.
81042         [USE_IN_LIBIO]: Include <libio/iolibio.h>
81043         (fflush): Tweak definition to use INTUSE.
81044         (putc): Define.
81045
81046 2002-12-05  Paul Eggert  <eggert@twinsun.com>
81047
81048         * lib/alloca.c [defined emacs]: Include "lisp.h".
81049         (xalloc_die) [defined emacs]: New macro.
81050         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
81051         [! defined emacs]: Include <xalloc.h>.
81052         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
81053         (pointer): Typedef to POINTER_TYPE *.
81054         (malloc): Remove decl; we now always use xmalloc.
81055         (alloca): Use old-style definition, since Emacs needs this.
81056         Check for arithmetic overflow when computing combined size.
81057
81058 2002-12-04  Paul Eggert  <eggert@twinsun.com>
81059
81060         Do not generate unlocked-io.h automatically, since it's easier to
81061         maintain it by hand.
81062
81063         * lib/unlocked-io.h: New file, from GNU diffutils,
81064         but with proper copyright notice and attribution.
81065         * lib/gen-uio: Remove.
81066         * lib/Makefile.am: Add copyright notice.
81067         (libfetish_a_SOURCES): Add unlocked-io.h.
81068         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
81069         (DISTCLEANFILES, io_functions): Remove macros.
81070         (EXTRA_DIST): Remove gen_uio.
81071         (unlocked-io.h): Remove rule.
81072
81073 2002-12-04  Jim Meyering  <jim@meyering.net>
81074
81075         Reflect the fact that stat.c and lstat.c are no longer generated.
81076         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
81077         (DISTCLEANFILES): Likewise.
81078         (EXTRA_DIST): Likewise.
81079         (all_local): Don't depend on stat.c or lstat.c.
81080         (stat.c, lstat.c): Remove rules.
81081         (EXTRA_DIST): Remove xstat.in.
81082
81083         * lib/xstat.in: Remove file.  Contents moved into stat.c.
81084         * lib/stat.c: New file.  Contents mostly from xstat.in.
81085         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
81086         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
81087
81088         * lib/safe-read.c: Rework so that it may serve to define safe_write,
81089         too.
81090         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
81091
81092 2002-12-03  Jim Meyering  <jim@meyering.net>
81093
81094         * lib/safe-read.c, safe-write.c: Change variable names and comments,
81095         but not semantics, to minimize the differences between these two files.
81096         (safe_read): Change comment to mention SAFE_READ_ERROR.
81097
81098         * lib/safe-read.c (IS_EINTR): Define.
81099         (safe_read): Use IS_EINTR in place of in-function cpp directives.
81100
81101 2002-12-02  Jim Meyering  <jim@meyering.net>
81102
81103         * lib/safe-read.c (EINTR): Define.
81104         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
81105         (INT_MAX): Provide fallback.
81106         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
81107
81108         * lib/safe-read.h (SAFE_READ_ERROR): Define.
81109
81110 2002-12-02  Bruno Haible  <bruno@clisp.org>
81111
81112         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
81113         Define, taken from safe-read.c.
81114         (INT_MAX): Provide fallback.
81115         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
81116         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
81117
81118         * lib/safe-read.c (EINTR): Remove definition.
81119         (safe_read): Don't use EINTR if it is absent.
81120
81121 2002-12-01  Jim Meyering  <jim@meyering.net>
81122
81123         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
81124         zero.
81125         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
81126
81127 2002-11-27  Paul Eggert  <eggert@twinsun.com>
81128
81129         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
81130         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
81131         with `if (! (value < limit)) abort ();', for readability.
81132
81133 2002-11-26  Karl Berry  <karl@gnu.org>
81134
81135         * lib/strdup.c: copy from libc again, with jim's ok.
81136         * lib/.cppi-disable: re-add strdup.c
81137
81138 2002-11-25  Karl Berry  <karl@gnu.org>
81139
81140         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
81141         instead of "strtol.c".
81142
81143 2002-11-25  Karl Berry  <karl@gnu.org>
81144
81145         * config/install-sh: update from automake for variable quoting, $0 in
81146         error msgs, etc.
81147
81148         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
81149         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
81150         entry.
81151
81152 2002-11-25  Jim Meyering  <jim@meyering.net>
81153
81154         * lib/mktime.c: Sync from libc, now that it has the latest fix.
81155
81156 2002-11-24  Karl Berry  <karl@gnu.org>
81157
81158         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
81159         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
81160
81161 2002-11-24  Jim Meyering  <jim@meyering.net>
81162
81163         Update from coreutils:
81164
81165         * lib/mktime.c: Merge in changes from libc.
81166
81167         Avoid a link-time failure on some Linux systems.
81168         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
81169         (otherwise).
81170         (__mon_yday): Declare with the STATIC attribute.
81171         (__mktime_internal): Likewise.
81172         Based on a report from Greg Schafer.
81173
81174 2002-11-23  Jim Meyering  <jim@meyering.net>
81175
81176         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
81177         Use `unsigned', not `int', as type of index.
81178
81179         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
81180
81181         * lib/fsusage.c: Remove unneeded parentheses around operands of
81182         `defined'.
81183
81184 2002-11-22  Paul Eggert  <eggert@twinsun.com>
81185
81186         * lib/quotearg.h: Allow multiple inclusion by surrounding with
81187         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
81188         so that we can be included first.
81189         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
81190         * lib/quotearg.c: Include quotearg.h immediately after config.h.
81191         No need to include stddef.h or sys/types.h any more.
81192         Surround local include files with "", not "<>".
81193         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
81194         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
81195         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
81196         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
81197         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
81198         (ISPRINT): Remove; no longer needed now that we assume C89.
81199
81200         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
81201         Preserve errno.
81202
81203         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
81204         quotearg_char): Use SIZE_MAX rather than
81205         (size_t) -1 when we are talking about "infinity".
81206
81207         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
81208
81209 2002-11-22  Paul Eggert  <eggert@twinsun.com>
81210
81211         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
81212         hint that one should use `if (! x) abort ();' rather than `assert
81213         (x);', and anyway it's one less thing to worry about configuring.
81214         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
81215         hash_rehash, hash_insert): Use abort rather than assert.
81216
81217 2002-11-22  Bruno Haible  <bruno@clisp.org>
81218
81219         * lib/safe-read.h: Assume C89. Add comments.
81220         (safe_read): Change return type to size_t.
81221         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
81222         byte counts > SSIZE_MAX correctly.
81223         * lib/safe-write.h: New file.
81224         * lib/safe-write.c: New file.
81225         * lib/full-read.h: New file.
81226         * lib/full-read.c: New file.
81227         * lib/full-write.h: Assume C89. Add comments.
81228         * lib/full-write.c: Include safe-write.h.
81229         (full_write): Rewritten to use safe_write.
81230         Suggested by Jim Meyering and Paul Eggert.
81231
81232 2002-11-21  Jim Meyering  <jim@meyering.net>
81233
81234         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
81235
81236         Merge in changes from the coreutils.
81237
81238         2002-09-25  Paul Eggert  <eggert@twinsun.com>
81239         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
81240         <stdint.h>.
81241         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
81242         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
81243         int.  Work more efficiently if X is the same width as uintmax_t.
81244         Do not compare X to -1, to avoid bogus compiler warning.
81245         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
81246         Don't assume that f_frsize and f_bsize are the same type.
81247
81248         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
81249         warning on FreeBSD.
81250
81251         * lib/makepath.c (make_path): Restore umask *before* creating the final
81252         component.
81253         (make_path): Minor reformatting.
81254
81255         * lib/xmalloc.c: Adjust to work with new autoconf macros,
81256         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
81257         HAVE_MALLOC/HAVE_REALLOC.
81258
81259         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
81260         dummy ones.  At least on GNU/Linux systems, `auto' means something
81261         else.
81262         From Michael Stone.
81263
81264 2002-11-21  Bruno Haible  <bruno@clisp.org>
81265
81266         Remove case insensitive option matching.
81267         * lib/argmatch.h (argcasematch): Remove declaration.
81268         (ARGCASEMATCH): Remove macro.
81269         (__xargmatch_internal): Remove case_sensitive argument.
81270         (XARGMATCH): Update.
81271         (XARGCASEMATCH): Remove macro.
81272         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
81273         case_sensitive argument.
81274         (argcasematch): Remove function.
81275         (__xargmatch_internal): Remove case_sensitive argument.
81276         (main): Use XARGMATCH instead of XARGCASEMATCH.
81277
81278         * lib/xmalloc.c: Change compile-time error message. Add comment about
81279         required autoconf version.
81280
81281 2002-11-20  Paul Eggert  <eggert@twinsun.com>
81282
81283         Merge argmatch cleanups from Bison.  Assume C89.
81284
81285         * lib/argmatch.c: Include config.h here, not in argmatch.h.
81286         Include stdlib.h, for EXIT_FAILURE.
81287         Always include <string.h>, since we assume C89.
81288         (EXIT_FAILURE): Remove pre-C89 bug workaround.
81289         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
81290         Include <stddef.h> instead, since it's all we need for size_t.
81291         (PARAMS): Remove.  All uses removed.
81292         (ARRAY_CARDINALITY): Do not bother to #undef.
81293         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
81294         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
81295         Remove unnecessary parentheses.
81296         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
81297         Insert necessary parentheses.
81298         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
81299         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
81300
81301 2002-11-19  Bruno Haible  <bruno@clisp.org>
81302
81303         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
81304         * lib/mbswidth.h: Include <stddef.h>, for size_t.
81305
81306         * lib/mbswidth.h (PARAMS): Remove macro.
81307         (mbswidth, mbsnwidth): Use ANSI C function declarations.
81308         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
81309
81310         * lib/gcd.h (PARAMS): Remove macro.
81311         (gcd): Use ANSI C function declarations.
81312         * lib/gcd.c (gcd): Likewise.
81313
81314 2002-11-15  Bruno Haible  <bruno@clisp.org>
81315
81316         * lib/strcspn.c: Include <stddef.h>.
81317         (strcspn): Use ANSI C function declaration. Change return type to
81318         size_t. Use NULL.
81319         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
81320         (strpbrk): Use NULL.
81321         * lib/strpbrk.h (PARAMS): Remove macro.
81322         (strpbrk): Use ANSI C function declaration.
81323         * lib/strstr.c: Don't include <sys/types.h>.
81324         * lib/strstr.h (PARAMS): Remove macro.
81325         (strstr): Use ANSI C function declarations.
81326
81327 2002-11-14  Karl Berry  <karl@gnu.org>
81328
81329         * config/mkinstalldirs: `do' on separate line, instead of
81330         `for var; do'.
81331
81332 2002-11-06  Bruno Haible  <bruno@clisp.org>
81333
81334         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
81335         * lib/gcd.c (gcd): Likewise.
81336
81337 2002-11-05  Bruno Haible  <bruno@clisp.org>
81338
81339         * lib/gcd.h: New file, from gettext-0.11.5.
81340         * lib/gcd.c: New file, from gettext-0.11.5.
81341
81342 2002-11-05  Bruno Haible  <bruno@clisp.org>
81343
81344         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81345         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81346         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81347         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81348
81349         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
81350         <libintl.h>.
81351         * lib/makepath.c: Include gettext.h instead of <locale.h> and
81352         <libintl.h>.
81353
81354         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
81355         * lib/human.c: Include gettext.h instead of <libintl.h>.
81356         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
81357         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
81358         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
81359         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
81360         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
81361         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
81362         (textdomain): Remove definition.
81363         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
81364
81365         * lib/long-options.c: Remove include of <libintl.h> and definition of
81366         _.
81367         * lib/same.c: Remove include of <libintl.h> and definition of _.
81368
81369 2002-11-04  Owen Taylor  <otaylor@redhat.com>
81370
81371         * lib/config.charset: A few additions for Solaris.
81372
81373 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
81374
81375         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
81376         * lib/localcharset.c (locale_charset): Declare as extern "C".
81377
81378 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
81379
81380         * lib/config.charset: msdos in uk_UA uses CP1125.
81381
81382 2002-11-04  Bruno Haible  <bruno@clisp.org>
81383
81384         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
81385         * lib/strcase.h: New file, from GNU gettext-0.11.5.
81386         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
81387         * lib/strstr.h: New file, from GNU gettext-0.11.5.
81388         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
81389
81390 2002-11-04  Bruno Haible  <bruno@clisp.org>
81391
81392         * lib/localcharset.c (locale_charset): Don't return an empty string.
81393
81394 2002-11-04  Bruno Haible  <bruno@clisp.org>
81395
81396         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
81397         aliases.
81398
81399 2002-11-04  Bruno Haible  <bruno@clisp.org>
81400
81401         * lib/config.charset: Update for newest glibc. Add canonical names
81402         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
81403
81404 2002-11-04  Bruno Haible  <bruno@clisp.org>
81405
81406         * lib/config.charset: Add support for NetBSD.
81407
81408 2002-11-04  Bruno Haible  <bruno@clisp.org>
81409
81410         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
81411
81412 2002-11-01  Bruno Haible  <bruno@clisp.org>
81413
81414         * configure.in: Add AC_CONFIG_AUX_DIR call.
81415         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
81416         test/Makefile.
81417         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
81418
81419 2002-09-28  Karl Berry  <karl@gnu.org>
81420
81421         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
81422         installed automake until the next release, since changes have been
81423         made.
81424
81425 2002-09-25  Karl Berry  <karl@gnu.org>
81426
81427         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
81428         * lib/getopt*: copy from libc/posix.
81429         * lib/gettext.h: copy from gettext.
81430         * lib/.cppi-disable: add strdup.c, gettext.h.
81431
81432 2002-09-25  Karl Berry  <karl@gnu.org>
81433
81434         * config/srclist.txt: enable gettext.h check.
81435         * config/config.{guess,sub}: update from prep.
81436         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
81437                 from automake 1.6.3.
81438         See srclist*.
81439
81440 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
81441
81442         * regex.c (PATFETCH): Remove the translating fetch.
81443         (PATFETCH_RAW): Rename to PATFETCH.
81444         (set_image_of_range): New fun.
81445         (SET_RANGE_TABLE_WORK_AREA): Use it.
81446         (regex_compile): Don't translate the pattern chars so eagerly.
81447         Only do it when inserting an `exactn' bytecode or when handling
81448         a char-range.
81449         (mutually_exclusive_p): Avoid empty statement.
81450
81451 2002-07-06  Jim Meyering  <meyering@lucent.com>
81452
81453         * m4/README: Don't mention Makefile.am.in.
81454         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
81455
81456 2002-07-01  Jim Meyering  <meyering@lucent.com>
81457
81458         * lib/c-stack.c: Include sys/time.h.
81459         From Volker Borchert.
81460
81461 2002-06-26  Paul Eggert  <eggert@twinsun.com>
81462
81463         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
81464
81465 2002-06-26  Paul Eggert  <eggert@twinsun.com>
81466
81467         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
81468         New macro.  Use it uniformly instead of
81469         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
81470         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
81471         reported by Vin Shelton.
81472
81473 2002-06-22  Paul Eggert  <eggert@twinsun.com>
81474
81475         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
81476         Do not assume SA_SIGINFO behavior.
81477         Bug reported by Jim Meyering on NetBSD 1.5.2.
81478
81479 2002-06-22  Jim Meyering  <meyering@lucent.com>
81480
81481         * m4/c-stack.m4: New file, from diffutils-2.8.2.
81482         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
81483
81484         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
81485         now that configure.ac uses AC_GNU_SOURCE.
81486         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
81487         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
81488
81489         Update to latest tools.  Suggestions from Paul Eggert.
81490         * m4/stdbool.m4: New file, from diffutils-2.8.2.
81491         * m4/gnu-source.m4: Update from diffutils-2.8.2.
81492         * m4/fnmatch.m4: Likewise.
81493         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
81494         to AC_HEADER_STDBOOL
81495
81496 2002-06-22  Jim Meyering  <meyering@lucent.com>
81497
81498         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
81499         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
81500
81501 2002-06-22  Jim Meyering  <meyering@lucent.com>
81502
81503         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
81504
81505         * lib/exitfail.c, exitfail.h: Likewise.
81506         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
81507
81508         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
81509         of fnmatch.h.
81510         (EXTRA_DIST): Add fnmatch_loop.c.
81511         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
81512
81513         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
81514         * lib/fnmatch.c: Update from diffutils-2.8.2.
81515         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
81516         * lib/fnmatch.h: Remove file.
81517
81518 2002-06-21  Jim Meyering  <meyering@lucent.com>
81519
81520         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
81521         * m4/mbrtowc.m4: Likewise.
81522
81523         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
81524         * m4/mbswidth.m4: Reflect name change:
81525         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
81526         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
81527
81528         * m4/lib-link.m4: Update from gettext-0.11.2.
81529         * m4/gettext.m4: Likewise.
81530
81531         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
81532         From Alfred M. Szmidt.
81533
81534 2002-06-18  Paul Eggert  <eggert@twinsun.com>
81535
81536         * lib/file-type.h: Report an error if neither S_ISREG nor
81537         S_IFREG is defined, instead of using a test specific to glibc
81538         2.2.  This should be safe, since POSIX requires S_ISREG and
81539         Unix Version 7 had S_IFREG.  We don't need to check for
81540         <sys/types.h> since we don't use any symbols that it defines.
81541
81542 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
81543
81544         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
81545         $@-t, so that each temporary file name is unique and valid in the first
81546         8 characters, for operation under DOS.
81547
81548 2002-06-15  Paul Eggert  <eggert@twinsun.com>
81549
81550         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
81551
81552 2002-06-15  Jim Meyering  <meyering@lucent.com>
81553
81554         Work even with DJGPP 2.03, which lacks support for symlinks.
81555         From Richard Dawe.
81556         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
81557         is defined.
81558         * lib/lchown.c (S_ISLNK): Likewise.
81559
81560 2002-06-15  Jim Meyering  <meyering@lucent.com>
81561
81562         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
81563         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
81564         have been included before this file.
81565
81566 2002-06-14  Jim Meyering  <meyering@lucent.com>
81567
81568         * lib/file-type.h: Use the version from diffutils-2.8.2.
81569         * lib/file-type.c: Likewise.
81570
81571 2002-06-07  Jim Meyering  <meyering@lucent.com>
81572
81573         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
81574         They're needed at least for NetBSD 1.5.2.
81575         ($statxfs_includes): Include those same headers.
81576         ($statxfs_includes): Include sys/vfs.h if available.
81577         ($statxfs_includes): Likewise for sys/statvfs.h.
81578         Check for the following members in both structs statfs and statvfs:
81579         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
81580
81581 2002-06-01  Jim Meyering  <meyering@lucent.com>
81582
81583         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
81584         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
81585
81586 2002-05-28  Jim Meyering  <meyering@lucent.com>
81587
81588         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
81589         Reported by Volker Borchert.
81590
81591 2002-05-27  Jim Meyering  <meyering@lucent.com>
81592
81593         Fix a problem seen only on nonconforming systems whereby ls.c's
81594         use of localtime, and then of gettimeofday would cause trouble:
81595         the localtime call used to initialize rpl_gettimeofday's save
81596         mechanism would clobber ls's current local time information so
81597         that in any long listing the first file would always be listed
81598         with date 1970-01-01.  Analysis by Volker Borchert.
81599
81600         * lib/gettimeofday.c (localtime): Undefine.
81601         (rpl_localtime): New function.
81602
81603 2002-05-27  Jim Meyering  <meyering@lucent.com>
81604
81605         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
81606         localtime.
81607
81608         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
81609         use the replacement function; it wouldn't resolve at link time.
81610         Reported by Volker Borchert.
81611
81612 2002-05-22  Jim Meyering  <meyering@lucent.com>
81613
81614         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
81615         file-type.h.
81616         * lib/file-type.h: New file.
81617         * lib/file-type.c (file_type): New file/function.  Extracted from
81618         diffutils.
81619
81620 2002-04-30  Jim Meyering  <meyering@lucent.com>
81621
81622         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
81623
81624 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81625
81626         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
81627
81628 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81629
81630         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
81631         Do not check for alloca.h (no longer used) or stdbool.h (was never
81632         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
81633
81634 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81635
81636         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
81637
81638 2002-04-29  Jim Meyering  <meyering@lucent.com>
81639
81640         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
81641         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
81642         Use AC_FUNC_STRNLEN here instead.
81643
81644         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
81645         With autoconf-2.53a, it's part of AC_PROG_CC.
81646
81647 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81648
81649         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
81650         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
81651
81652 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81653
81654         * lib/sig2str.h, lib/sig2str.c: New files.
81655         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
81656
81657 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81658
81659         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
81660         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
81661         of 127, since 64 is the largest conceivable number for ancient
81662         nonstandard hosts.
81663         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
81664
81665 2002-04-28  Jim Meyering  <meyering@lucent.com>
81666
81667         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
81668
81669 2002-04-24  Jim Meyering  <meyering@lucent.com>
81670
81671         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
81672         (jm_PREREQ): Use it.
81673
81674         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
81675         mach/mach.h fcntl.h.
81676         Check for this function: setlocale.
81677
81678 2002-04-24  Jim Meyering  <meyering@lucent.com>
81679
81680         * lib/gettext.h: New file, from Gettext.
81681         * lib/Makefile.am (INCLUDES): Remove -I../intl.
81682         (libfetish_a_SOURCES): Add gettext.h.
81683
81684 2002-04-16  Jim Meyering  <meyering@lucent.com>
81685
81686         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
81687         ut_pid, ut_id, ut_exit.
81688
81689 2002-04-16  Jim Meyering  <meyering@lucent.com>
81690
81691         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
81692         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
81693         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
81694
81695 2002-04-12  Jim Meyering  <meyering@lucent.com>
81696
81697         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
81698         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
81699         existence of the getmntinfo function.  Needed for Darwin 5.3.
81700
81701         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
81702         This is necessary at least on Darwin 5.3.
81703
81704         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
81705         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
81706         strnlen.o in the library, and that makes some versions of ranlib
81707         object.
81708
81709 2002-04-12  Jim Meyering  <meyering@lucent.com>
81710
81711         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
81712
81713 2002-04-09  Jim Meyering  <meyering@lucent.com>
81714
81715         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
81716         to be more precise.  Rather than saying we're checking whether the
81717         function `works', say what we're testing.
81718         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
81719         Reported by Bruno Haible.
81720
81721 2002-03-10  Jim Meyering  <meyering@lucent.com>
81722
81723         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
81724         Suggestion from Santiago Vila.
81725
81726 2002-03-08  Jim Meyering  <meyering@lucent.com>
81727
81728         * lib/rename.c: Mention that this wrapper is needed also on
81729         mips-dec-ultrix4.4 systems.
81730
81731 2002-03-02  Jim Meyering  <meyering@lucent.com>
81732
81733         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
81734         not HAVE_CLOCK_SETTIME.
81735
81736 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81737
81738         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
81739         Check for clock_settime.
81740
81741 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81742
81743         * lib/nanosleep.h: Rename to....
81744         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
81745
81746         * lib/gettime.c: New file.
81747         * lib/settime.c: New file.
81748         * lib/stime.c: Remove.
81749
81750         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
81751         timespec.h.  Remove nanosleep.h.
81752
81753 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81754
81755         * m4/acl.m4: New file.
81756         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
81757         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
81758
81759 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81760
81761         * lib/acl.c, lib/acl.h: New files.
81762         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
81763
81764 2002-02-24  Jim Meyering  <meyering@lucent.com>
81765
81766         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
81767         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
81768         cause trouble.  Reported by Nelson Beebe.
81769
81770 2002-02-23  Paul Eggert  <eggert@twinsun.com>
81771
81772         * lib/path-concat.c (xpath_concat): Reorder code to pacify
81773         compilers that don't know that xalloc_die never returns.
81774
81775 2002-02-20  Jim Meyering  <meyering@lucent.com>
81776
81777         * lib/getdate.c: Regenerate using bison-1.33.
81778
81779 2002-02-17  Jim Meyering  <meyering@lucent.com>
81780
81781         * config/config.guess (main): Don't use `head -1'; it's no longer
81782         portable. Use `sed 1q' instead.
81783
81784 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
81785
81786         * m4/codeset.m4: Upgrade to gettext-0.11.
81787         * m4/gettext.m4: Upgrade to gettext-0.11.
81788         * m4/glibc21.m4: Upgrade to gettext-0.11.
81789         * m4/iconv.m4: Upgrade to gettext-0.11.
81790         * m4/isc-posix.m4: Upgrade to gettext-0.11.
81791         * m4/lcmessage.m4: Upgrade to gettext-0.11.
81792         * m4/lib-ld.m4: New file, from gettext-0.11.
81793         * m4/lib-link.m4: New file, from gettext-0.11.
81794         * m4/lib-prefix.m4: New file, from gettext-0.11.
81795         * m4/progtest.m4: Upgrade to gettext-0.11.
81796
81797 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81798
81799         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
81800         (jm_PREREQ): Use it.
81801
81802 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81803
81804         * lib/posixver.c, lib/posixver.h: New files.
81805         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81806
81807 2002-02-02  Paul Eggert  <eggert@twinsun.com>
81808             Bruno Haible  <bruno@clisp.org>
81809
81810         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
81811         (fwrite_success_callback): New declaration.
81812         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
81813         print_unicode_char. Call failure callback instead of error.
81814         (fwrite_success_callback): New function.
81815         (exit_failure_callback): New function.
81816         (fallback_failure_callback): New function.
81817         (print_unicode_char): Call unicode_to_mb.
81818
81819 2002-01-26  Jim Meyering  <meyering@lucent.com>
81820
81821         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
81822         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
81823
81824 2002-01-26  Jim Meyering  <meyering@lucent.com>
81825
81826         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
81827
81828 2002-01-22  Paul Eggert  <eggert@twinsun.com>
81829
81830         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
81831
81832 2002-01-22  Jim Meyering  <meyering@lucent.com>
81833
81834         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
81835         Otherwise, some versions of automake would omit the rule that makes
81836         Makefile from Makefile.in.
81837
81838 2002-01-21  Paul Eggert  <eggert@twinsun.com>
81839
81840         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
81841         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81842         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
81843         (memcoll): Set errno to zero if there is no error.
81844
81845         * lib/quotearg.c (quotearg_buffer_restyled):
81846         Fix bug with quoting buffers containing NUL when backslashing escapes.
81847         This bug was exposed by the other changes in this patch.
81848         (quotearg_n_options): New arg ARGSIZE.
81849         All callers changed.
81850         (quoting_options_from_style): New function.
81851         (quotearg_n_style): Use it.
81852         (quotearg_n_style_mem): New function.
81853
81854         * lib/quotearg.h (quotearg_n_style_mem): New function.
81855
81856 2002-01-19  Jim Meyering  <meyering@lucent.com>
81857
81858         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
81859         Remove useless quotes: DF_PROG="df".
81860         * m4/strnlen.m4: New file.
81861
81862 2002-01-16  Paul Eggert  <eggert@twinsun.com>
81863
81864         * lib/backupfile.c (ISDIGIT): Comment fix.
81865         * lib/getdate.y (ISDIGIT): Likewise.
81866         * lib/posixtm.c (ISDIGIT, year): Likewise.
81867         * lib/strverscmp.c (ISDIGIT): Likewise.
81868         * lib/userspec.c (ISDIGIT): Likewise.
81869
81870 2002-01-16  Jim Meyering  <meyering@lucent.com>
81871
81872         * lib/getdate.y: Add three semicolons, each just before a closing
81873         brace. Bison (as of version 1.31) no longer papers over that mistake.
81874
81875 2002-01-05  Jim Meyering  <meyering@lucent.com>
81876
81877         * lib/version-etc.c (version_etc_copyright): Update copyright year.
81878
81879 2001-12-19  Paul Eggert  <eggert@twinsun.com>
81880
81881         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
81882         not silently exit merely because the output buffer happens to
81883         have nothing pending.
81884
81885 2001-12-18  Paul Eggert  <eggert@twinsun.com>
81886
81887         See the big note in ../ChangeLog.
81888         * lib/human.c (suffixes): Prefer K to k for 1024.
81889         (generate_suffix_backwards): New function.
81890         (human_readable_inexact): Use it.
81891         * lib/xstrtol.c (__xstrtol): If there is no number but there
81892         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
81893         Accept 'K' as well as 'k'.
81894
81895 2001-12-15  Jim Meyering  <meyering@lucent.com>
81896
81897         * lib/regex.h (__restrict_arr): Update from libc.
81898
81899         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
81900         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
81901         (STREQ): Define.
81902
81903 2001-12-14  Jim Meyering  <meyering@lucent.com>
81904
81905         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
81906         Suggestion from Bruno Haible.
81907
81908 2001-12-10  Jim Meyering  <meyering@lucent.com>
81909
81910         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
81911         xrealloc, Instead, include "xalloc.h".
81912         (initbuffer): Don't cast xmalloc return value to char*.
81913         (readline): Reword comment.
81914         Don't cast xrealloc return value to char*
81915         Return NULL, not 0.
81916
81917 2001-12-09  Jim Meyering  <meyering@lucent.com>
81918
81919         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
81920         about `signed and unsigned type in conditional expression'.
81921         * lib/posixtm.c (posix_time_parse): Likewise.
81922
81923         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
81924
81925         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
81926         to avoid a pedantic warning.
81927
81928         * lib/getstr.c: Don't include assert.h.
81929         (getstr): Remove warning-evoking assertions.
81930         Return -1 if offset parameter is out of bounds.
81931         Change the type of a local from int to size_t.
81932
81933         * lib/strftime.c (my_strftime_localtime_r): Include this function
81934         definition in the `#if ! HAVE_TM_GMTOFF' block.
81935
81936         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
81937         Include xalloc.h instead.
81938
81939 2001-12-02  Jim Meyering  <meyering@lucent.com>
81940
81941         * lib/tempname.c: Don't declare getenv, thus reverting the change of
81942         2001-11-18.  It's no longer necessary, now that stdlib.h is always
81943         included.
81944
81945         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
81946         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
81947
81948 2001-11-30  Akim Demaille  <akim@epita.fr>
81949
81950         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
81951         before being defined.
81952
81953 2001-11-27  Paul Eggert  <eggert@twinsun.com>
81954
81955         * lib/quotearg.h (quotearg_n, quotearg_n_style):
81956         First arg is int, not unsigned.
81957         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
81958         (SIZE_MAX, UINT_MAX): New macros.
81959         (quotearg_n_options): Abort if N is negative.
81960         Avoid overflow check on hosts where size_t is 64 bits and int
81961         is 32 bits, as overflow is impossible there.
81962         Fix off-by-one typo that caused unnecessary reallocation.
81963
81964 2001-11-27  Jim Meyering  <meyering@lucent.com>
81965
81966         * lib/tempname.c: Merge with version from libc.
81967         * lib/regex.c: Likewise.
81968
81969         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
81970         systems for which STDC_HEADERS is 0, it was not included, resulting in
81971         a warning about an integer-to-pointer conversion problem with getenv.
81972         Reported by Volker Borchert.
81973
81974 2001-11-26  Jim Meyering  <meyering@lucent.com>
81975
81976         * lib/gtod.h: Remove file.
81977         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
81978         * lib/gettimeofday.c: Don't include gtod.h.
81979         (GTOD_init): Remove function.
81980         (rpl_gettimeofday): Do its job here instead, rather than aborting.
81981         Suggestion from Volker Borchert.
81982
81983 2001-11-23  Jim Meyering  <meyering@lucent.com>
81984
81985         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
81986         it.
81987         * lib/hash.c (struct hash_table): Define it here instead.
81988
81989 2001-11-22  Jim Meyering  <meyering@lucent.com>
81990
81991         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
81992
81993 2001-11-20  Jim Meyering  <meyering@lucent.com>
81994
81995         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
81996         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
81997
81998 2001-11-19  Jim Meyering  <meyering@lucent.com>
81999
82000         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
82001         directory.  Use "conftestXXXXXX" as the template.
82002         Suggestion from Paul Eggert.
82003
82004         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
82005         immediately, so the test doesn't mistakenly hit the max-open-files
82006         limit.
82007
82008 2001-11-18  Paul Eggert  <eggert@twinsun.com>
82009
82010         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
82011         (TEMPORARIES): New macro.
82012         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
82013         removes an artificial limitation (e.g. HP-UX 10.20, where
82014         TMP_MAX is 17576).
82015
82016 2001-11-18  Jim Meyering  <meyering@lucent.com>
82017
82018         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
82019
82020 2001-11-18  Jim Meyering  <meyering@lucent.com>
82021
82022         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
82023         on SunOS 4.
82024
82025         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
82026         files will be created before anything else.
82027
82028 2001-11-17  Paul Eggert  <eggert@twinsun.com>
82029
82030         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
82031         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
82032
82033 2001-11-17  Jim Meyering  <meyering@lucent.com>
82034
82035         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
82036         Prompted by a report from Bob Proulx.
82037
82038         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
82039         Instead, require UTILS_FUNC_MKSTEMP.
82040
82041 2001-11-17  Jim Meyering  <meyering@lucent.com>
82042
82043         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
82044         Now, that's done as part of AC_FUNC_STRTOD.
82045
82046 2001-11-17  Jim Meyering  <meyering@lucent.com>
82047
82048         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
82049         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
82050         rather than group writable.  Patch by Juan F. Codagnone.
82051
82052         * lib/readtokens.c: Remove explicit declarations of xmalloc and
82053         xrealloc, Instead, include "xalloc.h".
82054
82055         * lib/mountlist.c: Include unlocked-io.h after all system headers.
82056         Remove explicit declarations of xmalloc, xrealloc,
82057         and xstrdup.  Instead, include "xalloc.h".
82058
82059         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
82060         unlocked-io.h.
82061         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
82062         Likewise.
82063         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
82064
82065         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
82066         Reported by Padraig Brady.
82067
82068         * lib/mkstemp.c: #undef mkstemp.
82069         Include config.h.
82070         (rpl_mkstemp): Rename from mkstemp.
82071         Protoize.
82072
82073 2001-11-16  Jim Meyering  <meyering@lucent.com>
82074
82075         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
82076         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
82077         determine the amount of total physical memory, use pstat_getstatic.
82078         HPUX-11 doesn't define _SC_PHYS_PAGES.
82079         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
82080         If sysconf couldn't be used to determine the amount of available
82081         physical memory, use both pstat_getstatic and pstat_getdynamic.
82082         Based on a patch from Bob Proulx.
82083
82084 2001-11-10  Jim Meyering  <meyering@lucent.com>
82085
82086         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
82087         (jm_PREREQ): Use it.
82088
82089 2001-11-09  Jim Meyering  <meyering@lucent.com>
82090
82091         * m4/jm-macros.m4: Require autoconf-2.52f.
82092         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
82093         Use these AC_-prefixed names, not the AM_-prefixed ones.
82094
82095         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
82096
82097 2001-11-05  Jim Meyering  <meyering@lucent.com>
82098
82099         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
82100
82101 2001-11-04  Jim Meyering  <meyering@lucent.com>
82102
82103         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
82104         $DEFS.
82105
82106 2001-11-03  Jim Meyering  <meyering@lucent.com>
82107
82108         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
82109         of AC_DEFUN.
82110
82111         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
82112         know the name of the variable in the macro definition.
82113
82114 2001-11-03  Jim Meyering  <meyering@lucent.com>
82115
82116         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
82117         in argmatch_to_argument call.
82118
82119         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
82120         argument.
82121
82122         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
82123         e.g., a fault due to an attempt to free a NULL pointer.
82124
82125 2001-11-01  Jim Meyering  <meyering@lucent.com>
82126
82127         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
82128         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
82129
82130 2001-11-01  Jim Meyering  <meyering@lucent.com>
82131
82132         * lib/dirfd.c, lib/dirfd.h: New files.
82133         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
82134
82135         * lib/hash.c (hash_print) [TESTING]: Clean up.
82136
82137 2001-10-22  Paul Eggert  <eggert@twinsun.com>
82138
82139         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
82140         to avoid a warning if -Wall.
82141
82142 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
82143
82144         * README: New file
82145         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
82146         (per RMS's instructions, this is now the canonical source)
82147         * lgpl/, gpl/: New directories.
82148
82149 2001-10-21  Paul Eggert  <eggert@twinsun.com>
82150
82151         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
82152
82153 2001-10-21  Jim Meyering  <meyering@lucent.com>
82154
82155         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
82156         this code would end up calling gettext even in packages built
82157         with --disable-nls.
82158         * lib/getopt.c (_): Likewise.
82159         * lib/regex.c (_): Likewise.
82160
82161 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82162
82163         * m4/error.m4 (jm_PREREQ_ERROR):
82164         Do not invoke AC_CHECK_FUNCS with strerror_r, as
82165         AC_FUNC_STRERROR_R does that.
82166         Check for strerror declaration.
82167
82168         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
82169         are supposed to have them these days.
82170         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
82171         Merge changes from latest Autoconf CVS.
82172         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
82173         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
82174         POSIX decided to standardize on the int flavor of strerror_r.
82175
82176 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82177
82178         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
82179         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
82180         Use strerror_r that is only a macro, even if it is not a function.
82181         (strerror): Check for HAVE_DECL_STRERROR before declaring.
82182         (private_strerror): Use prototypes, not old-style function definition.
82183         (print_errno_message): New function.
82184         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
82185         char*-flavored one.
82186         (error_tail, error, error_at_line): Use it.
82187
82188 2001-10-11  Jim Meyering  <meyering@lucent.com>
82189
82190         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
82191         and quote_n (1, ... to avoid clobbering a buffer.
82192
82193 2001-10-05  Jim Meyering  <meyering@lucent.com>
82194
82195         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
82196         hash-pjw.h.
82197         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
82198         * lib/hash-pjw.h: New file.
82199
82200 2001-09-30  Jim Meyering  <meyering@lucent.com>
82201
82202         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
82203         `struct fsstat' has the `f_fstypename' member.
82204         Use that to define FS_TYPE, which is now used to make
82205         the getfsstat link test tighter.
82206
82207 2001-09-30  Jim Meyering  <meyering@lucent.com>
82208
82209         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
82210         Include <sys/ucred.h>, for Apple Darwin.
82211         Include sys/mount.h and sys/fs_types.h only if available.
82212         (FS_TYPE): Define.
82213         (read_filesystem_list): Use FS_TYPE.
82214
82215 2001-09-29  Paul Eggert  <eggert@twinsun.com>
82216
82217         * lib/exclude.c (excluded_filename): 0 -> false, since it's
82218         a boolean context.
82219
82220 2001-09-29  Jim Meyering  <meyering@lucent.com>
82221
82222         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
82223         [one-argument getmntent function]): Include stdio.h before mntent.h.
82224         SunOS 4.1.x needs it for the declaration of `FILE'.
82225         Patch by Volker Borchert.
82226
82227         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
82228         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
82229         sys/fs_types.h, and make the link-test for getfsstat guard #include
82230         directives with appropriate #if HAVE_*_H tests so that we can
82231         detect getfsstat on Apple Darwin1.3.7 systems.
82232         Reported by Nelson Beebe.
82233         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
82234
82235 2001-09-28  Paul Eggert  <eggert@twinsun.com>
82236
82237         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
82238         #defines strtoimax.  Also treat the other strto* functions
82239         like strtoimax.
82240
82241         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
82242         Check for strtoul and strtoumax,
82243         as those declarations are made even in the signed case.
82244         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
82245         Likewise, for strtol and strtoimax.
82246
82247 2001-09-28  Paul Eggert  <eggert@twinsun.com>
82248
82249         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
82250         #defines strtoimax.  Also treat the other strto* functions
82251         like strtoimax.
82252
82253         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
82254         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
82255         (strtoimax, strtoumax): Do not declare if already defined as a macro.
82256
82257 2001-09-26  Jim Meyering  <meyering@lucent.com>
82258
82259         Most macros in unlocked-io.h had the wrong number of arguments.
82260         * lib/gen-uio: New script.
82261         (USE_UNLOCKED_IO): Define to 1 if not already defined.
82262         * lib/unlocked-io.hin: Remove file.
82263         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
82264         rather than trying to embed it here.
82265         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
82266         Reported by Padraig Brady.
82267
82268 2001-09-25  Volker Borchert  <bt@teknon.de>
82269
82270         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
82271         `result'.
82272
82273 2001-09-24  Jim Meyering  <meyering@lucent.com>
82274
82275         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
82276
82277 2001-09-23  Jim Meyering  <meyering@lucent.com>
82278
82279         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
82280         instead of the mere test for existence of mntent.h.  The latter
82281         would get a false-positive on AIX 3.4 systems.
82282         In the outer getmntent if-block, don't die if neither of the getmntent
82283         tests succeeds.  Instead, just fall through and continue with the
82284         remaining tests.
82285
82286 2001-09-23  Jim Meyering  <meyering@lucent.com>
82287
82288         * lib/mountlist.c: Remove useless parentheses in #if directives.
82289         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
82290         the deprecated MOUNTED symbol is no longer defined in mntent.h.
82291
82292 2001-09-22  Jim Meyering  <meyering@lucent.com>
82293
82294         * m4/gettext.m4: New file.  From gettext.
82295         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
82296         * m4/progtest.m4: Likewise
82297         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
82298         * m4/glibc21.m4: Likewise.
82299
82300         * m4/libintl.m4: Remove.  No longer used.
82301
82302 2001-09-22  Jim Meyering  <meyering@lucent.com>
82303
82304         * lib/localcharset.c: Update from latest gettext.
82305         * lib/config.charset: Likewise.
82306
82307 2001-09-20  Jim Meyering  <meyering@lucent.com>
82308
82309         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
82310         strtoimax.
82311         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
82312         strtoumax.
82313
82314 2001-09-20  Jim Meyering  <meyering@lucent.com>
82315
82316         * lib/xstrtol.c (strtoimax): Guard declaration with
82317         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
82318         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
82319         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
82320         (strtoumax): Likewise, for completeness (it wasn't necessary).
82321
82322 2001-09-17  Paul Eggert  <eggert@twinsun.com>
82323
82324         * lib/strtoimax.c (HAVE_LONG_LONG):
82325         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
82326         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
82327         to work around bug in IBM C compiler.
82328
82329 2001-09-17  Jim Meyering  <meyering@lucent.com>
82330
82331         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
82332         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
82333         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
82334         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
82335         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
82336         whenever the right hand side need not be expanded by the shell.
82337
82338 2001-09-16  Paul Eggert  <eggert@twinsun.com>
82339
82340         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
82341         library.  It's not correct, as some older glibcs are buggy.
82342         fnmatch wasn't fixed until glibc 2.2.
82343
82344         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
82345         special shell magic here.
82346
82347 2001-09-16  Jim Meyering  <meyering@lucent.com>
82348
82349         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
82350         * m4/jm-macros.m4: Require it.
82351
82352 2001-09-16  Jim Meyering  <meyering@lucent.com>
82353
82354         * lib/mkdir.c: New file.
82355
82356 2001-09-15  Jim Meyering  <meyering@lucent.com>
82357
82358         * m4/jm-macros.m4: Check for help2man.
82359
82360 2001-09-11  Jim Meyering  <meyering@lucent.com>
82361
82362         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
82363         The body, by Paul Eggert, was moved here from configure.in.
82364         * m4/jm-macros.m4: Require UTILS_HOST_OS.
82365
82366 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82367
82368         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
82369         (jm_PREREQ): Use it.
82370
82371 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82372
82373         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
82374         Use ssize_t, not int, to store result of readlink.
82375         Check for ssize_t overflow as well as size_t overflow,
82376         as POSIX says the result of readlink is implementation-defined
82377         when ssize_t overflows.
82378         Remove unnecessary cast to char*.
82379         Use free+malloc instead of realloc, as the storage doesn't need
82380         to be preserved and it's clearer and can be more efficient that way.
82381         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
82382         * lib/xreadlink.h (xreadlink): Update prototype.
82383
82384 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82385
82386         * lib/xgetcwd.c: Revert some of the previous change; intead,
82387         fix the HAVE_GETCWD_NULL code to behave more like the
82388         !HAVE_GETCWD_NULL code used to.
82389
82390         Include "xalloc.h".
82391         (xgetcwd): Do not return NULL when memory is exhausted; instead,
82392         invoke xalloc_die.
82393
82394 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82395
82396         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
82397         sys/param.h, as pathmax.h includes them.
82398
82399 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82400
82401         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
82402         (jm_PREREQ_XGETCWD): New macro.
82403
82404         * m4/getcwd.m4: New file.
82405
82406 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82407
82408         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
82409         like the HAVE_GETCWD_NULL code.
82410         Include pathmax.h if not HAVE_GETCWD.
82411         Do not include xalloc.h.
82412         (INITIAL_BUFFER_SIZE): New symbol.
82413         Do not use xmalloc / xrealloc, since the caller is responsible for
82414         handling errors.  Preserve errno around `free' during failure.
82415         Do not overrun buffer when using getwd.
82416
82417 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82418
82419         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
82420         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
82421         getcwd (NULL, 0).
82422
82423 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82424
82425         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
82426         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
82427         spotted by Jim Meyering.
82428
82429 2001-09-03  Jim Meyering  <meyering@lucent.com>
82430
82431         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
82432         failure.
82433
82434 2001-09-02  Jim Meyering  <meyering@lucent.com>
82435
82436         * lib/error.c: Update from GNU libc.
82437
82438 2001-09-01  Jim Meyering  <meyering@lucent.com>
82439
82440         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
82441         Used by df.
82442
82443 2001-09-01  Jim Meyering  <meyering@lucent.com>
82444
82445         * lib/xreadlink.c: New file.
82446         * lib/xreadlink.h: New file.
82447         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
82448         xreadlink.h.
82449
82450         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
82451         doesn't conflict with sparc Solaris 7's definition in
82452         /usr/include/sys/int_types.h.
82453
82454         * lib/exclude.c: Use `""', not `<>' to #include non-system header
82455         files.
82456         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
82457         and strncasecmp as r-values.  Unixware didn't have declarations.
82458
82459 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82460
82461         * lib/xstrtol.h: Add copyright notice.
82462         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
82463         LONGINT_INVALID_SUFFIX_CHAR.
82464
82465 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82466
82467         * lib/xstrtol.c (strtoimax): New decl.
82468
82469 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82470
82471         * lib/xgetcwd.c: Don't include pathmax.h.
82472         Include stdlib.h and unistd.h if available.
82473         Include xalloc.h.
82474         (xmalloc, xstrdup, free): Remove decls.
82475         (xgetcwd): Don't assume sizes fit in unsigned.
82476         Check for overflow when computing sizes.
82477         Simplify reallocation code.
82478
82479 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82480
82481         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
82482         a directory's st_size can have an arbitrary value, so the old
82483         usage could waste an arbitrary amount of memory.  All uses
82484         changed.
82485         * lib/savedir.h: Update prototype.
82486
82487 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82488
82489         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
82490
82491         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
82492         old strtoimax.c.
82493
82494         Also, make the following further changes to make this file's
82495         configuration more similar to that of strtol.c:
82496         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
82497         (strtoumax, uintmax_t, strtoull, strtol): Remove.
82498         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
82499         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
82500         changed to signed values.
82501
82502         And make the following changes as well:
82503         Fix copyright notice, as 1999 was missing.
82504         (verify): New macro.
82505         (strtoimax): Check sizes at compile-time, not run-time.
82506         Prefer strtol to strtoll if both work.
82507         (main): Remove; it was not that useful and was a pain to maintain.
82508
82509         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
82510
82511 2001-08-31  Jim Meyering  <meyering@lucent.com>
82512
82513         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
82514         Use an initial, malloc'd, buffer of length 128 rather than
82515         a statically allocated one of length 1024.
82516
82517 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82518
82519         Simplify code, partly by assuming autoconf 2.52 semantics.
82520
82521         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
82522
82523         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
82524         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
82525         All uses removed.
82526         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
82527         Move AC_REQUIRE to next-to-top level, to avoid confusion.
82528         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
82529         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
82530         jm_AC_HEADER_INTTYPES_H.
82531         * m4/jm-macros.m4 (jm_MACROS): Likewise.
82532
82533         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
82534
82535         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
82536         Quote first arg of AC_DEFUN.
82537         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
82538         since they are needed to parse the include file even if we need
82539         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
82540         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
82541         but with opposite signedness.
82542
82543 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82544
82545         Merge 'exclude' changes from tar 1.13.22.
82546         This fixes one or two unlikely storage allocation overflow bugs,
82547         but doesn't change user-visible behavior otherwise.
82548
82549 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82550
82551         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
82552         (jm_PREREQ_EXCLUDE): New macro.
82553
82554 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82555
82556         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
82557         tm to be declared.
82558
82559 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82560
82561         * lib/hash.c: Remove '2001' from copyright notice.
82562
82563 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82564
82565         * lib/full-write.h: New file.
82566         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
82567         * lib/full-write.c: Correct credits, as cccp.c no longer
82568         exists and anyway it was so heavily changed from the old cccp
82569         code as to be unrecognizable.  Include full-write.h.
82570         (full_write): Return size_t, with short writes meaning failure.
82571         All callers changed.  This fixes a bug with large buffers
82572         on 64-bit hosts.
82573         * lib/utime.c: Include full-write.h.
82574
82575 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82576
82577         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
82578         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
82579         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
82580         Include if available.
82581         (<xalloc.h>): Include
82582         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
82583         (verify): New macro.  Use it to verify that EXCLUDE macros do not
82584         collide with FNM macros.
82585         (struct patopts): New struct.
82586         (struct exclude): Use it, as exclude patterns now come with options.
82587         (new_exclude): Support above changes.
82588         (new_exclude, add_exclude_file):
82589         Initial size must now be a power of two to simplify overflow checking.
82590         (free_exclude, fnmatch_no_wildcards): New function.
82591         (excluded_filename): No longer requires options arg, as the options
82592         are determined by add_exclude.  Now returns bool, not int.
82593         (excluded_filename, add_exclude):
82594         Add support for the fancy new exclusion options.
82595         (add_exclude, add_exclude_file): Now takes int options arg.
82596         Check for arithmetic overflow when computing sizes.
82597         (add_exclude_file): xrealloc might modify errno, so don't
82598         realloc until after errno might be used.
82599
82600         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
82601         New macros.
82602         (free_exclude): New decl.
82603         (add_exclude, add_exclude_file): Now takes int options arg.
82604         (excluded_filename): No longer requires options arg, as the options
82605         are determined by add_exclude.  Now returns bool, not int.
82606
82607 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82608
82609         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
82610
82611 2001-08-27  Jim Meyering  <meyering@lucent.com>
82612
82613         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
82614
82615         * lib/version-etc.c (N_): Remove definition.
82616         Revert most of last change.
82617         Instead, simply don't mark the `Copyright...' string for translation.
82618         Based on advice from Paul Eggert.
82619
82620         * lib/strtoxmax.c: Tweak comment.
82621
82622 2001-08-26  Jim Meyering  <meyering@lucent.com>
82623
82624         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
82625
82626         * m4/xstrtoimax.m4: New file.
82627         * m4/xstrtoumax.m4: Add comments explaining why we
82628         AC_REPLACE_FUNCS(strtol).
82629
82630 2001-08-26  Jim Meyering  <meyering@lucent.com>
82631
82632         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
82633         of copyright with `%s' so translators don't get an untranslated
82634         message in 2002.
82635         (COPYRIGHT_YEAR): Define.
82636         (version_etc): Use fprintf rather than fputs.
82637         Suggestion from Ulrich Drepper.
82638
82639         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
82640
82641         * lib/strtoll.c: New file, from GNU libc.
82642         * lib/xstrtoimax.c: New file.
82643
82644         * lib/xstrtol.h: Add xstrtoimax.
82645         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
82646         * lib/strtoimax.c: New file.  Likewise, but first define
82647         STRTOUXMAX_SIGNED.
82648
82649         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
82650         ...
82651         * lib/strtoxmax.c: ... then renamed to this.
82652
82653 2001-08-18  Paul Eggert  <eggert@twinsun.com>
82654
82655         * m4/inttypes.m4: Add AC_PREREQ(2.13).
82656         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
82657         (jm_AC_TYPE_INTMAX_T): New macro.
82658         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
82659
82660         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
82661
82662         * m4/longlong.m4: Renamed from ulonglong.m4.
82663         * m4/inttypes.m4: Renamed from inttypes_h.m4.
82664         * m4/uintmax_t.m4: Removed.
82665
82666 2001-08-13  Paul Eggert  <eggert@twinsun.com>
82667
82668         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
82669         Port to Solaris 8, where 'sed' requires a space after the 'r'
82670         command, and where sh dislikes "$/".  Clean up the spacing a bit.
82671         Redirect output to $tmp just once.
82672
82673 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
82674
82675         * lib/addext.c (<errno.h>): Include.
82676         (errno): Declare if not defined.
82677         (addext): Work correctly when pathconf returns -1 and leaves
82678         errno alone because there is no limit.  Also, work even if
82679         pathconf returns a value greater than SIZE_MAX.
82680
82681 2001-08-12  Jim Meyering  <meyering@lucent.com>
82682
82683         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
82684         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
82685         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
82686         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
82687         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
82688         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
82689         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
82690         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
82691         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
82692         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
82693         utime.m4, utimes.m4, xstrtoumax.m4:
82694         Quote the first argument in each use of AC_DEFUN.
82695
82696 2001-08-12  Jim Meyering  <meyering@lucent.com>
82697
82698         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
82699         Simply `return getcwd (NULL, 0);'.
82700         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
82701         Use 1300 as initial value for length, not PATH_MAX.
82702
82703         * lib/pathmax.h: Clean up cpp syntax.
82704
82705 2001-08-12  Jim Meyering  <meyering@lucent.com>
82706
82707         * lib/gettimeofday.c: New file.
82708         * lib/gtod.h: New file.
82709         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
82710
82711 2001-08-05  Jim Meyering  <meyering@lucent.com>
82712
82713         * m4/jm-macros.m4: Require autoconf-2.52.
82714
82715 2001-08-04  Jim Meyering  <meyering@lucent.com>
82716
82717         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
82718         stmt, to get in sync with glibc.
82719
82720 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82721
82722         The following changes are from gettext 0.10.39 as maintained by
82723         Bruno Haible.
82724
82725         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
82726         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
82727         with inverted sense.  All uses changed.
82728
82729         * lib/mbswidth.c: Don't include <limits.h>.
82730         Include <stdlib.h> and <string.h> unconditionally.
82731         (iswcntrl, mbsinit, ISCNTRL): New macros.
82732         (mbsnwidth): Use K&R style function declarations.
82733         Don't bother checking for MB_LEN_MAX == 1, since the compiler
82734         can optimize it when MB_CUR_MAX == 1.
82735         The width of control characters is zero, not 1.
82736
82737 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82738
82739         The following changes are from gettext 0.10.39 as maintained by
82740         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
82741
82742         * m4/codeset.m4: Upgrade to serial AM1.
82743         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
82744         all uses changed.  Quote first arg of AC_DEFUN.
82745         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
82746
82747         * m4/iconv.m4: Upgrade to serial AM2.
82748         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
82749         Add --with-libconv-prefix.
82750         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
82751         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
82752         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
82753         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
82754         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
82755
82756         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
82757         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
82758         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
82759         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
82760         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
82761         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
82762         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
82763         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
82764         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
82765
82766         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
82767         string.h any more.
82768
82769         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
82770         not the default value.
82771
82772         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
82773         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
82774         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
82775         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
82776         Also check for iswcntrl, used for wcwidth fallback.
82777         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
82778         to Autoconf 2.13.
82779
82780 2001-08-03  Jim Meyering  <meyering@lucent.com>
82781
82782         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
82783         as it was in the original.  Reported by Paul Eggert.
82784
82785 2001-07-16  Jim Meyering  <meyering@lucent.com>
82786
82787         * m4/gettimeofday.m4: New file.
82788         Prompted by a report from Bernhard Baehr.
82789
82790 2001-07-15  Jim Meyering  <meyering@lucent.com>
82791
82792         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
82793         stuff. Now it's in ../Makefile.cfg.
82794
82795 2001-07-15  Jim Meyering  <meyering@lucent.com>
82796
82797         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
82798         (BUILT_SOURCES): Add unlocked-io.h.
82799         (io_functions): Define.
82800         (unlocked-io.h): New rule.
82801         (DISTCLEANFILES): Add unlocked-io.h.
82802         (all-local): Depend on unlocked-io.h, to ensure it is created.
82803
82804         * lib/unlocked-io.hin: New file
82805
82806         * lib/regex.c: Update from glibc.
82807
82808 2001-07-05  Jim Meyering  <meyering@lucent.com>
82809
82810         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
82811         recommendation.
82812         (libfetish_a_SOURCES): Put all .h files here instead.
82813         Remove a thus-exposed (better checks in automake) duplicate and
82814         two unnecessary .h files.
82815
82816 2001-07-04  Jim Meyering  <meyering@lucent.com>
82817
82818         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
82819         that generates jm-glibc-io.m4 so that it doesn't trigger any make
82820         distcheck failure.
82821
82822 2001-07-02  Jim Meyering  <meyering@lucent.com>
82823
82824         The following changes were prompted by suggestions from Bruno Haible.
82825
82826         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
82827         is now generated.
82828         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
82829         definition of EXTRA_DIST.
82830         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
82831         ensure that the generated file is created/updated whenever the list
82832         of $(unlocked_functions) is changed.
82833         (jm-glibc-io.m4): New rule.
82834         (unlocked-io.h): New rule -- currently unused.
82835
82836 2001-06-24  Jim Meyering  <meyering@lucent.com>
82837
82838         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
82839         unmatched right bracket, rather than kludging it with an extra,
82840         falsely-matching quote in a comment.  Patch by Akim Demaille.
82841
82842 2001-06-11  Jim Meyering  <meyering@lucent.com>
82843
82844         * lib/regex.c: Update from GNU libc.
82845
82846 2001-05-27  Jim Meyering  <meyering@lucent.com>
82847
82848         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
82849         Check for ut_type in struct utmp.
82850
82851 2001-05-27  Jim Meyering  <meyering@lucent.com>
82852
82853         * lib/readutmp.h (UT_TYPE): Define.
82854
82855 2001-05-24  Jim Meyering  <meyering@lucent.com>
82856
82857         * lib/argmatch.c: Include "quote.h".
82858         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
82859         quote function.  Reported by Göran Uddeborg.
82860
82861 2001-05-22  Jim Meyering  <meyering@lucent.com>
82862
82863         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
82864         now that we use the package-supplied version unconditionally.
82865         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
82866
82867 2001-05-21  Jim Meyering  <meyering@lucent.com>
82868
82869         * m4/regex.m4: Change a couple backticks to single quotes to avoid
82870         shell syntax errors.
82871
82872 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82873
82874         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
82875
82876 2001-05-20  Paul Eggert  <eggert@twinsun.com>
82877
82878         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
82879         Don't bother to check library strftime, since
82880         we'll be using our own my_strftime function anyway.
82881         Define my_strftime instead of strftime.
82882
82883 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
82884
82885         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
82886         which is not yet declared.
82887
82888 2001-05-15  Jim Meyering  <meyering@lucent.com>
82889
82890         * m4/regex.m4: Use proper quoting so brackets appear in the test
82891         program.
82892         Reported by, and with help from, Bruno Haible.
82893
82894 2001-05-13  Jim Meyering  <meyering@lucent.com>
82895
82896         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
82897         undefined.
82898
82899 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82900
82901         dirname code cleanup.  base_name now behaves more compatibly
82902         with POSIX basename when given file names that have trailing
82903         slashes, and similarly for dir_name.  Add new primitives
82904         base_len and dir_len.  Put the directory-name-related decls
82905         into dirname.h.
82906
82907         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
82908         * lib/backupfile.c (base_name): Likewise.
82909         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
82910         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
82911         * lib/makepath.c (strip_trailing_slashes): Likewise.
82912         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
82913         ISSLASH): Likewise.
82914         * lib/rename.c (strip_trailing_slashes): Likewise.
82915         * lib/same.c (base_name): Likewise.
82916         * lib/stripslash.c (ISSLASH): Likewise.
82917
82918         * lib/addext.c: Include <dirname.h> after size_t is defined.
82919         * lib/backupfile.c: Likewise.
82920
82921         * lib/addext.c (addext): Use base_len to trim redundant
82922         trailing slashes instead of doing it ourselves.
82923         But do not trim the last slash if it is not redundant.
82924
82925         * lib/backupfile.c (find_backup_file_name,
82926         max_backup_version): Use base_len instead of rolling it ourselves.
82927         Handle the case of "" and (on DOS) "C:" correctly.
82928
82929         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
82930         needed. Include <string.h>, <dirname.h>.
82931         (base_name): Allow file names ending in slashes, other than names
82932         that are all slashes.  In this case, return the basename followed
82933         by the slashes.  This is more general, and can be used in places
82934         where the original base_name purposely had an assertion failure.
82935         (base_len): New function.
82936
82937         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
82938         Do not include <assert.h>; no longer needed.
82939         Include xalloc.h.
82940         (memrchr): Remove decl.
82941         (dir_name_r): Remove.
82942         (dir_len): Renamed from dirlen.  All callers changed.
82943         Rewrite in terms of base_name, for simplicity and consistency.
82944         (dir_name): Never return NULL.  All callers changed.
82945         Do not include <stdlib.h> in test program; no longer needed.
82946         return 0; is fine for test program.
82947
82948         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
82949         New macros.
82950         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
82951
82952         * lib/path-concat.c (path_concat): Use base_len to compute
82953         base length, not strlen; this means we cannot rely on memcpy
82954         to null-terminate.
82955
82956         * lib/same.c (STREQ): Remove.
82957         (same_name): Handle the case where the basename ends in trailing '/'.
82958
82959         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
82960         a slash was stripped.  Do not strip the last slash after a
82961         file system prefix.
82962
82963 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82964
82965         * lib/Makefile.am (libfetish_a_SOURCES):
82966         Add strftime.c, since we now compile it on all hosts.
82967
82968         * lib/strftime.c (my_strftime):
82969         Define to nstrftime if emacs, but only if my_strftime is not defined.
82970         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
82971         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
82972         Add one more extra argument: a nanoseconds value.
82973         All uses changed.
82974         (ns): New macro.
82975         (my_strftime function): Add %N format.
82976         (emacs_strftimeu): Renamed from emacs_strftime,
82977         with extra ut argument.
82978
82979 2001-05-09  Paul Eggert  <eggert@twinsun.com>
82980
82981         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
82982
82983 2001-04-21  Jim Meyering  <meyering@lucent.com>
82984
82985         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
82986         doesn't interfere.
82987
82988 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82989
82990         * m4/ftruncate.m4: Check for chsize.
82991         Link with ftruncate.o unconditionally if ftruncate is missing.
82992         This was required when cross-compiling to i586-mingw32msvc.
82993
82994 2001-04-08  Jim Meyering  <meyering@lucent.com>
82995
82996         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
82997         recomputed; that's necessary when the offset spans a DST transition.
82998         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
82999
83000 2001-04-02  Jim Meyering  <meyering@lucent.com>
83001
83002         * lib/regex.h, regex.c: Update from GNU libc.
83003
83004 2001-03-24  Jim Meyering  <meyering@lucent.com>
83005
83006         * m4/jm-macros.m4: Require autoconf-2.49d.
83007
83008 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
83009
83010         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
83011
83012 2001-03-19  Paul Eggert  <eggert@twinsun.com>
83013
83014         * lib/version-etc.c (version_etc_copyright): Update to 2001.
83015
83016 2001-03-17  Jim Meyering  <meyering@lucent.com>
83017
83018         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
83019         now that the version in autoconf is equivalent.
83020         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
83021
83022         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
83023         Suggestion from Akim Demaille.
83024
83025         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
83026         (jm_PREREQ_TEMPNAME): New function.
83027
83028 2001-03-16  Paul Eggert  <eggert@twinsun.com>
83029
83030         * lib/tempname.c (uint64_t): Define to uintmax_t if
83031         not defined, and if UINT64_MAX is not defined.
83032         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
83033         Reported by John David Anglin.
83034
83035 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
83036
83037         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
83038         resolve alias if codeset is empty.
83039         * lib/config.charset (BeOS): Use wildcard syntax.
83040
83041 2001-03-13  Jim Meyering  <meyering@lucent.com>
83042
83043         * lib/path-concat.c (path_concat)
83044         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
83045         concatenating e.g., `C:' and `foo'.
83046         From Bruno Haible.
83047
83048 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83049
83050         * lib/localcharset.c (locale_charset): Don't use
83051         setlocale(LC_CTYPE,NULL). Don't return NULL.
83052         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
83053
83054 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83055
83056         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
83057         support for DOS/DJGPP.
83058
83059 2001-03-01  Paul Eggert  <eggert@twinsun.com>
83060
83061         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
83062         lacks mkstemp.  Compile our own tempname.c if we compile our own
83063         mkstemp.c, as mkstemp relies on tempname.
83064
83065 2001-03-01  Jim Meyering  <meyering@lucent.com>
83066
83067         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
83068         AH_VERBATIM really does output its argument verbatim.
83069
83070 2001-02-28  Paul Eggert  <eggert@twinsun.com>
83071
83072         * lib/Makefile.am (libfetish_a_SOURCES):
83073         Add dup-safer.c, fopen-safer.c.
83074         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
83075
83076         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
83077         * lib/unistd-safer.h: New files.
83078
83079 2001-02-25  Paul Eggert  <eggert@twinsun.com>
83080
83081         The mkstemp replacement is taken from glibc 2.2.2, with some
83082         portability fixes for use outside glibc, as follows:
83083
83084         * lib/tempname.c (struct_stat64): New macro.
83085         (direxists, __gen_tempname): Use it.
83086         This avoids a portability problem with Solaris 8.
83087
83088         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
83089         (<stddef.h>, <stdint.h>, <string.h>):
83090         Include only if STDC_HEADERS || _LIBC.
83091         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
83092         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
83093         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
83094         (__set_errno): Define this macro if <errno.h> doesn't.
83095         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
83096         Define these macros if <stdio.h> doesn't.
83097         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
83098         Define these macros if <sys/stat.h>
83099         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
83100         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
83101         __xstat64): Define if not _LIBC.
83102         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
83103         (__gen_tempname): Invoke gettimeofday only if
83104         HAVE_GETTIMEOFDAY || _LIBC;
83105         otherwise, fall back on plain "time".
83106         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
83107
83108         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
83109
83110         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
83111
83112 2001-02-18  Paul Eggert  <eggert@twinsun.com>
83113
83114         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
83115
83116 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83117
83118         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
83119         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
83120         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
83121         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
83122
83123 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83124
83125         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
83126         Remove workaround macros for hosts that have mbrtowc but not
83127         mbstate_t, as we now insist on proper declarations for both
83128         before using mbrtowc.
83129
83130 2001-02-17  Jim Meyering  <meyering@lucent.com>
83131
83132         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
83133         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
83134         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
83135         UnixWare 7.1.1.
83136
83137         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
83138         rather than AC_CACHE_VAL.
83139
83140 2001-02-17  Jim Meyering  <meyering@lucent.com>
83141
83142         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
83143         around included file name.
83144
83145         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
83146
83147         * lib/strftime.c: Update from GNU libc (the only changes were to
83148         comments).
83149
83150 2001-02-17  Jim Meyering  <meyering@lucent.com>
83151
83152         * lib/regex.c: Update from libc.
83153
83154 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
83155
83156         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
83157         clash.
83158
83159 2001-02-16  Paul Eggert  <eggert@twinsun.com>
83160
83161         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
83162         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
83163         Reported by Mark Hounschell via Paul Eggert.
83164
83165 2001-02-07  Jim Meyering  <meyering@lucent.com>
83166
83167         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
83168
83169 2001-02-05  Jim Meyering  <meyering@lucent.com>
83170
83171         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
83172         it includes the patch required for `large file' support with at least
83173         HP-UX's 10.20 /bin/cc.
83174
83175 2001-02-03  Jim Meyering  <meyering@lucent.com>
83176
83177         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
83178         AS_IF, now that it works once again (mysteriously).
83179         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83180
83181 2001-01-30  Jim Meyering  <meyering@lucent.com>
83182
83183         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
83184         * m4/chown.m4: Rename conftestchown to conftest.chown.
83185         * m4/rename.m4: s/conftestdir/conftest.d1/ and
83186         s/conftestdir2/conftest.d2/.
83187         * m4/utimes.m4: s/conftestdata/conftest.data/
83188         Inspired by Pavel Roskin's change in autoconf.
83189
83190 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
83191
83192         * lib/config.charset: Update for FreeBSD 4.2.
83193
83194 2001-01-27  Jim Meyering  <meyering@lucent.com>
83195
83196         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
83197         a use of AS_IF.
83198         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83199
83200 2001-01-26  Jim Meyering  <meyering@lucent.com>
83201
83202         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
83203         quotearg.c includes it.
83204
83205 2001-01-26  Jim Meyering  <meyering@lucent.com>
83206
83207         * lib/quotearg.c: Include stddef.h.
83208         * lib/quote.c: Include stddef.h.
83209         Reported by Axel Kittenberger.
83210
83211         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
83212         line in double quotes so that it evokes a better diagnostic.
83213         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
83214         Reported by Axel Kittenberger.
83215
83216 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
83217
83218         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
83219         as if it was a `charset'.
83220
83221 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
83222
83223         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
83224         has const.
83225
83226 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
83227
83228         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
83229         to avoid a warning.  Add back 'const' to inptr.
83230
83231 2001-01-20  Jim Meyering  <meyering@lucent.com>
83232
83233         Be sure that headers are checked before used in code compiled
83234         for the type checks.
83235         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
83236         In place of that, invoke jm_CHECK_ALL_TYPES.
83237         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
83238         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
83239         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
83240         The check for ssize_t was mistakenly run before the test for unistd.h.
83241
83242         The configure-time check for stdbool.h was missing.
83243         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
83244         (jm_PREREQ_HASH): New function.
83245
83246 2001-01-17  Jim Meyering  <meyering@lucent.com>
83247
83248         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
83249         for autoconf-2.49c.
83250         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
83251
83252 2001-01-16  Jim Meyering  <meyering@lucent.com>
83253
83254         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
83255         From Bruno Haible.
83256
83257 2001-01-14  Jim Meyering  <meyering@lucent.com>
83258
83259         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
83260         foo and bar.  Create conftestdir/ in the script, not in the C code.
83261         Remove directories in the script, not in the C code.
83262         Remove conftestdir{,2} before trying to create the directory.
83263         Make the entire configure script fail if the mkdir fails.
83264
83265 2001-01-14  Jim Meyering  <meyering@lucent.com>
83266
83267         * lib/rename.c: New file.  From Volker Borchert.
83268         Include stdlib.h, string.h or strings.h, and xalloc.h.
83269         Use strip_trailing_slashes rather than open-coding it.
83270
83271 2001-01-03  Paul Eggert  <eggert@twinsun.com>
83272
83273         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
83274
83275 2001-01-03  Jim Meyering  <meyering@lucent.com>
83276
83277         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
83278         of local `inptr' to avoid warning with some system declarations of
83279         iconv.
83280
83281 2001-01-02  Volker Borchert  <bt@teknon.de>
83282
83283         * m4/rename.m4: New file.
83284         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
83285
83286 2001-01-01  Jim Meyering  <meyering@lucent.com>
83287
83288         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
83289         even on systems with utmpx.h.  It's necessary for the declaration of
83290         utmp's ut_user member.  Reported by Andreas Jaeger.
83291
83292         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
83293         available. They are required for the declarations of getgrgid and
83294         getpwuid resp.
83295         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
83296         Reported by Andreas Jaeger.
83297
83298 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
83299
83300         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
83301         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
83302         so `make install' also works in VPATH builds.
83303
83304 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
83305
83306         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
83307         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
83308         can be used in subdirectories.
83309
83310 2000-12-29  Paul Eggert  <eggert@twinsun.com>
83311
83312         * lib/modechange.c: Do not assume that mode_t uses the
83313         traditional octal encoding.  E.g. "chmod 1 FOO" should set
83314         the other-execute bit of FOO even if S_IXOTH != 1.
83315
83316         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
83317         WOTH, XOTH, ALLM): New macros.
83318         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
83319          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
83320         Use them.
83321         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
83322         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
83323         (mode_compile):
83324         No need to use uintmax_t; unsigned long is long enough.
83325         Don't bother to get suffix since we don't use it.
83326
83327 2000-12-26  Jim Meyering  <meyering@lucent.com>
83328
83329         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
83330         better with autoheader.
83331
83332 2000-12-24  Jim Meyering  <meyering@lucent.com>
83333
83334         * lib/hash.c (is_prime): Return explicit boolean values.
83335         (hash_get_first): Return NULL to appease Irix5.6's 89.
83336         Reported by Nelson Beebe.
83337
83338 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
83339
83340         * lib/localcharset.c (locale_charset): Add support for Win32.
83341
83342 2000-12-18  Paul Eggert  <eggert@twinsun.com>
83343
83344         * lib/physmem.h, lib/physmem.c: New files.
83345
83346         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
83347         (noinst_HEADERS): Add physmem.h.
83348
83349         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
83350         't' for compatibility with Solaris 8 sort.
83351
83352 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
83353
83354         * lib/config.charset: Add support for BeOS.
83355
83356 2000-12-17  Jim Meyering  <meyering@lucent.com>
83357
83358         * m4/dos.m4 (jm_AC_DOS): New file and macro.
83359         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
83360
83361 2000-12-16  Jim Meyering  <meyering@lucent.com>
83362
83363         This bug had a serious impact on chown: `chown N:M FILE' (for integer
83364         N and M) would have treated it like `chown N:N FILE'.
83365
83366         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
83367
83368 2000-12-16  Jim Meyering  <meyering@lucent.com>
83369
83370         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
83371         SHELLS_FILE to a file name that's useful on djgpp systems.
83372         Include stdlib.h.
83373         (ADDITIONAL_DEFAULT_SHELLS): Define.
83374         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
83375         Based mostly on a patch from Prashant TR.
83376
83377 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
83378
83379         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
83380         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
83381         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
83382
83383 2000-12-08  Andreas Schwab  <schwab@suse.de>
83384
83385         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
83386         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
83387
83388 2000-12-07  Jim Meyering  <meyering@lucent.com>
83389
83390         * lib/stripslash.c (ISSLASH): Define.
83391         (strip_trailing_slashes): Use ISSLASH rather than comparing against
83392         `/'.
83393         From Prashant TR.
83394
83395         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
83396         (dir_name_r): Declare this function as static.
83397         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
83398         manifest itself on a name containing a mix of slashes and
83399         backslashes.
83400         Make this function work with names starting with a DOS-style
83401         drive letter and colon prefix.
83402         (dir_name): Append `.' if necessary.
83403         Based mostly on patches from Prashant TR and Eli Zaretskii.
83404
83405         * lib/dirname.h (dir_name_r): Remove prototype.
83406
83407 2000-12-06  Paul Eggert  <eggert@twinsun.com>
83408
83409         * m4/off_t-format.m4: Remove this file.
83410         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
83411
83412 2000-12-06  Jim Meyering  <meyering@lucent.com>
83413
83414         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
83415         replacement strtoull, we may well need the replacement strtoul, too.
83416         Check for declarations of strtoul and strtoull.
83417         Check for strtol.  Mainly as a cue to cause automake to include
83418         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
83419         Check for limits.h -- strtol.c needs it.
83420
83421 2000-12-05  Jim Meyering  <meyering@lucent.com>
83422
83423         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
83424
83425 2000-12-04  Jim Meyering  <meyering@lucent.com>
83426
83427         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
83428         Also include memory.h, stdlib.h, unistd.h if appropriate.
83429         Reported by Andreas Jaeger (conflicting declaration of malloc).
83430
83431 2000-12-02  Jim Meyering  <meyering@lucent.com>
83432
83433         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
83434         * m4/jm-macros.m4 (jm_MACROS): require it.
83435
83436 2000-12-02  Jim Meyering  <meyering@lucent.com>
83437
83438         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
83439
83440 2000-12-01  Paul Eggert  <eggert@twinsun.com>
83441
83442         * lib/memrchr.c: Include <config.h> before any system include file.
83443
83444 2000-11-30  Jim Meyering  <meyering@lucent.com>
83445
83446         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
83447
83448 2000-11-30  Jim Meyering  <meyering@lucent.com>
83449
83450         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
83451
83452 2000-11-29  Paul Eggert  <eggert@twinsun.com>
83453
83454         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
83455
83456 2000-11-26  Jim Meyering  <meyering@lucent.com>
83457
83458         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
83459
83460 2000-11-22  Paul Eggert  <eggert@twinsun.com>
83461
83462         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
83463         size of (size_t) -1; it's not portable.
83464
83465 2000-11-17  Jim Meyering  <meyering@lucent.com>
83466
83467         * lib/strstr.c: Update from GNU libc.
83468
83469 2000-11-17  Akim Demaille  <akim@epita.fr>
83470
83471         * lib/obstack.h: Formatting changes.
83472         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
83473         prevent type checking.
83474         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
83475         cast the value to (void *): assigning a `foo *' to a `void *'
83476         variable is valid.
83477         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
83478
83479 2000-11-16  Jim Meyering  <meyering@lucent.com>
83480
83481         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
83482
83483 2000-11-11  Jim Meyering  <meyering@lucent.com>
83484
83485         * lib/error.c: Add a couple #includes, merging from GNU libc version.
83486
83487 2000-11-10  Jim Meyering  <meyering@lucent.com>
83488
83489         * lib/obstack.h: Update from GNU libc.
83490         * lib/obstack.c: Likewise.
83491
83492 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
83493
83494         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
83495
83496 2000-11-06  Paul Eggert  <eggert@twinsun.com>
83497
83498         * lib/getusershell.c (setusershell): Use rewind rather than
83499         fseek/fseeko, to avoid configuration hassles with fseeko.
83500         Don't bother opening SHELLS_FILE if shellstream is NULL;
83501         it's not necessary.
83502
83503 2000-11-05  Jim Meyering  <meyering@lucent.com>
83504
83505         * lib/makepath.h (make_dir): Declare.
83506         * lib/makepath.c (make_dir): Remove `static' attribute.
83507         Tweak a comment.
83508
83509 2000-11-04  Jim Meyering  <meyering@lucent.com>
83510
83511         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
83512
83513 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
83514
83515         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
83516         last one in a bucket, advance to the next bucket.
83517
83518 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
83519
83520         * lib/fnmatch.c: Do not comment out all the code if we are using
83521         the GNU C library, because in some cases we are replacing buggy
83522         code in the GNU C library itself.
83523
83524 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
83525
83526         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
83527         (regex_compile): Catch bogus \(\1\).
83528
83529 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83530
83531         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
83532         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
83533         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
83534
83535 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83536
83537         * lib/error.h, getline.h, modechange.h:
83538         Remove "2000" from Copyright line, as the file hasn't been
83539         changed this year other than in the copyright notice.
83540
83541         * lib/xalloc.h: Add "2000" to Copyright line, as this file
83542         was changed this year.
83543
83544 2000-10-29  Jim Meyering  <meyering@lucent.com>
83545
83546         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
83547         renaming.
83548         * m4/ls-mntd-fs.m4: Likewise
83549
83550 2000-10-29  Jim Meyering  <meyering@lucent.com>
83551
83552         * lib/xstat.in: Fix grammar in comment.
83553
83554 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
83555
83556         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
83557         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
83558         doesn't define __restrict_arr.
83559
83560 2000-10-28  Jim Meyering  <meyering@lucent.com>
83561
83562         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
83563         (jm_PREREQ_MEMCHR): New function.
83564
83565 2000-10-28  Jim Meyering  <meyering@lucent.com>
83566
83567         * lib/memchr.c: Update from libc.
83568         Adjust for portability:
83569         [HAVE_STDLIB_H]: Include stdlib.h.
83570         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
83571         Undef __memchr, too.
83572         [!weak_alias]: Define __memchr to memchr.
83573
83574         * lib/regex.c: Update from libc.
83575         * lib/regex.h: Likewise.
83576         * lib/getopt1.c: Likewise.
83577         * lib/memcmp.c: Likewise.
83578
83579         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
83580         Avoid using fseek, when possible -- it's broken by design.
83581         Patch by Ulrich Drepper.
83582
83583 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
83584
83585         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
83586         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
83587         Giving in to popular pressure to shut up the compiler with casts.
83588
83589 2000-10-26  Jim Meyering  <meyering@lucent.com>
83590
83591         * lib/strftime.c: Update from libc.
83592
83593 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
83594
83595         * regex.c: More `unsigned char' -> `re_char' changes.
83596         Also change several `int' into `re_wchar_t'.
83597         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
83598         (PUSH_FAILURE_POINTER): Don't cast any more.
83599         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
83600         We want GCC to complain, since this piece of code makes
83601         re_match non-reentrant, which *should* be fixed.
83602         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
83603         (EXTEND_BUFFER): Use RETALLOC.
83604         (SET_LIST_BIT): Don't cast.
83605         (re_wchar_t): New type.
83606         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
83607         that those two functions will always properly return.
83608         (IMMEDIATE_QUIT_CHECK): Cast to void.
83609         (analyse_first): Use recursion rather than an explicit stack.
83610         (re_compile_fastmap): Can't fail anymore.
83611         (re_search_2): Don't check re_compile_fastmap for failure.
83612         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
83613         Now also sets the new value (passed in a new argument).
83614         (re_match_2_internal): Use it.
83615         Also, use a new var `reg' of type size_t when looping through regs
83616         rather than reuse the inappropriate `mcnt'.
83617
83618 2000-10-25  Jim Meyering  <meyering@lucent.com>
83619
83620         * lib/obstack.c: Update from libc.
83621
83622 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
83623
83624         * regex.c (regex_compile): Change the way of handling a range from
83625         a char less than 256 to a char not less than 256.
83626
83627 2000-10-24  Andrew Innes  <andrewi@gnu.org>
83628
83629         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
83630         NT-Emacs only.
83631         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
83632         so that re_search functions only quit when callers expect them to.
83633
83634 2000-10-23  Jim Meyering  <meyering@lucent.com>
83635
83636         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
83637         wrong.  That set_locale call must not have any side effects.
83638         From Paul Eggert.
83639
83640 2000-10-22  Jim Meyering  <meyering@lucent.com>
83641
83642         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
83643         [CYCLIC]: Remove now-unused definition.
83644
83645         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
83646         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
83647         Suggestion from Ulrich Drepper.
83648
83649 2000-10-21  Jim Meyering  <meyering@lucent.com>
83650
83651         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
83652         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
83653         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
83654
83655 2000-10-21  Jim Meyering  <meyering@lucent.com>
83656
83657         * lib/dirname.c (memrchr): Declare if necessary.
83658         (dir_name): Remove the restriction that there be no
83659         trailing slashes.  Now, this code skips past them, effectively
83660         ignoring them.
83661         [TEST_DIRNAME] (main): New unit tests.
83662
83663         * lib/memrchr.c: New file from GNU libc.
83664         Undef __memrchr, too.
83665         [!weak_alias]: Define __memrchr to memrchr.
83666         Guard weak_alias use with `#ifdef weak_alias'.
83667
83668 2000-10-21  Jim Meyering  <meyering@lucent.com>
83669
83670         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
83671         (dir_name): Use dir_name_r.
83672         * lib/dirname.h (dir_name_r): Declare it.
83673
83674 2000-10-17  Jim Meyering  <meyering@lucent.com>
83675
83676         * lib/quote.h (PARAMS): Define and use.
83677         Reported by Akim Demaille.
83678
83679         * lib/getopt.c: Update from libc.
83680
83681 2000-10-16  Jim Meyering  <meyering@lucent.com>
83682
83683         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
83684         setlocale.
83685         From Jan Fedak.
83686
83687 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
83688
83689         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
83690
83691 2000-09-25  Jim Meyering  <meyering@lucent.com>
83692
83693         * lib/md5.h (rol): Define (from GnuPG).
83694
83695         * lib/sha.c: Give credit (GnuPG) where due.
83696         (M): Use rol rather than open-coding it.
83697         Add a FIXME comment.
83698
83699 2000-09-21  Jim Meyering  <meyering@lucent.com>
83700
83701         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
83702         Reported by Michael Stone.
83703
83704 2000-09-20  Jim Meyering  <meyering@lucent.com>
83705
83706         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
83707         (noinst_HEADERS): Add sha.h.
83708         Based on code from Scott G. Miller and from GnuPG.
83709
83710 2000-09-18  Jim Meyering  <meyering@lucent.com>
83711
83712         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
83713         LIBS. Otherwise, everyone ends up linking with -lelf for some
83714         configurations.
83715         Reported by Mike Stone.
83716
83717 2000-09-15  Jim Meyering  <meyering@lucent.com>
83718
83719         * lib/regex.c: Update from libc.
83720
83721 2000-09-10  Jim Meyering  <meyering@lucent.com>
83722
83723         * lib/getopt.c (_getopt_internal): Update from glibc.
83724
83725 2000-09-09  Jim Meyering  <meyering@lucent.com>
83726
83727         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
83728         think it should be used as a general replacement for isascii.
83729         * lib/fnmatch.c: Likewise.
83730         * lib/mbswidth.c: Likewise
83731         * lib/regex.c: Likewise.
83732
83733         Don't use atoi.
83734         * lib/userspec.c: Include sys/param.h and limits.h.
83735         Include xstrtol.h.
83736         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
83737         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
83738         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
83739         UID, GID.  Check range.
83740
83741 2000-09-06  Jim Meyering  <meyering@lucent.com>
83742
83743         * lib/getopt.c (_getopt_internal): Update from glibc.
83744
83745 2000-08-30  Jim Meyering  <meyering@lucent.com>
83746
83747         * lib/strftime.c: Merge in changes from GNU libc.
83748
83749 2000-08-26  Jim Meyering  <meyering@lucent.com>
83750
83751         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
83752         * m4/fpending.m4: New file.
83753
83754 2000-08-26  Jim Meyering  <meyering@lucent.com>
83755
83756         * lib/closeout.c: Include "__fpending.h".
83757         (close_stdout_status): Return right away if there's nothing to flush.
83758
83759         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
83760         * lib/__fpending.c: New file.
83761         * lib/__fpending.h: New file.
83762
83763 2000-08-20  Jim Meyering  <meyering@lucent.com>
83764
83765         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
83766         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
83767         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
83768
83769 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
83770
83771         Improve fileutils installation on systems where running
83772         programs (like install) can't be unlinked.
83773         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
83774         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
83775
83776 2000-08-07  Paul Eggert  <eggert@twinsun.com>
83777
83778         Standardize on "memory exhausted" instead of "Memory exhausted"
83779         or "virtual memory exhausted".
83780         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
83781         "virtual memory exhausted".
83782         * lib/same.c (same_name): Invoke xalloc_die instead of printing
83783         our own message.
83784         * lib/userspec.c (parse_user_spec): Likewise.
83785         * lib/bumpalloc.h: comment fix
83786         * lib/same.c, userspec.c: Include xalloc.h.
83787
83788         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
83789         not char *const and pointing to a constant array.
83790         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
83791         (xrealloc): Comment fix.
83792
83793         * lib/userspec.c (parse_user_spec):
83794         Don't translate a message until just before returning,
83795         to avoid unnecessary translation.
83796
83797 2000-08-07  Jim Meyering  <meyering@lucent.com>
83798
83799         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
83800         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
83801         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
83802         getgroups.c, gethostname.c, getopt.h, group-member.c,
83803         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
83804         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
83805         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
83806         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
83807         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
83808         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
83809         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
83810         yesno.c: Back out Copyright date changes for each file with no change
83811         this year.  This eases coordination with other programs using the same
83812         source code modules.  From Paul Eggert.
83813
83814 2000-08-06  Paul Eggert  <eggert@twinsun.com>
83815
83816         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
83817         not char, for compatibility with glibc 2.1.3 strftime.c.
83818
83819 2000-08-03  Greg McGary  <greg@mcgary.org>
83820
83821         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
83822         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
83823         (EXTEND_BUFFER): Use them.
83824
83825 2000-08-01  Jim Meyering  <meyering@lucent.com>
83826
83827         * lib/dirname.c (ISSLASH): Define.
83828         (BACKSLASH_IS_PATH_SEPARATOR): Define.
83829         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
83830         both `\' and `/' may be use as path separators.
83831         Based on a patch from Prashant TR.
83832
83833 2000-07-31  Paul Eggert  <eggert@twinsun.com>
83834
83835         * lib/quotearg.c (quotearg_n_options): Don't make the initial
83836         slot vector a constant, since it might get modified.
83837
83838 2000-07-31  Jim Meyering  <meyering@lucent.com>
83839
83840         * lib/xmalloc.c: Use `virtual memory exhausted', not
83841         `Memory exhausted'.
83842         * lib/obstack.c (print_and_abort): Likewise.
83843
83844 2000-07-30  Paul Eggert  <eggert@twinsun.com>
83845
83846         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
83847         buffer, so that the caller can always quote one small
83848         component of a "memory exhausted" message in slot 0.
83849         From a suggestion by Jim Meyering.
83850
83851 2000-07-30  Jim Meyering  <meyering@lucent.com>
83852
83853         * lib/makepath.c (make_path): Quote the other instance, too.
83854
83855         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
83856         (STATIC_BUF_SIZE): Define.
83857         (quotearg_n_options): Use only statically allocated storage when
83858         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
83859         than STATIC_BUF_SIZE.
83860
83861 2000-07-29  Jim Meyering  <meyering@lucent.com>
83862
83863         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
83864         * lib/dirname.c (dir_name): Likewise.
83865
83866         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
83867         `/'.
83868
83869         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
83870         (dir_name): Assert that there are no trailing slashes.
83871
83872 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
83873
83874         * lib/mbswidth.h (mbswidth): Add a flags argument.
83875         (mbswidth): New declaration.
83876         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
83877         * lib/mbswidth.c (mbswidth): Add a flags argument.
83878         (mbsnwidth): New function.
83879
83880 2000-07-24  Jim Meyering  <meyering@lucent.com>
83881
83882         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
83883
83884 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83885
83886         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
83887
83888 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83889
83890         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
83891         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
83892         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
83893         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
83894         invoke multibyte primitives.
83895
83896 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83897
83898         * lib/quotearg.c:
83899         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
83900         so that mbstate_t is always defined.
83901
83902         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
83903         be 1 in at least one GCC installation, and this configuration
83904         error is likely to be common.  Ignoring MB_LEN_MAX hurts
83905         performance on hosts that have mbrtowc but have only unibyte
83906         locales, but I assume these hosts are rare.
83907
83908 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83909
83910         * lib/mbswidth.c (_XOPEN_SOURCE):
83911         Don't define; this causes problems on Solaris 7.
83912         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
83913
83914 2000-07-23  Jim Meyering  <meyering@lucent.com>
83915
83916         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
83917         too: getgrgid, getpwuid, getuid.
83918
83919 2000-07-23  Jim Meyering  <meyering@lucent.com>
83920
83921         * lib/basename.c (base_name): Add an assertion.
83922
83923 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
83924
83925         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
83926         shadow its mbsinit function.
83927
83928 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83929
83930         * lib/mbswidth.h: New file.
83931         * lib/mbswidth.c: New file.
83932         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
83933         (noinst_HEADERS): Add mbswidth.h.
83934
83935 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83936
83937         * lib/config.charset: Add support for FreeBSD. Improve support for
83938         HP-UX and IRIX 6.
83939
83940 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
83941
83942         * m4/mbswidth.m4: New file.
83943         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
83944
83945 2000-07-15  Jim Meyering  <meyering@lucent.com>
83946
83947         * lib/makepath.c: Include quote.h.
83948         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
83949         corresponding argument in a `quote (...)' call.
83950         Give better diagnostics.
83951
83952         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
83953         (noinst_HEADERS): Add quote.h.
83954
83955         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
83956         from tar's src/misc.c.
83957         * lib/quote.h: New file.  Prototypes for same.
83958
83959 2000-07-14  Paul Eggert  <eggert@twinsun.com>
83960
83961         From a suggestion by Bruno Haible.
83962         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
83963         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
83964         to decide whether to define the BeOS workaround macro;
83965         this adjusts to the change to AC_MBSTATE_T.
83966
83967 2000-07-14  Jim Meyering  <meyering@lucent.com>
83968
83969         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
83970         jm_AC_TYPE_UINTMAX_T.
83971
83972 2000-07-13  Paul Eggert  <eggert@twinsun.com>
83973
83974         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
83975
83976         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
83977         quotearg_buffer_restyled): Add support for
83978         clocale_quoting_style.  Undo previous change to
83979         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
83980         and "{RIGHT QUOTATION MARK}" msgids.
83981
83982 2000-07-10  Paul Eggert  <eggert@twinsun.com>
83983
83984         From a suggestion by Bruno Haible.
83985         * m4/mbstate_t.m4 (AC_MBSTATE_T):
83986         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
83987         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
83988         and mbstate_t, to a single-part test that simply defines mbstate_t.
83989         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
83990         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
83991
83992 2000-07-10  Jim Meyering  <meyering@lucent.com>
83993
83994         * m4/strerror_r.m4: Mirror the correction made in autoconf.
83995
83996         * m4/gnu-source.m4: Output to confdefs.h directly.
83997         Suggestion from Akim Demaille.
83998
83999 2000-07-09  Paul Eggert  <eggert@twinsun.com>
84000
84001         The old behavior of quoting `like this' doesn't look good with
84002         newer, ISO-style fonts.  See:
84003         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
84004
84005         Instead, quote "like this" by default.  Let the translator
84006         tailor the locale-specific quoting behavior by providing
84007         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
84008
84009         * lib/quotearg.c (N_): New macro.
84010         (gettext_default): New function.
84011         (quotearg_buffer_restyled): Use
84012         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
84013         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
84014
84015 2000-07-09  Jim Meyering  <meyering@lucent.com>
84016
84017         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
84018         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
84019
84020         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
84021         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
84022
84023 2000-07-09  Jim Meyering  <meyering@lucent.com>
84024
84025         * lib/Most files: Update copyright dates to include 2000.
84026
84027 2000-07-08  Jim Meyering  <meyering@lucent.com>
84028
84029         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
84030         if not defined.
84031         (xgethostname): Remove now-unnecessary #ifdef.
84032         Move declaration of `err' into loop where it's used.
84033
84034 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84035         and Bruno Haible  <haible@clisp.cons.org>
84036
84037         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
84038         only if the test for an object-type mbstate_t fails.  This
84039         prevents us from mistakenly reporting that mbstate_t is a
84040         system object type after we "#define mbstate_t int" to work
84041         around its lack.
84042
84043 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84044         and Bruno Haible  <haible@clisp.cons.org>
84045
84046         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
84047
84048 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84049
84050         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
84051         to strerror_r.
84052         Include <ctype.h> for use of isalpha.
84053
84054 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84055
84056         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
84057         by allocating a larger buffer. Test the gethostname return value for
84058         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
84059         returns an error and ENAMETOOLONG isn't defined.
84060
84061 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84062
84063         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
84064         dimension.
84065
84066 2000-07-04  Jim Meyering  <meyering@lucent.com>
84067
84068         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
84069         of the deprecated AC_CHECKING.
84070
84071 2000-07-04  Jim Meyering  <meyering@lucent.com>
84072
84073         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
84074         Reported by Bruno Haible.
84075
84076 2000-07-04  Jim Meyering  <meyering@lucent.com>
84077
84078         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
84079         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
84080         lacks mbrtowc.
84081
84082 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84083
84084         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
84085         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
84086
84087 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84088         and Bruno Haible  <haible@clisp.cons.org>
84089
84090         * lib/quotearg.c (mbrtowc):
84091         Assign to *pwc, and return 1 only if result is nonzero.
84092         (iswprint): Use ISPRINT when substituting our own mbrtowc.
84093
84094 2000-07-03  Jim Meyering  <meyering@lucent.com>
84095
84096         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
84097
84098 2000-07-03  Jim Meyering  <meyering@lucent.com>
84099
84100         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
84101         This is necessary to get a definition of e.g., UTMP_FILE on
84102         HP-UX 10.20.
84103         From Bob Proulx.
84104
84105 2000-07-02  Jim Meyering  <meyering@lucent.com>
84106
84107         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
84108
84109         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
84110         AC_LIBOBJ(function_name).
84111         * m4/chown.m4: Likewise.
84112         * m4/fnmatch.m4: Likewise.
84113         * m4/ftruncate.m4: Likewise.
84114         * m4/getgroups.m4: Likewise.
84115         * m4/getline.m4: Likewise.
84116         * m4/group-member.m4: Likewise.
84117         * m4/jm-macros.m4: Likewise.
84118         * m4/lstat.m4: Likewise.
84119         * m4/malloc.m4: Likewise.
84120         * m4/memcmp.m4: Likewise.
84121         * m4/nanosleep.m4: Likewise.
84122         * m4/putenv.m4: Likewise.
84123         * m4/realloc.m4: Likewise.
84124         * m4/regex.m4: Likewise.
84125         * m4/stat.m4: Likewise.
84126         * m4/strftime.m4: Likewise.
84127
84128 2000-07-02  Jim Meyering  <meyering@lucent.com>
84129
84130         * lib/quotearg.c (mbstate_t): Don't define here.
84131
84132 2000-07-02  Jim Meyering  <meyering@lucent.com>
84133
84134         * lib/nanosleep.c (SIGCONT): Define if not already defined.
84135
84136 2000-07-01  Jim Meyering  <meyering@lucent.com>
84137
84138         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
84139
84140 2000-07-01  Jim Meyering  <meyering@lucent.com>
84141
84142         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
84143         problem.
84144
84145 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84146
84147         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
84148         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
84149
84150 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84151
84152         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
84153         per change in ../m4/ls-mntd-fs.m4.
84154         (read_filesystem_list): Ignore symbolic links.
84155
84156 2000-06-29  Jim Meyering  <meyering@lucent.com>
84157
84158         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
84159         for declaration of strcmp.
84160
84161         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
84162
84163         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
84164         Avoid warning by casting result to `char *' to remove `const'.
84165
84166 2000-06-28  Jim Meyering  <meyering@lucent.com>
84167
84168         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
84169         included by quotearg.c, for which we perform this test.  From
84170         Bruno Haible.
84171
84172 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84173
84174         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
84175         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
84176         <utmpx.h> exists, put readutmp.o into LIBOBJS.
84177
84178 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84179
84180         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
84181
84182 2000-06-26  Paul Eggert  <eggert@twinsun.com>
84183
84184         savedir now sets errno on failure and invokes xmalloc to get memory.
84185         Fix a couple of other minor bugs while we're at it.
84186
84187         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
84188         (NAMLEN): Remove macro.
84189         (malloc, realloc): Remove decls.
84190         (stpcpy): Likewise.
84191         ("xalloc.h"): Include.
84192         (NAME_SIZE_DEFAULT): New macro.
84193         (savedir): Use xmalloc / xrealloc to allocate memory.
84194         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
84195         Skip "" directory entries.
84196         Use strlen to calculate directory entry length, since the old method
84197         is rarely used these days and isn't worth supporting.
84198         Don't use a pointer after freeing it.
84199         Check for integer overflow when calculating allocation size.
84200         Use memcpy to copy entries, instead of stpcpy.
84201         Set errno properly when returning NULL.
84202         Check for readdir error.
84203
84204 2000-06-26  Jim Meyering  <meyering@lucent.com>
84205
84206         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
84207
84208 2000-06-25  Jim Meyering  <meyering@lucent.com>
84209
84210         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
84211         Linux header bug when _XOPEN_SOURCE is defined to 500.
84212
84213 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
84214
84215         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
84216         deficiency.
84217
84218 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
84219
84220         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
84221         Include xalloc.h.
84222         Don't include <stdlib.h>.  Don't declare malloc, realloc.
84223
84224 2000-06-24  Jim Meyering  <meyering@lucent.com>
84225
84226         * m4/strerror_r.m4: Revive this file -- to try out an experimental
84227         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
84228         for which strerror does return char*, but which lacks a conveniently
84229         accessible declaration of the function.  If the compile-test says
84230         strerror_r doesn't work, then resort to a `run'-test that works on
84231         BeOS and segfaults on DEC Unix.
84232
84233 2000-06-24  Jim Meyering  <meyering@lucent.com>
84234
84235         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
84236
84237 2000-06-23  Paul Eggert  <eggert@twinsun.com>
84238
84239         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
84240         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
84241
84242 2000-06-23  Paul Eggert  <eggert@twinsun.com>
84243
84244         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
84245         (mbrtowc, mbstate_t): Define substitutes if
84246         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
84247         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
84248         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
84249
84250 2000-06-23  Jim Meyering  <meyering@lucent.com>
84251
84252         * m4/afs.m4: Add missing AC_MSG_RESULT.
84253         Reported by Bruno Haible.
84254
84255         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
84256         Suggestion from Bruno Haible.
84257
84258 2000-06-23  Jim Meyering  <meyering@lucent.com>
84259
84260         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
84261
84262 2000-06-21  Jim Meyering  <meyering@lucent.com>
84263
84264         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
84265
84266 2000-06-21  Jim Meyering  <meyering@lucent.com>
84267
84268         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
84269         (noinst_HEADERS): Add getstr.h.
84270
84271         * lib/getline.c (getstr): Move into a separate file.
84272         * lib/getstr.c (getstr): New file, extracted from getline.c, with
84273         the following changes: new parameter, delim2; both delim[12]
84274         parameters have type `int', not `char'.  The latter would lose
84275         with 8-bit delimiters.
84276         * lib/getstr.h: New file.
84277
84278 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84279
84280         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
84281         than 1024, return a memory chunk of least possible size, instead
84282         of size PATH_MAX + 2. In the loop, increment the size proportionally.
84283         Use free/xmalloc instead of xrealloc to avoid copying for very long
84284         paths.
84285
84286 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84287
84288         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
84289         the empty string.
84290
84291 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84292
84293         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
84294         address, not strdup.  Include <stdlib.h> and don't declare free().
84295
84296 2000-06-19  Jim Meyering  <meyering@lucent.com>
84297
84298         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
84299
84300 2000-06-18  Jim Meyering  <meyering@lucent.com>
84301
84302         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
84303
84304         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
84305         `checking whether...' message to be consistent with that of the
84306         lstat test.
84307
84308 2000-06-18  Jim Meyering  <meyering@lucent.com>
84309
84310         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
84311         Besides, these days every porting target provides a mkdir function.
84312
84313         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
84314         needed. (this snippet comes from src/system.h).
84315
84316 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
84317
84318         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
84319
84320 2000-06-15  Paul Eggert  <eggert@twinsun.com>
84321
84322         * lib/human.c (adjust_value): New function.
84323         (human_readable_inexact): Apply rounding style even when
84324         printing approximate values.
84325
84326 2000-06-14  Paul Eggert  <eggert@twinsun.com>
84327
84328         * lib/human.c (human_readable_inexact): Allow an input block
84329         size that is not a multiple of the output block size, and vice versa.
84330         Reported by Piergiorgio Sartor.
84331
84332 2000-06-14  Paul Eggert  <eggert@twinsun.com>
84333
84334         * lib/getdate.y (get_date): Apply relative times after time
84335         zone indicator, not before.  Reported by Todd A. Jacobs.
84336
84337 2000-06-13  Jim Meyering  <meyering@lucent.com>
84338
84339         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
84340
84341         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
84342
84343 2000-06-12  Paul Eggert  <eggert@twinsun.com>
84344
84345         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
84346
84347 2000-06-12  Jim Meyering  <meyering@lucent.com>
84348
84349         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
84350         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
84351         optional argument.
84352         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
84353         the optional argument, `lib'.
84354
84355 2000-06-08  Jim Meyering  <meyering@lucent.com>
84356
84357         * m4/largefile.m4: Remove file (now that it's part of autoconf).
84358
84359 2000-06-04  Paul Eggert  <eggert@twinsun.com>
84360
84361         Rewrite largefile configuration so that we don't need to run
84362         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
84363         AC_CANONICAL_HOST in configure.in -- jmm]
84364
84365         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
84366         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
84367         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
84368         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
84369         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
84370         All uses changed.
84371         Instead of inspecting the output of getconf, try to compile the
84372         test program without and with the macro definition.
84373         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
84374         for getconf.  Instead, check for the needed flags by compiling
84375         test programs.
84376
84377 2000-06-04  Paul Eggert  <eggert@twinsun.com>
84378
84379         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
84380
84381 2000-06-04  Jim Meyering  <meyering@lucent.com>
84382
84383         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
84384         SunOS 4.1.4 for which gid_t is an unsigned type.
84385
84386 2000-06-03  Jim Meyering  <meyering@lucent.com>
84387
84388         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
84389         now that autoconf requires that.
84390
84391         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
84392         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
84393         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
84394
84395 2000-06-03  Jim Meyering  <meyering@lucent.com>
84396
84397         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
84398
84399 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
84400
84401         * m4/glibc21.m4: New file.
84402         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
84403
84404 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
84405
84406         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
84407         newer, don't install charset.alias.
84408         * lib/config.charset: Change the Linux/glibc rules so they become empty
84409         on glibc-2.1 or newer.
84410
84411 2000-06-02  Jim Meyering  <meyering@lucent.com>
84412
84413         * lib/mountlist.c: Back out last change.  Instead, do this...
84414         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
84415         me_dummy member using the same `ignore'-testing code.
84416         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
84417         fs_type strings.
84418         From Mark D. Roth.
84419
84420 2000-05-29  Jim Meyering  <meyering@lucent.com>
84421
84422         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
84423         mounts with the `ignore' attribute.  Based on a patch from
84424         Mark D. Roth.
84425
84426 2000-05-28  Jim Meyering  <meyering@lucent.com>
84427
84428         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
84429         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84430         * m4/stat.m4: Likewise.
84431         * m4/lstat.m4: Likewise.
84432         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
84433
84434         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
84435         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
84436
84437 2000-05-26  Jim Meyering  <meyering@lucent.com>
84438
84439         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
84440
84441 2000-05-24  Jim Meyering  <meyering@lucent.com>
84442
84443         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
84444         autoconf requires that.
84445         * m4/lib-check.m4: Likewise.
84446         * m4/jm-macros.m4: Likewise.
84447         * m4/strftime.m4: Likewise.
84448
84449         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
84450         AC_CHECK_DECLS, now that autoconf requires that.
84451
84452 2000-05-22  Jim Meyering  <meyering@lucent.com>
84453
84454         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84455         * m4/lstat.m4: Likewise.
84456
84457 2000-05-22  Jim Meyering  <meyering@lucent.com>
84458
84459         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
84460
84461 2000-05-20  Jim Meyering  <meyering@lucent.com>
84462
84463         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
84464         (jm_PREREQ): Use it.
84465
84466 2000-05-18  Jim Meyering  <meyering@lucent.com>
84467
84468         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
84469         back, too, since it may have been modified by allocate_entry.
84470         (hash_delete): Rewrite to use neither the assignment operator
84471         nor the comma operator in an if-expression.
84472
84473 2000-05-15  Paul Eggert  <eggert@twinsun.com>
84474
84475         * lib/closeout.c:
84476         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
84477         Remove; no longer needed.
84478         "quotearg.h": Add include.
84479         (file_name): Do not bother to explicitly initialize to NULL; it's less
84480         efficient on some hosts.
84481         (close_stdout_status): Remove test as to whether stdout was already
84482         closed; it breaks for the case "echo x | sort >&-".
84483         Quote file name colons.
84484         Do not assume that _("write error") lacks format strings.
84485
84486 2000-05-15  Jim Meyering  <meyering@lucent.com>
84487
84488         * lib/version-etc.c (version_etc_copyright): Update the copyright
84489         string used in all --version output.
84490
84491 2000-05-14  Jim Meyering  <meyering@lucent.com>
84492
84493         * lib/closeout.c (close_stdout_set_file_name): New function.
84494         (close_stdout_status): Use new file-scoped global.
84495         Return right away if fstat says the stdout file descriptor is invalid.
84496         * lib/closeout.h (close_stdout_set_file_name): Declare.
84497
84498 2000-05-10  Jim Meyering  <meyering@lucent.com>
84499
84500         * lib/closeout.c [default_exit_status]: New file-scoped variable.
84501         (close_stdout_set_status): New function.
84502         * lib/closeout.h (close_stdout_set_status): Declare.
84503
84504 2000-05-09  Jim Meyering  <meyering@lucent.com>
84505
84506         * m4/gettext.m4: Rename this...
84507         * m4/libintl.m4: ...to this.
84508
84509 2000-05-08  Jim Meyering  <meyering@lucent.com>
84510
84511         * lib/long-options.c: Don't include closeout.h.
84512         (parse_long_options): Don't call close_stdout for --version.
84513
84514 2000-05-06  Paul Eggert  <eggert@twinsun.com>
84515
84516         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
84517         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
84518         2.1.3 bug.  This avoids a clash when files like regex.c define
84519         _GNU_SOURCE.
84520
84521 2000-05-06  Jim Meyering  <meyering@lucent.com>
84522
84523         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
84524         (AC_REPLACE_FUNCS): Add strnlen.
84525
84526         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
84527         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
84528
84529         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
84530         AC_SEARCH_LIBS call for nanosleep.
84531         (LIB_NANOSLEEP): Set and AC_SUBST.
84532
84533 2000-05-06  Jim Meyering  <meyering@lucent.com>
84534
84535         * lib/strnlen.c: Undefine __strnlen and strnlen.
84536         [!weak_alias]: Define __strnlen to strnlen.
84537
84538         * lib/atexit.c: New file, from libiberty.
84539
84540 2000-05-06  Jim Meyering  <meyering@lucent.com>
84541
84542         * lib/closeout.c (close_stdout_status): Also check for errors on the
84543         stderr stream.
84544
84545 2000-05-05  Jim Meyering  <meyering@lucent.com>
84546
84547         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
84548         AC_SEARCH_LIBS call for clock_gettime.
84549         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
84550
84551         * m4/search-libs.m4: Update from autoconf.
84552
84553         su doesn't work on Solaris 2.6.
84554         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
84555         <shadow.h>.  Reported by Dragos Harabor.
84556
84557 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
84558
84559         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
84560         memcpy instead of xmalloc, xrealloc, path_concat.
84561         (locale_charset): Treat empty environment variables as absent.
84562         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
84563
84564 2000-05-04  Jim Meyering  <meyering@lucent.com>
84565
84566         * lib/getopt.c: Update from glibc.
84567         * lib/obstack.c: Likewise.
84568         * lib/obstack.h: Likewise.
84569         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
84570         file
84571
84572         * lib/regex.h: Likewise.
84573         * lib/strndup.c: Likewise.
84574         * lib/strnlen.c: New file, from glibc.
84575
84576 2000-05-03  Jim Meyering  <meyering@lucent.com>
84577
84578         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
84579
84580 2000-05-02  Paul Eggert  <eggert@twinsun.com>
84581
84582         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
84583         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
84584         compile-time test, rather than inspecting host and OS, to
84585         decide whether to define _LARGEFILE_SOURCE.
84586
84587 2000-05-01  Jim Meyering  <meyering@lucent.com>
84588
84589         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
84590
84591         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
84592         Based on a patch from Bruno Haible.
84593
84594 2000-05-01  Jim Meyering  <meyering@lucent.com>
84595
84596         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
84597
84598 2000-04-29  Jim Meyering  <meyering@lucent.com>
84599
84600         * lib/path-concat.c: Declare strdup only if it's not defined.
84601         * lib/canon-host.c: Likewise.
84602
84603 2000-04-28  Jim Meyering  <meyering@lucent.com>
84604
84605         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
84606         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
84607         is included first, then limits.h is included by locale.h by libintl.h.
84608         From John David Anglin.
84609
84610 2000-04-25  Jim Meyering  <meyering@lucent.com>
84611
84612         * lib/makepath.c (S_IRWXUGO): Define.
84613         (make_path): Always perform explicit chmod if MODE specifies any
84614         of the `special' permission bits.  Prompted by a bug report against
84615         install from Mate Wierdl and Joost van Baal.
84616
84617 2000-04-18  Jim Meyering  <meyering@lucent.com>
84618
84619         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
84620         (jm_PREREQ): Use it.
84621
84622 2000-04-18  Jim Meyering  <meyering@lucent.com>
84623
84624         * lib/README: New file.
84625
84626         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
84627         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
84628
84629 2000-04-17  Jim Meyering  <meyering@lucent.com>
84630
84631         Get it right :-)
84632         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
84633         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
84634         Suggestion from Akim Demaille.
84635
84636 2000-04-17  Jim Meyering  <meyering@lucent.com>
84637
84638         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
84639         the definition of it to rpl_strftime also defined-away the system's
84640         declaration.
84641
84642 2000-04-15  Jim Meyering  <meyering@lucent.com>
84643
84644         Use `C' to denote so-called `contiguous' files, the same way
84645         that tar does.
84646         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
84647         (ftypelet): Use S_ISCTG.
84648         From Michael Deutschmann.
84649
84650 2000-04-14  Jim Meyering  <meyering@lucent.com>
84651
84652         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
84653         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
84654         clobbered.
84655
84656 2000-04-14  Jim Meyering  <meyering@lucent.com>
84657
84658         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
84659
84660 2000-04-13  Jim Meyering  <meyering@lucent.com>
84661
84662         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
84663         AH_VERBATIM to insert required #ifndef into config.h.in.
84664         Suggestion from Akim Demaille.
84665
84666 2000-04-12  Jim Meyering  <meyering@lucent.com>
84667
84668         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
84669         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
84670         Christian Krackowizer.
84671
84672         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
84673         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
84674         (AC_SYS_LARGEFILE): Require.
84675         (AM_C_PROTOTYPES): Require.
84676
84677 2000-04-08  Jim Meyering  <meyering@lucent.com>
84678
84679         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
84680         names don't conflict.  Reported by Eli Zaretskii.
84681
84682 2000-04-07  Jim Meyering  <meyering@lucent.com>
84683
84684         * lib/putenv.c: Move inclusion of errno.h so it follows that of
84685         sys/types.h, to work around system header problems on AIX 3.2.5.
84686         From Bruno Haible.
84687
84688 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
84689
84690         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
84691         bug.  Deal with the different error behavior of Irix iconv.
84692
84693 2000-04-05  Paul Eggert  <eggert@twinsun.com>
84694
84695         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
84696         IRIX if the installer said otherwise.
84697
84698 2000-04-05  Jim Meyering  <meyering@lucent.com>
84699
84700         Portability tweaks required for ultrix4.3.
84701         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
84702         (jm_CHECK_DECLS): Add getutent to the list of functions.
84703         (_jm_DECL_HEADERS): Add utmpx.h.
84704         From John David Anglin.
84705
84706         * m4/strftime.m4: Back out the 2000-04-02 change.
84707         Instead of that change, simply undefine putenv in the test program.
84708
84709 2000-04-05  Jim Meyering  <meyering@lucent.com>
84710
84711         Portability tweaks required for ultrix4.3.
84712         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
84713         getutent.
84714         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
84715         * lib/canon-host.c: Declare strdup.
84716         * lib/path-concat.c: Likewise.
84717         From John David Anglin.
84718
84719 2000-04-04  Jim Meyering  <meyering@lucent.com>
84720
84721         Be more DOS 8.3-friendly.
84722         * lib/ref-add.sin: Renamed from ref-add.sed.in.
84723         * lib/ref-del.sin: Renamed from ref-del.sed.in.
84724         * lib/Makefile.am: Reflect renaming.
84725         Reported by Eli Zaretskii.
84726
84727         Use a temporary file name that won't clash with `charset.alias'
84728         in the DOS 8.3 name space.
84729         * lib/Makefile.am (charset_tmp): Define.
84730         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
84731         (uninstall-local): Likewise.
84732         Reported by Eli Zaretskii.
84733
84734 2000-04-03  Jim Meyering  <meyering@lucent.com>
84735
84736         * m4/gettext.m4: Fix typo in comment.
84737
84738         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
84739         textutils/configure.in).  Suggestion from Paul Eggert.
84740         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
84741
84742 2000-04-02  Paul Eggert  <eggert@twinsun.com>
84743
84744         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
84745         variable in the shell rather than using putenv, which isn't
84746         portable.  This avoids the configure-time inter-test dependency
84747         on the potentially-renamed putenv function.
84748
84749 2000-03-30  Paul Eggert  <eggert@twinsun.com>
84750
84751         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
84752         before checking struct stat.st_blksize, so that
84753         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
84754
84755 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84756
84757         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
84758         since strftime.c uses HAVE_STRFTIME to decide whether to use
84759         the underlying strftime.
84760
84761 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84762
84763         * lib/time/strftime.c (my_strftime): Make sure we call the system
84764         strftime, not ourselves, when invoking the underlying strftime.
84765
84766 2000-03-24  Jim Meyering  <meyering@lucent.com>
84767
84768         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
84769         (charset_alias): Define.
84770         (install-exec-local): Factor out common code.
84771         (uninstall-local): Split lines longer than 80.
84772         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
84773         (SUFFIXES): Define.
84774         (.sed.in.sed): New rule.  Don't redirect directly to $@.
84775         (CLEANFILES): Add ref-add.sed and ref-del.sed.
84776
84777 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
84778
84779         * lib/config.charset: Output a line containing "Packages using this
84780         file".
84781         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
84782         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
84783         ref-del.sed): New rules.
84784
84785 2000-03-17  Jim Meyering  <meyering@lucent.com>
84786
84787         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
84788         Otherwise, include <strings.h>
84789
84790 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
84791
84792         * lib/unicodeio.c (utf8_wctomb): New function.
84793         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
84794         format instead of in UCS-4 with platform dependent endianness.
84795
84796 2000-03-10  Jim Meyering  <meyering@lucent.com>
84797
84798         * m4/lib-check.m4: Look for getspnam in -lgen, too.
84799         From Marco Franzen.
84800
84801 2000-03-07  Paul Eggert  <eggert@twinsun.com>
84802
84803         * lib/savedir.c (savedir): Work even if directory size is
84804         negative; this can happen with some screwy NFS configurations.
84805
84806 2000-03-06  Jim Meyering  <meyering@lucent.com>
84807
84808         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
84809         if it's NULL (because we ran out of memory).  From Bruno Haible.
84810
84811 2000-03-05  Jim Meyering  <meyering@lucent.com>
84812
84813         * lib/localcharset.c ("path-concat.h"): Include.
84814         (get_charset_aliases): Use path_concat instead of ANSI string
84815         concatenation.
84816
84817         * lib/unicodeio.h (PARAMS): Define.
84818         Use it to guard prototype.
84819
84820 2000-03-04  Jim Meyering  <meyering@lucent.com>
84821
84822         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
84823         for lib/localcharset.c.
84824
84825 2000-03-04  Jim Meyering  <meyering@lucent.com>
84826
84827         * lib/Makefile.am (install-exec-local): Create $(libdir) before
84828         installing into it.
84829         (uninstall-local): Uncomment this rule so `make distcheck' works
84830         once again.
84831
84832         * lib/unicodeio.c (<errno.h>): Include it.
84833         (errno): Declare if not defined.
84834
84835         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
84836
84837         * lib/config.charset: New version, incorporating remarks from a linux
84838         i18n mailing list.  From Bruno Haible.
84839
84840 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
84841
84842         * m4/codeset.m4: New file.
84843         * m4/iconv.m4: New file.
84844         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
84845
84846 2000-03-03  Jim Meyering  <meyering@lucent.com>
84847
84848         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
84849
84850 2000-03-02  Jim Meyering  <meyering@lucent.com>
84851
84852         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
84853         the messages come out on separate lines.
84854
84855         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
84856         rather than jm_CHECK_DECLARATIONS.
84857         * m4/decl.m4: Remove now-unused file.
84858
84859         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
84860         geteuid.
84861
84862 2000-03-02  Jim Meyering  <meyering@lucent.com>
84863
84864         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
84865
84866 2000-03-01  Jim Meyering  <meyering@lucent.com>
84867
84868         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
84869         * lib/unicodeio.c: Likewise.
84870
84871 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
84872
84873         * lib/config.charset: New file.
84874         * lib/localcharset.c: New file.
84875         * lib/unicodeio.h, lib/unicodeio.c: New files.
84876         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
84877         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
84878         (noinst_HEADERS): Add unicodeio.h.
84879         (all-local, install-exec-local, charset.alias): New targets.
84880
84881 2000-02-28  Paul Eggert  <eggert@twinsun.com>
84882
84883         * lib/quotearg.c (ALERT_CHAR): New macro.
84884         (quotearg_buffer_restyled): Use it.
84885
84886 2000-02-27  Jim Meyering  <meyering@lucent.com>
84887
84888         * m4/check-decl.m4: Add getenv to the list.
84889
84890 2000-02-27  Jim Meyering  <meyering@lucent.com>
84891
84892         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
84893         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
84894
84895         * lib/backupfile.c: Guard inclusion of stdlib.h with
84896         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
84897         Declare malloc if needed.
84898
84899         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
84900         `#ifndef HAVE_DECL..'
84901         now that autoconf always defines the HAVE_DECL_ symbols.
84902         * lib/human.c: Likewise.
84903         * lib/same.c: Likewise.
84904         * lib/strtoumax.c: Likewise.
84905
84906         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
84907         declaration check was not run.
84908         * lib/hash.c: Likewise.
84909         * lib/human.c: Likewise.
84910         * lib/same.c: Likewise.
84911         * lib/strtoumax.c: Likewise.
84912
84913         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
84914         `.', then first look up the entire `.'-containing string as a login
84915         name.
84916
84917 2000-02-23  Jim Meyering  <meyering@lucent.com>
84918
84919         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
84920         in place of my hack.
84921
84922 2000-02-18  Paul Eggert  <eggert@twinsun.com>
84923
84924         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
84925         (textint): New typedef.
84926         (parser_control): Member year changed from int to textint.
84927         All uses changed.
84928         (YYSTYPE): Removed; replaced by %union with int and textint members.
84929         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
84930         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
84931         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
84932         (tSNUMBER, tUNUMBER): Now of type <textintval>.
84933         (date, number, to_year): Use width of number in digits, not its value,
84934         to determine whether it's a 2-digit year, or a 2-digit time.
84935         (yylex): Store number of digits of numeric tokens.
84936         Reported by John Kendall.
84937
84938         (parser_control): Changed from struct parser_control to typedef (for
84939         consistency).  All uses changed.
84940
84941         (tID): Removed; not used.
84942         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
84943
84944 2000-02-14  Paul Eggert  <eggert@twinsun.com>
84945
84946         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
84947         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
84948
84949 2000-02-12  Jim Meyering  <meyering@lucent.com>
84950
84951         * lib/userspec.c (ISDIGIT): Define it.
84952         (isdigit): Remove definition.
84953         (is_number): Use ISDIGIT, not isdigit.
84954         <libintl.h>: Include.
84955         (_ and N_): Define.
84956         (parse_user_spec): Mark translatable strings.
84957
84958 2000-02-10  Jim Meyering  <meyering@lucent.com>
84959
84960         With these changes, nanosleep.[ch] are finally enough like the other
84961         lib/* replacement files to compile on a few more losing systems.
84962
84963         * lib/nanosleep.h: Don't include config.h.
84964         Remove prototype from declaration of nanosleep.
84965         (PARAMS): Remove now-unneeded definition.
84966         * lib/nanosleep.c: #undef nanosleep.
84967         (rpl_nanosleep): Rename from nanosleep.
84968
84969 2000-02-10  Jim Meyering  <meyering@lucent.com>
84970
84971         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
84972         gnu_nanosleep to rpl_nanosleep.
84973
84974 2000-02-09  Jim Meyering  <meyering@lucent.com>
84975
84976         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
84977         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
84978
84979 2000-02-08  Akim Demaille  <akim@epita.fr>
84980
84981         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
84982         `[' and `]' and remove uses of `changequote'.
84983         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
84984         (AC_SYS_LARGEFILE): Likewise.
84985         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
84986         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
84987         of changequote.
84988         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
84989         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
84990         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
84991         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
84992
84993 2000-02-05  Jim Meyering  <meyering@lucent.com>
84994
84995         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
84996         Remove explicit use of AC_HEADER_TIME.  It is required by
84997         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
84998         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
84999         in autoconf whereby the expansion of the latter ended up preceding
85000         the expansion of its prerequisite, AC_HEADER_TIME.
85001         Reported by Volker Borchert.
85002
85003 2000-02-03  Jim Meyering  <meyering@lucent.com>
85004
85005         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
85006
85007 2000-02-03  Jim Meyering  <meyering@lucent.com>
85008
85009         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
85010         rather than with `#if HAVE_UTMPNAME'.
85011
85012 2000-02-02  Jim Meyering  <meyering@lucent.com>
85013
85014         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
85015         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
85016         Reported by Eli Zaretskii.
85017
85018 2000-02-01  Jim Meyering  <meyering@lucent.com>
85019
85020         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
85021
85022 2000-01-31  Jim Meyering  <meyering@lucent.com>
85023
85024         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
85025         functions.  Add the time.h and sys/time.h headers along with the
85026         AC_REQUIRE'ment of AC_HEADER_TIME.
85027
85028 2000-01-31  Jim Meyering  <meyering@lucent.com>
85029
85030         * lib/nanosleep.h (nanosleep): Guard declaration with
85031         `#if ! HAVE_DECL_NANOSLEEP'.
85032         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
85033         the declaration in that vendor's sys/timers.h.
85034         Reported by Christian Krackowizer.
85035
85036         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
85037         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
85038         (ISPRINT): Likewise.
85039         Reported by Tom Tromey.
85040
85041 2000-01-30  Jim Meyering  <meyering@lucent.com>
85042
85043         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
85044
85045         * m4/prereq.m4 (utmp_includes): Define.
85046         Check for ut_user and ut_name members in both struct utmpx
85047         and struct utmp.
85048
85049 2000-01-30  Jim Meyering  <meyering@lucent.com>
85050
85051         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
85052         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
85053         header files where only utmpx.ut_user is declared.
85054
85055         * lib/readutmp.h (UT_USER): Define.
85056
85057 2000-01-29  Jim Meyering  <meyering@lucent.com>
85058
85059         * m4/lib-check.m4: New file containing library-related checks from
85060         fileutils and sh-utils (textutils had none).
85061
85062 2000-01-28  Jim Meyering  <meyering@lucent.com>
85063
85064         * m4/perl.m4: Change format of warning message to look more like that
85065         from the missing script.  Suggestion from François Pinard.
85066
85067 2000-01-25  Jim Meyering  <meyering@lucent.com>
85068
85069         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
85070         well as time.h in the compile check.
85071         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
85072         Fix typo in cross-compiling case: s/yes/no/.
85073
85074 2000-01-23  Jim Meyering  <meyering@lucent.com>
85075
85076         * m4/jm-macros.m4: Move df-related tests here from
85077         fileutils/configure.in
85078
85079         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
85080         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
85081
85082         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
85083         s/space/ac_fsusage_space/.
85084         (jm_FILE_SYSTEM_USAGE): Take two parameters.
85085
85086         * m4/ftruncate.m4: New file (derived from part of
85087         fileutils/configure.in).
85088         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
85089         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
85090
85091         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
85092         AC_SUBST these here, rather than just in sh-util/configure.in, so
85093         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
85094         all the same.
85095         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
85096         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
85097         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
85098         (AC_SUBST(POW_LIBM)): Likewise.
85099         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
85100
85101 2000-01-23  Jim Meyering  <meyering@lucent.com>
85102
85103         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
85104         obstack.c.
85105
85106 2000-01-22  Jim Meyering  <meyering@lucent.com>
85107
85108         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
85109
85110         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
85111
85112         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
85113         configure.in
85114         (AC_CHECK_HEADERS): Likewise for sh-utils.
85115         (AC_CHECK_HEADERS): Likewise for textutils.
85116         Merge the three lists of headers.
85117
85118         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
85119         from fileutils' configure.in.
85120
85121         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
85122         code. Moved tests into their own function (_jm_DECL_HEADERS) in
85123         check-decl.m4.
85124
85125         * m4/check-decl.m4: Use #if rather than #ifdef.
85126         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
85127         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
85128         (_jm_DECL_HEADERS): Define new function.
85129         (jm_CHECK_DECLARATIONS): Require it.
85130
85131 2000-01-22  Jim Meyering  <meyering@lucent.com>
85132
85133         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
85134         [! HAVE_DECL_STRTOULL]: Declare strtoull.
85135         Required for some AIX systems.  Reported by Christian Krackowizer.
85136         [TESTING] (main): New function.
85137
85138         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
85139         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
85140         letters.
85141
85142         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
85143         iswprint.
85144
85145         * lib/strverscmp.c (ISDIGIT): Define.
85146         (strverscmp): Use ISDIGIT, not isdigit.
85147
85148 2000-01-19  Jim Meyering  <meyering@lucent.com>
85149
85150         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
85151         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
85152         defines `struct timespec' in <sys/time.h>
85153
85154         * m4/c-bs-a.m4: Remove uses of changequote altogether.
85155         Thanks to Akim for explaining.
85156
85157 2000-01-17  Paul Eggert  <eggert@twinsun.com>
85158
85159         * lib/nanosleep.c (nanosleep):
85160         Don't use SA_INTERRUPT to decide whether to call sigaction, as
85161         POSIX.1 doesn't require SA_INTERRUPT and some systems
85162         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
85163         it's been part of POSIX.1 since day 1 (in 1988).
85164
85165 2000-01-17  Jim Meyering  <meyering@lucent.com>
85166
85167         * lib/interlock: Remove unused file.  Reported by François Pinard.
85168
85169 2000-01-16  Paul Eggert  <eggert@twinsun.com>
85170
85171         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
85172         alert, backslash, formfeed, and vertical tab unnecessarily in
85173         shell quoting style.
85174
85175 2000-01-16  Jim Meyering  <meyering@lucent.com>
85176
85177         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
85178         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
85179         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
85180         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
85181
85182 2000-01-16  Jim Meyering  <meyering@lucent.com>
85183
85184         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
85185         because the latter didn't work.
85186
85187 2000-01-15  Jim Meyering  <meyering@lucent.com>
85188
85189         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
85190         (AC_REPLACE_FUNCS): Add memcpy and memset.
85191         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
85192         Add strpbrk.
85193         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
85194
85195 2000-01-12  Jim Meyering  <meyering@lucent.com>
85196
85197         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
85198         (jm_PREREQ): Use it.
85199         (jm_PREREQ_READUTMP): New macro.
85200         (jm_PREREQ): Use it.
85201
85202 2000-01-11  Paul Eggert  <eggert@twinsun.com>
85203
85204         Quote multibyte characters correctly.
85205         * m4/c-bs-a.m4: New file.
85206         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
85207         (jm_PREREQ): Use it.
85208
85209 2000-01-11  Paul Eggert  <eggert@twinsun.com>
85210
85211         * m4/uintmax_t.m4: Port to autoconf 2.13.
85212
85213 2000-01-08  Jim Meyering  <meyering@ascend.com>
85214
85215         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
85216         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
85217
85218 2000-01-04  Jim Meyering  <meyering@ascend.com>
85219
85220         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
85221         jm_STRUCT_DIRENT_D_TYPE.
85222         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
85223         jm_STRUCT_DIRENT_D_INO.
85224         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
85225         jm_STRUCT_UTIMBUF.
85226         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
85227         renamings.
85228         * m4/utime.m4: Likewise.
85229
85230         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
85231         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
85232
85233 2000-01-03  Paul Eggert  <eggert@twinsun.com>
85234
85235         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
85236         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
85237
85238 2000-01-02  Jim Meyering  <meyering@ascend.com>
85239
85240         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
85241         remember if this is necessary.
85242
85243 1999-12-26  Jim Meyering  <meyering@ascend.com>
85244
85245         * m4/jm-macros.m4: Use it here.
85246         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
85247
85248 1999-12-23  Jim Meyering  <meyering@ascend.com>
85249
85250         * m4/jm-macros.m4: Check for clock_gettime (moved from
85251         fileutils/configure.in)
85252         Check for gettimeofday.
85253
85254 1999-12-20  Jim Meyering  <meyering@ascend.com>
85255
85256         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
85257         autoconf-2.14a-1999-12-20.
85258
85259 1999-12-19  Jim Meyering  <meyering@ascend.com>
85260
85261         * m4/lstat-slash.m4: New file.
85262         * m4/jm-macros.m4: Use the new macro:
85263         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85264
85265 1999-12-07  Jim Meyering  <meyering@ascend.com>
85266
85267         * m4/perl.m4: Require that File::Compare be available, too.
85268         Too many systems seem to lack it.
85269
85270         * m4/strftime.m4: Add checks for most of the cpp macros tested in
85271         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
85272
85273 1999-11-18  Paul Eggert  <eggert@twinsun.com>
85274
85275         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
85276         problem with the QNX 4.25 shell, which doesn't propagate exit
85277         status of failed commands inside shell assignments.
85278
85279 1999-11-17  Jim Meyering  <meyering@ascend.com>
85280
85281         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
85282
85283 1999-11-07  Jim Meyering  <meyering@ascend.com>
85284
85285         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
85286
85287 1999-11-06  Jim Meyering  <meyering@ascend.com>
85288
85289         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
85290         * m4/jm-macros.m4 (jm_MACROS): Use it here.
85291
85292 1999-11-05  Jim Meyering  <meyering@ascend.com>
85293
85294         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
85295         configure.in of textutils, fileutils, and sh-utils into this one
85296         (shared between those packages) file.
85297         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
85298         AC_STRUCT_ST_BLKSIZE.
85299
85300 1999-11-03  Jim Meyering  <meyering@ascend.com>
85301
85302         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
85303         of AC_CHECK_TYPE checks includes unistd.h.
85304         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
85305         Suggestion from Akim Demaille.
85306
85307 1999-10-30  Jim Meyering  <meyering@ascend.com>
85308
85309         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
85310         m4-quoted string.
85311         * m4/ls-mntd-fs.m4: Likewise.
85312         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
85313         * m4/jm-winsz1.m4: Likewise.
85314
85315         * m4/const.m4: Remove file, since the fix made it into the experimental
85316         version of autoconf.
85317         * m4/mktime.m4: Likewise.
85318
85319         * m4/check-type.m4: Remove file, now that the latest version of
85320         AC_CHECK_TYPE takes a third arg to specify additional #includes.
85321
85322         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
85323         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
85324         AC_CHECK_TYPE.
85325
85326 1999-10-04  Jim Meyering  <meyering@ascend.com>
85327
85328         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
85329
85330 1999-09-22  Paul Eggert  <eggert@twinsun.com>
85331
85332         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
85333         2.95.1 bug with HP-UX 10.20.
85334
85335 1999-09-17  Jim Meyering  <meyering@ascend.com>
85336
85337         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
85338         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
85339         due to missing strdup (against sh-utils-2.0).
85340
85341 1999-08-29  Jim Meyering  <meyering@ascend.com>
85342
85343         * m4/jm-macros.m4: Require jm_BISON.
85344         * m4/bison.m4: New file.
85345
85346 1999-08-17  Paul Eggert  <eggert@twinsun.com>
85347
85348         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
85349         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
85350
85351 1999-08-05  Jim Meyering  <meyering@ascend.com>
85352
85353         * m4/getline.m4: Rename test file from conftestdata to conftest.data
85354         to avoid conflicts with `conftest' on 8+3 filesystems.
85355         Suggestion from Eli Zaretskii.
85356
85357 1999-08-04  Jim Meyering  <meyering@ascend.com>
85358
85359         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
85360         fileutils and sh-utils (textutils's getline test was inadequate).
85361         (AM_FUNC_GETLINE): Run this test.
85362         (AC_CHECK_FUNCS): Check for getdelim.
85363         Reported by Bob Proulx.
85364
85365 1999-08-02  Jim Meyering  <meyering@ascend.com>
85366
85367         * m4/jm-macros.m4: Add a comment.
85368
85369 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85370
85371         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
85372         <inttypes.h> defines strtoumax as a macro (and not as a
85373         function).
85374
85375 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85376
85377         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
85378         that we can shift, multiply and divide unsigned long long
85379         values; Ultrix cc can't do it.
85380
85381 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85382
85383         * m4/mktime.m4: New file, which is a preview of what should appear
85384         in the next public autoconf release.
85385
85386 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85387
85388         * m4/lfs.m4: Remove this file.
85389         * m4/largefile.m4: New file.  It contains the old contents of
85390         lfs.m4, except that all names with prefix AC_LFS have been
85391         changed to use the prefix AC_SYS_LARGEFILE instead, to be
85392         compatible with future autoconf versions.  Also, some minor m4
85393         quoting problems have been fixed.
85394
85395 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85396
85397         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
85398         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
85399         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
85400         and simplify the shell code.
85401
85402 1999-08-01  Jim Meyering  <meyering@ascend.com>
85403
85404         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
85405         m4.
85406
85407 1999-07-20  Jim Meyering  <meyering@ascend.com>
85408
85409         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
85410
85411 1999-07-15  Jim Meyering  <meyering@ascend.com>
85412
85413         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
85414
85415 1999-05-22  Jim Meyering  <meyering@ascend.com>
85416
85417         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
85418
85419 1999-05-20  Jim Meyering  <meyering@ascend.com>
85420
85421         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
85422         Add a colon after each `then' in case $4 is empty.
85423
85424 1999-05-16  Jim Meyering  <meyering@ascend.com>
85425
85426         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
85427
85428 1999-05-10  Jim Meyering  <meyering@ascend.com>
85429
85430         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
85431
85432         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
85433         AC_FUNC_MKTIME.
85434
85435 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
85436
85437         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
85438
85439 1999-05-04  Paul Eggert  <eggert@twinsun.com>
85440
85441         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
85442         not CPPFLAGS, so that linking works correctly in IRIX.
85443
85444 1999-04-30  Paul Eggert  <eggert@twinsun.com>
85445
85446         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
85447
85448 1999-04-20  Paul Eggert  <eggert@twinsun.com>
85449
85450         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
85451         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
85452         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
85453         jm_AC_TYPE_UNSIGNED_LONG_LONG.
85454         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
85455
85456         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
85457
85458 1999-04-20  Jim Meyering  <meyering@ascend.com>
85459
85460         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
85461         AC_REPLACE xstroull if necessary.  From Paul Eggert.
85462         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
85463
85464 1999-04-18  Jim Meyering  <meyering@ascend.com>
85465
85466         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
85467         * m4/jm-macros.m4: Use it.
85468
85469 1999-04-06  Jim Meyering  <meyering@ascend.com>
85470
85471         * m4/strftime.m4: Remove test for %f.
85472
85473 1999-03-29  Jim Meyering  <meyering@ascend.com>
85474
85475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
85476         superset of the AC_TYPE_* checks in the textutils, fileutils,
85477         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
85478         AC_TYPE_PID_T.
85479
85480 1999-03-28  Jim Meyering  <meyering@ascend.com>
85481
85482         * m4/jm-macros.m4: Define GNU_PACKAGE here.
85483         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
85484         replaced e.g., in the *.sh files of the sh-utils.
85485
85486 1999-03-20  Jim Meyering  <meyering@ascend.com>
85487
85488         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
85489         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
85490         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
85491
85492 1999-03-19  Jim Meyering  <meyering@ascend.com>
85493
85494         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
85495
85496 1999-03-12  Jim Meyering  <meyering@ascend.com>
85497
85498         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
85499
85500 1999-03-07  Jim Meyering  <meyering@ascend.com>
85501
85502         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
85503         declared.
85504
85505 1999-02-17  Jim Meyering  <meyering@ascend.com>
85506
85507         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
85508         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
85509
85510 1999-02-07  Jim Meyering  <meyering@ascend.com>
85511
85512         * m4/group-member.m4: New file -- extracted from sh-utils'
85513         configure.in.
85514
85515         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
85516         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
85517
85518 1999-02-06  Jim Meyering  <meyering@ascend.com>
85519
85520         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
85521         * m4/fnmatch.m4: Likewise.
85522         * m4/getgroups.m4: Likewise.
85523         * m4/lstat.m4: Likewise.
85524         * m4/malloc.m4: Likewise.
85525         * m4/putenv.m4: Likewise.
85526         * m4/realloc.m4: Likewise.
85527         * m4/regex.m4: Likewise.
85528         * m4/stat.m4: Likewise.
85529         * m4/strftime.m4: Likewise.
85530         Suggestion from Alain Magloire.
85531
85532         * m4/chown.m4: Use `.$ac_objext', not `.o'.
85533         * m4/fnmatch.m4: Likewise.
85534         * m4/getgroups.m4: Likewise.
85535         * m4/getline.m4: Likewise.
85536         * m4/lstat.m4: Likewise.
85537         * m4/malloc.m4: Likewise.
85538         * m4/memcmp.m4: Likewise.
85539         * m4/putenv.m4: Likewise.
85540         * m4/realloc.m4: Likewise.
85541         * m4/regex.m4: Likewise.
85542         * m4/stat.m4: Likewise.
85543         * m4/strftime.m4: Likewise.
85544         Suggestion from Alain Magloire.
85545
85546         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
85547         an argument.
85548
85549         * m4/regex.m4: Add a run-time Test for proper operation of
85550         re_compile_pattern.
85551
85552 1999-01-31  Jim Meyering  <meyering@ascend.com>
85553
85554         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
85555
85556 1999-01-30  Jim Meyering  <meyering@ascend.com>
85557
85558         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
85559
85560         * m4/jm-mktime.m4: Make this a wrapper around the official
85561         AM_FUNC_MKTIME rather than my private copy, now that the official one
85562         is up to date.
85563         * m4/mktime.m4: Remove file.
85564
85565         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
85566         * m4/uptime.m4: Likewise.
85567         * m4/uintmax_t.m4: Likewise.
85568
85569 1999-01-28  Jim Meyering  <meyering@ascend.com>
85570
85571         * m4/jm-macros.m4: Use jm_AFS.
85572         * m4/afs.m4: New file (from fileutils' configure.in).
85573
85574         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
85575         * m4/chown.m4: Likewise.
85576         * m4/d-ino.m4: Likewise.
85577         * m4/d-type.m4: Likewise.
85578         * m4/fnmatch.m4: Likewise.
85579         * m4/getgroups.m4: Likewise.
85580         * m4/gettext.m4: Likewise.
85581         * m4/jm-mktime.m4: Likewise.
85582         * m4/jm-winsz2.m4: Likewise.
85583         * m4/lcmessage.m4: Likewise.
85584         * m4/ls-mntd-fs.m4: Likewise.
85585         * m4/malloc.m4: Likewise.
85586         * m4/memcmp.m4: Likewise.
85587         * m4/putenv.m4: Likewise.
85588         * m4/realloc.m4: Likewise.
85589         * m4/st_mtim.m4: Likewise.
85590         * m4/strftime.m4: Likewise.
85591
85592 1999-01-16  Jim Meyering  <meyering@ascend.com>
85593
85594         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
85595         (ARGMATCH_DIE_DECL): Define.
85596
85597 1999-01-12  Jim Meyering  <meyering@ascend.com>
85598
85599         * m4/Makefile.am.in: Rewrite to avoid using fmt.
85600         Reported by Lars Hecking.
85601
85602 1999-01-10  Jim Meyering  <meyering@ascend.com>
85603
85604         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
85605         gross kludge.
85606         * m4/inttypes_h.m4: Likewise.
85607         * m4/lstat.m4: Likewise.
85608         * m4/malloc.m4: Likewise.
85609         * m4/readdir.m4: Likewise.
85610         * m4/realloc.m4: Likewise.
85611         * m4/st_dm_mode.m4: Likewise.
85612         * m4/stat.m4: Likewise.
85613         * m4/utimbuf.m4: Likewise.
85614         * m4/utimes.m4: Likewise.
85615
85616         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
85617         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
85618         comments in config.h.in are meaningful.
85619
85620         * m4/jm-macros.m4: Require autoconf-2.13 here.
85621
85622         * m4/regex.m4: By default, don't use the included regex.c on systems
85623         with glibc 2.  Suggestion from Uli Drepper.
85624
85625 1999-01-02  Jim Meyering  <meyering@ascend.com>
85626
85627         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
85628
85629 1998-12-18  Jim Meyering  <meyering@ascend.com>
85630
85631         * m4/Makefile.am.in (Makefile.am): Simplify rule.
85632         Based on a suggestion from Lars Hecking.
85633
85634 1998-11-16  Paul Eggert  <eggert@twinsun.com>
85635
85636         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
85637
85638 1998-11-16  Jim Meyering  <meyering@ascend.com>
85639
85640         * m4/lfs.m4: Double-quote the `uname...` expression.
85641
85642 1998-11-14  Jim Meyering  <meyering@ascend.com>
85643
85644         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
85645         * m4/stat.m4: Likewise.
85646
85647 1998-11-03  Jim Meyering  <meyering@ascend.com>
85648
85649         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
85650         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
85651
85652 1998-10-18  Jim Meyering  <meyering@ascend.com>
85653
85654         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
85655
85656 1998-10-17  Jim Meyering  <meyering@ascend.com>
85657
85658         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
85659         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
85660         calls for those previously hard-coded headers.  Instead, take a new
85661         parameter.
85662         (jm_CHECK_DECLARATIONS): Reflect interface change.
85663         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
85664         (jm_CHECK_DECL_LOCALTIME_R): New macro.
85665
85666         * m4/mktime.m4: Test for spring-forward gap before long-running test.
85667
85668 1998-10-14  Jim Meyering  <meyering@ascend.com>
85669
85670         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
85671         instead of "TZ=America/Vancouver".  From Paul Eggert.
85672
85673 1998-10-11  Jim Meyering  <meyering@ascend.com>
85674
85675         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
85676         This adds a test for a recently added compatibility fix for mktime.c.
85677         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
85678
85679 1998-09-27  Jim Meyering  <meyering@ascend.com>
85680
85681         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
85682
85683         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
85684         ../configure.in, including a change from Gordon Matzigkeit to allow
85685         cross-compiling for the Hurd.
85686
85687         * m4/glibc.m4: New file/macro to test for the GNU C Library
85688         versions 1 and 2.  From Gordon Matzigkeit.
85689         Indent.
85690
85691 1998-09-21  Jim Meyering  <meyering@ascend.com>
85692
85693         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
85694
85695 1998-08-18  Paul Eggert  <eggert@twinsun.com>
85696
85697         Port nanosecond-resolution times to UnixWare 2.1.2 and
85698         pedantic Solaris 2.6.
85699
85700         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
85701         AC_STRUCT_ST_MTIM.
85702         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
85703         Generate name of ns member, instead of just 1 or undef.
85704         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
85705
85706 1998-08-15  Jim Meyering  <meyering@ascend.com>
85707
85708         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
85709         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
85710         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
85711         instead of jm_TYPE_SSIZE_T.
85712
85713 1998-08-12  Jim Meyering  <meyering@ascend.com>
85714
85715         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
85716
85717 1998-08-02  Jim Meyering  <meyering@ascend.com>
85718
85719         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
85720         in acconfig.h manually.
85721
85722 1998-07-31  Paul Eggert  <eggert@twinsun.com>
85723
85724         * m4/st_mtim.m4: New file.
85725
85726 1998-07-28  Jim Meyering  <meyering@ascend.com>
85727
85728         * m4/utimes.m4: Undef stat.
85729
85730 1998-07-25  Jim Meyering  <meyering@ascend.com>
85731
85732         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
85733         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
85734
85735 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
85736
85737         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
85738         uid and gid actually remain unchanged.
85739
85740 1998-07-07  Jim Meyering  <meyering@ascend.com>
85741
85742         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
85743
85744 1998-07-04  Jim Meyering  <meyering@ascend.com>
85745
85746         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
85747         to prove that this macro can be used in packages without regex.c.
85748
85749 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
85750
85751         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
85752         is to be used.
85753
85754 1998-07-03  Jim Meyering  <meyering@ascend.com>
85755
85756         * m4/gettext.m4: Add -lintl if it's found to be necessary.
85757
85758         * m4/gettext.m4: New file -- from gettext-0.10.35.
85759         * m4/lcmessage.m4: Likewise.
85760         * m4/progtest.m4: Likewise.
85761
85762         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
85763         * m4/jm-macros.m4: Require the new macro.
85764
85765 1998-06-29  Jim Meyering  <meyering@ascend.com>
85766
85767         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
85768         for the definition of NGROUPS (used in a system header included
85769         by sys/mount.h).
85770
85771 1998-06-28  Jim Meyering  <meyering@ascend.com>
85772
85773         * m4/ls-mntd-fs.m4: New file.
85774         * m4/fstypename.m4: New file.
85775
85776         * m4/jm-macros.m4: Require the new macro.
85777         * m4/jm-glibc-io.m4: New file.
85778
85779 1998-05-19  Jim Meyering  <meyering@ascend.com>
85780
85781         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
85782         * m4/lchown.m4: New file.
85783
85784         * m4/Makefile.am.in: New file.
85785         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
85786
85787 1998-05-14  Jim Meyering  <meyering@ascend.com>
85788
85789         * m4/Makefile.am (EXTRA_DIST): Add them.
85790         * m4/jm-macros.m4: New file.
85791         * m4/utimbuf.m4: New file.
85792
85793 1998-05-12  Jim Meyering  <meyering@ascend.com>
85794
85795         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
85796
85797 1998-05-11  Jim Meyering  <meyering@ascend.com>
85798
85799         * m4/isc-posix.m4: New file.
85800
85801 1998-05-10  Jim Meyering  <meyering@ascend.com>
85802
85803         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
85804
85805 1998-05-09  Jim Meyering  <meyering@ascend.com>
85806
85807         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
85808         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
85809         with automake.
85810
85811         * m4/ssize_t.m4: New file.
85812         * m4/mktime.m4: Remove file -- the new automake has this now.
85813
85814 1998-04-26  Jim Meyering  <meyering@ascend.com>
85815
85816         * m4/assert.m4: New file.
85817         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
85818
85819 1998-04-05  Jim Meyering  <meyering@ascend.com>
85820
85821         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
85822         (jm_PREREQ): Use it here.
85823
85824 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
85825
85826         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
85827         in acconfig.h.
85828
85829 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
85830
85831         * m4/prereq.m4: New file.
85832         * m4/error.m4: New file.
85833         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
85834
85835 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
85836
85837         * m4/getline.m4: Don't set am_cv_func_working_getline before the
85838         cache-check for the same variable -- that defeated the purpose of
85839         the test; the test program was never run.  This was a problem only
85840         on systems with losing getline functions -- HP-UX 10.20 is one.
85841         Reported by Bjorn Helgaas.
85842
85843 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
85844
85845         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
85846
85847 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
85848
85849         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
85850
85851         * m4/const.m4: New file.  Use an initializer in this declaration
85852         typedef int charset[2]; const charset x;
85853         Reported by Bob Glickstein.
85854
85855 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
85856
85857         * m4/chown.m4: Fix reversed types on -1 args to chown.
85858         From Kaveh Ghazi.
85859
85860 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
85861
85862         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
85863         Add lseek and memchr.
85864
85865         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
85866         T.E.Dickey <dickey@clark.net> said that some older preprocessors
85867         have a 20-character limit on names.
85868
85869 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
85870
85871         * m4/inttypes_h.m4: New file.
85872         * m4/uintmax_t.m4: New file.
85873         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
85874
85875
85876         -----
85877
85878         Local Variables:
85879         coding: utf-8
85880         End:
85881
85882         Copyright (C) 1997-2011 Free Software Foundation, Inc.
85883
85884         Copying and distribution of this file, with or without
85885         modification, are permitted provided the copyright notice
85886         and this notice are preserved.