ab0e29275a8de3db9f9a3a13e866aeeb02962297
[gnulib.git] / ChangeLog
1 2008-04-29  Bruno Haible  <bruno@clisp.org>
2
3         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
4         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
5         * modules/inet_ntop (Depends-on): Add extensions.
6         * modules/inet_pton (Depends-on): Likewise.
7         Reported by Simon Josefsson.
8
9 2008-04-29  Jim Meyering  <meyering@redhat.com>
10
11         When the is more than one match in a block, match all of them.
12         * build-aux/useless-if-before-free: Iterate through each block
13         until there are no more matches.
14
15         Fix broken useless-if-before-free script.
16         * build-aux/useless-if-before-free: Fix typo: missing "?" after
17         the expression to match cast of argument to free-like function.
18
19 2008-04-29  Eric Blake  <ebb9@byu.net>
20
21         Use new header.
22         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
23
24 2008-04-29  Jim Meyering  <meyering@redhat.com>
25
26         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
27         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
28         by gnulib to exist and to declare e.g., inet_ntop.
29         Don't include "inet_ntop.h", now removed.
30
31         * m4/arpa_inet_h.m4: Remove trailing blanks.
32
33 2008-04-29  Eric Blake  <ebb9@byu.net>
34
35         Silence valgrind on safe reads beyond potential array bounds.
36         * lib/rawmemchr.valgrind: New file.
37         * lib/strchrnul.valgrind: Likewise.
38         * modules/rawmemchr (Files): Distribute new file.
39         * modules/strchrnul (Files): Likewise.
40         Suggested by Bruno Haible.
41
42 2008-04-29  Bruno Haible  <bruno@clisp.org>
43
44         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
45         (inet_ntop, inet_pton): Change portability warning's wording.
46         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
47         Invoke gl_CHECK_NEXT_HEADERS.
48         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
50         set ARPA_INET_H.
51         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52         * modules/arpa_inet (Description): No longer only for systems that
53         lack it.
54         (Depends-on): Add include_next.
55         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56         HAVE_ARPA_INET_H.
57
58 2008-04-29  Jim Meyering  <meyering@redhat.com>
59
60         * modules/mkdir (License): Re-license as LGPLv2+.
61
62 2008-04-29  Bruno Haible  <bruno@clisp.org>
63
64         * modules/rawmemchr (Maintainer): Set to Eric.
65         * modules/strchrnul (Maintainer): Likewise.
66
67 2008-04-29  Simon Josefsson  <simon@josefsson.org>
68
69         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
70         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
71
72         * modules/arpa_inet (arpa/inet.h): Use them.
73
74 2008-04-28  Eric Blake  <ebb9@byu.net>
75
76         Test getndelim2.
77         * modules/getndelim2-tests: New file.
78         * tests/test-getndelim2.c: Likewise.
79         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
80         stream.
81         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
82
83         * MODULES.html.sh: Document new module.
84
85 2008-04-20  Bruno Haible  <bruno@clisp.org>
86
87         * lib/c-stack.c (die): Use raise.
88         * modules/c-stack (Depends-on): Add raise.
89
90 2008-04-28  Bruno Haible  <bruno@clisp.org>
91
92         Expect rpmatch to be declared.
93         * lib/yesno.c (rpmatch): Remove declaration.
94
95         Declare rpmatch.
96         * lib/stdlib.in.h (rpmatch): New declaration.
97         * lib/rpmatch.c: Include <stdlib.h> first.
98         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
99         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
101         HAVE_RPMATCH.
102         * modules/rpmatch (Depends-on): Add stdlib, extensions.
103         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
104         (Include): Set to <stdlib.h>.
105         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
106         HAVE_RPMATCH.
107         * NEWS: Document the change.
108
109 2008-04-28  Bruno Haible  <bruno@clisp.org>
110
111         Change rpmatch to use nl_langinfo when appropriate.
112         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
113         (N_): New macro.
114         (localized_pattern): New function/macro.
115         (try): Remove match, nomatch arguments. Copy the pattern into safe
116         memory before caching it.
117         (rpmatch): Use localized_pattern. Add translator comments.
118         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
119         Suggested by Eric Blake.
120         * modules/rpmatch (Depends-on): Add stdbool.
121
122 2008-04-28  Eric Blake  <ebb9@byu.net>
123
124         Add rawmemchr module, matching glibc.
125         * modules/string (Makefile.am): New indicator.
126         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
127         * lib/string.in.h (rawmemchr): Declare when appropriate.
128         * modules/rawmemchr: New file.
129         * m4/rawmemchr.m4: Likewise.
130         * lib/rawmemchr.c: Likewise.
131         * modules/rawmemchr-tests: Likewise.
132         * tests/test-rawmemchr.c: Likewise.
133         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
134         module.
135         * modules/strchrnul (Depends-on): Add rawmemchr.
136         * lib/strchrnul.c (strchrnul): Optimize a corner case.
137
138         Whitespace cleanup.
139         * tests/test-strchrnul.c: Reindent.
140         * lib/strchrnul.c: Likewise.
141
142         Optimize and test strchrnul.
143         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
144         * modules/strchrnul-tests: New file.
145         * tests/test-strchrnul.c: Likewise.
146
147         Remove intprops dependency.
148         * modules/memchr (Depends-on): Remove intprops.
149         * modules/memrchr (Depends-on): Likewise.
150         * modules/memchr2 (Depends-on): Likewise.
151         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
152         * lib/memrchr.c (__memrchr): Likewise.
153         * lib/memrchr2.c (memchr2): Likewise.
154         Reported by Simon Josefsson.
155
156 2008-04-28  Simon Josefsson  <simon@josefsson.org>
157
158         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
159         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
160
161 2008-04-28  Simon Josefsson  <simon@josefsson.org>
162
163         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
164
165         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
166
167         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
168
169         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
170         declarations.
171         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
172
173         * m4/inet_pton.m4: Don't check for header files.
174
175         * m4/inet_ntop.m4: Don't check for header files.
176
177 2008-04-28  Simon Josefsson  <simon@josefsson.org>
178
179         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
180         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
181         trigger for cygwin).
182         Reported by Bruno Haible  <bruno@clisp.org>.
183
184 2008-04-28  Bruno Haible  <bruno@clisp.org>
185
186         * doc/posix-functions/strdup.texi: Mention mingw problem.
187
188 2008-04-27  Bruno Haible  <bruno@clisp.org>
189
190         * modules/stat-time-tests (Depends-on): Add sleep.
191         * tests/test-stat-time.c (force_unlink): New function.
192         (cleanup): Use it.
193         (test_mtime): Remove the ctime related tests.
194         (test_ctime): New function, containing the ctime related tests.
195         (main): Call test_ctime, except on native Windows platforms.
196
197 2008-04-27  Bruno Haible  <bruno@clisp.org>
198
199         * lib/rpmatch.c (rpmatch): Add some comments.
200         Reported by James Youngman <jay@gnu.org>.
201
202 2008-04-27  Bruno Haible  <bruno@clisp.org>
203
204         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
205         quiet NaNs.
206
207 2008-04-27  Bruno Haible  <bruno@clisp.org>
208
209         Make test-yesno.sh work on mingw.
210         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
211         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
212         (main): Set stdin to binary mode.
213         * modules/yesno-tests (Depends-on): Add binary-io.
214
215 2008-04-27  Bruno Haible  <bruno@clisp.org>
216
217         Fix 'isfinite' on x86, x86_64, ia64 platforms.
218         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
219         argument that lie outside the IEEE 854 domain.
220         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
221         (gl_ISFINITE): Use it.
222         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
223
224 2008-04-27  Bruno Haible  <bruno@clisp.org>
225
226         Allow local renaming in config.h.
227         * lib/memrchr.c (memrchr): Don't undefine outside libc.
228
229 2008-04-27  Bruno Haible  <bruno@clisp.org>
230
231         * lib/memchr.c (__memchr): Change type of 'i'.
232         * lib/memchr2.c (memchr2): Likewise.
233
234 2008-04-26  Eric Blake  <ebb9@byu.net>
235         and Bruno Haible  <bruno@clisp.org>
236
237         Optimize and test memrchr.
238         * modules/memrchr (Depends-on): Add intprops.
239         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
240         * modules/memrchr-tests: New file.
241         * tests/test-memrchr.c: New file.
242
243 2008-04-26  Bruno Haible  <bruno@clisp.org>
244
245         Add tentative support for DragonFly BSD.
246         * lib/stdio-impl.h: Add macros for DragonFly BSD.
247         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
248         fp.
249         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
250         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
251         * lib/fpurge.c (fpurge): Likewise.
252         * lib/freadable.c (freaadable): Likewise.
253         * lib/freadahead.c (freadahead): Likewise.
254         * lib/freading.c (freading): Likewise.
255         * lib/freadptr.c (freadptr): Likewise.
256         * lib/freadseek.c (freadptrinc): Likewise.
257         * lib/fseeko.c (fseeko): Likewise.
258         * lib/fseterr.c (fseterr): Likewise.
259         * lib/fwritable.c (fwritable): Likewise.
260         * lib/fwriting.c (fwriting): Likewise.
261
262 2008-04-26  Bruno Haible  <bruno@clisp.org>
263
264         * lib/stdio-impl.h: New file.
265         * lib/fbufmode.c: Include stdio-impl.h.
266         (fbufmode): Use fp_, remove redundant #defines.
267         * lib/fflush.c: Include stdio-impl.h.
268         (clear_ungetc_buffer): Remove redundant #defines.
269         * lib/fpurge.c: Include stdio-impl.h.
270         (fpurge): Remove redundant #defines.
271         * lib/freadable.c: Include stdio-impl.h.
272         (freadable): Remove redundant #defines.
273         * lib/freadahead.c: Include stdio-impl.h.
274         (freadahead): Remove redundant #defines.
275         * lib/freading.c: Include stdio-impl.h.
276         (freading): Remove redundant #defines.
277         * lib/freadptr.c: Include stdio-impl.h.
278         (freadptr): Remove redundant #defines.
279         * lib/freadseek.c: Include stdio-impl.h.
280         (freadptrinc): Remove redundant #defines.
281         * lib/fseeko.c: Include stdio-impl.h.
282         (rpl_fseeko): Remove redundant #defines.
283         * lib/fseterr.c: Include stdio-impl.h.
284         (fseterr): Remove redundant #defines.
285         * lib/fwritable.c: Include stdio-impl.h.
286         (fwritable: Remove redundant #defines.
287         * lib/fwriting.c: Include stdio-impl.h.
288         (fwriting): Remove redundant #defines.
289         * modules/fbufmode (Files): Add lib/stdio-impl.h.
290         * modules/fflush (Files): Likewise.
291         * modules/fpurge (Files): Likewise.
292         * modules/freadable (Files): Likewise.
293         * modules/freadahead (Files): Likewise.
294         * modules/freading (Files): Likewise.
295         * modules/freadptr (Files): Likewise.
296         * modules/freadseek (Files): Likewise.
297         * modules/fseeko (Files): Likewise.
298         * modules/fseterr (Files): Likewise.
299         * modules/fwritable (Files): Likewise.
300         * modules/fwriting (Files): Likewise.
301
302 2008-04-26  Bruno Haible  <bruno@clisp.org>
303
304         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
305         restore_seek_optimization, update_fpos_cache): New functions, extracted
306         from rpl_fflush.
307         (rpl_fflush): Use them.
308         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
309         (gl_REPLACE_FFLUSH): Use it.
310
311 2008-04-26  Bruno Haible  <bruno@clisp.org>
312
313         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
314         on Solaris.
315         * tests/test-xstrtoimax.sh: Likewise.
316         * tests/test-xstrtoumax.sh: Likewise.
317         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
318
319 2008-04-26  Bruno Haible  <bruno@clisp.org>
320
321         * modules/memchr-tests: New file.
322         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
323
324 2008-04-26  Eric Blake  <ebb9@byu.net>
325             Bruno Haible  <bruno@clisp.org>
326
327         * lib/memchr.c: Include intprops.h.
328         (__memchr): Optimize parallel detection of matching bytes. Rename local
329         variables. Add explanatory comments.
330
331 2008-04-26  Bruno Haible  <bruno@clisp.org>
332
333         Fix module 'memchr', broken since 2000-10-28.
334         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
335
336 2008-04-26  Bruno Haible  <bruno@clisp.org>
337
338         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
339         comments.
340
341 2008-04-25  Eric Blake  <ebb9@byu.net>
342
343         Use native fstatat on cygwin 1.7.0.
344         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
345         first.
346
347 2008-04-23  Eric Blake  <ebb9@byu.net>
348
349         Improve memchr2 performance.
350         * lib/memchr2.c (memchr2): Further optimize parallel detection of
351         NUL bytes.
352         * modules/memchr2 (Depends-on): Use intprops.h.
353
354 2008-04-23  Simon Josefsson  <simon@josefsson.org>
355
356         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
357         an inline function instead of a CPP macro.  Patch by Ben Pfaff
358         <blp@cs.stanford.edu>.
359
360 2008-04-23  Simon Josefsson  <simon@josefsson.org>
361
362         * lib/arpa_inet.in.h: New file.
363
364         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
365         (Makefile.am): Sed in substitute header file.
366
367         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
368         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
369
370         * modules/inet_ntop (configure.ac): Use
371         gl_ARPA_INET_MODULE_INDICATOR.
372
373         * modules/inet_pton (configure.ac): Use
374         gl_ARPA_INET_MODULE_INDICATOR.
375
376 2008-04-22  Jim Meyering  <meyering@redhat.com>
377
378         * modules/verify (License): Re-license as LGPLv2+.
379
380 2008-04-22  Simon Josefsson  <simon@josefsson.org>
381
382         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
383         parameter to void* as per POSIX standard (MinGW uses char*).
384
385 2008-04-21  Bruno Haible  <bruno@clisp.org>
386
387         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
388         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
389         Define to replacements if REPLACE_ISWCNTRL is 1.
390         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
391         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
392         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
393         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
394         what it fixes.
395         * doc/posix-functions/iswalpha.texi: Likewise.
396         * doc/posix-functions/iswblank.texi: Likewise.
397         * doc/posix-functions/iswcntrl.texi: Likewise.
398         * doc/posix-functions/iswdigit.texi: Likewise.
399         * doc/posix-functions/iswgraph.texi: Likewise.
400         * doc/posix-functions/iswlower.texi: Likewise.
401         * doc/posix-functions/iswprint.texi: Likewise.
402         * doc/posix-functions/iswpunct.texi: Likewise.
403         * doc/posix-functions/iswspace.texi: Likewise.
404         * doc/posix-functions/iswupper.texi: Likewise.
405         * doc/posix-functions/iswxdigit.texi: Likewise.
406         Reported by Alain Guibert.
407
408 2008-04-21  Bruno Haible  <bruno@clisp.org>
409
410         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
411         Patch by Alain Guibert.
412
413 2008-04-21  Bruno Haible  <bruno@clisp.org>
414
415         Fix test failures on mingw.
416         * tests/test-xstrtol.c (print_no_progname): New function.
417         (main): Install it in error_print_progname hook.
418         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
419         * tests/test-xstrtoimax.sh: Likewise.
420         * tests/test-xstrtoumax.sh: Likewise.
421
422 2008-04-21  Bruno Haible  <bruno@clisp.org>
423
424         Fix test failure on mingw.
425         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
426
427 2008-04-21  Bruno Haible  <bruno@clisp.org>
428
429         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
430         Actually assign a value.
431
432 2008-04-20  Bruno Haible  <bruno@clisp.org>
433
434         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
435         take 2.
436         * lib/canonicalize.c (canonicalize_file_name): Elide if the
437         'canonicalize-lgpl' module is also used.
438         * lib/canonicalize-lgpl.c: Undo last change.
439         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
440
441 2008-04-20  Bruno Haible  <bruno@clisp.org>
442
443         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
444         config.h. Provide _mkdir based fallback for mingw.
445         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
446         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
447         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
448         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
449         rather than defining mkdir in config.h.
450         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
451         (gl_SYS_STAT_H_DEFAULTS): New macro.
452         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
453         HAVE_IO_H any more.
454         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
455         HAVE_DECL_MKDIR and HAVE_IO_H.
456
457 2008-04-20  Bruno Haible  <bruno@clisp.org>
458
459         * lib/isapipe.c: Port to native Windows platforms.
460
461 2008-04-20  Bruno Haible  <bruno@clisp.org>
462
463         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
464
465 2008-04-21  Eric Blake  <ebb9@byu.net>
466
467         Work around preprocessors that don't handle UINTMAX_MAX.
468         * lib/memchr2.c (memchr2): Avoid embedded #if.
469         Reported by Alain Guibert, fix suggested by Bruno Haible.
470
471 2008-04-21  Simon Josefsson  <simon@josefsson.org>
472
473         * doc/posix-functions/strftime.texi (strftime): Explain better
474         Windows incompatibility.  Suggested by Micah Cowan
475         <micah@cowan.name>.
476
477 2008-04-20  Bruno Haible  <bruno@clisp.org>
478
479         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
480         unistr/u8-mblen.
481
482 2008-04-20  Bruno Haible  <bruno@clisp.org>
483
484         Fix test failure on platforms with non-GNU iconv.
485         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
486         (U_TO_U8): Use it, rather than u16_to_u8.
487         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
488         units at the end of the input string.
489         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
490
491 2008-04-20  Bruno Haible  <bruno@clisp.org>
492
493         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
494         when the resulting length is 0.
495         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
496
497 2008-04-20  Bruno Haible  <bruno@clisp.org>
498
499         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
500         works.
501         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
502
503 2008-04-20  Bruno Haible  <bruno@clisp.org>
504
505         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
506         * modules/tsearch-tests (configure.ac): Test for initstate function.
507
508 2008-04-20  Bruno Haible  <bruno@clisp.org>
509
510         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
511         for nlink_t if missing.
512         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
513
514 2008-04-19  Bruno Haible  <bruno@clisp.org>
515
516         Work around snprintf bug on Linux libc5.
517         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
518         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
519         gl_SNPRINTF_SIZE1.
520         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
521         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
522         that test failed.
523         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
524         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
525         * modules/snprintf (Files): Add m4/printf.m4.
526         * modules/vsnprintf (Files): Likewise.
527         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
528         * doc/posix-functions/vsnprintf.texi: Likewise.
529
530 2008-04-19  Bruno Haible  <bruno@clisp.org>
531
532         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
533         from 0.0058 to less than 10^-7.
534
535 2008-04-19  Bruno Haible  <bruno@clisp.org>
536
537         Fix rounding when a precision is given.
538         * lib/vasnprintf.c (is_borderline): New function.
539         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
540         9...9x.
541         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
542         %e, %g.
543         * tests/test-vasprintf-posix.c (test_function): Likewise.
544         * tests/test-snprintf-posix.h (test_function): Likewise.
545         * tests/test-sprintf-posix.h (test_function): Likewise.
546         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
547         * tests/test-printf-posix.h (test_function): Likewise.
548         * tests/test-printf-posix.output: Update.
549         Reported by John Darrington <john@darrington.wattle.id.au> via
550         Ben Pfaff <blp@cs.stanford.edu>.
551
552 2008-04-18  Simon Josefsson  <simon@josefsson.org>
553
554         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
555         Suggested by Bruno Haible <bruno@clisp.org>.
556
557 2008-04-17  Bruno Haible  <bruno@clisp.org>
558
559         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
560         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
561         implementation.
562         Patch by Bruce Merry <bmerry@gmail.com>.
563
564 2008-04-17  Simon Josefsson  <simon@josefsson.org>
565
566         * doc/posix-functions/strftime.texi (strftime): Mention that %e
567         doesn't work under Windows.
568
569 2008-04-16  Bruno Haible  <bruno@clisp.org>
570
571         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
572         New macros.
573         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
574         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
575         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
576         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
577         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
578         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
579         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
580         macros.
581         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
582         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
583         Northern Sotho, Uighur.
584
585 2008-04-16  Bruno Haible  <bruno@clisp.org>
586
587         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
588         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
589         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
590         Reported by Daniel Bergström <daniel@octocode.com>.
591
592 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
593             Bruno Haible  <bruno@clisp.org>
594
595         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
596         function.
597         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
598         New functions, mostly extracted from gl_locale_name_default.
599         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
600
601 2008-04-16  Eric Blake  <ebb9@byu.net>
602
603         Adjust strtod detection to catch glibc 2.7 bug.
604         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
605         Reported by John Gatewood Ham.
606
607 2008-04-16  Bruno Haible  <bruno@clisp.org>
608
609         Add tentative support for Linux libc5.
610         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
611         * lib/fpurge.c (fpurge): Likewise.
612         * lib/freadable.c (freadable): Likewise.
613         * lib/freadahead.c (freadahead): Likewise.
614         * lib/freading.c (freading): Likewise.
615         * lib/freadptr.c (freadptr): Likewise.
616         * lib/freadseek.c (freadptrinc): Likewise.
617         * lib/fseeko.c (rpl_fseeko): Likewise.
618         * lib/fseterr.c (fseterr): Likewise.
619         * lib/fwritable.c (fwritable): Likewise.
620         * lib/fwriting.c (fwriting): Likewise.
621         Reported by Alain Guibert <alguibert+bts@free.fr>.
622
623 2008-04-15  Bruno Haible  <bruno@clisp.org>
624
625         * modules/mathl (configure.ac): Define module indicator.
626
627 2008-04-15  Bruno Haible  <bruno@clisp.org>
628
629         * lib/logl.c (logl): Remove unused variables.
630
631 2008-04-15  Bruno Haible  <bruno@clisp.org>
632
633         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
634         fails.
635
636 2008-04-15  Bruno Haible  <bruno@clisp.org>
637
638         * lib/trim.c (trim2): Fix argument of isspace() macro.
639
640 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
641
642         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
643         to 0.
644         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
645
646 2008-04-14  Bruno Haible  <bruno@clisp.org>
647
648         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
649         AC_LANG_PROGRAM argument.
650         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
651         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
652         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
653         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
654         * m4/math_h.m4 (gl_MATH_H): Likewise.
655         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
656         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
657         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
658         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
659         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
660         * m4/regex.m4 (gl_REGEX): Likewise.
661         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
662         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
663         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
664         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
665         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
666         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
667         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
668         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
669
670 2008-04-14  Jim Meyering  <meyering@redhat.com>
671
672         test-strtod: fix typos: s/abs/fabs/
673         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
674
675 2008-04-13  Bruno Haible  <bruno@clisp.org>
676
677         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
678         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
679         module is also used and while not building the reloc-wrapper.
680
681 2008-04-13  Bruno Haible  <bruno@clisp.org>
682
683         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
684
685 2008-04-13  Bruno Haible  <bruno@clisp.org>
686
687         Fix AIX compilation failure introduced on 2008-04-02.
688         * tests/test-frexp.c (exp): Undefine before redefining.
689         * tests/test-frexpl.c (exp): Likewise.
690
691 2008-04-13  Bruno Haible  <bruno@clisp.org>
692
693         Work around a HP-UX stdio bug.
694         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
695         * tests/test-ftello.c (main): Likewise.
696         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
697         * doc/posix-functions/ftello.texi: Likewise.
698
699 2008-04-13  Bruno Haible  <bruno@clisp.org>
700
701         Make test-signbit pass on HP-UX/hppa.
702         * tests/test-signbit.c (minus_zerol): New variable.
703         (test_signbitl): Use it.
704
705 2008-04-13  Bruno Haible  <bruno@clisp.org>
706
707         Make truncl work on OSF/1 4.0.
708         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
709         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
710         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
712         HAVE_DECL_TRUNCL.
713         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
714         HAVE_DECL_TRUNCL.
715         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
716
717 2008-04-13  Bruno Haible  <bruno@clisp.org>
718
719         * lib/unictype.h: Remove trailing comma from enumeration definitions.
720
721 2008-04-13  Bruno Haible  <bruno@clisp.org>
722
723         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
724         expression, so as to avoid HP-UX 11 cc compiler bug.
725
726 2008-04-13  Bruno Haible  <bruno@clisp.org>
727
728         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
729
730 2008-04-13  Bruno Haible  <bruno@clisp.org>
731
732         * lib/git-merge-changelog.c: Remove empty declaration outside of
733         functions.
734
735 2008-04-13  Bruno Haible  <bruno@clisp.org>
736
737         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
738
739 2008-04-13  Bruno Haible  <bruno@clisp.org>
740
741         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
742         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
743         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
744         also if it exists but lacks definitions of the SHUT_* macros.
745         * modules/sys_socket (Description): Update.
746         Reported by Elbert Pol <e.pol@chello.nl>.
747
748 2008-04-13  Bruno Haible  <bruno@clisp.org>
749
750         * lib/localcharset.c (OS2): Don't redefine if already defined.
751         Reported by Elbert Pol <e.pol@chello.nl>.
752
753 2008-04-13  Bruno Haible  <bruno@clisp.org>
754
755         * lib/binary-io.h [__EMX__]: Include <io.h>.
756         Reported by Elbert Pol <e.pol@chello.nl>.
757
758 2008-04-12  Bruno Haible  <bruno@clisp.org>
759
760         * lib/fpucw.h: Enable the definitions also for x86_64.
761         Needed for NetBSD/x86_64.
762         Reported by Thomas Klausner <tk@giga.or.at>.
763
764 2008-04-12  Bruno Haible  <bruno@clisp.org>
765
766         * tests/test-strtod.c: Include isnand.h.
767         (main): Use isnand instead of isnan.
768         Reported by Jim Meyering.
769
770 2008-04-12  Bruno Haible  <bruno@clisp.org>
771
772         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
773         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
774
775 2008-04-12  Jim Meyering  <meyering@redhat.com>
776
777         * m4/math_h.m4 (gl_MATH_H): Fix typos.
778
779 2008-04-12  Bruno Haible  <bruno@clisp.org>
780
781         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
782         Reported by Elbert Pol <e.pol@chello.nl>.
783
784 2008-04-12  Eric Blake  <ebb9@byu.net>
785
786         Work around Solaris 10 math.h bug.
787         * m4/math_h.m4 (gl_MATH_H): Check for bug.
788         (gl_MATH_H_DEFAULTS): Set up default.
789         * modules/math (Makefile.am): Replace new indicators.
790         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
791         * tests/test-math.c (main): Test this.
792         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
793         * doc/posix-headers/math.texi (math.h): Mention bug.
794         Reported by Nelson H. F. Beebe and Jim Meyering.
795
796 2008-04-11  Bruno Haible  <bruno@clisp.org>
797
798         Adapt to future versions of Apple GCC.
799         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
800         Reported by Peter O'Gorman <peter@pogma.com>.
801
802 2008-04-11  Bruno Haible  <bruno@clisp.org>
803
804         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
805
806 2008-04-11  Bruno Haible  <bruno@clisp.org>
807
808         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
809
810         * modules/getaddrinfo-tests (Makefile.am): Define
811         test_getaddrinfo_LDADD.
812
813 2008-04-11  Bruno Haible  <bruno@clisp.org>
814
815         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
816         (init): Fix syntax error.
817         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
818         is declared.
819
820 2008-04-11  Bruno Haible  <bruno@clisp.org>
821
822         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
823         * modules/glob (Depends-on): Add stdbool.
824
825 2008-04-11  Bruno Haible  <bruno@clisp.org>
826
827         * lib/trim.c: Include <string.h>.
828
829 2008-04-11  Eric Blake  <ebb9@byu.net>
830
831         Avoid compile failure on OS/2.
832         * lib/regex_internal.h (internal_function): Disable optimization
833         on OS/2 (__EMX__), where it caused compiler error.
834         Reported by Elbert Pol.
835
836 2008-04-11  Bruno Haible  <bruno@clisp.org>
837
838         Flush the standard error stream before aborting. Needed on mingw.
839         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
840         * tests/test-array_list.c (ASSERT): Likewise.
841         * tests/test-array_oset.c (ASSERT): Likewise.
842         * tests/test-avltree_list.c (ASSERT): Likewise.
843         * tests/test-avltree_oset.c (ASSERT): Likewise.
844         * tests/test-avltreehash_list.c (ASSERT): Likewise.
845         * tests/test-binary-io.c (ASSERT): Likewise.
846         * tests/test-byteswap.c (ASSERT): Likewise.
847         * tests/test-c-ctype.c (ASSERT): Likewise.
848         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
849         * tests/test-c-strcasestr.c (ASSERT): Likewise.
850         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
851         * tests/test-c-strstr.c (ASSERT): Likewise.
852         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
853         * tests/test-canonicalize.c (ASSERT): Likewise.
854         * tests/test-carray_list.c (ASSERT): Likewise.
855         * tests/test-ceilf1.c (ASSERT): Likewise.
856         * tests/test-ceilf2.c (ASSERT): Likewise.
857         * tests/test-ceill.c (ASSERT): Likewise.
858         * tests/test-count-one-bits.c (ASSERT): Likewise.
859         * tests/test-fbufmode.c (ASSERT): Likewise.
860         * tests/test-fflush2.c (ASSERT): Likewise.
861         * tests/test-floorf1.c (ASSERT): Likewise.
862         * tests/test-floorf2.c (ASSERT): Likewise.
863         * tests/test-floorl.c (ASSERT): Likewise.
864         * tests/test-fopen.c (ASSERT): Likewise.
865         * tests/test-fpending.c (ASSERT): Likewise.
866         * tests/test-fprintf-posix.c (ASSERT): Likewise.
867         * tests/test-fpurge.c (ASSERT): Likewise.
868         * tests/test-freadable.c (ASSERT): Likewise.
869         * tests/test-freadahead.c (ASSERT): Likewise.
870         * tests/test-freading.c (ASSERT): Likewise.
871         * tests/test-freadptr.c (ASSERT): Likewise.
872         * tests/test-freadptr2.c (ASSERT): Likewise.
873         * tests/test-freadseek.c (ASSERT): Likewise.
874         * tests/test-freopen.c (ASSERT): Likewise.
875         * tests/test-frexp.c (ASSERT): Likewise.
876         * tests/test-frexpl.c (ASSERT): Likewise.
877         * tests/test-fseek.c (ASSERT): Likewise.
878         * tests/test-fseeko.c (ASSERT): Likewise.
879         * tests/test-fstrcmp.c (ASSERT): Likewise.
880         * tests/test-ftell.c (ASSERT): Likewise.
881         * tests/test-ftello.c (ASSERT): Likewise.
882         * tests/test-func.c (ASSERT): Likewise.
883         * tests/test-fwritable.c (ASSERT): Likewise.
884         * tests/test-fwriting.c (ASSERT): Likewise.
885         * tests/test-getdelim.c (ASSERT): Likewise.
886         * tests/test-getline.c (ASSERT): Likewise.
887         * tests/test-i-ring.c (ASSERT): Likewise.
888         * tests/test-iconv-utf.c (ASSERT): Likewise.
889         * tests/test-iconv.c (ASSERT): Likewise.
890         * tests/test-isfinite.c (ASSERT): Likewise.
891         * tests/test-isnand.c (ASSERT): Likewise.
892         * tests/test-isnanf.c (ASSERT): Likewise.
893         * tests/test-isnanl.h (ASSERT): Likewise.
894         * tests/test-ldexpl.c (ASSERT): Likewise.
895         * tests/test-linked_list.c (ASSERT): Likewise.
896         * tests/test-linkedhash_list.c (ASSERT): Likewise.
897         * tests/test-localename.c (ASSERT): Likewise.
898         * tests/test-lseek.c (ASSERT): Likewise.
899         * tests/test-mbscasecmp.c (ASSERT): Likewise.
900         * tests/test-mbscasestr1.c (ASSERT): Likewise.
901         * tests/test-mbscasestr2.c (ASSERT): Likewise.
902         * tests/test-mbscasestr3.c (ASSERT): Likewise.
903         * tests/test-mbscasestr4.c (ASSERT): Likewise.
904         * tests/test-mbschr.c (ASSERT): Likewise.
905         * tests/test-mbscspn.c (ASSERT): Likewise.
906         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
907         * tests/test-mbspbrk.c (ASSERT): Likewise.
908         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
909         * tests/test-mbsrchr.c (ASSERT): Likewise.
910         * tests/test-mbsspn.c (ASSERT): Likewise.
911         * tests/test-mbsstr1.c (ASSERT): Likewise.
912         * tests/test-mbsstr2.c (ASSERT): Likewise.
913         * tests/test-mbsstr3.c (ASSERT): Likewise.
914         * tests/test-memchr2.c (ASSERT): Likewise.
915         * tests/test-memmem.c (ASSERT): Likewise.
916         * tests/test-open.c (ASSERT): Likewise.
917         * tests/test-printf-frexp.c (ASSERT): Likewise.
918         * tests/test-printf-frexpl.c (ASSERT): Likewise.
919         * tests/test-printf-posix.c (ASSERT): Likewise.
920         * tests/test-quotearg.c (ASSERT): Likewise.
921         * tests/test-rbtree_list.c (ASSERT): Likewise.
922         * tests/test-rbtree_oset.c (ASSERT): Likewise.
923         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
924         * tests/test-round1.c (ASSERT): Likewise.
925         * tests/test-roundf1.c (ASSERT): Likewise.
926         * tests/test-roundl.c (ASSERT): Likewise.
927         * tests/test-signbit.c (ASSERT): Likewise.
928         * tests/test-sleep.c (ASSERT): Likewise.
929         * tests/test-snprintf-posix.c (ASSERT): Likewise.
930         * tests/test-snprintf.c (ASSERT): Likewise.
931         * tests/test-sprintf-posix.c (ASSERT): Likewise.
932         * tests/test-stat-time.c (ASSERT): Likewise.
933         * tests/test-strcasestr.c (ASSERT): Likewise.
934         * tests/test-strerror.c (ASSERT): Likewise.
935         * tests/test-striconv.c (ASSERT): Likewise.
936         * tests/test-striconveh.c (ASSERT): Likewise.
937         * tests/test-striconveha.c (ASSERT): Likewise.
938         * tests/test-strsignal.c (ASSERT): Likewise.
939         * tests/test-strstr.c (ASSERT): Likewise.
940         * tests/test-strtod.c (ASSERT): Likewise.
941         * tests/test-trunc1.c (ASSERT): Likewise.
942         * tests/test-trunc2.c (ASSERT): Likewise.
943         * tests/test-truncf1.c (ASSERT): Likewise.
944         * tests/test-truncf2.c (ASSERT): Likewise.
945         * tests/test-truncl.c (ASSERT): Likewise.
946         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
947         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
948         * tests/test-vasnprintf.c (ASSERT): Likewise.
949         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
950         * tests/test-vasprintf.c (ASSERT): Likewise.
951         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
952         * tests/test-vprintf-posix.c (ASSERT): Likewise.
953         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
954         * tests/test-vsnprintf.c (ASSERT): Likewise.
955         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
956         * tests/test-wcwidth.c (ASSERT): Likewise.
957         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
958         * tests/test-xprintf-posix.c (ASSERT): Likewise.
959         * tests/test-xvasprintf.c (ASSERT): Likewise.
960         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
961         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
962         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
963         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
964         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
965         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
966         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
967         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
968         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
969         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
970         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
971         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
972         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
973         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
974         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
975         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
976         * tests/unictype/test-block_list.c (ASSERT): Likewise.
977         * tests/unictype/test-block_of.c (ASSERT): Likewise.
978         * tests/unictype/test-block_test.c (ASSERT): Likewise.
979         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
980         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
981         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
982         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
983         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
984         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
985         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
986         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
987         * tests/unictype/test-combining.c (ASSERT): Likewise.
988         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
989         * tests/unictype/test-digit.c (ASSERT): Likewise.
990         * tests/unictype/test-mirror.c (ASSERT): Likewise.
991         * tests/unictype/test-numeric.c (ASSERT): Likewise.
992         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
993         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
994         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
995         * tests/unictype/test-scripts.c (ASSERT): Likewise.
996         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
997         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
998         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
999         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
1000         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
1001         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
1002         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
1003         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
1004         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
1005         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
1006         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
1007         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
1008         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
1009         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
1010         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
1011         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
1012         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
1013         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
1014         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
1015         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
1016         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
1017         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
1018         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
1019         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
1020         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
1021         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
1022         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
1023         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
1024         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
1025         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
1026         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
1027         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
1028         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
1029         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
1030         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
1031         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
1032         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
1033         Reported by Eric Blake.
1034
1035 2008-04-11  Bruno Haible  <bruno@clisp.org>
1036
1037         * lib/wchar.in.h: Tweak comment.
1038
1039 2008-04-11  Bruno Haible  <bruno@clisp.org>
1040
1041         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
1042         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
1043         gl_COMMON.
1044         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
1045
1046 2008-04-11  Bruno Haible  <bruno@clisp.org>
1047
1048         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
1049
1050 2008-04-11  Simon Josefsson  <simon@josefsson.org>
1051
1052         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
1053         of attempting to use non-existing /dev/*random.  Based on patch
1054         from Adam Strzelecki <ono@java.pl> in
1055         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
1056
1057 2008-04-08  Bruno Haible  <bruno@clisp.org>
1058
1059         Add tentative support for emx+gcc.
1060         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
1061         * lib/fpurge.c (fpurge): Likewise.
1062         * lib/freadable.c (freadable): Likewise.
1063         * lib/freadahead.c (freadahead): Likewise.
1064         * lib/freading.c (freading): Likewise.
1065         * lib/freadptr.c (freadptr): Likewise.
1066         * lib/freadseek.c (freadptrinc): Likewise.
1067         * lib/fseeko.c (rpl_fseeko): Likewise.
1068         * lib/fseterr.c (fseterr): Likewise.
1069         * lib/fwritable.c (fwritable): Likewise.
1070         * lib/fwriting.c (fwriting): Likewise.
1071         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
1072
1073 2008-04-09  Eric Blake  <ebb9@byu.net>
1074
1075         Avoid some autoconf warnings.
1076         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
1077         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
1078         * m4/afs.m4 (gl_AFS): Likewise.
1079         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
1080         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
1081         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
1082         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
1083         (gl_INTEGER_TYPE_SUFFIX): Likewise.
1084         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
1085         (AC_CHECK_DECLS_ONCE): Likewise.
1086         Rename file...
1087         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
1088         gnulib-tool requires autoconf 2.59 or better.
1089         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
1090
1091 2008-04-08  Eric Blake  <ebb9@byu.net>
1092
1093         Use 'git describe --match' if present (added in git 1.5.5).
1094         * build-aux/git-version-gen: Limit result to tags that match 'v*'
1095         if possible.
1096
1097 2008-04-08  Bruno Haible  <bruno@clisp.org>
1098
1099         Add tentative support for OpenServer.
1100         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
1101         _ptr, _cnt.
1102         * lib/fpurge.c (fpurge): Likewise.
1103         * lib/freadable.c (freadable): Likewise.
1104         * lib/freadahead.c (freadahead): Likewise.
1105         * lib/freading.c (freading): Likewise.
1106         * lib/freadptr.c (freadptr): Likewise.
1107         * lib/freadseek.c (freadptrinc): Likewise.
1108         * lib/fseeko.c (rpl_fseeko): Likewise.
1109         * lib/fseterr.c (fseterr): Likewise.
1110         * lib/fwritable.c (fwritable): Likewise.
1111         * lib/fwriting.c (fwriting): Likewise.
1112         Reported by Roger Cornelius <rac@tenzing.org> and
1113         Brian K. White <brian@aljex.com>.
1114
1115 2008-04-06  Jim Meyering  <meyering@redhat.com>
1116
1117         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
1118
1119 2008-04-06  Bruno Haible  <bruno@clisp.org>
1120
1121         Avoid possible error with non-ASCII bytes in UTF-8 locales.
1122         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
1123         * tests/test-printf-posix.sh: Likewise.
1124         * tests/test-vfprintf-posix.sh: Likewise.
1125         * tests/test-vprintf-posix.sh: Likewise.
1126         * tests/test-xprintf-posix.sh: Likewise.
1127
1128 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1129
1130         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
1131         hide error from 'ls', needed on OS/2.
1132         Report by Elbert Pol <elbert.pol@gmail.com>.
1133
1134 2008-04-04  Eric Blake  <ebb9@byu.net>
1135
1136         Make test-fseeko.c failures meaningful.
1137         * tests/test-fseeko.c: Print line number on failure.
1138         * tests/test-fseek.c: Likewise.
1139         Reported by Nelson H. F. Beebe.
1140
1141         Improve strtod bug detection check.
1142         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
1143         required for Solaris 10.
1144         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
1145
1146 2008-04-04  Bruno Haible  <bruno@clisp.org>
1147
1148         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
1149         by m4/setenv.m4.
1150
1151 2008-04-03  Eric Blake  <ebb9@byu.net>
1152
1153         Ensure sane .version contents.
1154         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
1155         version string.
1156         * build-aux/git-version-gen: Improve documentation.
1157
1158         Make GNU make output nicer.
1159         * top/GNUmakefile [!_have-Makefile]: Add dependency on
1160         MAKECMDGOALS to enforce message for all command line targets.  Set
1161         srcdir for use in maint.mk.
1162
1163         Another maintainer tweak.
1164         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
1165         a target that regenerates version.
1166
1167 2008-04-03  Jim Meyering  <meyering@redhat.com>
1168
1169         vc-list-files: don't cause coreutils "make po-check" failure
1170         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
1171
1172 2008-04-03  Eric Blake  <ebb9@byu.net>
1173
1174         Allow VPATH usage of vc-list-files.
1175         * build-aux/vc-list-files (scriptversion): Add timestamp.
1176         (options): Add --help, --version, -C.
1177         (CVS): Support installed cvsu.
1178
1179 2008-04-02  Bruno Haible  <bruno@clisp.org>
1180
1181         Avoid some "statement with no effect" warnings from gcc.
1182         * tests/test-wctype.c (main): Explicitly ignore unused values.
1183         Reported by Jim Meyering.
1184
1185 2008-04-02  Jim Meyering  <meyering@redhat.com>
1186
1187         Avoid some warnings from "gcc -Wshadow".
1188         * tests/test-frexp.c (exp): Define to a different identifier.
1189         * tests/test-frexpl.c (exp): Likewise.
1190
1191 2008-04-03  Jim Meyering  <meyering@redhat.com>
1192
1193         bootstrap: remove dangling *.[ch] symlinks from lib
1194         * build-aux/bootstrap [dangling symlink removal]: Move find's
1195         -depth option to precede all others, to avoid a warning.
1196         Remove *.[ch] files too, and from "$source_base" (usually lib/).
1197
1198 2008-04-02  Bruno Haible  <bruno@clisp.org>
1199
1200         Avoid some warnings from "gcc -Wshadow".
1201         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
1202         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
1203         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
1204         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
1205         Reported by Jim Meyering.
1206
1207 2008-04-01  Bruno Haible  <bruno@clisp.org>
1208
1209         Fix test to work on IRIX 6.5 with cc.
1210         * tests/test-math.c (numeric_equal): New function.
1211         (main): Use it.
1212
1213 2008-04-01  Bruno Haible  <bruno@clisp.org>
1214
1215         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
1216
1217 2008-04-01  Bruno Haible  <bruno@clisp.org>
1218
1219         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
1220         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
1221         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
1222         (Depends-on): Remove math.
1223
1224         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
1225         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
1226         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
1227         (Depends-on): Remove math.
1228
1229         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
1230         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
1231         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
1232         (Depends-on): Remove math.
1233         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
1234         (Depends-on): Remove math.
1235
1236         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
1237         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
1238         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
1239         (Depends-on): Remove math.
1240         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
1241         (Depends-on): Remove math.
1242
1243         * tests/test-round1.c: Include nan.h.
1244         (main): Use NaNd instead of NAN.
1245         * modules/round-tests (Files): Add tests/nan.h.
1246
1247         * tests/test-trunc1.c: Include nan.h.
1248         (main): Use NaNd instead of NAN.
1249         * modules/trunc-tests (Files): Add tests/nan.h.
1250
1251         * tests/test-roundf1.c: Include nan.h.
1252         (main): Use NaNf instead of NAN.
1253         * modules/roundf-tests (Files): Add tests/nan.h.
1254
1255         * tests/test-truncf1.c: Include nan.h.
1256         (main): Use NaNf instead of NAN.
1257         * modules/truncf-tests (Files): Add tests/nan.h.
1258
1259         * tests/test-ceilf1.c: Include nan.h.
1260         (main): Use NaNf instead of NAN.
1261         * modules/ceilf-tests (Files): Add tests/nan.h.
1262
1263         * tests/test-floorf1.c: Include nan.h.
1264         (main): Use NaNf instead of NAN.
1265         * modules/floorf-tests (Files): Add tests/nan.h.
1266
1267         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
1268         (main): Use NaNf instead of NAN.
1269         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
1270
1271         * tests/test-isnand.c: Include nan.h instead of <math.h>.
1272         (main): Use NaNd instead of NAN.
1273         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
1274
1275         * tests/test-frexp.c: Include nan.h.
1276         (main): Use NaNd instead of NAN.
1277         * modules/frexp-tests (Files): Add tests/nan.h.
1278
1279         * lib/isnan.c: Don't include <math.h>.
1280         (FUNC): Don't use NAN macro.
1281         * modules/isnand-nolibm (Depends-on): Remove math.
1282         * modules/isnanf-nolibm (Depends-on): Remove math.
1283         * modules/isnanl (Depends-on): Remove math.
1284         * modules/isnanl-nolibm (Depends-on): Remove math.
1285
1286         * tests/nan.h: New file.
1287
1288 2008-04-01  Eric Blake  <ebb9@byu.net>
1289
1290         Fix typos.
1291         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
1292         values to be the right type.
1293
1294         For now, cater to gnulib strtod inaccuracies.
1295         * tests/test-strtod.c (main): Allow 1-ulp error on expected
1296         fractional results.  While not as nice from a QoI perspective, it
1297         is a quicker patch than correctly implementing decimal to binary
1298         rounding.
1299
1300 2008-03-31  Eric Blake  <ebb9@byu.net>
1301
1302         Guarantee a definition of NAN.
1303         * lib/math.in.h (NAN): Define if missing.
1304         * tests/test-math.c (main): Test it.
1305         * doc/posix-headers/math.texi (math.h): Document this.
1306         * lib/isnan.c (rpl_isnand): Use it.
1307         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
1308         * tests/test-floorf1.c (NaN): Likewise.
1309         * tests/test-frexp.c (NaN): Likewise.
1310         * tests/test-isnand.c (NaN): Likewise.
1311         * tests/test-isnanf.c (NaN): Likewise.
1312         * tests/test-round1.c (NaN): Likewise.
1313         * tests/test-roundf1.c (NaN): Likewise.
1314         * tests/test-snprintf-posix.h (NaN): Likewise.
1315         * tests/test-sprintf-posix.h (NaN): Likewise.
1316         * tests/test-trunc1.c (NaN): Likewise.
1317         * tests/test-truncf1.c (NaN): Likewise.
1318         * tests/test-vasnprintf-posix.c (NaN): Likewise.
1319         * tests/test-vasprintf-posix.c (NaN): Likewise.
1320         * modules/isnand-nolibm (Depends-on): Add math.
1321         * modules/isnanf-nolibm (Depends-on): Likewise.
1322         * modules/isnanl (Depends-on): Likewise.
1323         * modules/isnanl-nolibm (Depends-on): Likewise.
1324         * modules/snprintf-posix-tests (Depends-on): Likewise.
1325         * modules/sprintf-posix-tests (Depends-on): Likewise.
1326         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
1327         * modules/vsprintf-posix-tests (Depends-on): Likewise.
1328         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
1329         * modules/vasprintf-posix-tests (Depends-on): Likewise.
1330
1331 2008-03-31  Bruno Haible  <bruno@clisp.org>
1332
1333         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
1334         * doc/posix-functions/strtod.texi: Likewise.
1335
1336 2008-03-31  Bruno Haible  <bruno@clisp.org>
1337
1338         * tests/test-strtod.c (main): Don't use C99 syntax.
1339
1340 2008-03-31  Bruno Haible  <bruno@clisp.org>
1341
1342         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
1343         Reported by Eric Blake.
1344
1345 2008-03-31  Jim Meyering  <meyering@redhat.com>
1346
1347         Don't compare actual signbit return values.
1348         * tests/test-strtod.c (main): Rather, compare only their
1349         zero/non-zero nature.
1350
1351 2008-03-31  Eric Blake  <ebb9@byu.net>
1352
1353         More strtod documentation.
1354         * doc/posix-functions/strtod.texi (strtod): Interpret more test
1355         failures as distinct bugs.
1356
1357 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1358
1359         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
1360         Problem reported by Erik Benada in
1361         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
1362
1363 2008-03-30  Bruno Haible  <bruno@clisp.org>
1364
1365         * tests/test-strtod.c: Add comments about which assertion fails on which
1366         platform.
1367         * doc/posix-functions/strtod.texi: Add info about many more platforms.
1368
1369 2008-03-30  Eric Blake  <ebb9@byu.net>
1370
1371         Test signbit behavior on zeros.
1372         * tests/test-signbit.c (test_signbitf): Add tests for zero.
1373         (test_signbitd, test_signbitl): Likewise.
1374
1375         More strtod touchups.
1376         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
1377         sign of negative underflow, for now.  Use .5, not .1.
1378         * doc/posix-functions/strtod.texi (strtod): Mention these
1379         limitations.
1380         Reported by Jim Meyering.
1381
1382 2008-03-30  Bruno Haible  <bruno@clisp.org>
1383
1384         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
1385         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
1386
1387 2008-03-30  Bruno Haible  <bruno@clisp.org>
1388
1389         Avoid failure when attempting to return empty iconv results on some
1390         platforms.
1391         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
1392         allocation, don't report ENOMEM when the resulting string is empty.
1393
1394 2008-03-30  Bruno Haible  <bruno@clisp.org>
1395
1396         Fix buffer overrun.
1397         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
1398         Don't consider the width for tmp_length. Check count against tmp_length
1399         before doing the padding. Ensure enough allocation during padding.
1400
1401 2008-03-30  Eric Blake  <ebb9@byu.net>
1402
1403         strtod touchups.
1404         * lib/strtod.c (strtod): Avoid compiler warnings.
1405         Reported by Jim Meyering.
1406
1407 2008-03-30  Bruno Haible  <bruno@clisp.org>
1408
1409         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
1410         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
1411         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
1412         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
1413         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
1414         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
1415         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
1416         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
1417
1418         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
1419         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
1420         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
1421         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
1422         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
1423         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
1424         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
1425         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
1426
1427         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
1428         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
1429         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
1430         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
1431         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
1432         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
1433         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
1434         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
1435
1436         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
1437         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
1438
1439         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
1440         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
1441
1442         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
1443         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
1444
1445         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
1446         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
1447         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
1448
1449         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
1450         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
1451         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
1452
1453         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
1454         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
1455         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
1456
1457         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
1458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
1459         * modules/vasprintf (Depends-on): Add EOVERFLOW.
1460
1461         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
1462         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
1463         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
1464         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
1465         (Depends-on): Add EOVERFLOW.
1466         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
1467         (Depends-on): Add EOVERFLOW.
1468         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
1469         (Depends-on): Add EOVERFLOW.
1470         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
1471         (Depends-on): Add EOVERFLOW.
1472         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
1473         (Depends-on): Add EOVERFLOW.
1474         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
1475         (Depends-on): Add EOVERFLOW.
1476         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
1477         (Depends-on): Add EOVERFLOW.
1478         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
1479         (Depends-on): Add EOVERFLOW.
1480
1481         * lib/sprintf.c (EOVERFLOW): Remove fallback.
1482         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
1483         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
1484
1485         * lib/snprintf.c (EOVERFLOW): Remove fallback.
1486         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
1487         * modules/snprintf (Depends-on): Add EOVERFLOW.
1488
1489         * lib/poll.c (EOVERFLOW): Remove fallback.
1490         * modules/poll (Depends-on): Add EOVERFLOW.
1491
1492         * lib/getugroups.c (EOVERFLOW): Remove fallback.
1493         * modules/getugroups (Depends-on): Add EOVERFLOW.
1494
1495         * lib/getdelim.c (EOVERFLOW): Remove fallback.
1496         * modules/getdelim (Depends-on): Add EOVERFLOW.
1497
1498         * lib/ftell.c (EOVERFLOW): Remove fallback.
1499         * modules/ftell (Depends-on): Add EOVERFLOW.
1500
1501         * lib/fprintf.c (EOVERFLOW): Remove fallback.
1502         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
1503         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
1504
1505         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
1506
1507         * modules/EOVERFLOW-tests: New file.
1508         * tests/test-EOVERFLOW.c: New file.
1509
1510         * modules/EOVERFLOW: New file.
1511         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
1512
1513 2008-03-30  Bruno Haible  <bruno@clisp.org>
1514
1515         Fix bug introduced on 2007-06-10.
1516         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
1517         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
1518
1519 2008-03-30  Bruno Haible  <bruno@clisp.org>
1520
1521         Improve freadseek's efficiency after ungetc.
1522         * lib/freadseek.c: Include freadahead.h.
1523         (freadptrinc): New function, extracted from freadseek.
1524         (freadseek): Use it in a loop. Use freadahead to determine the number
1525         of loop iterations.
1526         * modules/freadseek (Depends-on): Add freadahead.
1527         (configure.ac): Require AC_C_INLINE.
1528
1529 2008-03-30  Bruno Haible  <bruno@clisp.org>
1530
1531         * lib/freadseek.c (freadseek): Don't ignore the return value of
1532         freadptr.
1533
1534 2008-03-29  Eric Blake  <ebb9@byu.net>
1535
1536         Add hex float support.
1537         * modules/strtod (Depends-on): Add c-ctype.
1538         (Link): Mention POW_LIB.
1539         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
1540         whitespace between 'e' and exponent.
1541         * tests/test-strtod.c (main): Enable hex float tests.
1542         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
1543         now provides.
1544
1545         Document various strtod bugs, with some fixes.
1546         * doc/posix-functions/strtod.texi (strtod): Document bugs with
1547         "-0x", "inf", "nan", and hex constants.
1548         * doc/posix-functions/atof.texi (atof): Likewise.
1549         * modules/stdlib (Makefile.am): Support strtod.
1550         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1551         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
1552         detect additional strtod bugs.
1553         * lib/stdlib.in.h (rpl_strtod): Add declarations.
1554         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
1555         bool where appropriate.  Parse 'inf' and 'nan'.
1556         * tests/test-strtod.c: New file.
1557         * modules/strtod (Depends-on): Add stdbool, stdlib.
1558         (configure.ac): Turn on module indicator.
1559         * modules/strtod-tests: New module.
1560
1561 2008-03-29  Eric Blake  <ebb9@byu.net>
1562
1563         Fix ftell on mingw.
1564         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
1565         * modules/ftell-tests (Depends-on): Add binary-io.
1566         * modules/ftello-tests (Depends-on): Likewise.
1567         * tests/test-ftell.c (main): Enhance test to cover behavior after
1568         ungetc.  Enforce binary mode.
1569         * tests/test-ftello.c (main): Likewise.
1570
1571         Pass test-freadseek on cygwin.
1572         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
1573         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
1574         ungetc buffer.
1575
1576         * tests/test-fflush2.c (main): Fix typo.
1577
1578 2008-03-29  Bruno Haible  <bruno@clisp.org>
1579
1580         * tests/test-fflush2.c (main): Temporarily disable the contents of
1581         this test.
1582         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
1583         Reported by Eric Blake.
1584
1585 2008-03-28  Simon Josefsson  <simon@josefsson.org>
1586
1587         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
1588         (GC_SHA224_DIGEST_SIZE): Add.
1589
1590         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
1591         (gc_hash_digest_length): Likewise.
1592         (gc_hash_buffer): Likewise.
1593
1594 2008-03-25  Bruno Haible  <bruno@clisp.org>
1595
1596         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
1597         detail which gettext release to use.
1598         Reported by Simon Josefsson.
1599
1600 2008-03-26  Jim Meyering  <meyering@redhat.com>
1601
1602         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
1603         * modules/gnumakefile (clean-GNUmakefile): Also, use
1604         test ... && ... || : syntax rather than if-then ... fi.
1605
1606         gnumakefile: Don't double-quote-expand $(VPATH) value.
1607         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
1608
1609 2008-03-24  Eric Blake  <ebb9@byu.net>
1610
1611         Alter GNUmakefile to install into top directory.
1612         * modules/maintainer-makefile: Split, and add dependency...
1613         * modules/gnumakefile: to this new module.
1614         * build-aux/GNUmakefile: Move...
1615         * top/GNUmakefile: ...here.
1616         * build-aux/maint.mk: Move...
1617         * top/maint.mk: ...here.
1618         * MODULES.html.sh (Support for maintaining...): Document new
1619         module.
1620
1621 2008-03-23  Bruno Haible  <bruno@clisp.org>
1622
1623         * gnulib-tool: New options --vc-files, --no-vc-files.
1624         (func_usage): Document them.
1625         (vc_files): New variable.
1626         (func_import): Consider vc_files.
1627         (func_create_testdir): Set vc_files to empty.
1628         Suggested by Jim Meyering and Karl Berry.
1629
1630 2008-03-23  Bruno Haible  <bruno@clisp.org>
1631
1632         Fix regex compilation error on HP-UX 11.
1633         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
1634         * modules/regex (Files): Add m4/mbstate_t.m4.
1635         Reported by Ton Voon <ton.voon@altinity.com>.
1636
1637 2008-03-23  Bruno Haible  <bruno@clisp.org>
1638
1639         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
1640
1641 2008-03-23  Eric Blake  <ebb9@byu.net>
1642             Bruno Haible  <bruno@clisp.org>
1643
1644         Install files from top/ in the destination directory.
1645         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
1646         augmentation also for the files from top/.
1647         (func_import, func_create_testdir): Rewrite file names:
1648         top/filename -> filename.
1649
1650 2008-03-23  Bruno Haible  <bruno@clisp.org>
1651
1652         Tweak "gnulib --version" output.
1653         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
1654
1655 2008-03-23  Bruno Haible  <bruno@clisp.org>
1656
1657         Tweak "gnulib --version" output.
1658         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
1659         rather than contents of ChangeLog, when possible.
1660
1661 2008-03-21  Eric Blake  <ebb9@byu.net>
1662
1663         More --version tweaks.
1664         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
1665         date of last ChangeLog entry.
1666
1667 2008-03-21  Jim Meyering  <meyering@redhat.com>
1668
1669         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
1670
1671 2008-03-20  Eric Blake  <ebb9@byu.net>
1672
1673         VPATH fix.
1674         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
1675
1676 2008-03-20  Simon Josefsson  <simon@josefsson.org>
1677
1678         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
1679         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
1680
1681 2008-03-20  Eric Blake  <ebb9@byu.net>
1682
1683         Sync GNUmakefile with coreutils.
1684         * build-aux/GNUmakefile (have-Makefile): Rename...
1685         (_have-Makefile): ...to this, for namespace consideration.
1686         (GNUmakefile.cfg): Include, if present.
1687         (_autoreconf): Define a default.
1688         (_is-dist-target): New rule for rebuilds to pick up intra-release
1689         version.
1690         (maint-cfg.mk): Rename...
1691         (cfg.mk): ...to this.
1692
1693 2008-03-18  Jim Meyering  <meyering@redhat.com>
1694
1695         New script and module: mktempd
1696         * MODULES.html.sh (maint+release support): Add mktempd.
1697         * build-aux/mktempd: New file.
1698         * modules/mktempd: New file.
1699
1700 2008-03-15  Jim Meyering  <meyering@redhat.com>
1701
1702         Undo last change.
1703         * lib/sha1.c, lib/md5.c: 63 != ~63.
1704         Reported by Andreas Schwab.
1705
1706         sha1.c, md5.c: Hoist a redundant expression.
1707         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
1708         "ctx->buflen" only once, before calling *_process_block.
1709         * lib/md5.c (md5_process_bytes): Likewise.
1710
1711 2008-03-14  Eric Blake  <ebb9@byu.net>
1712
1713         Bump copyright year in files generated by gnulib-tool.
1714         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
1715         gnulib-tool, rather than hard-coding it.
1716
1717         Fix 'gnulib-tool --version' output to work with git.
1718         * gnulib-tool (func_gnulib_dir): New function, extracted from...
1719         (startup): ...here.
1720         (func_version): Use it to invoke git-version-gen, rather than
1721         relying on CVS keyword expansion.  Modernize wording.
1722         (cvsdatestamp, last_checkin_date, version): Kill unused
1723         variables.
1724
1725 2008-03-12  Jim Meyering  <meyering@redhat.com>
1726
1727         Recognize optional cast of the argument to free.
1728         * build-aux/useless-if-before-free: Update regexps.
1729
1730         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
1731
1732 2008-03-11  Bruno Haible  <bruno@clisp.org>
1733
1734         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
1735         by a single package.
1736         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
1737         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
1738         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
1739         Reported by Sam Steingold <sds@gnu.org>.
1740
1741 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1742
1743         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
1744         repositories.
1745
1746 2008-03-11  Bruno Haible  <bruno@clisp.org>
1747
1748         Avoid conflicts between local macro definitions.
1749         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1750         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
1751
1752 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
1753             Bruno Haible  <bruno@clisp.org>
1754
1755         Make va_copy work with some version of xlc on AIX 5.1.
1756         * lib/stdarg.in.h: New file.
1757         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
1758         On AIX, use a <stdarg.h> file substitute.
1759         * modules/stdarg (Files): Add lib/stdarg.in.h.
1760         (Depends-on): Add include_next.
1761         (Makefile.am): Build a stdarg.h substitute if requested.
1762         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
1763
1764 2008-03-10  Bruno Haible  <bruno@clisp.org>
1765
1766         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
1767         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
1768         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
1769
1770 2008-03-10  Bruno Haible  <bruno@clisp.org>
1771
1772         * modules/stdlib (Depends-on): Add include_next, remove
1773         absolute-header.
1774
1775 2008-03-09  Bruno Haible  <bruno@clisp.org>
1776
1777         * lib/freadahead.h (freadahead): Document more precisely.
1778         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
1779         the sum of both buffer sizes.
1780         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
1781         * NEWS: Document the change.
1782
1783 2008-03-09  Bruno Haible  <bruno@clisp.org>
1784
1785         Extend freadptr to return also the buffer size.
1786         * lib/freadptr.h (freadptr): Add sizep argument.
1787         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
1788         (freadptr): Add sizep argument. Determine buffer size like freadahead
1789         does.
1790         * tests/test-freadptr.c: Don't include freadahead.h.
1791         (main): Adapt for new calling convention of freadptr.
1792         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
1793         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
1794         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
1795         tests/test-freadptr2.sh.
1796         (Depends): Remove freadahead.
1797         (TESTS): Add test-freadptr2.sh.
1798         (check_PROGRAMS): Add test-freadptr2.
1799
1800 2008-03-09  Bruno Haible  <bruno@clisp.org>
1801
1802         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
1803         Report and solution by Simon Josefsson.
1804
1805 2008-03-06  Bruno Haible  <bruno@clisp.org>
1806
1807         Make fflush after ungetc work on BSD platforms.
1808         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
1809         * tests/test-fflush2.c: New file.
1810         * tests/test-fflush2.sh: New file.
1811         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
1812         tests/test-fflush2.c.
1813         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
1814         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
1815
1816 2008-03-06  Eric Blake  <ebb9@byu.net>
1817
1818         Likewise for ftello.
1819         * modules/ftello (Dependencies): Add extensions.
1820         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
1821
1822 2008-03-06  Bruno Haible  <bruno@clisp.org>
1823
1824         * modules/fseeko (Dependencies): Add extensions.
1825         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
1826         Needed on glibc systems.
1827
1828 2008-03-06  Bruno Haible  <bruno@clisp.org>
1829
1830         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
1831         email address.
1832         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
1833
1834 2008-03-06  Bruno Haible  <bruno@clisp.org>
1835
1836         * users.txt: Add libgnupdf.
1837
1838 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1839
1840         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
1841         (Header File Substitutes, Function Substitutes,
1842         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
1843         (Build robot for gnulib): Fix typo.
1844
1845 2008-03-06  Bruno Haible  <bruno@clisp.org>
1846
1847         * doc/gnulib-tool.texi (VCS Issues): Small updates.
1848         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
1849
1850 2008-03-06  Bruno Haible  <bruno@clisp.org>
1851
1852         * doc/func.texi: New file, extracted from doc/gnulib.texi.
1853         * doc/gnulib.texi: Include it.
1854
1855 2008-03-06  Simon Josefsson  <simon@josefsson.org>
1856
1857         * modules/func (License): Change license to unlimited; there was
1858         no LGPL parts in the module anyway.
1859
1860 2008-03-06  Simon Josefsson  <simon@josefsson.org>
1861
1862         * modules/__func__: Renamed to modules/func.
1863         * modules/__func__-tests: Renamed to modules/func-tests.
1864         * tests/test-__func__.c: Renamed to tests/test-func.c.
1865         * m4/__func__.m4: Renamed to m4/func.m4.
1866         * doc/gnulib.texi (__func__): Section renamed to func.
1867         Suggested by Eric Blake <ebb9@byu.net>.
1868
1869 2008-03-06  Simon Josefsson  <simon@josefsson.org>
1870
1871         * doc/gnulib.texi (__func__): Use C99 terminology when talking
1872         about __func__.  Make example self-contained.  Suggested by Eric
1873         Blake <ebb9@byu.net>.
1874
1875         * tests/test-__func__.c (main): Avoid extraneous () around __func.
1876         Suggested by Eric Blake <ebb9@byu.net>.
1877
1878 2008-03-06  Simon Josefsson  <simon@josefsson.org>
1879
1880         * modules/__func__: New file.
1881         * modules/__func__-tests: New file.
1882         * tests/test-__func__.c: New file.
1883         * m4/__func__.m4: New file.
1884         * doc/gnulib.texi (__func__): Document __func__ module.
1885
1886 2008-03-05  Simon Josefsson  <simon@josefsson.org>
1887
1888         * modules/byteswap (License): Re-license as LGPLv2+.
1889
1890 2008-03-05  Simon Josefsson  <simon@josefsson.org>
1891
1892         * doc/Makefile: Add pdf target.
1893
1894 2008-03-05  Simon Josefsson  <simon@josefsson.org>
1895
1896         * modules/inline (License): Use 'unlimited', since there are only
1897         *.m4 files in this module.
1898
1899 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
1900             Bruno Haible  <bruno@clisp.org>
1901
1902         Add support for HP C 7.1 on OpenVMS 8.3.
1903         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
1904
1905 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
1906
1907         Update VMS specifics.
1908         * lib/getopt.c [VMS]: Remove include of unixlib.h.
1909
1910 2008-03-02  Jim Meyering  <meyering@redhat.com>
1911
1912         Remove the last dependency on the "free" module.
1913         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
1914         Reported by Bob Proulx.
1915
1916         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
1917
1918         Remove useless "if" tests before free.  Deprecate "free" module.
1919         * doc/posix-functions/free.texi: Mention that this
1920         module is no longer useful.
1921         * modules/free (Notice): Say this module is obsolete.
1922         * modules/readutmp (Depends-on): Remove free.
1923         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
1924         * lib/putenv.c (putenv): Likewise.
1925         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
1926         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
1927         * tests/test-c-strcasestr.c (main): Likewise.
1928         * tests/test-c-strstr.c (main): Likewise.
1929         * tests/test-mbscasestr1.c (main): Likewise.
1930         * tests/test-mbscasestr2.c (main): Likewise.
1931         * tests/test-mbsstr1.c (main): Likewise.
1932         * tests/test-mbsstr2.c (main): Likewise.
1933         * tests/test-memmem.c (main): Likewise.
1934         * tests/test-strcasestr.c (main): Likewise.
1935         * tests/test-striconv.c (main): Likewise.
1936         * tests/test-striconveh.c (main): Likewise.
1937         * tests/test-striconveha.c (main): Likewise.
1938         * tests/test-strstr.c (main): Likewise.
1939
1940         * build-aux/git-version-gen: Adjust a comment and the Usage string.
1941
1942         bootstrap: sync from coreutils again
1943         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
1944
1945 2008-03-01  Jim Meyering  <meyering@redhat.com>
1946
1947         bootstrap: sync from coreutils
1948         * build-aux/bootstrap (update_po_files): Copy a .po file into place
1949         also when the target doesn't exist.
1950
1951 2008-03-01  Eric Blake  <ebb9@byu.net>
1952
1953         Fix bugs in last patch.
1954         * lib/memchr2.c (memchr2): Fix typo.
1955         * tests/test-memchr2.c: Test previous bug, and don't use GNU
1956         extension.
1957         Reported by Bruce Korb.
1958
1959         New module 'memchr2'.
1960         * modules/memchr2: New file.
1961         * modules/memchr2-tests: Likewise.
1962         * lib/memchr2.h: Likewise.
1963         * lib/memchr2.c: Likewise, based on memchr.c.
1964         * tests/test-memchr2.c: New test.
1965         * MODULES.html.sh (String handling): Add memchr2.
1966
1967 2008-02-29  Bruno Haible  <bruno@clisp.org>
1968
1969         * modules/freadseek-tests: New file.
1970         * tests/test-freadseek.sh: New file.
1971         * tests/test-freadseek.c: New file.
1972
1973         New module 'freadseek'.
1974         * modules/freadseek: New file.
1975         * lib/freadseek.h: New file.
1976         * lib/freadseek.c: New file.
1977         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
1978
1979 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
1980
1981         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
1982         wydawca.
1983
1984         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
1985         program_invocation_name and program_invocation_short_name are
1986         present.
1987
1988 2008-02-28  Bruno Haible  <bruno@clisp.org>
1989
1990         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
1991         * tests/test-freadptr.sh: Also test non-seekable stdin.
1992
1993 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
1994
1995         * build-aux/bootstrap (source_base, m4_base)
1996         (doc_base, tests_base): New variables.
1997         (gnulib_tool_options): Do not hardcode base directories, use
1998         the above variables instead.
1999
2000 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
2001
2002         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
2003
2004 2008-02-28  Bruno Haible  <bruno@clisp.org>
2005
2006         * modules/freadptr-tests: New file.
2007         * tests/test-freadptr.sh: New file.
2008         * tests/test-freadptr.c: New file.
2009
2010         New module 'freadptr'.
2011         * modules/freadptr: New file.
2012         * lib/freadptr.h: New file.
2013         * lib/freadptr.c: New file.
2014         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
2015
2016 2008-02-26  Karl Berry  <karl@freefriends.org>
2017
2018         Sync from Libtool:
2019         * libltdl/argz.c (argz_add, argz_count): New functions.
2020         * libltdl/argz.in.h: Declare them.
2021         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
2022
2023 2008-02-22  Bruno Haible  <bruno@clisp.org>
2024
2025         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
2026         is a pointer type.  Needed for HP-UX 10.
2027         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
2028         * doc/posix-functions/gmtime_r.texi: Likewise.
2029         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
2030
2031 2008-02-24  Bruno Haible  <bruno@clisp.org>
2032
2033         * modules/environ-tests: New file.
2034         * tests/test-environ.c: New file.
2035
2036         New module 'environ'.
2037         * modules/environ: New file.
2038         * lib/unistd.in.h (environ): New declaration.
2039         * m4/environ.m4: New file.
2040         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
2041         after use.
2042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
2043         HAVE_DECL_ENVIRON.
2044         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
2045         HAVE_DECL_ENVIRON.
2046         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
2047         wrong claim that 'environ' is missing on some systems.
2048         * modules/execute (Depends-on): Add environ.
2049         * lib/execute.c (environ): Remove fallback declaration.
2050         * modules/pipe (Depends-on): Add environ.
2051         * lib/pipe.c (environ): Remove fallback declaration.
2052         * modules/setenv (Depends-on): Add environ.
2053         * lib/setenv.c (environ): Remove fallback declaration.
2054         * modules/unsetenv (Depends-on): Add environ.
2055         * lib/unsetenv.c (environ): Remove fallback declaration.
2056         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
2057         m4/environ.m4.
2058         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
2059         (gl_PREREQ_UNSETENV): Likewise.
2060
2061 2008-02-24  Bruno Haible  <bruno@clisp.org>
2062
2063         * doc/posix-functions/environ.texi: Document the MacOS X problem.
2064
2065 2008-02-20  Bob Proulx  <bob@proulx.com>
2066
2067         Enable use of older two part flavor 'git describe'.
2068         * build-aux/git-version-gen: If using the older two part flavor of
2069         git version then recreate the third part now present in the
2070         newer three part flavor of git describe.
2071
2072 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
2073
2074         * lib/fts.c (fts_build): Typo correction to comment.
2075
2076 2008-02-17  Bruno Haible  <bruno@clisp.org>
2077
2078         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
2079         generating no-op conflicts.
2080
2081 2008-02-17  Bruno Haible  <bruno@clisp.org>
2082
2083         Speed up by 10%.
2084         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
2085         result_entries, rather than an index-based loop.
2086
2087 2008-02-17  Bruno Haible  <bruno@clisp.org>
2088
2089         Speed up by 25%.
2090         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
2091         'hashcode_cached'.
2092         (entry_create): New function.
2093         (entry_hashcode): Use the cached hashcode if possible.
2094         (read_changelog_file, try_split_merged_entry): Use entry_create.
2095
2096 2008-02-17  Bruno Haible  <bruno@clisp.org>
2097
2098         Speed up from O(n^2) to O(n) for long ChangeLog files.
2099         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
2100         (read_changelog_file): Change implementation of entries_reversed list
2101         to rbtreehash.
2102         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
2103
2104 2008-02-17  Bruno Haible  <bruno@clisp.org>
2105
2106         New option --split-merged-entry.
2107         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
2108         (find_paragraph_end, try_split_merged_entry): New functions.
2109         (long_options): Add option --split-merged-entry.
2110         (usage): Document option --split-merged-entry.
2111         (main): Implement option --split-merged-entry.
2112         Reported by Eric Blake.
2113
2114 2008-02-17  Bruno Haible  <bruno@clisp.org>
2115
2116         * lib/git-merge-changelog.c: Include c-strstr.h.
2117         (main): Support the "git pull --rebase" situation.
2118         * modules/git-merge-changelog (Depends-on): Add c-strstr.
2119         Reported by Eric Blake.
2120
2121 2008-02-16  Eric Blake  <ebb9@byu.net>
2122
2123         Avoid doubling \ in common case of "c-maybe" quoting style.
2124         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
2125         eliding outer quotes.
2126         * lib/quotearg.h: Document this.
2127         * tests/test-quotearg.c (result_strings, inputs, results_g)
2128         (flag_results, locale_results): Test it by adding a new string to
2129         each test group.
2130         (compare_strings): Test new string.
2131
2132 2008-02-13  Eric Blake  <ebb9@byu.net>
2133
2134         Avoid trigraph quoting in default output.
2135         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
2136         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
2137         unless explicitly requested.
2138         * tests/test-quotearg.c (flag_results, main): Add additional tests.
2139
2140 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
2141
2142         Don't rely on signed integer overflowing to negative value.
2143         * lib/getugroups.c (getugroups): Include <limits.h>.
2144         Instead, compare against INT_MAX, and increment only if the test passes.
2145
2146 2008-02-13  Jim Meyering  <meyering@redhat.com>
2147         and Eric Blake  <ebb9@byu.net>
2148
2149         Avoid shadowing warning and compile errors on Linux.
2150         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
2151         forwarding macros on Linux.
2152         (dcgettext): Define a stub, for Linux.
2153         (results_g, main): Avoid warnings.
2154
2155 2008-02-12  Eric Blake  <ebb9@byu.net>
2156
2157         Silence warning in last patch.
2158         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
2159
2160         Quotearg part 4: add tests, fix c-maybe colon quoting.
2161         * lib/quotearg.h: Improve documentation.
2162         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
2163         escapes when adding outer quotes.  When quoting trigraphs, use
2164         valid C notation.  When quoting NUL, omit extra characters if next
2165         character is not digit.  Alter prototype.
2166         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
2167         callers.
2168         * modules/quotearg-tests: New module.
2169         * tests/test-quotearg.c: New test.
2170
2171 2008-02-07  Eric Blake  <ebb9@byu.net>
2172
2173         Quotearg part 3: add flag to control outer quote elision.
2174         * lib/quotearg.h (c_maybe_quoting_style): New style.
2175         (enum quoting_flags): Better documentation of flags.
2176         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
2177         c-maybe style.
2178         (quotearg_buffer_restyled): Handle new flag to elide outer
2179         quotes.
2180
2181         Quotearg part 2: add flag that can control NUL elision.
2182         * lib/quotearg.h (set_quoting_flags): New prototype.
2183         * lib/quotearg.c (struct quoting_options): Add flag field.
2184         (set_quoting_flags): New function.
2185         (quotearg_buffer_restyled): Add flags parameter.
2186         (quotearg_alloc_mem): Set the flag if length cannot be returned.
2187         (quotearg_n_options): Set the flag, since length cannot be
2188         returned.
2189         (quoting_options_from_style): Default flags correctly.
2190
2191         Quotearg part 1: more wrappers, restore quotearg_char state.
2192         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
2193         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
2194         (quotearg_colon_mem): New wrappers.
2195         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
2196         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
2197         functions.
2198         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
2199         (quotearg_colon_mem): New functions.
2200
2201 2008-02-11  Bruno Haible  <bruno@clisp.org>
2202
2203         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
2204         library in the current directory: it does not work with parallel make.
2205         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2206
2207 2008-02-11  Bruno Haible  <bruno@clisp.org>
2208
2209         * .gitattributes: New file.
2210
2211 2008-02-11  Jim Meyering  <meyering@redhat.com>
2212
2213         useless-if-before-free: Fix reversed exit values.
2214         * build-aux/useless-if-before-free: Use correct values
2215         for EXIT_MATCH and EXIT_NO_MATCH.
2216
2217         * build-aux/useless-if-before-free: Close stdout carefully.
2218
2219 2008-02-10  Bruno Haible  <bruno@clisp.org>
2220
2221         New module 'git-merge-changelog'.
2222         * modules/git-merge-changelog: New file.
2223         * lib/git-merge-changelog.c: New file.
2224
2225 2008-02-10  Jim Meyering  <meyering@redhat.com>
2226
2227         useless-if-before-free: New option: --list (-l).
2228
2229         useless-if-before-free: Don't exit immediately upon open failure.
2230         * build-aux/useless-if-before-free: Exit 2 for errors.
2231         Upon failure to open a file, don't exit immediately.
2232         Rather, just warn and continue with any remaining files.
2233
2234 2008-02-10  Bruno Haible  <bruno@clisp.org>
2235
2236         New abstract list operation 'node_set_value'.
2237         * lib/gl_list.h (gl_list_node_set_value): New function.
2238         (struct gl_list_implementation): New field node_set_value.
2239         * lib/gl_list.c (gl_list_node_set_value): New function.
2240         * lib/gl_array_list.c (gl_array_node_set_value): New function.
2241         (gl_array_list_implementation): Update.
2242         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
2243         (gl_carray_list_implementation): Update.
2244         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
2245         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
2246         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
2247         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
2248         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
2249         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
2250         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
2251         Update.
2252         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
2253         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
2254         (gl_sublist_list_implementation): Update.
2255
2256 2008-02-10  Bruno Haible  <bruno@clisp.org>
2257
2258         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
2259         Needed when ELEMENT is #defined to 'some_type *'.
2260
2261 2008-02-10  Jim Meyering  <meyering@redhat.com>
2262
2263         New script and module: useless-if-before-free
2264         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
2265         * build-aux/useless-if-before-free: New file.
2266         * modules/useless-if-before-free: New file.
2267
2268         * build-aux/gitlog-to-changelog: Use committer date, not author date.
2269
2270         xstrtol_error: Fix typo.
2271         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
2272         s/exit_failure/exit_status/.
2273
2274 2008-02-09  Jim Meyering  <meyering@redhat.com>
2275
2276         New script and module: gitlog-to-changelog
2277         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
2278         * modules/gitlog-to-changelog: New file.
2279         * build-aux/gitlog-to-changelog: New file.
2280
2281 2008-02-08  Jim Meyering  <meyering@redhat.com>
2282
2283         Avoid two "parameter unused" warnings.
2284         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
2285         Mark "st" as used.
2286
2287         Use "git COMMAND", not "git-COMMAND".
2288         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
2289         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
2290         * build-aux/git-version-gen: Use "git status", not "git-status".
2291
2292 2008-02-07  Bruno Haible  <bruno@clisp.org>
2293
2294         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
2295         Avoids a crash on Windows Vista.
2296         Reported by Adam Strzelecki <ono@java.pl> via
2297         Simon Josefsson <simon@josefsson.org>.
2298
2299 2008-02-06  Bruno Haible  <bruno@clisp.org>
2300
2301         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
2302         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
2303         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
2304         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
2305         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
2306         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2307         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
2308         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
2309         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2310         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2311         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2312         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2313         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2314         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2315         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2316         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
2317         left-adjust flag.
2318         * tests/test-snprintf-posix.h (test_function): Likewise.
2319         * tests/test-sprintf-posix.h (test_function): Likewise.
2320         * tests/test-vasprintf-posix.c (test_function): Likewise.
2321         * doc/posix-functions/fprintf.texi: Update.
2322         * doc/posix-functions/printf.texi: Update.
2323         * doc/posix-functions/snprintf.texi: Update.
2324         * doc/posix-functions/sprintf.texi: Update.
2325         * doc/posix-functions/vfprintf.texi: Update.
2326         * doc/posix-functions/vprintf.texi: Update.
2327         * doc/posix-functions/vsnprintf.texi: Update.
2328         * doc/posix-functions/vsprintf.texi: Update.
2329         Reported by Peter Fales <psfales@alcatel-lucent.com>.
2330
2331 2008-02-06  Bruno Haible  <bruno@clisp.org>
2332
2333         Fix bug introduced on 2008-01-26.
2334         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
2335
2336 2008-02-06  Bruno Haible  <bruno@clisp.org>
2337
2338         Fix bug introduced on 2007-06-10.
2339         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
2340         !NEED_PRINTF_FLAG_ZERO.
2341
2342 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
2343
2344         getloadavg: use libperfstat on AIX5
2345         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
2346
2347 2008-02-03  Bruno Haible  <bruno@clisp.org>
2348
2349         * lib/diffseq.h: Add comments about required #includes.
2350         Reported by Michael Biggs <gnulib@doubleplum.net>.
2351
2352 2008-02-01  Bruno Haible  <bruno@clisp.org>
2353
2354         * users.txt: Add gnuit.
2355
2356 2008-01-31  Bruno Haible  <bruno@clisp.org>
2357
2358         * lib/md4.c (set_uint32): Mark as inline.
2359         * lib/md5.c (set_uint32): Likewise.
2360         * lib/sha1.c (set_uint32): Likewise.
2361         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
2362         * m4/md5.m4 (gl_MD5): Likewise.
2363         * m4/sha1.m4 (gl_SHA1): Likewise.
2364
2365 2008-01-31  Jim Meyering  <meyering@redhat.com>
2366
2367         Use "sizeof VAR", rather than a literal "4".
2368         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
2369         * lib/md4.c (md4_read_ctx): Likewise.
2370         * lib/sha1.c (sha1_read_ctx): Likewise.
2371
2372 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2373
2374         * tests/test-sha1.c: New file, based on test-md5.c.
2375
2376         * modules/crypto/sha1-tests: New file.
2377
2378 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2379
2380         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
2381
2382 2008-01-31  Jim Meyering  <meyering@redhat.com>
2383
2384         Prefer "sizeof v" over the equivalent "4".
2385         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
2386         * lib/md5.c (set_uint32): Likewise.
2387         * lib/sha1.c (set_uint32): Likewise.
2388
2389 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2390
2391         * lib/sha1.c (set_uint32): Mark function as static.
2392
2393 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2394
2395         md2: clarify comments to say that alignment is not required.
2396         * lib/md2.h: Remove warning about alignment in comment.
2397         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
2398         never been required.
2399
2400 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2401
2402         md4: adapt alignment constraint fix from sha1.
2403         * lib/md4.c (set_uint32): New function, from sha1.c
2404         (md4_read_ctx): Use it.
2405         (md4_finish_ctx): Doc fix.
2406         * lib/md4.h: Doc fix.
2407
2408 2008-01-31  Simon Josefsson  <simon@josefsson.org>
2409
2410         md5: adapt alignment constraint fix from sha1.
2411         * lib/md5.c (set_uint32): New function, from sha1.c
2412         (md5_read_ctx): Use it.
2413         (md5_finish_ctx): Doc fix.
2414         * lib/md5.h: Doc fix.
2415
2416 2008-01-30  Peter Palfrader  <weasel@debian.org>
2417
2418         sha1: remove the result buffer alignment constraint
2419         * lib/sha1.c (set_uint32): New function.
2420         (sha1_read_ctx): Rewrite to remove the result buffer alignment
2421         constraint.
2422         (sha1_finish_ctx): Remove comment warning about alignment constraint.
2423         * lib/sha1.h: Likewise.
2424
2425 2008-01-30  Andreas Schwab  <schwab@suse.de>
2426             Bruno Haible  <bruno@clisp.org>
2427
2428         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
2429         correct definition of LDBL_MIN_EXP.
2430
2431 2008-01-30  Karl Berry  <karl@gnu.org>
2432
2433         * config/srclist-update: try to preserve x bit on updates.
2434         * config/srclistvars.sh: update for karl.
2435
2436 2008-01-29  Jim Meyering  <meyering@redhat.com>
2437
2438         vasnprintf.c: Avoid warning about unused label
2439         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
2440         "overflow" label definition and associated code with the
2441         same cpp condition that guards the sole use of that label.
2442
2443 2008-01-26  Bruno Haible  <bruno@clisp.org>
2444
2445         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
2446         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
2447         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
2448         * lib/isnanl-nolibm.h (isnanl): Likewise.
2449         Reported by Paul Eggert <eggert@cs.ucla.edu>.
2450
2451 2008-01-26  Bruno Haible  <bruno@clisp.org>
2452
2453         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
2454         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
2455
2456 2008-01-26  Bruno Haible  <bruno@clisp.org>
2457
2458         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
2459         GCC >= 4.0 built-in.
2460         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
2461
2462 2008-01-26  Bruno Haible  <bruno@clisp.org>
2463
2464         Rename isnan, applicable to 'double' only, to isnand.
2465         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
2466         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
2467         (configure.ac): Update.
2468         (Include): Replace "isnan.h" with "isnand.h".
2469         * m4/isnand.m4: Renamed from m4/isnan.m4.
2470         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
2471         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
2472         instead of isnan.c.
2473         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
2474         instead of HAVE_ISNAN_IN_LIBC.
2475         (isnand): Renamed from isnan.
2476         * lib/isnand.c: New file.
2477         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
2478         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
2479         (Makefile.am): Update.
2480         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
2481         Include isnand.h instead of isnan.h.
2482         (main): Test isnand instead of isnan.
2483         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
2484         isnan-nolibm.
2485         * modules/frexp (Depends-on): Likewise.
2486         * modules/frexp-tests (Depends-on): Likewise.
2487         * modules/frexp-nolibm (Depends-on): Likewise.
2488         * modules/frexp-nolibm-tests (Depends-on): Likewise.
2489         * modules/isfinite (Depends-on): Likewise.
2490         * modules/round-tests (Depends-on): Likewise.
2491         * modules/signbit (Depends-on): Likewise.
2492         * modules/signbit-tests (Depends-on): Likewise.
2493         * modules/snprintf-posix (Depends-on): Likewise.
2494         * modules/sprintf-posix (Depends-on): Likewise.
2495         * modules/trunc-tests (Depends-on): Likewise.
2496         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
2497         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
2498         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
2499         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
2500         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
2501         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
2502         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
2503         * modules/vasnprintf-posix (Depends-on): Likewise.
2504         * modules/vasprintf-posix (Depends-on): Likewise.
2505         * modules/vfprintf-posix (Depends-on): Likewise.
2506         * modules/vsnprintf-posix (Depends-on): Likewise.
2507         * modules/vsprintf-posix (Depends-on): Likewise.
2508         * lib/frexp.c: Include isnand.h instead of isnan.h.
2509         (ISNAN): Set to isnand instead of isnan.
2510         * lib/isfinite.c: Include isnand.h instead of isnan.h.
2511         (gl_isfinited): Use isnand instead of isnan.
2512         * lib/signbitd.c: Include isnand.h instead of isnan.h.
2513         (gl_signbitd): Use isnand instead of isnan.
2514         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
2515         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
2516         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
2517         (main): Use isnand instead of isnan.
2518         * tests/test-round1.c: Include isnand.h.
2519         (main): Use isnand instead of isnan.
2520         * tests/test-round2.c: Include isnand.h instead of isnan.h.
2521         (ISNAN): Set to isnand instead of isnan.
2522         * tests/test-trunc1.c: Include isnand.h.
2523         (main): Use isnand instead of isnan.
2524         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
2525         (equal): Use isnand instead of isnan.
2526         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
2527         isnand-nolibm.
2528         * NEWS: Mention the change.
2529
2530 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2531             Bruno Haible  <bruno@clisp.org>
2532
2533         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
2534         the GCC builtins for signbits are present and set
2535         REPLACE_SIGNBIT_USING_GCC if so.
2536         * lib/math.in.h (signbit): Define using GCC builtins if
2537         REPLACE_SIGNBIT_USING_GCC is set.
2538         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
2539         REPLACE_SIGNBIT_USING_GCC.
2540         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
2541
2542 2008-01-25  Jim Meyering  <meyering@redhat.com>
2543
2544         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
2545         * lib/poll.c: Include <config.h>, not "config.h".
2546         * tests/test-getaddrinfo.c: Likewise.
2547
2548 2008-01-25  Simon Josefsson  <simon@josefsson.org>
2549
2550         * modules/sockets-tests: New file.
2551
2552 2008-01-24  Simon Josefsson  <simon@josefsson.org>
2553
2554         * modules/sockets: New module, can be used to call WSA_Startup and
2555         WSA_Cleanup when needed.
2556
2557         * lib/sockets.h, lib/sockets.c: New files.
2558
2559         * m4/sockets.m4: New file.
2560
2561         * tests/test-sockets.c: New file.
2562
2563 2008-01-19  Bruno Haible  <bruno@clisp.org>
2564
2565         * doc/posix-headers: Renamed from doc/headers.
2566         * doc/posix-functions: Renamed from doc/functions.
2567         * doc/gnulib.texi: Update.
2568
2569 2008-01-19  Bruno Haible  <bruno@clisp.org>
2570
2571         * doc/glibc-functions/strcasestr.texi: Include contents of
2572         doc/functions/strcasestr.texi, fixing the list of platforms.
2573         * doc/functions/strcasestr.texi: Remove file.
2574
2575 2008-01-19  Bruno Haible  <bruno@clisp.org>
2576
2577         * doc/glibc-functions/memmem.texi: Include contents of
2578         doc/functions/memmem.texi.
2579         * doc/functions/memmem.texi: Remove file.
2580
2581 2008-01-18  Bruno Haible  <bruno@clisp.org>
2582
2583         * doc/glibc-functions/*.texi: New files.
2584         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
2585         to use the new files.
2586
2587 2008-01-17  Bruno Haible  <bruno@clisp.org>
2588
2589         * tests/test-gethostname.c (main): Fix printf statement.
2590
2591 2008-01-17  Simon Josefsson  <simon@josefsson.org>
2592
2593         * modules/gethostname-tests: New file.
2594
2595         * tests/test-gethostname.c: New file.
2596
2597 2008-01-17  Simon Josefsson  <simon@josefsson.org>
2598
2599         * lib/gethostname.c: Include string.h unconditionally, strncpy is
2600         used by the UNAME case.  Reported by Bruno Haible
2601         <bruno@clisp.org>.
2602
2603 2008-01-17  Eric Blake  <ebb9@byu.net>
2604
2605         Convert c-strcasestr to be more efficient.
2606         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
2607         (Depends-on): Add c-strcase, remove malloca, strnlen.
2608         * tests/test-c-strcasestr.c (main): Enhance test.
2609         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
2610
2611 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2612
2613         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
2614         Use it in creating po/Makevars.
2615
2616 2008-01-15  Simon Josefsson  <simon@josefsson.org>
2617
2618         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
2619         Applications that requires it should initialize libgcrypt
2620         manually.
2621
2622 2008-01-16  Simon Josefsson  <simon@josefsson.org>
2623
2624         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
2625
2626 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
2627
2628         Fix problem with getdate on mingw32 reported by Simon Josefsson
2629         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
2630         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
2631         tzname", when deciding whether to declare tzname.
2632         * lib/strftime.c (tzname): Likewise.
2633
2634 2008-01-15  Bruno Haible  <bruno@clisp.org>
2635
2636         Work around a MacOS X 10.5 bug in frexpl().
2637         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
2638         * doc/functions/frexpl.texi: Document the bug.
2639         Reported by Elias Pipping <pipping@gentoo.org>.
2640
2641 2008-01-14  Eric Blake  <ebb9@byu.net>
2642
2643         Touch up previous patch.
2644         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
2645         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
2646
2647         Convert strcasestr module to use Two-Way algorithm.
2648         * modules/strcasestr-simple: New module, based on the old
2649         strcasestr, but with Two-Way rather than KMP.
2650         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
2651         * lib/string.in.h (rpl_strcasestr): Declare.
2652         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
2653         performance.
2654         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
2655         * modules/string (Makefile.am): Support strcasestr.
2656         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
2657         * modules/strcasestr-tests (Depends-on): Check for alarm.
2658         * tests/test-strcasestr.c: Augment test.
2659         * lib/str-two-way.h: Clean up stray macro.
2660         * NEWS: Document new module.
2661         * MODULES.html.sh (string handling): Likewise.
2662         * doc/functions/strcasestr.texi: New file.
2663         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
2664         here, since it is not a POSIX function.
2665
2666 2008-01-14  Colin Watson  <cjwatson@debian.org>
2667             Bruno Haible  <bruno@clisp.org>
2668
2669         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
2670         works fine; if not, set REPLACE_STRSIGNAL.
2671         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
2672         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2673         REPLACE_STRSIGNAL.
2674         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
2675         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
2676         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
2677
2678 2008-01-14  Bruno Haible  <bruno@clisp.org>
2679
2680         * modules/strsignal (Include): Change to <string.h>.
2681
2682 2008-01-14  Colin Watson  <cjwatson@debian.org>
2683
2684         * modules/argp (Notice): Add a notice recommending to change
2685         XGETTEXT_OPTIONS.
2686         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
2687
2688 2008-01-13  Colin Watson  <cjwatson@debian.org>
2689
2690         * modules/strsignal-tests: New file.
2691         * tests/test-strsignal.c: New file.
2692
2693         * lib/strsignal.c: New file, from glibc with modifications.
2694         * lib/siglist.h: New file, from glibc with modifications.
2695         * lib/string.in.h (strsignal): New declaration.
2696         * m4/strsignal.m4: New file.
2697         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2698         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
2699         * modules/strsignal: New file.
2700         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
2701         HAVE_DECL_STRSIGNAL.
2702
2703 2008-01-13  Bruno Haible  <bruno@clisp.org>
2704
2705         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
2706         locale encoding is not ASCII. Needed for OpenBSD 4.0.
2707         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2708         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2709
2710 2008-01-13  Bruno Haible  <bruno@clisp.org>
2711
2712         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
2713         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
2714         * lib/argp.h (__attribute__): Likewise.
2715         * lib/c-stack.c (__attribute__): Likewise.
2716         * lib/error.h (__attribute__): Likewise.
2717         * lib/fts.c (__attribute__): Likewise.
2718         * lib/openat.h (__attribute__): Likewise.
2719         * lib/stdio.in.h (__attribute__): Likewise.
2720         * lib/string.in.h (__attribute__): Likewise.
2721         * lib/utimens.c (__attribute__): Likewise.
2722         * lib/vasnprintf.h (__attribute__): Likewise.
2723         * lib/xalloc.h (__attribute__): Likewise.
2724         * lib/xprintf.h (__attribute__): Likewise.
2725         * lib/xstrtol.h (__attribute__): Likewise.
2726         * lib/xvasprintf.h (__attribute__): Likewise.
2727
2728 2008-01-12  Bruno Haible  <bruno@clisp.org>
2729
2730         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
2731         * doc/glibc-headers/a.out.texi: New file.
2732         * doc/glibc-headers/aliases.texi: New file.
2733         * doc/glibc-headers/alloca.texi: New file.
2734         * doc/glibc-headers/ar.texi: New file.
2735         * doc/glibc-headers/argp.texi: New file.
2736         * doc/glibc-headers/argz.texi: New file.
2737         * doc/glibc-headers/byteswap.texi: New file.
2738         * doc/glibc-headers/crypt.texi: New file.
2739         * doc/glibc-headers/endian.texi: New file.
2740         * doc/glibc-headers/envz.texi: New file.
2741         * doc/glibc-headers/err.texi: New file.
2742         * doc/glibc-headers/error.texi: New file.
2743         * doc/glibc-headers/execinfo.texi: New file.
2744         * doc/glibc-headers/fpu_control.texi: New file.
2745         * doc/glibc-headers/fstab.texi: New file.
2746         * doc/glibc-headers/fts.texi: New file.
2747         * doc/glibc-headers/getopt.texi: New file.
2748         * doc/glibc-headers/ieee754.texi: New file.
2749         * doc/glibc-headers/ifaddrs.texi: New file.
2750         * doc/glibc-headers/libintl.texi: New file.
2751         * doc/glibc-headers/mcheck.texi: New file.
2752         * doc/glibc-headers/mntent.texi: New file.
2753         * doc/glibc-headers/obstack.texi: New file.
2754         * doc/glibc-headers/paths.texi: New file.
2755         * doc/glibc-headers/printf.texi: New file.
2756         * doc/glibc-headers/pty.texi: New file.
2757         * doc/glibc-headers/resolv.texi: New file.
2758         * doc/glibc-headers/shadow.texi: New file.
2759         * doc/glibc-headers/sysexits.texi: New file.
2760         * doc/glibc-headers/ttyent.texi: New file.
2761
2762 2008-01-12  Jim Meyering  <meyering@redhat.com>
2763
2764         announce-gen: emit Gnulib's git-based version string.
2765         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
2766         New option --gnulib-version=V, where V is expected to be
2767         the output of running git describe in the gnulib directory.
2768         (get_tool_versions): Request feedback on xdelta.  I suspect it's
2769         not useful, and plan to stop publishing an xdelta file with each
2770         coreutils release.
2771
2772         * build-aux/announce-gen: Also check for lzma-compressed files.
2773
2774 2008-01-11  Bruno Haible  <bruno@clisp.org>
2775
2776         * tests/test-memmem.c (main): Increase maximum allowed time.
2777         * tests/test-strstr.c (main): Likewise.
2778
2779 2008-01-11  Bruno Haible  <bruno@clisp.org>
2780
2781         * doc/functions/memmem.texi: Add more precisions about platforms.
2782         * doc/functions/strstr.texi: Likewise.
2783
2784 2008-01-10  Eric Blake  <ebb9@byu.net>
2785
2786         * m4/strstr.m4: Delete cruft from copy-n-paste.
2787         Reported by Bruno Haible.
2788
2789 2008-01-10  Bruno Haible  <bruno@clisp.org>
2790
2791         Make c-strstr rely on strstr.
2792         * lib/c-strstr.c: Don't include str-kmp.h.
2793         (c_strstr): Define in terms of strstr.
2794         * modules/c-strstr (Files): Remove lib/str-kmp.h.
2795         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
2796
2797 2008-01-10  Bruno Haible  <bruno@clisp.org>
2798
2799         * doc/gnulib.texi (String Functions in C Locale): New section.
2800         * doc/c-ctype.texi: New file.
2801         * doc/c-strcase.texi: New file.
2802         * doc/c-strcaseeq.texi: New file.
2803         * doc/c-strcasestr.texi: New file.
2804         * doc/c-strstr.texi: New file.
2805         * doc/c-strtod.texi: New file.
2806         * doc/c-strtold.texi: New file.
2807
2808 2008-01-10  Eric Blake  <ebb9@byu.net>
2809
2810         * lib/relocatable.h: Fix a comment.
2811
2812 2008-01-10  Eric Blake  <ebb9@byu.net>
2813
2814         Share two-way algorithm.
2815         * lib/str-two-way.h: New file, merged from...
2816         * lib/memmem.c: ...here...
2817         * lib/strstr.c: ...and here.
2818         * modules/memmem (Files): Use it.
2819         * modules/strstr (Files): Likewise.
2820
2821         Avoid quadratic strstr implementations.
2822         * lib/strstr.c: New file.
2823         * m4/strstr.m4: Likewise.
2824         * modules/strstr: Likewise.
2825         * modules/strstr-tests: Likewise.
2826         * tests/test-strstr.c: Likewise.
2827         * lib/string.in.h (rpl_strstr): Declare.
2828         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
2829         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
2830         * modules/string (Makefile.am): Likewise.
2831         * MODULES.html.sh (string handling): Mention new module.
2832         * doc/functions/strstr.texi (strstr): Document the bug.
2833
2834 2008-01-10  Bruno Haible  <bruno@clisp.org>
2835
2836         * lib/relocatable.h (relocate): State whether result is freshly
2837         allocated or not.
2838         * lib/relocatable.c (relocate): Return a freshly allocated string
2839         instead of a pointer to a privately held string.
2840         Reported by Sylvain Beucler <beuc@gnu.org>.
2841
2842 2008-01-10  Colin Watson  <cjwatson@debian.org>
2843
2844         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
2845         s/S_ISNLK/S_ISLNK/.
2846
2847 2008-01-09  Bruno Haible  <bruno@clisp.org>
2848
2849         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
2850         and other files.
2851         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
2852         if it's only a guess.
2853         * modules/memmem: Simplify by depending on memmem-simple.
2854
2855 2008-01-09  Bruno Haible  <bruno@clisp.org>
2856
2857         Work around OpenBSD 4.0 tdelete() bug.
2858         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
2859         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
2860         macros and don't redefine the enum values.
2861         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
2862         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
2863         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
2864
2865 2008-01-09  Bruno Haible  <bruno@clisp.org>
2866
2867         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
2868         (main): Don't perform the tests if setlocale did not install a UTF-8
2869         locale. Needed on OpenBSD 4.0.
2870         * modules/wcwidth-tests (Depends-on): Add localcharset.
2871
2872 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
2873
2874         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
2875         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
2876         * NEWS: announce this.
2877         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
2878
2879 2008-01-09  Simon Josefsson  <simon@josefsson.org>
2880         and Eric Blake  <ebb9@byu.net>
2881
2882         Add memmem-simple module.
2883         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
2884         (gl_FUNC_MEMMEM): Separate performance from presence checks.
2885         * modules/memmem-simple: New file.
2886         * modules/memmem (Description): Tweak.
2887         * MODULES.html.sh (string handling): Mention new module.
2888         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
2889         addressed by memmem-simple.
2890         * NEWS: Document the difference.
2891
2892 2008-01-09  Eric Blake  <ebb9@byu.net>
2893
2894         Give gcc some memmem optimization hints.
2895         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
2896         (strcasestr): Declare as pure.
2897         * modules/memmem (Maintainer): Claim my implementation.
2898
2899 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2900
2901         Support AIX 6.1 and higher.
2902         * build-aux/config.libpath: Likewise.
2903         * build-aux/config.rpath: Likewise.
2904
2905 2008-01-08  Jim Meyering  <meyering@redhat.com>
2906             Bruno Haible  <bruno@clisp.org>
2907
2908         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
2909         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
2910         Reported by Peter Fales in
2911         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
2912
2913 2008-01-08  Bruno Haible  <bruno@clisp.org>
2914
2915         * modules/unictype/category-of (Depends-on): Add
2916         unictype/category-none.
2917         * modules/unictype/category-and-tests (Depends-on): Add
2918         unictype/category-{L,N,Lu,Nd}.
2919         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
2920         * modules/unictype/category-or-tests (Depends-on): Add
2921         unictype/category-{L,N}.
2922         * modules/unictype/category-name-tests (Depends-on): Add
2923         unictype/category-{Z,Nl}.
2924         Reported by Simon Josefsson.
2925
2926 2008-01-08  Bruno Haible  <bruno@clisp.org>
2927
2928         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
2929         convention better.
2930         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
2931         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
2932         Reported by Peter Miller <millerp@canb.auug.org.au>.
2933
2934 2008-01-08  Eric Blake  <ebb9@byu.net>
2935
2936         Rewrite memmem to guarantee linear complexity without malloc.
2937         * lib/memmem.c (memmem): Use Two-Way rather than
2938         Knuth-Morris-Pratt, to allow O(1) space usage.
2939         (critical_factorization, two_way_short_needle)
2940         (two_way_long_needle): New functions.
2941         (knuth_morris_pratt): Delete.
2942         * modules/memmem (Depends-on): No longer need malloca or stdbool.
2943         Add stdint.
2944         * tests/test-memmem.c (main): Add tests for periodic needle and
2945         sublinear performance.
2946         * doc/functions/memmem.texi (memmem): Document other deficiencies
2947         in cygwin and older glibc.
2948
2949 2008-01-08  Bruno Haible  <bruno@clisp.org>
2950
2951         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
2952         augmentation.
2953
2954 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
2955
2956         Add a configure time option: --disable-acl.
2957         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
2958         AC_ARG_ENABLE(acl).
2959
2960 2008-01-06  Simon Josefsson  <simon@josefsson.org>
2961
2962         * tests/test-localename.c: Don't include obsolete "setenv.h".
2963
2964         * modules/localename-tests (Depends-on): Need unsetenv.
2965
2966 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2967
2968         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
2969
2970 2008-01-06  Colin Watson  <cjwatson@debian.org>
2971
2972         * users.txt: Add man-db.
2973
2974 2008-01-07  Bruno Haible  <bruno@clisp.org>
2975
2976         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
2977         previous section name.
2978
2979 2008-01-07  Bruno Haible  <bruno@clisp.org>
2980
2981         * lib/progname.c (set_program_name): Don't strip off a leading
2982         "lt-" prefix outside a .libs directory.
2983         Suggested by Paul Eggert.
2984
2985 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
2986             Bruno Haible  <bruno@clisp.org>
2987
2988         Improve memory cleanup in 'relocatable' module.
2989         * lib/relocatable.h (compute_curr_prefix): Change return type to
2990         'char *'.
2991         * lib/relocatable.c (compute_curr_prefix): Change return type to
2992         'char *'. Free curr_installdir after use.
2993         (relocate): Free curr_prefix_better after use.
2994         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
2995
2996 2008-01-01  Bruno Haible  <bruno@clisp.org>
2997
2998         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
2999         failure on older glibc systems.
3000         Reported by Peter Fales <psfales@alcatel-lucent.com>.
3001
3002 2008-01-05  Eric Blake  <ebb9@byu.net>
3003
3004         Avoid quadratic system memmem.
3005         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
3006         Reported by Ralf Wildenhues.
3007
3008         Fix memmem test for mingw.
3009         * modules/memmem-tests (configure.ac): Check for alarm.
3010         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
3011         it.
3012         * doc/functions/memmem.texi: New file.
3013         * doc/gnulib.texi (Function Substitutes): Add memmem.
3014         Reported by Bruno Haible.
3015
3016 2008-01-04  Bruno Haible  <bruno@clisp.org>
3017
3018         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
3019         Require gl_HEADER_STRINGS_H_DEFAULTS, not
3020         gl_HEADER_STRING_H_DEFAULTS.
3021
3022 2008-01-04  Eric Blake  <ebb9@byu.net>
3023
3024         Shorten duration of memmem test.
3025         * tests/test-memmem.c (main): Use alarm to declare failure if test
3026         is taking too long.
3027         Reported by Ralf Wildenhues.
3028
3029 2007-12-21  Simon Josefsson  <simon@josefsson.org>
3030
3031         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
3032         string, needed by strerror.
3033
3034 2008-01-03  Colin Watson  <cjwatson@debian.org>
3035             Bruno Haible  <bruno@clisp.org>
3036
3037         * doc/gnulib-tool.texi (Localization): New section.
3038
3039 2008-01-02  Bruno Haible  <bruno@clisp.org>
3040
3041         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
3042         variables to 'unsigned char *' type.
3043         Reported by Paul Eggert.
3044
3045 2008-01-02  Jim Meyering  <jim@meyering.net>
3046
3047         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
3048
3049 2007-12-31  Jim Meyering  <jim@meyering.net>
3050
3051         Avoid use of private FTS type name.
3052         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
3053
3054 2007-12-30  Karl Berry  <karl@gnu.org>
3055
3056         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
3057         work around defect in Texinfo and/or the standalone Info browser.
3058
3059 2007-12-30  Bruno Haible  <bruno@clisp.org>
3060
3061         Unify 5 copies of the KMP code.
3062         * lib/str-kmp.h: New file.
3063         * lib/c-strcasestr.c: Include str-kmp.h.
3064         (knuth_morris_pratt): Remove function.
3065         (c_strcasestr): Update.
3066         * lib/c-strstr.c: Include str-kmp.h.
3067         (knuth_morris_pratt): Remove function.
3068         (c_strcasestr): Update.
3069         * lib/mbscasestr.c: Include str-kmp.h.
3070         (knuth_morris_pratt_unibyte): Remove function.
3071         * lib/mbsstr.c: Include str-kmp.h.
3072         (knuth_morris_pratt_unibyte): Remove function.
3073         * lib/strcasestr.c: Include str-kmp.h.
3074         (knuth_morris_pratt): Remove function.
3075         (strcasestr): Update.
3076         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
3077         * modules/c-strstr (Files): Likewise.
3078         * modules/mbscasestr (Files): Likewise.
3079         * modules/mbsstr (Files): Likewise.
3080         * modules/strcasestr (Files): Likewise.
3081         Suggested by Paul Eggert.
3082
3083 2007-12-30  Bruno Haible  <bruno@clisp.org>
3084
3085         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
3086         defined.
3087
3088 2007-12-30  Bruno Haible  <bruno@clisp.org>
3089
3090         * lib/xmalloca.h: Include xalloc.h.
3091         (xnmalloca): New macro.
3092
3093 2007-12-30  Bruno Haible  <bruno@clisp.org>
3094
3095         * lib/malloca.h (nmalloca): New macro.
3096         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
3097         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
3098         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
3099         knuth_morris_pratt_multibyte): Likewise.
3100         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
3101         knuth_morris_pratt_multibyte): Likewise.
3102         * lib/memmem.c (knuth_morris_pratt): Likewise.
3103         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
3104
3105 2007-12-25  Bruno Haible  <bruno@clisp.org>
3106
3107         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
3108         * lib/glob.c: Don't include openat.h.
3109         (link_exists2_p): Add back the code that deals with the
3110         !GLOB_ALTDIRFUNC case.
3111         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
3112         let it do the filename concatenation.
3113         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
3114         * modules/glob (Depends-on): Remove openat.
3115
3116 2007-12-31  Bruno Haible  <bruno@clisp.org>
3117
3118         * modules/dirfd (License): Change to LGPLv2+.
3119         Approved by Jim Meyering.
3120
3121 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3122
3123         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
3124         when multiplying M by sizeof (size_t).
3125
3126 2007-12-10  Martin Lambers  <marlam@marlam.de>
3127
3128         Override getpagesize on mingw.
3129         * lib/getpagesize.c: New file.
3130         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
3131         * modules/getpagesize (Files): Add lib/getpagesize.c.
3132         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
3133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3134         REPLACE_GETPAGESIZE.
3135         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
3136
3137 2007-12-25  Bruno Haible  <bruno@clisp.org>
3138
3139         * modules/localcharset (Notice): New field.
3140         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
3141         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
3142
3143 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3144             Bruno Haible  <bruno@clisp.org>
3145
3146         Avoid using the syntax symbol() in formatted documentation.
3147         * MODULES.html.sh (func_module): When replacing symbol() with a
3148         hyperlink, remove the parentheses. Show an error if some remain.
3149         Recognize and render the '...' syntax.
3150         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
3151         Rework. Add paragraph about GCC's inlining.
3152         * doc/alloca.texi: Likewise.
3153         * doc/error.texi: Remove parentheses from symbol reference.
3154         * doc/gnulib-intro.texi: Likewise.
3155         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
3156         * modules/fnmatch (Description): Reword to say "the ... function".
3157         * modules/full-read (Description): Likewise.
3158         * modules/full-write (Description): Likewise.
3159         * modules/safe-read (Description): Likewise.
3160         * modules/safe-write (Description): Likewise.
3161         * modules/strchrnul (Description): Likewise.
3162         * modules/trim (Description): Likewise.
3163         * modules/error (Description): Remove parentheses from symbol
3164         references.
3165         * modules/verror (Description): Likewise.
3166         Reported by Karl Berry.
3167
3168 2007-12-25  Bruno Haible  <bruno@clisp.org>
3169
3170         Fixup after 2007-10-16 commit.
3171         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
3172
3173 2007-12-24  Bruno Haible  <bruno@clisp.org>
3174
3175         Make --enable-relocatable work with DESTDIR.
3176         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
3177         to compute installdir from destprog.
3178         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
3179         also set the RELOC_DESTDIR variable.
3180         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
3181
3182 2007-12-24  Bruno Haible  <bruno@clisp.org>
3183
3184         Fix link error due to xalloc_die().
3185         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
3186         of xreadlink.
3187         * lib/relocwrapper.c: Update comments.
3188         * build-aux/install-reloc: Remove xreadlink.c from file list.
3189         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
3190         xreadlink.c.
3191         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
3192
3193 2007-12-24  Bruno Haible  <bruno@clisp.org>
3194
3195         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
3196         * lib/setenv.h: Remove file.
3197         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
3198         lib/setenv.h.
3199         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
3200         (Depends-on): Add stdlib.
3201         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
3202         gl_FUNC_UNSETENV.
3203         (Include): Replace setenv.h with <stdlib.h>.
3204         * modules/unsetenv: New file.
3205         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
3206         * lib/unsetenv.c: Include <stdlib.h> first.
3207         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
3208         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
3209         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
3210         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
3211         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
3212         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
3213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
3214         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
3215         * doc/functions/unsetenv.texi: Update.
3216         * modules/xsetenv (Depends-on): Add unsetenv.
3217         * modules/getdate (Depends-on): Likewise.
3218         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
3219         * lib/xsetenv.c: Don't include setenv.h.
3220         * lib/getdate.y: Likewise.
3221         * lib/relocwrapper.c: Likewise.
3222         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
3223         (Depends-on): Add stdlib.
3224         * NEWS: Mention the changes.
3225         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
3226
3227 2007-12-23  Bruno Haible  <bruno@clisp.org>
3228
3229         * lib/memmem.c (memmem): Use lowercase variable names. Tab
3230         indentation.
3231
3232 2007-12-23  Bruno Haible  <bruno@clisp.org>
3233
3234         * lib/c-strcasestr.c: Add more comments.
3235         * lib/c-strstr.c: Likewise.
3236         * lib/mbscasestr.c: Likewise.
3237         * lib/mbsstr.c: Likewise.
3238         * lib/strcasestr.c: Likewise.
3239         * lib/memmem.c: Likewise.
3240
3241 2007-12-23  Bruno Haible  <bruno@clisp.org>
3242
3243         * tests/test-memmem.c: Include <string.h> first.
3244
3245 2007-12-22  Bruno Haible  <bruno@clisp.org>
3246
3247         * gnulib-tool (func_create_testdir): Change $auxdir while generating
3248         the contents of $testsbase.
3249         Reported by Ralf Wildenhues.
3250
3251 2007-12-22  Bruno Haible  <bruno@clisp.org>
3252
3253         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
3254         two variables local_ldadd_before, local_ldadd_last.
3255
3256 2007-12-20  Eric Blake  <ebb9@byu.net>
3257
3258         Work around circular library issue when cross-compiling.
3259         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
3260         that progname.o does not need to pull in rpl_memcmp.
3261
3262 2007-12-19  Eric Blake  <ebb9@byu.net>
3263
3264         Fix memmem to avoid O(n^2) worst-case complexity.
3265         * lib/memmem.c (knuth_morris_pratt): New function.
3266         (memmem): Use it if first few naive iterations fail.
3267         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
3268         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
3269         * modules/memchr (License): Likewise.
3270         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
3271         malloca.
3272         * tests/test-memmem.c: Rewrite, borrowing ideas from
3273         test-mbsstr1.c; the old version wouldn't even compile!
3274         * modules/memmem-tests: New file.
3275         * lib/string.in.h (rpl_memmem): Add declaration.
3276         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
3277         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
3278         REPLACE_MEMMEM.
3279
3280 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3281
3282         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
3283         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
3284         before any system include files, and undef after them all.  This
3285         should fix a problem on VMS reported by John E. Malmberg in
3286         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
3287
3288 2007-12-17  Eric Blake  <ebb9@byu.net>
3289
3290         Revert addition of verify, for BSD/OS.
3291         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
3292         can't handle large files, for the sake of obsolete platforms.
3293         * modules/fseeko (Depends-on): Remove verify.
3294         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
3295         * doc/functions/ftello.texi (ftello): Likewise.
3296         * doc/functions/fgetpos.texi (fgetpos): Likewise.
3297         Reported by Larry Jones.
3298
3299 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
3300
3301         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
3302         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
3303
3304 2007-12-17  Jim Meyering  <meyering@redhat.com>
3305
3306         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
3307         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
3308         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
3309         * modules/getcwd (Depends-on): Add openat.
3310         Reported by Petr Salinger.
3311
3312 2007-12-17  Bruno Haible  <bruno@clisp.org>
3313
3314         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
3315         avoid a segmentation fault of the configure test on x86_64 systems.
3316
3317 2007-12-15  Jim Meyering  <meyering@redhat.com>
3318
3319         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
3320
3321 2007-12-13  Eric Blake  <ebb9@byu.net>
3322
3323         Another fseek test.
3324         * tests/test-fseek.c (main): Also test ungetc handling.
3325         * tests/test-fseeko.c (main): Likewise.
3326         * modules/fseeko (Depends-on): Add verify.
3327         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
3328         large.
3329         Reported by Larry Jones.
3330
3331         Fix fseeko on mingw.
3332         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
3333         seek.
3334
3335         Beef up fseek tests.
3336         * tests/test-fseek.c (main): Also test eof handling.
3337         * tests/test-fseeko.c (main): Likewise.
3338         Reported by Larry Jones.
3339
3340 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
3341
3342         Fix fseeko on BSD-based platforms.
3343         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
3344         successful seek.
3345
3346 2007-12-12  Eric Blake  <ebb9@byu.net>
3347
3348         Allow circular dependency of separate libtests.a
3349         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
3350         when use_libtests.
3351
3352 2007-12-11  Eric Blake  <ebb9@byu.net>
3353
3354         Fix bug with -0.0L in previous patch.
3355         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
3356         * tests/test-isnan.c (main): Also test on zeroes.
3357         * tests/test-isnanf.c (main): Likewise.
3358         * tests/test-isnanl.h (main): Likewise.
3359
3360         Detect pseudo-denormals on x86 even when cross-compiling.
3361         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
3362         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
3363         invalid bit patterns that happen to satisfy ==.
3364
3365         Avoid link failures with separate libtests.a.
3366         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
3367         last, to satisfy circular dependencies.
3368
3369 2007-12-11  Eric Blake  <ebb9@byu.net>
3370         and Bruno Haible  <bruno@clisp.org>
3371
3372         Fix OpenBSD 4.0 <float.h> handling of long double.
3373         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
3374         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
3375         * doc/headers/float.texi (float.h): Document OpenBSD bug.
3376
3377 2007-12-11  Jim Meyering  <meyering@redhat.com>
3378
3379         * users.txt: Add libvirt.
3380
3381         Support versions of autoconf prior to 2.59c.
3382         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
3383         if it is not already defined.
3384
3385 2007-12-09  Bruno Haible  <bruno@clisp.org>
3386
3387         Let 'gnulib-tool --import' collect sources needed for the tests in
3388         tests/ rather than in lib/.
3389         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
3390         argument. If true, add rules to generate libtests.a, and put libtests.a
3391         into $(LDADD). Consider source files in subdirectories and set
3392         uses_subdirs.
3393         (func_emit_initmacro_start, func_emit_initmacro_end,
3394         func_emit_initmacro_done): Pass all arguments explicitly.
3395         (func_import): Determine two module lists main_modules,
3396         testsrelated_modules. Determine use_libtests. Determine two variables
3397         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
3398         instead of just sed_transform_lib_file. Determine two variables
3399         main_files and testsrelated_files. Compute 'files' as the union of
3400         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
3401         func_add_or_update. In the generated gnulib-comp.m4, collect the
3402         object files for tests/ in different variables than those for lib/.
3403         Substitute LIBTESTS_LIBDEPS.
3404         (func_create_testdir): Combine the uses_subdirs results from
3405         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
3406
3407 2007-12-09  Bruno Haible  <bruno@clisp.org>
3408
3409         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
3410         the build-aux directory.
3411
3412 2007-12-09  Bruno Haible  <bruno@clisp.org>
3413
3414         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
3415         introduced on 2006-09-09.
3416
3417 2007-12-07  Jim Meyering  <meyering@redhat.com>
3418
3419         Let these macros work also with autoconf-2.59.
3420         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
3421         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
3422         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
3423
3424 2007-12-06  Jim Meyering  <meyering@redhat.com>
3425
3426         Avoid a configure-time syntax error in gl_FUNC_ACL.
3427         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
3428         function in each branch, before testing the cache variable.
3429
3430 2007-12-04  Eric Blake  <ebb9@byu.net>
3431
3432         Make scripts executable.
3433         * build-aux/config.guess: Add execute permissions.
3434         * build-aux/config.sub: Likewise.
3435         * build-aux/gendocs.sh: Likewise.
3436
3437         Fix frexp on mingw.
3438         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
3439         cross-compiling.
3440         * doc/functions/frexp.texi (frexp): Document the bug.
3441
3442         Make cygwin fseeko check more reliable.
3443         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
3444         version numbers, rather than unrelated feature check.
3445         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
3446         * doc/functions/ftello.texi (ftello): Likewise.
3447         Reported by Bruno Haible.
3448
3449         * m4/strerror.m4: Bump version number.
3450
3451 2007-12-03  Bruno Haible  <bruno@clisp.org>
3452
3453         * doc/functions/mprotect.texi: Mention the mingw problem.
3454
3455 2007-12-03  Eric Blake  <ebb9@byu.net>
3456
3457         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
3458         REPLACE_STRERROR is initialized before this macro.
3459
3460 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3461
3462         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
3463         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
3464         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
3465         put -lsec in even for programs other than 'ls'.  This fixes a problem
3466         for gettext reported by Bruno Haible in
3467         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
3468         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
3469         Add support for Solaris 10.  This isn't efficient, but should get the
3470         job done for now.
3471
3472 2007-12-03  James Youngman  <jay@gnu.org>
3473
3474         * doc/regexprops-generic.texi: change "an close-group" to "a
3475         close-group" and "illegal" to "not allowed".
3476
3477 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3478
3479         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
3480         pr_byname.h. Needed for the rare case when the maintainer has done
3481         "make maintainer-clean" in the source directory and then attempts a
3482         build outside the source directory.
3483         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
3484         scripts_byname.h.
3485
3486 2007-12-02  Martin Lambers <marlam@marlam.de>
3487             Bruno Haible  <bruno@clisp.org>
3488
3489         * lib/getpagesize.h: Remove file.
3490         * lib/unistd.in.h: Include declaration of getpagesize here.
3491         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
3492         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
3493         HAVE_SYS_PARAM_H.
3494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
3495         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
3496         * modules/getpagesize (Files): Remove lib/getpagesize.h.
3497         (Depends-on): Add unistd.
3498         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
3499         (Include): Use <unistd.h> instead of getpagesize.h.
3500         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
3501         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
3502         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
3503         gl_GETPAGESIZE invocation, already handled by module dependency.
3504         * lib/pagealign_alloc.c: Don't include getpagesize.h.
3505
3506 2007-12-02  Bruno Haible  <bruno@clisp.org>
3507
3508         * modules/strings-tests: New file.
3509         * tests/test-strings.c: New file.
3510
3511         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
3512         * lib/strings.in.h: New file.
3513         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
3514         * m4/strings_h.m4: New file.
3515         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
3516         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
3517         * modules/strings: New file.
3518         * modules/string (Makefile.am): Update.
3519         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
3520         Reported by Karl Berry.
3521
3522 2007-12-01  Eric Blake  <ebb9@byu.net>
3523
3524         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
3525         accomodate fix in cygwin 1.5.25.
3526
3527 2007-12-01  Jim Meyering  <meyering@redhat.com>
3528
3529         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
3530         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
3531         that would inhibit utf8-optimization of a regexp containing line-
3532         or buffer-anchors, e.g., `^', `$'.
3533
3534 2007-11-30  Bruno Haible  <bruno@clisp.org>
3535
3536         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
3537         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
3538         glthread_recursive_lock_init.
3539         * lib/lock.c (glthread_recursive_lock_init)
3540         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
3541         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
3542
3543 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3544
3545         New function qset_acl, like set_acl but with syscall semantics.
3546         * lib/acl.h (qset_acl): New decl.
3547         * lib/acl.c (qset_acl): New function.
3548         (set_acl): Use new function.  Use more-consistent diagnostics.
3549
3550 2007-11-28  Jim Meyering  <meyering@redhat.com>
3551
3552         * modules/physmem (License): Change from GPL to LGPLv2+.
3553
3554 2007-11-26  Bruno Haible  <bruno@clisp.org>
3555
3556         * lib/vasnprintf.c (decode_long_double): Don't abort if the
3557         'long double' type has excess precision.
3558         Reported by Jim Meyering in
3559         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
3560
3561 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3562
3563         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
3564         Sync from <http://gnu.org/licenses>.
3565         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
3566         with license text from same location.
3567         * doc/maintain.texi, doc/standards.texi:  Sync from
3568         <http://savannah.gnu.org/projects/gnustandards>.
3569
3570 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
3571         and Jim Meyering  <meyering@redhat.com>
3572
3573         Adjust getdate' grammar to accept a slightly more regular language.
3574         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
3575         Before, the former was rejected.
3576         * lib/getdate.y (digits_to_date_time): New function, factored
3577         out of ...
3578         (number): ...here.  Just call digits_to_date_time.
3579         (hybrid): New non-terminal to handle an <unsigned number,
3580         signed relative offset> sequence consistently.
3581
3582 2007-11-18  Jim Meyering  <meyering@redhat.com>
3583
3584         Pull my changes from coreutils:
3585         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
3586         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
3587         use of $gnulib_tool_option_extras, so that it's separated from the
3588         preceding argument.
3589
3590         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
3591         * build-aux/bootstrap (cp_mark_as_generated): Create any required
3592         parent destination directories before copying a file into place.
3593
3594 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
3595
3596         bootstrap: work also with 4-argument variant of AC_INIT
3597         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
3598
3599 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3600
3601         Port test-getaddrinfo to Solaris.
3602         Problem reported by Bruno Haible in
3603         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
3604         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
3605         explanation of setting 'hints'.
3606         Don't reject an implementation merely because it returns EAI_SERVICE.
3607         (EAI_SERVICE): Define to 0 if not defined.
3608
3609 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3610
3611         The license of gnu-make and posix-shell is now "GPLed build tool".
3612         * modules/gnu-make (License): Likewise.
3613         * modules/posix-shell (License): Likewise.
3614
3615         New module posix-shell, for determining a POSIX shell
3616         or perhaps something that is close enough to a POSIX shell.
3617         * m4/posix-shell.m4: New file.
3618         * modules/posix-shell: New file.
3619
3620         * MODULES.html.sh: Mention new module.
3621
3622         New module gnu-make, for determining whether we're using GNU Make.
3623         * m4/gnu-make.m4: New file.
3624         * modules/gnu-make: New file.
3625         * MODULES.html.sh: Mention new module.
3626
3627 2007-11-14  Jim Meyering  <meyering@redhat.com>
3628
3629         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
3630         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
3631         use this macro to create a function _definition_.
3632         Remove useless "#undef ARGMATCH_DIE".
3633
3634 2007-11-14  Bruno Haible  <bruno@clisp.org>
3635
3636         * lib/config.charset: Update for OpenBSD 4.1.
3637         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
3638
3639 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
3640
3641         Document 64-bit #if problems in stdint.texi.
3642         * doc/headers/stdint.texi (stdint.h): Mention problems with
3643         64-bit-#if, and how to work around them.
3644
3645         Don't insist on 'long long int' support in the preprocessor.  It
3646         breaks too many things.  For example, PRIdMAX still uses a 'long
3647         long int' format with the latest Sun compiler, even though
3648         HAVE_LONG_LONG_INT isn't defined due to that compiler's
3649         preprocessor problem.  This causes the latest coreutils to dump
3650         core on Solaris 10 sparc with the Sun C compiler.
3651         Instead, fix the 2007-10-16 problem in a different way, by evaluating
3652         the troublesome expressions at configure-time, not at #if-time.
3653         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
3654         preprocessor.
3655         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
3656         compile-time C checks, done at 'configure'-time.
3657         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
3658         * modules/inttypes (Makefile): Substitute the new symbols that
3659         gl_INTTYPES_H now generates.
3660         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
3661
3662 2007-11-12  Bruno Haible  <bruno@clisp.org>
3663
3664         Tests for Unicode character classification functions.
3665
3666         * modules/unictype/bidicategory-byname-tests: New file.
3667         * modules/unictype/bidicategory-name-tests: New file.
3668         * modules/unictype/bidicategory-of-tests: New file.
3669         * modules/unictype/bidicategory-test-tests: New file.
3670         * modules/unictype/block-list-tests: New file.
3671         * modules/unictype/block-of-tests: New file.
3672         * modules/unictype/block-test-tests: New file.
3673         * modules/unictype/category-C-tests: New file.
3674         * modules/unictype/category-Cc-tests: New file.
3675         * modules/unictype/category-Cf-tests: New file.
3676         * modules/unictype/category-Cn-tests: New file.
3677         * modules/unictype/category-Co-tests: New file.
3678         * modules/unictype/category-Cs-tests: New file.
3679         * modules/unictype/category-L-tests: New file.
3680         * modules/unictype/category-Ll-tests: New file.
3681         * modules/unictype/category-Lm-tests: New file.
3682         * modules/unictype/category-Lo-tests: New file.
3683         * modules/unictype/category-Lt-tests: New file.
3684         * modules/unictype/category-Lu-tests: New file.
3685         * modules/unictype/category-M-tests: New file.
3686         * modules/unictype/category-Mc-tests: New file.
3687         * modules/unictype/category-Me-tests: New file.
3688         * modules/unictype/category-Mn-tests: New file.
3689         * modules/unictype/category-N-tests: New file.
3690         * modules/unictype/category-Nd-tests: New file.
3691         * modules/unictype/category-Nl-tests: New file.
3692         * modules/unictype/category-No-tests: New file.
3693         * modules/unictype/category-P-tests: New file.
3694         * modules/unictype/category-Pc-tests: New file.
3695         * modules/unictype/category-Pd-tests: New file.
3696         * modules/unictype/category-Pe-tests: New file.
3697         * modules/unictype/category-Pf-tests: New file.
3698         * modules/unictype/category-Pi-tests: New file.
3699         * modules/unictype/category-Po-tests: New file.
3700         * modules/unictype/category-Ps-tests: New file.
3701         * modules/unictype/category-S-tests: New file.
3702         * modules/unictype/category-Sc-tests: New file.
3703         * modules/unictype/category-Sk-tests: New file.
3704         * modules/unictype/category-Sm-tests: New file.
3705         * modules/unictype/category-So-tests: New file.
3706         * modules/unictype/category-Z-tests: New file.
3707         * modules/unictype/category-Zl-tests: New file.
3708         * modules/unictype/category-Zp-tests: New file.
3709         * modules/unictype/category-Zs-tests: New file.
3710         * modules/unictype/category-and-not-tests: New file.
3711         * modules/unictype/category-and-tests: New file.
3712         * modules/unictype/category-byname-tests: New file.
3713         * modules/unictype/category-name-tests: New file.
3714         * modules/unictype/category-none-tests: New file.
3715         * modules/unictype/category-of-tests: New file.
3716         * modules/unictype/category-or-tests: New file.
3717         * modules/unictype/category-test-withtable-tests: New file.
3718         * modules/unictype/combining-class-tests: New file.
3719         * modules/unictype/ctype-alnum-tests: New file.
3720         * modules/unictype/ctype-alpha-tests: New file.
3721         * modules/unictype/ctype-blank-tests: New file.
3722         * modules/unictype/ctype-cntrl-tests: New file.
3723         * modules/unictype/ctype-digit-tests: New file.
3724         * modules/unictype/ctype-graph-tests: New file.
3725         * modules/unictype/ctype-lower-tests: New file.
3726         * modules/unictype/ctype-print-tests: New file.
3727         * modules/unictype/ctype-punct-tests: New file.
3728         * modules/unictype/ctype-space-tests: New file.
3729         * modules/unictype/ctype-upper-tests: New file.
3730         * modules/unictype/ctype-xdigit-tests: New file.
3731         * modules/unictype/decimal-digit-tests: New file.
3732         * modules/unictype/digit-tests: New file.
3733         * modules/unictype/mirror-tests: New file.
3734         * modules/unictype/numeric-tests: New file.
3735         * modules/unictype/property-alphabetic-tests: New file.
3736         * modules/unictype/property-ascii-hex-digit-tests: New file.
3737         * modules/unictype/property-bidi-arabic-digit-tests: New file.
3738         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
3739         * modules/unictype/property-bidi-block-separator-tests: New file.
3740         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
3741         * modules/unictype/property-bidi-common-separator-tests: New file.
3742         * modules/unictype/property-bidi-control-tests: New file.
3743         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
3744         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
3745         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
3746         * modules/unictype/property-bidi-european-digit-tests: New file.
3747         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
3748         * modules/unictype/property-bidi-left-to-right-tests: New file.
3749         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
3750         * modules/unictype/property-bidi-other-neutral-tests: New file.
3751         * modules/unictype/property-bidi-pdf-tests: New file.
3752         * modules/unictype/property-bidi-segment-separator-tests: New file.
3753         * modules/unictype/property-bidi-whitespace-tests: New file.
3754         * modules/unictype/property-byname-tests: New file.
3755         * modules/unictype/property-combining-tests: New file.
3756         * modules/unictype/property-composite-tests: New file.
3757         * modules/unictype/property-currency-symbol-tests: New file.
3758         * modules/unictype/property-dash-tests: New file.
3759         * modules/unictype/property-decimal-digit-tests: New file.
3760         * modules/unictype/property-default-ignorable-code-point-tests: New file.
3761         * modules/unictype/property-deprecated-tests: New file.
3762         * modules/unictype/property-diacritic-tests: New file.
3763         * modules/unictype/property-extender-tests: New file.
3764         * modules/unictype/property-format-control-tests: New file.
3765         * modules/unictype/property-grapheme-base-tests: New file.
3766         * modules/unictype/property-grapheme-extend-tests: New file.
3767         * modules/unictype/property-grapheme-link-tests: New file.
3768         * modules/unictype/property-hex-digit-tests: New file.
3769         * modules/unictype/property-hyphen-tests: New file.
3770         * modules/unictype/property-id-continue-tests: New file.
3771         * modules/unictype/property-id-start-tests: New file.
3772         * modules/unictype/property-ideographic-tests: New file.
3773         * modules/unictype/property-ids-binary-operator-tests: New file.
3774         * modules/unictype/property-ids-trinary-operator-tests: New file.
3775         * modules/unictype/property-ignorable-control-tests: New file.
3776         * modules/unictype/property-iso-control-tests: New file.
3777         * modules/unictype/property-join-control-tests: New file.
3778         * modules/unictype/property-left-of-pair-tests: New file.
3779         * modules/unictype/property-line-separator-tests: New file.
3780         * modules/unictype/property-logical-order-exception-tests: New file.
3781         * modules/unictype/property-lowercase-tests: New file.
3782         * modules/unictype/property-math-tests: New file.
3783         * modules/unictype/property-non-break-tests: New file.
3784         * modules/unictype/property-not-a-character-tests: New file.
3785         * modules/unictype/property-numeric-tests: New file.
3786         * modules/unictype/property-other-alphabetic-tests: New file.
3787         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
3788         * modules/unictype/property-other-grapheme-extend-tests: New file.
3789         * modules/unictype/property-other-id-continue-tests: New file.
3790         * modules/unictype/property-other-id-start-tests: New file.
3791         * modules/unictype/property-other-lowercase-tests: New file.
3792         * modules/unictype/property-other-math-tests: New file.
3793         * modules/unictype/property-other-uppercase-tests: New file.
3794         * modules/unictype/property-paired-punctuation-tests: New file.
3795         * modules/unictype/property-paragraph-separator-tests: New file.
3796         * modules/unictype/property-pattern-syntax-tests: New file.
3797         * modules/unictype/property-pattern-white-space-tests: New file.
3798         * modules/unictype/property-private-use-tests: New file.
3799         * modules/unictype/property-punctuation-tests: New file.
3800         * modules/unictype/property-quotation-mark-tests: New file.
3801         * modules/unictype/property-radical-tests: New file.
3802         * modules/unictype/property-sentence-terminal-tests: New file.
3803         * modules/unictype/property-soft-dotted-tests: New file.
3804         * modules/unictype/property-space-tests: New file.
3805         * modules/unictype/property-terminal-punctuation-tests: New file.
3806         * modules/unictype/property-test-tests: New file.
3807         * modules/unictype/property-titlecase-tests: New file.
3808         * modules/unictype/property-unassigned-code-value-tests: New file.
3809         * modules/unictype/property-unified-ideograph-tests: New file.
3810         * modules/unictype/property-uppercase-tests: New file.
3811         * modules/unictype/property-variation-selector-tests: New file.
3812         * modules/unictype/property-white-space-tests: New file.
3813         * modules/unictype/property-xid-continue-tests: New file.
3814         * modules/unictype/property-xid-start-tests: New file.
3815         * modules/unictype/property-zero-width-tests: New file.
3816         * modules/unictype/scripts-tests: New file.
3817         * modules/unictype/syntax-c-ident-tests: New file.
3818         * modules/unictype/syntax-c-whitespace-tests: New file.
3819         * modules/unictype/syntax-java-ident-tests: New file.
3820         * modules/unictype/syntax-java-whitespace-tests: New file.
3821         * tests/unictype/test-bidi_byname.c: New file.
3822         * tests/unictype/test-bidi_name.c: New file.
3823         * tests/unictype/test-bidi_of.c: New file.
3824         * tests/unictype/test-bidi_test.c: New file.
3825         * tests/unictype/test-block_list.c: New file.
3826         * tests/unictype/test-block_of.c: New file.
3827         * tests/unictype/test-block_test.c: New file.
3828         * tests/unictype/test-categ_and.c: New file.
3829         * tests/unictype/test-categ_and_not.c: New file.
3830         * tests/unictype/test-categ_byname.c: New file.
3831         * tests/unictype/test-categ_name.c: New file.
3832         * tests/unictype/test-categ_none.c: New file.
3833         * tests/unictype/test-categ_of.c: New file.
3834         * tests/unictype/test-categ_or.c: New file.
3835         * tests/unictype/test-categ_test_withtable.c: New file.
3836         * tests/unictype/test-combining.c: New file.
3837         * tests/unictype/test-decdigit.c: New file.
3838         * tests/unictype/test-digit.c: New file.
3839         * tests/unictype/test-mirror.c: New file.
3840         * tests/unictype/test-numeric.c: New file.
3841         * tests/unictype/test-pr_byname.c: New file.
3842         * tests/unictype/test-pr_test.c: New file.
3843         * tests/unictype/test-predicate-part1.h: New file.
3844         * tests/unictype/test-predicate-part2.h: New file.
3845         * tests/unictype/test-scripts.c: New file.
3846         * tests/unictype/test-sy_c_ident.c: New file.
3847         * tests/unictype/test-sy_java_ident.c: New file.
3848
3849         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
3850         for Unicode 5.0.0.
3851         * tests/unictype/test-categ_Cc.c: Likewise.
3852         * tests/unictype/test-categ_Cf.c: Likewise.
3853         * tests/unictype/test-categ_Cn.c: Likewise.
3854         * tests/unictype/test-categ_Co.c: Likewise.
3855         * tests/unictype/test-categ_Cs.c: Likewise.
3856         * tests/unictype/test-categ_L.c: Likewise.
3857         * tests/unictype/test-categ_Ll.c: Likewise.
3858         * tests/unictype/test-categ_Lm.c: Likewise.
3859         * tests/unictype/test-categ_Lo.c: Likewise.
3860         * tests/unictype/test-categ_Lt.c: Likewise.
3861         * tests/unictype/test-categ_Lu.c: Likewise.
3862         * tests/unictype/test-categ_M.c: Likewise.
3863         * tests/unictype/test-categ_Mc.c: Likewise.
3864         * tests/unictype/test-categ_Me.c: Likewise.
3865         * tests/unictype/test-categ_Mn.c: Likewise.
3866         * tests/unictype/test-categ_N.c: Likewise.
3867         * tests/unictype/test-categ_Nd.c: Likewise.
3868         * tests/unictype/test-categ_Nl.c: Likewise.
3869         * tests/unictype/test-categ_No.c: Likewise.
3870         * tests/unictype/test-categ_P.c: Likewise.
3871         * tests/unictype/test-categ_Pc.c: Likewise.
3872         * tests/unictype/test-categ_Pd.c: Likewise.
3873         * tests/unictype/test-categ_Pe.c: Likewise.
3874         * tests/unictype/test-categ_Pf.c: Likewise.
3875         * tests/unictype/test-categ_Pi.c: Likewise.
3876         * tests/unictype/test-categ_Po.c: Likewise.
3877         * tests/unictype/test-categ_Ps.c: Likewise.
3878         * tests/unictype/test-categ_S.c: Likewise.
3879         * tests/unictype/test-categ_Sc.c: Likewise.
3880         * tests/unictype/test-categ_Sk.c: Likewise.
3881         * tests/unictype/test-categ_Sm.c: Likewise.
3882         * tests/unictype/test-categ_So.c: Likewise.
3883         * tests/unictype/test-categ_Z.c: Likewise.
3884         * tests/unictype/test-categ_Zl.c: Likewise.
3885         * tests/unictype/test-categ_Zp.c: Likewise.
3886         * tests/unictype/test-categ_Zs.c: Likewise.
3887         * tests/unictype/test-ctype_alnum.c: Likewise.
3888         * tests/unictype/test-ctype_alpha.c: Likewise.
3889         * tests/unictype/test-ctype_blank.c: Likewise.
3890         * tests/unictype/test-ctype_cntrl.c: Likewise.
3891         * tests/unictype/test-ctype_digit.c: Likewise.
3892         * tests/unictype/test-ctype_graph.c: Likewise.
3893         * tests/unictype/test-ctype_lower.c: Likewise.
3894         * tests/unictype/test-ctype_print.c: Likewise.
3895         * tests/unictype/test-ctype_punct.c: Likewise.
3896         * tests/unictype/test-ctype_space.c: Likewise.
3897         * tests/unictype/test-ctype_upper.c: Likewise.
3898         * tests/unictype/test-ctype_xdigit.c: Likewise.
3899         * tests/unictype/test-decdigit.h: Likewise.
3900         * tests/unictype/test-digit.h: Likewise.
3901         * tests/unictype/test-numeric.h: Likewise.
3902         * tests/unictype/test-pr_alphabetic.c: Likewise.
3903         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
3904         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3905         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3906         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
3907         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3908         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
3909         * tests/unictype/test-pr_bidi_control.c: Likewise.
3910         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
3911         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
3912         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3913         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
3914         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3915         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3916         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3917         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3918         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
3919         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
3920         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
3921         * tests/unictype/test-pr_combining.c: Likewise.
3922         * tests/unictype/test-pr_composite.c: Likewise.
3923         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3924         * tests/unictype/test-pr_dash.c: Likewise.
3925         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3926         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
3927         * tests/unictype/test-pr_deprecated.c: Likewise.
3928         * tests/unictype/test-pr_diacritic.c: Likewise.
3929         * tests/unictype/test-pr_extender.c: Likewise.
3930         * tests/unictype/test-pr_format_control.c: Likewise.
3931         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3932         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3933         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3934         * tests/unictype/test-pr_hex_digit.c: Likewise.
3935         * tests/unictype/test-pr_hyphen.c: Likewise.
3936         * tests/unictype/test-pr_id_continue.c: Likewise.
3937         * tests/unictype/test-pr_id_start.c: Likewise.
3938         * tests/unictype/test-pr_ideographic.c: Likewise.
3939         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
3940         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
3941         * tests/unictype/test-pr_ignorable_control.c: Likewise.
3942         * tests/unictype/test-pr_iso_control.c: Likewise.
3943         * tests/unictype/test-pr_join_control.c: Likewise.
3944         * tests/unictype/test-pr_left_of_pair.c: Likewise.
3945         * tests/unictype/test-pr_line_separator.c: Likewise.
3946         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
3947         * tests/unictype/test-pr_lowercase.c: Likewise.
3948         * tests/unictype/test-pr_math.c: Likewise.
3949         * tests/unictype/test-pr_non_break.c: Likewise.
3950         * tests/unictype/test-pr_not_a_character.c: Likewise.
3951         * tests/unictype/test-pr_numeric.c: Likewise.
3952         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3953         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
3954         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
3955         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3956         * tests/unictype/test-pr_other_id_start.c: Likewise.
3957         * tests/unictype/test-pr_other_lowercase.c: Likewise.
3958         * tests/unictype/test-pr_other_math.c: Likewise.
3959         * tests/unictype/test-pr_other_uppercase.c: Likewise.
3960         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
3961         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
3962         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
3963         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
3964         * tests/unictype/test-pr_private_use.c: Likewise.
3965         * tests/unictype/test-pr_punctuation.c: Likewise.
3966         * tests/unictype/test-pr_quotation_mark.c: Likewise.
3967         * tests/unictype/test-pr_radical.c: Likewise.
3968         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3969         * tests/unictype/test-pr_soft_dotted.c: Likewise.
3970         * tests/unictype/test-pr_space.c: Likewise.
3971         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3972         * tests/unictype/test-pr_titlecase.c: Likewise.
3973         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3974         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3975         * tests/unictype/test-pr_uppercase.c: Likewise.
3976         * tests/unictype/test-pr_variation_selector.c: Likewise.
3977         * tests/unictype/test-pr_white_space.c: Likewise.
3978         * tests/unictype/test-pr_xid_continue.c: Likewise.
3979         * tests/unictype/test-pr_xid_start.c: Likewise.
3980         * tests/unictype/test-pr_zero_width.c: Likewise.
3981         * tests/unictype/test-sy_c_whitespace.c: Likewise.
3982         * tests/unictype/test-sy_java_whitespace.c: Likewise.
3983
3984 2007-11-12  Bruno Haible  <bruno@clisp.org>
3985
3986         Unicode character classification functions.
3987         * lib/unictype.h: New file.
3988         * modules/unictype/base: New file.
3989         * modules/unictype/category-L: New file.
3990         * modules/unictype/category-Lu: New file.
3991         * modules/unictype/category-Ll: New file.
3992         * modules/unictype/category-Lt: New file.
3993         * modules/unictype/category-Lm: New file.
3994         * modules/unictype/category-Lo: New file.
3995         * modules/unictype/category-M: New file.
3996         * modules/unictype/category-Mn: New file.
3997         * modules/unictype/category-Mc: New file.
3998         * modules/unictype/category-Me: New file.
3999         * modules/unictype/category-N: New file.
4000         * modules/unictype/category-Nd: New file.
4001         * modules/unictype/category-Nl: New file.
4002         * modules/unictype/category-No: New file.
4003         * modules/unictype/category-P: New file.
4004         * modules/unictype/category-Pc: New file.
4005         * modules/unictype/category-Pd: New file.
4006         * modules/unictype/category-Ps: New file.
4007         * modules/unictype/category-Pe: New file.
4008         * modules/unictype/category-Pi: New file.
4009         * modules/unictype/category-Pf: New file.
4010         * modules/unictype/category-Po: New file.
4011         * modules/unictype/category-S: New file.
4012         * modules/unictype/category-Sm: New file.
4013         * modules/unictype/category-Sc: New file.
4014         * modules/unictype/category-Sk: New file.
4015         * modules/unictype/category-So: New file.
4016         * modules/unictype/category-Z: New file.
4017         * modules/unictype/category-Zs: New file.
4018         * modules/unictype/category-Zl: New file.
4019         * modules/unictype/category-Zp: New file.
4020         * modules/unictype/category-C: New file.
4021         * modules/unictype/category-Cc: New file.
4022         * modules/unictype/category-Cf: New file.
4023         * modules/unictype/category-Cs: New file.
4024         * modules/unictype/category-Co: New file.
4025         * modules/unictype/category-Cn: New file.
4026         * modules/unictype/category-or: New file.
4027         * modules/unictype/category-of: New file.
4028         * modules/unictype/category-test: New file.
4029         * modules/unictype/category-test-withtable: New file.
4030         * modules/unictype/category-byname: New file.
4031         * modules/unictype/category-none: New file.
4032         * modules/unictype/category-and: New file.
4033         * modules/unictype/category-and-not: New file.
4034         * modules/unictype/category-name: New file.
4035         * modules/unictype/combining-class: New file.
4036         * modules/unictype/category-all: New file.
4037         * modules/unictype/bidicategory-all: New file.
4038         * modules/unictype/bidicategory-byname: New file.
4039         * modules/unictype/bidicategory-name: New file.
4040         * modules/unictype/bidicategory-of: New file.
4041         * modules/unictype/bidicategory-test: New file.
4042         * modules/unictype/decimal-digit: New file.
4043         * modules/unictype/digit: New file.
4044         * modules/unictype/numeric: New file.
4045         * modules/unictype/mirror: New file.
4046         * modules/unictype/property-white-space: New file.
4047         * modules/unictype/property-alphabetic: New file.
4048         * modules/unictype/property-other-alphabetic: New file.
4049         * modules/unictype/property-not-a-character: New file.
4050         * modules/unictype/property-default-ignorable-code-point: New file.
4051         * modules/unictype/property-other-default-ignorable-code-point: New
4052         file.
4053         * modules/unictype/property-deprecated: New file.
4054         * modules/unictype/property-logical-order-exception: New file.
4055         * modules/unictype/property-variation-selector: New file.
4056         * modules/unictype/property-private-use: New file.
4057         * modules/unictype/property-unassigned-code-value: New file.
4058         * modules/unictype/property-uppercase: New file.
4059         * modules/unictype/property-other-uppercase: New file.
4060         * modules/unictype/property-lowercase: New file.
4061         * modules/unictype/property-other-lowercase: New file.
4062         * modules/unictype/property-titlecase: New file.
4063         * modules/unictype/property-soft-dotted: New file.
4064         * modules/unictype/property-id-start: New file.
4065         * modules/unictype/property-other-id-start: New file.
4066         * modules/unictype/property-id-continue: New file.
4067         * modules/unictype/property-other-id-continue: New file.
4068         * modules/unictype/property-xid-start: New file.
4069         * modules/unictype/property-xid-continue: New file.
4070         * modules/unictype/property-pattern-white-space: New file.
4071         * modules/unictype/property-pattern-syntax: New file.
4072         * modules/unictype/property-join-control: New file.
4073         * modules/unictype/property-grapheme-base: New file.
4074         * modules/unictype/property-grapheme-extend: New file.
4075         * modules/unictype/property-other-grapheme-extend: New file.
4076         * modules/unictype/property-grapheme-link: New file.
4077         * modules/unictype/property-bidi-control: New file.
4078         * modules/unictype/property-bidi-left-to-right: New file.
4079         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
4080         * modules/unictype/property-bidi-arabic-right-to-left: New file.
4081         * modules/unictype/property-bidi-european-digit: New file.
4082         * modules/unictype/property-bidi-eur-num-separator: New file.
4083         * modules/unictype/property-bidi-eur-num-terminator: New file.
4084         * modules/unictype/property-bidi-arabic-digit: New file.
4085         * modules/unictype/property-bidi-common-separator: New file.
4086         * modules/unictype/property-bidi-block-separator: New file.
4087         * modules/unictype/property-bidi-segment-separator: New file.
4088         * modules/unictype/property-bidi-whitespace: New file.
4089         * modules/unictype/property-bidi-non-spacing-mark: New file.
4090         * modules/unictype/property-bidi-boundary-neutral: New file.
4091         * modules/unictype/property-bidi-pdf: New file.
4092         * modules/unictype/property-bidi-embedding-or-override: New file.
4093         * modules/unictype/property-bidi-other-neutral: New file.
4094         * modules/unictype/property-hex-digit: New file.
4095         * modules/unictype/property-ascii-hex-digit: New file.
4096         * modules/unictype/property-ideographic: New file.
4097         * modules/unictype/property-unified-ideograph: New file.
4098         * modules/unictype/property-radical: New file.
4099         * modules/unictype/property-ids-binary-operator: New file.
4100         * modules/unictype/property-ids-trinary-operator: New file.
4101         * modules/unictype/property-zero-width: New file.
4102         * modules/unictype/property-space: New file.
4103         * modules/unictype/property-non-break: New file.
4104         * modules/unictype/property-iso-control: New file.
4105         * modules/unictype/property-format-control: New file.
4106         * modules/unictype/property-dash: New file.
4107         * modules/unictype/property-hyphen: New file.
4108         * modules/unictype/property-punctuation: New file.
4109         * modules/unictype/property-line-separator: New file.
4110         * modules/unictype/property-paragraph-separator: New file.
4111         * modules/unictype/property-quotation-mark: New file.
4112         * modules/unictype/property-sentence-terminal: New file.
4113         * modules/unictype/property-terminal-punctuation: New file.
4114         * modules/unictype/property-currency-symbol: New file.
4115         * modules/unictype/property-math: New file.
4116         * modules/unictype/property-other-math: New file.
4117         * modules/unictype/property-paired-punctuation: New file.
4118         * modules/unictype/property-left-of-pair: New file.
4119         * modules/unictype/property-combining: New file.
4120         * modules/unictype/property-composite: New file.
4121         * modules/unictype/property-decimal-digit: New file.
4122         * modules/unictype/property-numeric: New file.
4123         * modules/unictype/property-diacritic: New file.
4124         * modules/unictype/property-extender: New file.
4125         * modules/unictype/property-ignorable-control: New file.
4126         * modules/unictype/property-test: New file.
4127         * modules/unictype/property-byname: New file.
4128         * modules/unictype/property-all: New file.
4129         * modules/unictype/scripts: New file.
4130         * modules/unictype/scripts-all: New file.
4131         * modules/unictype/block-of: New file.
4132         * modules/unictype/block-test: New file.
4133         * modules/unictype/block-list: New file.
4134         * modules/unictype/block-all: New file.
4135         * modules/unictype/syntax-c-whitespace: New file.
4136         * modules/unictype/syntax-java-whitespace: New file.
4137         * modules/unictype/syntax-c-ident: New file.
4138         * modules/unictype/syntax-java-ident: New file.
4139         * modules/unictype/ctype-alnum: New file.
4140         * modules/unictype/ctype-alpha: New file.
4141         * modules/unictype/ctype-cntrl: New file.
4142         * modules/unictype/ctype-digit: New file.
4143         * modules/unictype/ctype-graph: New file.
4144         * modules/unictype/ctype-lower: New file.
4145         * modules/unictype/ctype-print: New file.
4146         * modules/unictype/ctype-punct: New file.
4147         * modules/unictype/ctype-space: New file.
4148         * modules/unictype/ctype-upper: New file.
4149         * modules/unictype/ctype-xdigit: New file.
4150         * modules/unictype/ctype-blank: New file.
4151         * lib/unictype/bidi_byname.c: New file.
4152         * lib/unictype/bidi_name.c: New file.
4153         * lib/unictype/bidi_of.c: New file.
4154         * lib/unictype/bidi_test.c: New file.
4155         * lib/unictype/bitmap.h: New file.
4156         * lib/unictype/block_test.c: New file.
4157         * lib/unictype/blocks.c: New file.
4158         * lib/unictype/categ_C.c: New file.
4159         * lib/unictype/categ_Cc.c: New file.
4160         * lib/unictype/categ_Cf.c: New file.
4161         * lib/unictype/categ_Cn.c: New file.
4162         * lib/unictype/categ_Co.c: New file.
4163         * lib/unictype/categ_Cs.c: New file.
4164         * lib/unictype/categ_L.c: New file.
4165         * lib/unictype/categ_Ll.c: New file.
4166         * lib/unictype/categ_Lm.c: New file.
4167         * lib/unictype/categ_Lo.c: New file.
4168         * lib/unictype/categ_Lt.c: New file.
4169         * lib/unictype/categ_Lu.c: New file.
4170         * lib/unictype/categ_M.c: New file.
4171         * lib/unictype/categ_Mc.c: New file.
4172         * lib/unictype/categ_Me.c: New file.
4173         * lib/unictype/categ_Mn.c: New file.
4174         * lib/unictype/categ_N.c: New file.
4175         * lib/unictype/categ_Nd.c: New file.
4176         * lib/unictype/categ_Nl.c: New file.
4177         * lib/unictype/categ_No.c: New file.
4178         * lib/unictype/categ_P.c: New file.
4179         * lib/unictype/categ_Pc.c: New file.
4180         * lib/unictype/categ_Pd.c: New file.
4181         * lib/unictype/categ_Pe.c: New file.
4182         * lib/unictype/categ_Pf.c: New file.
4183         * lib/unictype/categ_Pi.c: New file.
4184         * lib/unictype/categ_Po.c: New file.
4185         * lib/unictype/categ_Ps.c: New file.
4186         * lib/unictype/categ_S.c: New file.
4187         * lib/unictype/categ_Sc.c: New file.
4188         * lib/unictype/categ_Sk.c: New file.
4189         * lib/unictype/categ_Sm.c: New file.
4190         * lib/unictype/categ_So.c: New file.
4191         * lib/unictype/categ_Z.c: New file.
4192         * lib/unictype/categ_Zl.c: New file.
4193         * lib/unictype/categ_Zp.c: New file.
4194         * lib/unictype/categ_Zs.c: New file.
4195         * lib/unictype/categ_and.c: New file.
4196         * lib/unictype/categ_and_not.c: New file.
4197         * lib/unictype/categ_byname.c: New file.
4198         * lib/unictype/categ_name.c: New file.
4199         * lib/unictype/categ_none.c: New file.
4200         * lib/unictype/categ_of.c: New file.
4201         * lib/unictype/categ_or.c: New file.
4202         * lib/unictype/categ_test.c: New file.
4203         * lib/unictype/combining.c: New file.
4204         * lib/unictype/ctype_alnum.c: New file.
4205         * lib/unictype/ctype_alpha.c: New file.
4206         * lib/unictype/ctype_blank.c: New file.
4207         * lib/unictype/ctype_cntrl.c: New file.
4208         * lib/unictype/ctype_digit.c: New file.
4209         * lib/unictype/ctype_graph.c: New file.
4210         * lib/unictype/ctype_lower.c: New file.
4211         * lib/unictype/ctype_print.c: New file.
4212         * lib/unictype/ctype_punct.c: New file.
4213         * lib/unictype/ctype_space.c: New file.
4214         * lib/unictype/ctype_upper.c: New file.
4215         * lib/unictype/ctype_xdigit.c: New file.
4216         * lib/unictype/decdigit.c: New file.
4217         * lib/unictype/digit.c: New file.
4218         * lib/unictype/identsyntaxmap.h: New file.
4219         * lib/unictype/mirror.c: New file.
4220         * lib/unictype/numeric.c: New file.
4221         * lib/unictype/pr_alphabetic.c: New file.
4222         * lib/unictype/pr_ascii_hex_digit.c: New file.
4223         * lib/unictype/pr_bidi_arabic_digit.c: New file.
4224         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
4225         * lib/unictype/pr_bidi_block_separator.c: New file.
4226         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
4227         * lib/unictype/pr_bidi_common_separator.c: New file.
4228         * lib/unictype/pr_bidi_control.c: New file.
4229         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
4230         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
4231         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
4232         * lib/unictype/pr_bidi_european_digit.c: New file.
4233         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
4234         * lib/unictype/pr_bidi_left_to_right.c: New file.
4235         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
4236         * lib/unictype/pr_bidi_other_neutral.c: New file.
4237         * lib/unictype/pr_bidi_pdf.c: New file.
4238         * lib/unictype/pr_bidi_segment_separator.c: New file.
4239         * lib/unictype/pr_bidi_whitespace.c: New file.
4240         * lib/unictype/pr_byname.c: New file.
4241         * lib/unictype/pr_byname.gperf: New file.
4242         * lib/unictype/pr_combining.c: New file.
4243         * lib/unictype/pr_composite.c: New file.
4244         * lib/unictype/pr_currency_symbol.c: New file.
4245         * lib/unictype/pr_dash.c: New file.
4246         * lib/unictype/pr_decimal_digit.c: New file.
4247         * lib/unictype/pr_default_ignorable_code_point.c: New file.
4248         * lib/unictype/pr_deprecated.c: New file.
4249         * lib/unictype/pr_diacritic.c: New file.
4250         * lib/unictype/pr_extender.c: New file.
4251         * lib/unictype/pr_format_control.c: New file.
4252         * lib/unictype/pr_grapheme_base.c: New file.
4253         * lib/unictype/pr_grapheme_extend.c: New file.
4254         * lib/unictype/pr_grapheme_link.c: New file.
4255         * lib/unictype/pr_hex_digit.c: New file.
4256         * lib/unictype/pr_hyphen.c: New file.
4257         * lib/unictype/pr_id_continue.c: New file.
4258         * lib/unictype/pr_id_start.c: New file.
4259         * lib/unictype/pr_ideographic.c: New file.
4260         * lib/unictype/pr_ids_binary_operator.c: New file.
4261         * lib/unictype/pr_ids_trinary_operator.c: New file.
4262         * lib/unictype/pr_ignorable_control.c: New file.
4263         * lib/unictype/pr_iso_control.c: New file.
4264         * lib/unictype/pr_join_control.c: New file.
4265         * lib/unictype/pr_left_of_pair.c: New file.
4266         * lib/unictype/pr_line_separator.c: New file.
4267         * lib/unictype/pr_logical_order_exception.c: New file.
4268         * lib/unictype/pr_lowercase.c: New file.
4269         * lib/unictype/pr_math.c: New file.
4270         * lib/unictype/pr_non_break.c: New file.
4271         * lib/unictype/pr_not_a_character.c: New file.
4272         * lib/unictype/pr_numeric.c: New file.
4273         * lib/unictype/pr_other_alphabetic.c: New file.
4274         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
4275         * lib/unictype/pr_other_grapheme_extend.c: New file.
4276         * lib/unictype/pr_other_id_continue.c: New file.
4277         * lib/unictype/pr_other_id_start.c: New file.
4278         * lib/unictype/pr_other_lowercase.c: New file.
4279         * lib/unictype/pr_other_math.c: New file.
4280         * lib/unictype/pr_other_uppercase.c: New file.
4281         * lib/unictype/pr_paired_punctuation.c: New file.
4282         * lib/unictype/pr_paragraph_separator.c: New file.
4283         * lib/unictype/pr_pattern_syntax.c: New file.
4284         * lib/unictype/pr_pattern_white_space.c: New file.
4285         * lib/unictype/pr_private_use.c: New file.
4286         * lib/unictype/pr_punctuation.c: New file.
4287         * lib/unictype/pr_quotation_mark.c: New file.
4288         * lib/unictype/pr_radical.c: New file.
4289         * lib/unictype/pr_sentence_terminal.c: New file.
4290         * lib/unictype/pr_soft_dotted.c: New file.
4291         * lib/unictype/pr_space.c: New file.
4292         * lib/unictype/pr_terminal_punctuation.c: New file.
4293         * lib/unictype/pr_test.c: New file.
4294         * lib/unictype/pr_titlecase.c: New file.
4295         * lib/unictype/pr_unassigned_code_value.c: New file.
4296         * lib/unictype/pr_unified_ideograph.c: New file.
4297         * lib/unictype/pr_uppercase.c: New file.
4298         * lib/unictype/pr_variation_selector.c: New file.
4299         * lib/unictype/pr_white_space.c: New file.
4300         * lib/unictype/pr_xid_continue.c: New file.
4301         * lib/unictype/pr_xid_start.c: New file.
4302         * lib/unictype/pr_zero_width.c: New file.
4303         * lib/unictype/scripts.c: New file.
4304         * lib/unictype/sy_c_ident.c: New file.
4305         * lib/unictype/sy_c_whitespace.c: New file.
4306         * lib/unictype/sy_java_ident.c: New file.
4307         * lib/unictype/sy_java_whitespace.c: New file.
4308
4309         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
4310         Unicode 5.0.0.
4311         * lib/unictype/blocks.h: Likewise.
4312         * lib/unictype/categ_C.h: Likewise.
4313         * lib/unictype/categ_Cc.h: Likewise.
4314         * lib/unictype/categ_Cf.h: Likewise.
4315         * lib/unictype/categ_Cn.h: Likewise.
4316         * lib/unictype/categ_Co.h: Likewise.
4317         * lib/unictype/categ_Cs.h: Likewise.
4318         * lib/unictype/categ_L.h: Likewise.
4319         * lib/unictype/categ_Ll.h: Likewise.
4320         * lib/unictype/categ_Lm.h: Likewise.
4321         * lib/unictype/categ_Lo.h: Likewise.
4322         * lib/unictype/categ_Lt.h: Likewise.
4323         * lib/unictype/categ_Lu.h: Likewise.
4324         * lib/unictype/categ_M.h: Likewise.
4325         * lib/unictype/categ_Mc.h: Likewise.
4326         * lib/unictype/categ_Me.h: Likewise.
4327         * lib/unictype/categ_Mn.h: Likewise.
4328         * lib/unictype/categ_N.h: Likewise.
4329         * lib/unictype/categ_Nd.h: Likewise.
4330         * lib/unictype/categ_Nl.h: Likewise.
4331         * lib/unictype/categ_No.h: Likewise.
4332         * lib/unictype/categ_P.h: Likewise.
4333         * lib/unictype/categ_Pc.h: Likewise.
4334         * lib/unictype/categ_Pd.h: Likewise.
4335         * lib/unictype/categ_Pe.h: Likewise.
4336         * lib/unictype/categ_Pf.h: Likewise.
4337         * lib/unictype/categ_Pi.h: Likewise.
4338         * lib/unictype/categ_Po.h: Likewise.
4339         * lib/unictype/categ_Ps.h: Likewise.
4340         * lib/unictype/categ_S.h: Likewise.
4341         * lib/unictype/categ_Sc.h: Likewise.
4342         * lib/unictype/categ_Sk.h: Likewise.
4343         * lib/unictype/categ_Sm.h: Likewise.
4344         * lib/unictype/categ_So.h: Likewise.
4345         * lib/unictype/categ_Z.h: Likewise.
4346         * lib/unictype/categ_Zl.h: Likewise.
4347         * lib/unictype/categ_Zp.h: Likewise.
4348         * lib/unictype/categ_Zs.h: Likewise.
4349         * lib/unictype/categ_of.h: Likewise.
4350         * lib/unictype/combining.h: Likewise.
4351         * lib/unictype/ctype_alnum.h: Likewise.
4352         * lib/unictype/ctype_alpha.h: Likewise.
4353         * lib/unictype/ctype_blank.h: Likewise.
4354         * lib/unictype/ctype_cntrl.h: Likewise.
4355         * lib/unictype/ctype_digit.h: Likewise.
4356         * lib/unictype/ctype_graph.h: Likewise.
4357         * lib/unictype/ctype_lower.h: Likewise.
4358         * lib/unictype/ctype_print.h: Likewise.
4359         * lib/unictype/ctype_punct.h: Likewise.
4360         * lib/unictype/ctype_space.h: Likewise.
4361         * lib/unictype/ctype_upper.h: Likewise.
4362         * lib/unictype/ctype_xdigit.h: Likewise.
4363         * lib/unictype/decdigit.h: Likewise.
4364         * lib/unictype/digit.h: Likewise.
4365         * lib/unictype/mirror.h: Likewise.
4366         * lib/unictype/numeric.h: Likewise.
4367         * lib/unictype/pr_alphabetic.h: Likewise.
4368         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4369         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4370         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4371         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4372         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4373         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4374         * lib/unictype/pr_bidi_control.h: Likewise.
4375         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4376         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4377         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4378         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4379         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4380         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4381         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4382         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4383         * lib/unictype/pr_bidi_pdf.h: Likewise.
4384         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4385         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4386         * lib/unictype/pr_combining.h: Likewise.
4387         * lib/unictype/pr_composite.h: Likewise.
4388         * lib/unictype/pr_currency_symbol.h: Likewise.
4389         * lib/unictype/pr_dash.h: Likewise.
4390         * lib/unictype/pr_decimal_digit.h: Likewise.
4391         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4392         * lib/unictype/pr_deprecated.h: Likewise.
4393         * lib/unictype/pr_diacritic.h: Likewise.
4394         * lib/unictype/pr_extender.h: Likewise.
4395         * lib/unictype/pr_format_control.h: Likewise.
4396         * lib/unictype/pr_grapheme_base.h: Likewise.
4397         * lib/unictype/pr_grapheme_extend.h: Likewise.
4398         * lib/unictype/pr_grapheme_link.h: Likewise.
4399         * lib/unictype/pr_hex_digit.h: Likewise.
4400         * lib/unictype/pr_hyphen.h: Likewise.
4401         * lib/unictype/pr_id_continue.h: Likewise.
4402         * lib/unictype/pr_id_start.h: Likewise.
4403         * lib/unictype/pr_ideographic.h: Likewise.
4404         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4405         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4406         * lib/unictype/pr_ignorable_control.h: Likewise.
4407         * lib/unictype/pr_iso_control.h: Likewise.
4408         * lib/unictype/pr_join_control.h: Likewise.
4409         * lib/unictype/pr_left_of_pair.h: Likewise.
4410         * lib/unictype/pr_line_separator.h: Likewise.
4411         * lib/unictype/pr_logical_order_exception.h: Likewise.
4412         * lib/unictype/pr_lowercase.h: Likewise.
4413         * lib/unictype/pr_math.h: Likewise.
4414         * lib/unictype/pr_non_break.h: Likewise.
4415         * lib/unictype/pr_not_a_character.h: Likewise.
4416         * lib/unictype/pr_numeric.h: Likewise.
4417         * lib/unictype/pr_other_alphabetic.h: Likewise.
4418         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4419         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4420         * lib/unictype/pr_other_id_continue.h: Likewise.
4421         * lib/unictype/pr_other_id_start.h: Likewise.
4422         * lib/unictype/pr_other_lowercase.h: Likewise.
4423         * lib/unictype/pr_other_math.h: Likewise.
4424         * lib/unictype/pr_other_uppercase.h: Likewise.
4425         * lib/unictype/pr_paired_punctuation.h: Likewise.
4426         * lib/unictype/pr_paragraph_separator.h: Likewise.
4427         * lib/unictype/pr_pattern_syntax.h: Likewise.
4428         * lib/unictype/pr_pattern_white_space.h: Likewise.
4429         * lib/unictype/pr_private_use.h: Likewise.
4430         * lib/unictype/pr_punctuation.h: Likewise.
4431         * lib/unictype/pr_quotation_mark.h: Likewise.
4432         * lib/unictype/pr_radical.h: Likewise.
4433         * lib/unictype/pr_sentence_terminal.h: Likewise.
4434         * lib/unictype/pr_soft_dotted.h: Likewise.
4435         * lib/unictype/pr_space.h: Likewise.
4436         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4437         * lib/unictype/pr_titlecase.h: Likewise.
4438         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4439         * lib/unictype/pr_unified_ideograph.h: Likewise.
4440         * lib/unictype/pr_uppercase.h: Likewise.
4441         * lib/unictype/pr_variation_selector.h: Likewise.
4442         * lib/unictype/pr_white_space.h: Likewise.
4443         * lib/unictype/pr_xid_continue.h: Likewise.
4444         * lib/unictype/pr_xid_start.h: Likewise.
4445         * lib/unictype/pr_zero_width.h: Likewise.
4446         * lib/unictype/scripts.h: Likewise.
4447         * lib/unictype/scripts_byname.gperf: Likewise.
4448         * lib/unictype/sy_c_ident.h: Likewise.
4449         * lib/unictype/sy_c_whitespace.h: Likewise.
4450         * lib/unictype/sy_java_ident.h: Likewise.
4451         * lib/unictype/sy_java_whitespace.h: Likewise.
4452
4453         * lib/unictype/Makefile: New file.
4454         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
4455         glibc.
4456         * lib/unictype/3level.h: New file, copied from glibc.
4457         * lib/unictype/3levelbit.h: New file.
4458
4459 2007-11-11  Bruno Haible  <bruno@clisp.org>
4460
4461         * modules/gperf: New file.
4462         * modules/iconv_open (Depends-on): Add it.
4463         (Makefile.am): Remove the GPERF definition.
4464
4465 2007-11-11  Bruno Haible  <bruno@clisp.org>
4466
4467         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
4468         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
4469
4470 2007-11-11  Bruno Haible  <bruno@clisp.org>
4471
4472         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
4473         (usage): Remove function.
4474
4475 2007-11-11  Bruno Haible  <bruno@clisp.org>
4476
4477         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
4478         gl_FUNC_CEILF_LIBS.
4479         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
4480         gl_FUNC_CEIL_LIBS.
4481         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
4482         gl_FUNC_CEILL_LIBS.
4483         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
4484         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
4485         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
4486
4487 2007-11-11  Bruno Haible  <bruno@clisp.org>
4488
4489         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
4490         roundf were declared but do not exist on functions.
4491         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
4492         roundl were declared but do not exist on functions.
4493         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
4494         HAVE_FLOORL_AND_CEILL, respectively.
4495         Needed for Sun C on Solaris 10.
4496
4497 2007-11-11  Bruno Haible  <bruno@clisp.org>
4498
4499         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
4500         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
4501         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
4502         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
4503         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
4504         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
4505         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
4506         HAVE_DECL_ROUNDF.
4507         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
4508         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
4509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
4510         of HAVE_DECL_ROUND*.
4511         * modules/math (Makefile.am): Update.
4512
4513 2007-11-10  Bruno Haible  <bruno@clisp.org>
4514
4515         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
4516         ptrdiff_t as m4/intl.m4.
4517
4518 2007-11-10  Jim Meyering  <meyering@redhat.com>
4519
4520         Avoid link failure for the argmatch test.
4521         * tests/test-argmatch.c (usage): Define function to avoid a link
4522         failure: argmatch_die requires a usage function.
4523
4524 2007-11-09  Bruno Haible  <bruno@clisp.org>
4525
4526         * doc/functions/snprintf.texi: Mention BeOS deficiency.
4527         * doc/functions/vsnprintf.texi: Likewise.
4528         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
4529         with a size argument < 2.
4530
4531 2007-11-09  Bruno Haible  <bruno@clisp.org>
4532
4533         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
4534         buffer. Fixes an inefficiency introduced on 2007-11-03.
4535
4536 2007-11-09  Bruno Haible  <bruno@clisp.org>
4537
4538         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
4539         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
4540
4541 2007-11-08  Jim Meyering  <meyering@redhat.com>
4542
4543         Change cache variable name prefix "jm_" to "gl_" everywhere.
4544         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
4545         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
4546         * m4/uptime.m4: s/gl_/jm_/
4547
4548 2007-11-07  Bruno Haible  <bruno@clisp.org>
4549
4550         Update to GNU gettext 0.17.
4551         * m4/intl.m4: Update to GNU gettext 0.17.
4552         * m4/po.m4: Likewise.
4553         * modules/gettext (Files): Remove m4/ulonglong.m4.
4554         (configure.ac): Require gettext infrastructure from version 0.17.
4555
4556 2007-11-06  Bruno Haible  <bruno@clisp.org>
4557
4558         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
4559         symbolic values are not defined in a public header.
4560         * lib/freadable.c (freadable) [QNX]: Likewise.
4561         * lib/freadahead.c (freadahead) [QNX]: Likewise.
4562         * lib/freading.c (freading) [QNX]: Likewise.
4563         * lib/fseterr.c (fseterr) [QNX]: Likewise.
4564         * lib/fwritable.c (fwritable) [QNX]: Likewise.
4565         * lib/fwriting.c (fwriting) [QNX]: Likewise.
4566         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
4567         Reported by Alain Magloire.
4568
4569         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
4570
4571 2007-11-05  Bruno Haible  <bruno@clisp.org>
4572
4573         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
4574         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
4575         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
4576         Reported by Eric Blake.
4577
4578 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4579             Bruno Haible  <bruno@clisp.org>
4580
4581         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
4582         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
4583         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
4584         (malloc): Undefine also before including <stdlib.h>.
4585         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
4586         Needed on OSF/1 4.0.
4587
4588 2007-11-05  Jim Meyering  <meyering@redhat.com>
4589
4590         git-version-gen: sync from coreutils.
4591         * build-aux/git-version-gen: Add comments.
4592         Change the first '-' to '.' in the snapshot version string,
4593         e.g., 6.9-377-08144 -> 6.9.377-08144
4594         Remove first parameter.
4595         Don't declare a version "-dirty" merely because a time
4596         stamp has changed.
4597
4598 2007-11-04  Bruno Haible  <bruno@clisp.org>
4599
4600         * lib/lock.h: Protect all macro definitions containing an 'if'
4601         statement through a "do { ... } while (0)".
4602         * lib/tls.h: Likewise.
4603
4604 2007-11-04  Bruno Haible  <bruno@clisp.org>
4605
4606         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
4607
4608 2007-11-04  Bruno Haible  <bruno@clisp.org>
4609
4610         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
4611         * modules/fprintf-posix (Depends-on): Add nocrash.
4612         * modules/snprintf-posix (Depends-on): Likewise.
4613         * modules/sprintf-posix (Depends-on): Likewise.
4614         * modules/vasnprintf-posix (Depends-on): Likewise.
4615         * modules/vasprintf-posix (Depends-on): Likewise.
4616         * modules/vfprintf-posix (Depends-on): Likewise.
4617         * modules/vsnprintf-posix (Depends-on): Likewise.
4618         * modules/vsprintf-posix (Depends-on): Likewise.
4619         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
4620         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
4621         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
4622         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
4623         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
4624         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
4625         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
4626
4627 2007-11-04  Bruno Haible  <bruno@clisp.org>
4628
4629         * modules/nocrash: New file.
4630         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
4631         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
4632
4633 2007-11-04  Bruno Haible  <bruno@clisp.org>
4634
4635         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
4636         precision handling.
4637         * tests/test-vasprintf-posix.c (test_function): Likewise.
4638         * tests/test-snprintf-posix.h (test_function): Likewise.
4639         * tests/test-sprintf-posix.h (test_function): Likewise.
4640
4641         Fix *printf behaviour for large precisions on mingw and BeOS.
4642         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
4643         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
4644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
4645         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
4646         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4647         gl_PRINTF_PRECISION and test its result. Invoke
4648         gl_PREREQ_VASNPRINTF_PRECISION.
4649         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4650         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4651         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4652         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4653         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4654         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4655         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4656         * doc/functions/fprintf.texi: Update.
4657         * doc/functions/printf.texi: Update.
4658         * doc/functions/snprintf.texi: Update.
4659         * doc/functions/sprintf.texi: Update.
4660         * doc/functions/vfprintf.texi: Update.
4661         * doc/functions/vprintf.texi: Update.
4662         * doc/functions/vsnprintf.texi: Update.
4663         * doc/functions/vsprintf.texi: Update.
4664
4665 2007-11-04  Bruno Haible  <bruno@clisp.org>
4666
4667         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
4668
4669 2007-11-04  Bruno Haible  <bruno@clisp.org>
4670
4671         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
4672         Reported by Sylvain Beucler <beuc@gnu.org>.
4673
4674 2007-11-03  Bruno Haible  <bruno@clisp.org>
4675
4676         * tests/test-fprintf-posix2.sh: New file.
4677         * tests/test-fprintf-posix2.c: New file.
4678         * modules/fprintf-posix-tests (Files): Add them.
4679         (TESTS): Add test-fprintf-posix2.sh.
4680         (configure.ac): Check for getrlimit and setrlimit.
4681         (check_PROGRAMS): Add test-fprintf-posix2.
4682
4683         * tests/test-printf-posix2.sh: New file.
4684         * tests/test-printf-posix2.c: New file.
4685         * modules/printf-posix-tests (Files): Add them.
4686         (TESTS): Add test-printf-posix2.sh.
4687         (configure.ac): Check for getrlimit and setrlimit.
4688         (check_PROGRAMS): Add test-printf-posix2.
4689
4690         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
4691         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
4692         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
4693         (decode_double): New function, copied from decode_long_double.
4694         (scale10_round_decimal_decoded): New function, extracted from
4695         scale10_round_decimal_long_double.
4696         (scale10_round_decimal_long_double): Use it.
4697         (scale10_round_decimal_double): New function.
4698         (floorlog10): New function.
4699         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
4700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
4701         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
4702         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4703         gl_PRINTF_ENOMEM and test its result. Invoke
4704         gl_PREREQ_VASNPRINTF_ENOMEM.
4705         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4706         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4707         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4708         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4709         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4710         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4711         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4712         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
4713         * modules/snprintf-posix (Depends-on): Likewise.
4714         * modules/sprintf-posix (Depends-on): Likewise.
4715         * modules/vasnprintf-posix (Depends-on): Likewise.
4716         * modules/vasprintf-posix (Depends-on): Likewise.
4717         * modules/vfprintf-posix (Depends-on): Likewise.
4718         * modules/vsnprintf-posix (Depends-on): Likewise.
4719         * modules/vsprintf-posix (Depends-on): Likewise.
4720         * doc/functions/fprintf.texi: Update.
4721         * doc/functions/printf.texi: Update.
4722         * doc/functions/snprintf.texi: Update.
4723         * doc/functions/sprintf.texi: Update.
4724         * doc/functions/vfprintf.texi: Update.
4725         * doc/functions/vprintf.texi: Update.
4726         * doc/functions/vsnprintf.texi: Update.
4727         * doc/functions/vsprintf.texi: Update.
4728
4729 2007-11-03  Bruno Haible  <bruno@clisp.org>
4730
4731         * modules/frexp-nolibm-tests: New file.
4732
4733         * modules/frexp-nolibm: New file.
4734         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
4735
4736 2007-11-03  Bruno Haible  <bruno@clisp.org>
4737
4738         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
4739         value is C99 compliant.
4740         Needed for OSF/1 5.1.
4741
4742 2007-11-03  Bruno Haible  <bruno@clisp.org>
4743
4744         Fix out-of-memory handling of vasnprintf.
4745         * lib/printf-parse.c: Include <errno.h>.
4746         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
4747         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
4748         is already set.
4749
4750 2007-11-02  Eric Blake  <ebb9@byu.net>
4751
4752         Fix tests on cygwin.
4753         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
4754
4755 2007-11-01  Bruno Haible  <bruno@clisp.org>
4756
4757         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
4758         warning.
4759         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
4760         needed for POSIX compatibility.
4761
4762 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4763
4764         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
4765         for compatibility with GNU.
4766
4767 2007-11-01  Bruno Haible  <bruno@clisp.org>
4768
4769         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
4770         (putenv): Renamed from rpl_putenv. Change argument type from
4771         'const char *' to 'char *'.
4772         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
4773         of defining putenv in config.h, just set REPLACE_PUTENV.
4774         * modules/putenv (Depends-on): Add stdlib.
4775         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
4776         (Include): Use <stdlib.h>.
4777         * lib/stdlib.in.h (putenv): New declaration.
4778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
4779         REPLACE_PUTENV.
4780         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
4781         REPLACE_PUTENV.
4782         Needed for MacOS X 10.5.0.
4783         Reported by Peter O'Gorman <peter@pogma.com>.
4784
4785 2007-11-01  Jim Meyering  <meyering@redhat.com>
4786
4787         Treat an empty date string exactly like "0".
4788         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
4789         if the remaining date string (to be parsed) is empty, use "0".
4790         Reported by Mischa Molhoek and discussed in this thread:
4791         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
4792
4793 2007-10-31  Bruno Haible  <bruno@clisp.org>
4794
4795         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
4796         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
4797         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
4798         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
4799         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
4800         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
4801
4802 2007-10-31  Bruno Haible  <bruno@clisp.org>
4803
4804         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
4805         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
4806         (AC_TYPE_LONG_LONG_INT): Use it.
4807         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
4808         it as well.
4809         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
4810         to m4/longlong.m4.
4811         * modules/stdint (Files): Remove m4/ulonglong.m4.
4812         * modules/strtoull (Files): Use m4/longlong.m4 instead of
4813         m4/ulonglong.m4.
4814         * modules/strtoumax (Files): Likewise.
4815
4816 2007-10-30  Bruno Haible  <bruno@clisp.org>
4817
4818         * modules/xvasprintf-posix: New file.
4819         Suggested by Eric Blake.
4820
4821 2007-10-30  Bruno Haible  <bruno@clisp.org>
4822
4823         * modules/xprintf-posix-tests: New file.
4824         * tests/test-xprintf-posix.sh: New file.
4825         * tests/test-xprintf-posix.c: New file.
4826         * tests/test-xfprintf-posix.c: New file.
4827
4828         * modules/xprintf-posix: New file.
4829
4830 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4831
4832         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
4833         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
4834         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
4835
4836 2007-10-29  Bruno Haible  <bruno@clisp.org>
4837
4838         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
4839         contain the special marker '_cv_'.
4840         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
4841         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
4842         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
4843         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
4844         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
4845         Reported by Ralf Wildenhues.
4846
4847 2007-10-29  Bruno Haible  <bruno@clisp.org>
4848
4849         * gnulib-tool (func_import): When --lgpl is not specified, set
4850         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
4851         GPLv3.
4852         Reported by Simon Josefsson.
4853
4854 2007-10-28  Bruno Haible  <bruno@clisp.org>
4855
4856         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
4857         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
4858         HAVE_DECL_ISFINITE.
4859         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
4860         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
4861         HAVE_DECL_ISFINITE.
4862
4863 2007-10-28  Bruno Haible  <bruno@clisp.org>
4864
4865         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
4866         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
4867
4868 2007-10-28  Bruno Haible  <bruno@clisp.org>
4869
4870         Fix link errors with Sun C 5.0 on Solaris 10.
4871         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
4872         function is declared but not present in the compiler's libm.
4873         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
4874         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4875         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
4876         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
4877         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
4878         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
4879         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
4880         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
4881         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
4882         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
4883         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
4884         HAVE_DECL_FLOORL.
4885
4886 2007-10-28  Bruno Haible  <bruno@clisp.org>
4887
4888         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
4889         gl_FUNC_FLOORL. Cache the result.
4890         (gl_FUNC_FLOORL): Use it.
4891         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
4892         gl_FUNC_CEILL. Cache the result.
4893         (gl_FUNC_CEILL): Use it.
4894
4895         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
4896         gl_FUNC_FLOOR. Cache the result.
4897         (gl_FUNC_FLOOR): Use it.
4898         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
4899         gl_FUNC_CEIL. Cache the result.
4900         (gl_FUNC_CEIL): Use it.
4901
4902         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
4903         gl_FUNC_FLOORF. Cache the result.
4904         (gl_FUNC_FLOORF): Use it.
4905         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
4906         gl_FUNC_CEILF. Cache the result.
4907         (gl_FUNC_CEILF): Use it.
4908
4909 2007-10-28  Bruno Haible  <bruno@clisp.org>
4910
4911         * gnulib-tool: Allow specifying the LGPL version number through
4912         --lgpl=2 or --lgpl=3.
4913         (func_usage): Document --lgpl with argument.
4914         Handle --lgpl=... arguments.
4915         (func_import): Recognize also gl_LGPL calls with an argument. When
4916         --lgpl=2 is used and the module's license is just LGPL, report an
4917         error. Set sed_transform_lib_file according to the lgpl variable. In
4918         the generated files, use --lgpl or gl_LGPL invocations with argument,
4919         if necessary.
4920         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
4921         an LGPv2+ license.
4922         * doc/gnulib-tool.texi (Modified imports): Update explanation of
4923         gl_LGPL macro.
4924
4925 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4926             Bruno Haible  <bruno@clisp.org>
4927
4928         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
4929         (u16_uctomb_aux): Likewise.
4930         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
4931         !HAVE_INLINE.
4932         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
4933
4934 2007-10-28  Bruno Haible  <bruno@clisp.org>
4935
4936         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
4937         Invoke AM_GETTEXT_OPTION if it exists.
4938         * modules/vasprintf: Likewise.
4939         * modules/verror: Likewise.
4940         * modules/xprintf: Likewise.
4941         * modules/xvasprintf: Likewise.
4942
4943 2007-10-27  Ben Pfaff  <blp@gnu.org>
4944
4945         * lib/math.in.h: Define isfinite macro and prototypes for
4946         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
4947         implementations.
4948         * m4/math_h.m4: New substitutions for isfinite module.
4949         * lib/isfinite.c: New file.
4950         * m4/isfinite.m4: New file.
4951         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
4952         * modules/isfinite: New file.
4953         * modules/isfinite-tests: New file.
4954         * tests/tests-isfinite.c: New file.
4955         * doc/functions/isfinite.texi: Mention isfinite module.
4956         * MODULES.html.sh: Mention new module.
4957
4958 2007-10-27  Ben Pfaff  <blp@gnu.org>
4959
4960         Ralf Wildenhues reported that Tru64 4.0D declares the round
4961         functions but does not have definitions.
4962         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
4963         cannot be found in any library, set the output variable to
4964         "missing" instead of "".
4965         * m4/round.m4: Also use our substitute if we cannot find round in
4966         any library, even if it is declared.
4967         * m4/roundf.m4: Likewise for roundf.
4968         * m4/roundl.m4: Likewise for roundl.
4969         * lib/math.in.h: Undefine roundf, round, roundl before defining
4970         their replacements, to allow for hypothetical systems where these
4971         may be defined as macros but not available in libraries.
4972
4973 2007-10-27  Bruno Haible  <bruno@clisp.org>
4974
4975         * doc/gnulib.texi: Invoke @firstparagraphindent.
4976         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
4977         changes in gnulib.
4978         (Source changes): New section.
4979
4980 2007-10-26  Bruno Haible  <bruno@clisp.org>
4981
4982         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
4983         borrowed from autoconf.
4984
4985 2007-10-26  Bruno Haible  <bruno@clisp.org>
4986
4987         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
4988         strerror returned the empty string. Needed on HP-UX 11.00.
4989
4990 2007-10-24  Micah Cowan  <micah@cowan.name>
4991
4992         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
4993         * build-aux/bootstrap: Remove support for now-unnecessary option,
4994         --cvs-user, and envvars CVS_USER, CVS_RSH.
4995
4996 2007-10-24  Jim Meyering  <meyering@redhat.com>
4997
4998         Avoid diagnostics from sha1sum when there is no cached checksum.
4999         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
5000         if the po.s1 file hasn't been created yet.
5001
5002         * build-aux/bootstrap: Sync from coreutils:
5003         2007-10-24  Jim Meyering  <meyering@redhat.com>
5004         Get gnulib from the git repository, not from an obsolete cvs one.
5005         * build-aux/bootstrap: Suggestion from Micah Cowan.
5006         2007-10-04  Jim Meyering  <jim@meyering.net>
5007         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
5008         (update_po_files): Work also when there are no .po files in po/.
5009
5010 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
5011
5012         * README: Append ".git" to git and cg examples.
5013         Problem reported by Benoit Sigoure.
5014
5015 2007-10-23  Micah Cowan  <micah@cowan.name>
5016
5017         * users.txt: Add wget.
5018
5019 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5020
5021         Fix linking of some unistdio tests on FreeBSD.
5022         * modules/unistdio/u16-vsnprintf-tests
5023         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
5024         * modules/unistdio/u16-vsprintf-tests
5025         (test_u16_vsnprintf1_LDADD): Likewise.
5026         * modules/unistdio/u32-vsnprintf-tests
5027         (test_u32_vsnprintf1_LDADD): Likewise.
5028         * modules/unistdio/u32-vsprintf-tests
5029         (test_u32_vsprintf1_LDADD): Likewise.
5030         * modules/unistdio/u8-vsnprintf-tests
5031         (test_u8_vsnprintf1_LDADD): Likewise.
5032         * modules/unistdio/u8-vsprintf-tests
5033         (test_u8_vsprintf1_LDADD): Likewise.
5034         * modules/unistdio/ulc-vsnprintf-tests
5035         (test_ulc_vsnprintf1_LDADD): Likewise.
5036         * modules/unistdio/ulc-vsprintf-tests
5037         (test_ulc_vsprintf1_LDADD): Likewise.
5038
5039         Fix linking of some uniconv tests on FreeBSD.
5040         * modules/uniconv/u16-conv-from-enc-tests
5041         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
5042         * modules/uniconv/u16-conv-to-enc-tests
5043         (test_u16_conv_to_enc_LDADD): Likewise.
5044         * modules/uniconv/u16-strconv-from-enc-tests
5045         (test_u16_strconv_from_enc_LDADD): Likewise.
5046         * modules/uniconv/u16-strconv-to-enc-tests
5047         (test_u16_strconv_to_enc_LDADD): Likewise.
5048         * modules/uniconv/u32-conv-from-enc-tests
5049         (test_u32_conv_from_enc_LDADD): Likewise.
5050         * modules/uniconv/u32-conv-to-enc-tests
5051         (test_u32_conv_to_enc_LDADD): Likewise.
5052         * modules/uniconv/u32-strconv-from-enc-tests
5053         (test_u32_strconv_from_enc_LDADD): Likewise.
5054         * modules/uniconv/u32-strconv-to-enc-tests
5055         (test_u32_strconv_to_enc_LDADD): Likewise.
5056         * modules/uniconv/u8-conv-from-enc-tests
5057         (test_u8_conv_from_enc_LDADD): Likewise.
5058         * modules/uniconv/u8-conv-to-enc-tests
5059         (test_u8_conv_to_enc_LDADD): Likewise.
5060         * modules/uniconv/u8-strconv-from-enc-tests
5061         (test_u8_strconv_from_enc_LDADD): Likewise.
5062         * modules/uniconv/u8-strconv-to-enc-tests
5063         (test_u8_strconv_to_enc_LDADD): Likewise.
5064
5065 2007-10-22  Bruno Haible  <bruno@clisp.org>
5066
5067         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
5068         size.
5069
5070 2007-10-22  Eric Blake  <ebb9@byu.net>
5071
5072         Tweak x*printf documentation.
5073         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
5074         variable name and comments.
5075         Suggested by Bruno Haible.
5076
5077 2007-10-22  Bruno Haible  <bruno@clisp.org>
5078
5079         * lib/acl.c (copy_acl): Fix file name in comment.
5080
5081 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
5082
5083         Fix Tru64 problem with stdbool.h.
5084         * lib/stdbool.in.h (false, true):
5085         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
5086         Don't declare as an enum in this situation; it runs afoul of Tru64.
5087         Problem reported by Steven M. Schweda in
5088         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
5089
5090 2007-10-22  Eric Blake  <ebb9@byu.net>
5091
5092         Also wrap vf?printf.
5093         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
5094         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
5095         (xvprintf, xvfprintf): New functions.
5096
5097 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5098
5099         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
5100         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
5101
5102         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
5103         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
5104
5105 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
5106
5107         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
5108         by Bruno Haible.
5109
5110 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5111
5112         * lib/getloadavg.c
5113         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
5114         Undef `sys' after including sys/table.h, for Tru64 4.0D.
5115
5116         * tests/test-i-ring.c: Work for C89.
5117
5118 2007-10-22  Bruno Haible  <bruno@clisp.org>
5119
5120         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
5121         -1u, in preprocessor expression, so that we don't test for the bug
5122         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
5123         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
5124
5125 2007-10-22  Eric Blake  <ebb9@byu.net>
5126
5127         * tests/test-yesno.sh: Silence stderr during test.
5128
5129 2007-10-22  Simon Josefsson  <simon@josefsson.org>
5130
5131         * modules/crypto/gc-camellia: New file.
5132
5133         * m4/gc-camellia.m4: New file.
5134
5135         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
5136
5137         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
5138
5139 2007-10-22  Simon Josefsson  <simon@josefsson.org>
5140
5141         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
5142         --help to stdout.  Reported by sms@antinode.org (Steven
5143         M. Schweda).
5144
5145 2007-10-22  Simon Josefsson  <simon@josefsson.org>
5146
5147         * users.txt: Fix link to libksba.
5148
5149 2007-10-21  Ben Pfaff  <blp@gnu.org>
5150
5151         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
5152         round.c roundf implementation that depends on floorf and ceilf to
5153         be tested unconditionally.
5154
5155 2007-10-21  Ben Pfaff  <blp@gnu.org>
5156
5157         * m4/check-libm-func.m4: Removed.
5158         * m4/check-math-lib.m4: New file.
5159         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
5160         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
5161         definition and lack of AC_LIBOBJ([roundf]).
5162         * m4/roundl.m4: Ditto, and similarly for roundl.
5163         * modules/round: Reference new m4 file.
5164         * modules/roundf: Ditto.
5165         * modules/roundl: Ditto.
5166         * tests/test-round2.c (main): Use ROUND instead of round.
5167         Bug report from Bruno Haible.
5168
5169 2007-10-21  Bruno Haible  <bruno@clisp.org>
5170
5171         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
5172         context.
5173
5174 2007-10-21  Bruno Haible  <bruno@clisp.org>
5175
5176         * tests/test-wcwidth.c (main): Allow negative result for some control
5177         characters.
5178
5179         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
5180         Needed on OSF/1 5.1.
5181
5182 2007-10-21  Bruno Haible  <bruno@clisp.org>
5183
5184         * tests/test-floorf1.c: Include isnanf.h.
5185         (main): Use isnanf() instead of isnan().
5186         * tests/test-ceilf1.c: Include isnanf.h.
5187         (main): Use isnanf() instead of isnan().
5188         * tests/test-truncf1.c: Include isnanf.h.
5189         (main): Use isnanf() instead of isnan().
5190         * tests/test-roundf1.c: Include isnanf.h.
5191         (main): Use isnanf() instead of isnan().
5192
5193 2007-10-21  Eric Blake  <ebb9@byu.net>
5194
5195         * users.txt: Update URL for m4.
5196
5197 2007-10-21  Bruno Haible  <bruno@clisp.org>
5198
5199         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
5200
5201 2007-10-21  Bruno Haible  <bruno@clisp.org>
5202
5203         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
5204         Git's management files if the CVS files are not present.
5205
5206 2007-10-20  Bruno Haible  <bruno@clisp.org>
5207
5208         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
5209         gcc-3.4.x.
5210
5211 2007-10-20  Ben Pfaff  <blp@gnu.org>
5212
5213         * lib/math.in.h: Declare round, roundf, roundl if we are providing
5214         implementations.
5215         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
5216         * lib/round.c: New file.
5217         * lib/roundf.c: New file.
5218         * lib/roundl.c: New file.
5219         * m4/round.m4: New file.
5220         * m4/roundf.m4: New file.
5221         * m4/roundl.m4: New file.
5222         * m4/check-libm-func-m4: New file.
5223         * modules/math: Replace round, roundf, roundl related @VARS@ in
5224         math.in.h.
5225         * modules/round: New file.
5226         * modules/round-tests: New file.
5227         * modules/roundf: New file.
5228         * modules/roundf-tests: New file.
5229         * modules/roundl: New file.
5230         * modules/roundl-tests: New file.
5231         * tests/test-round1.c: New file.
5232         * tests/test-round2.c: New file.
5233         * tests/test-roundf1.c: New file.
5234         * tests/test-roundf2.c: New file.
5235         * tests/test-roundl.c: New file.
5236         * doc/functions/round.texi: Mention round module.
5237         * doc/functions/roundf.texi: Mention roundf module.
5238         * doc/functions/roundl.texi: Mention roundl module.
5239         * MODULES.html.sh: Mention new modules.
5240         Thanks to Bruno Haible for suggestions.
5241
5242 2007-10-20  Jim Meyering  <meyering@redhat.com>
5243
5244         * lib/xprintf.c: Include <config.h> unconditionally.
5245
5246         Change xprintf's license to GPL.
5247         * modules/xprintf (License): s/LGPL/GPL/, since this module
5248         depends on modules (exit and exitfail) which are GPL.
5249         Suggestion from Bruno Haible.
5250
5251         xprintf fixes.
5252         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
5253         Use a clearer diagnostic.
5254         Patch from Bruno Haible.
5255
5256 2007-10-20  Bruno Haible  <bruno@clisp.org>
5257
5258         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
5259         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
5260         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5261
5262 2007-10-20  Bruno Haible  <bruno@clisp.org>
5263
5264         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
5265         precision in the comparison result > x - 1 or similar.
5266         * tests/test-ceilf2.c (correct_result_p): Likewise.
5267         * tests/test-truncf2.c (correct_result_p): Likewise.
5268         * tests/test-trunc2.c (correct_result_p): Likewise.
5269         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5270
5271 2007-10-20  Bruno Haible  <bruno@clisp.org>
5272
5273         * modules/ceil: New file.
5274         * m4/ceil.m4: New file.
5275         * doc/functions/ceil.texi: Mention the 'ceil' module.
5276
5277 2007-10-20  Bruno Haible  <bruno@clisp.org>
5278
5279         * modules/floor: New file.
5280         * m4/floor.m4: New file.
5281         * doc/functions/floor.texi: Mention the 'floor' module.
5282
5283 2007-10-20  Bruno Haible  <bruno@clisp.org>
5284
5285         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
5286         of %a.
5287         * modules/floorf-tests (Depends-on): Likewise.
5288         * modules/truncf-tests (Depends-on): Likewise.
5289         * modules/trunc-tests (Depends-on): Likewise.
5290         Reported by Ben Pfaff.
5291
5292 2007-10-19  Jim Meyering  <meyering@redhat.com>
5293
5294         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
5295         Don't bother testing specific errno values.  Just test ferror.
5296
5297         New module: xprintf
5298         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
5299
5300 2007-10-19  Bruno Haible  <bruno@clisp.org>
5301
5302         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
5303         syntax.
5304         * modules/javaexec (Makefile.am): Likewise.
5305         * modules/relocatable-prog (Makefile.am): Likewise.
5306         Suggested by Jim Meyering.
5307
5308 2007-10-18  Bruno Haible  <bruno@clisp.org>
5309
5310         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
5311         Reported by Jim Meyering.
5312
5313 2007-10-18  Eric Blake  <ebb9@byu.net>
5314
5315         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
5316
5317 2007-10-18  Bruno Haible  <bruno@clisp.org>
5318
5319         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
5320         the format string into writable memory. Needed in Fortify conditions.
5321
5322 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
5323             Bruno Haible  <bruno@clisp.org>
5324
5325         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
5326         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
5327         * modules/trim (Depends-on): Add mbchar.
5328         (configure.ac): Add gl_FUNC_MBRTOWC.
5329         (Makefile.am): Augment lib_SOURCES.
5330
5331 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
5332
5333         Modify glob.c to use fstatat and dirfd, to simplify it.
5334         Suggested by Eric Blake.
5335         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
5336         Don't include <stdbool.h>; not used.
5337         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
5338         (link_exists_p): Simplify implementation, since we can now assume
5339         dirfd and fstatat.
5340         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
5341
5342 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5343
5344         * gnulib-tool (func_get_dependencies): Fix sed script to
5345         match only tests.
5346
5347 2007-10-17  Bruno Haible  <bruno@clisp.org>
5348
5349         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
5350         allow locale names without encoding suffix.
5351         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5352         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5353
5354 2007-10-16  Bruno Haible  <bruno@clisp.org>
5355
5356         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
5357         * lib/getgroups.c (getgroups): Likewise.
5358         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
5359
5360 2007-10-16  Bruno Haible  <bruno@clisp.org>
5361
5362         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
5363         * modules/malloc-posix (License): Likewise.
5364         * modules/realloc-posix (License): Likewise.
5365         * modules/calloc-posix (License): Likewise.
5366         * modules/intprops (License): Change from GPL to LGPL, with
5367         Paul Eggert's approval.
5368
5369 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
5370
5371         Merge glibc changes into lib/glob.c.
5372
5373         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
5374         2007-10-15 04:59:03 UTC.  Here are the changes:
5375
5376         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
5377
5378         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
5379
5380         * lib/glob.c: Add some branch prediction throughout.
5381
5382         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
5383
5384         [BZ #5103]
5385         * lib/glob.c (glob): Recognize patterns starting \/.
5386
5387         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
5388
5389         [BZ #3996]
5390         * lib/glob.c (attribute_hidden): Define if not defined.
5391         (glob): Unescape dirname, filename or username when needed and not
5392         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
5393         is NULL.  Handle unescaped [ in pattern without closing ].
5394         Don't pass GLOB_CHECK down to recursive glob for directories.
5395         (__glob_pattern_type): New function.
5396         (__glob_pattern_p): Implement using __glob_pattern_type.
5397         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
5398         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
5399         Remove unreachable code.
5400
5401         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
5402
5403         * lib/glob.c (glob_in_dir): Add some comments and asserts to
5404         explain why there are no leaks.
5405
5406         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
5407
5408         [BZ #3253]
5409         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
5410         time, rather allocate increasingly bigger arrays of pointers, if
5411         possible with alloca, if too large with malloc.
5412
5413 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
5414
5415         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
5416         Problem reported by H.Merijn Brand in
5417         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
5418         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
5419         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5420
5421 2007-10-15  Bruno Haible  <bruno@clisp.org>
5422
5423         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
5424         with explicit rpl_ prefix.
5425         * lib/fopen.c (fopen): Likewise.
5426         * lib/freopen.c (freopen): Likewise.
5427         * lib/iconv.c (iconv): Likewise.
5428         * lib/iconv_close.c (iconv_close): Likewise.
5429
5430 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5431
5432         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
5433
5434 2007-10-15  Bruno Haible  <bruno@clisp.org>
5435
5436         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
5437         <stddef.h> instead of <stdlib.h> since we only need NULL.
5438         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5439
5440 2007-10-15  Bruno Haible  <bruno@clisp.org>
5441
5442         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
5443         Replace paragraph talking about LIBOBJS.
5444         Reported by Colin Watson <cjwatson@debian.org>.
5445
5446 2007-10-15  Bruno Haible  <bruno@clisp.org>
5447
5448         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
5449         <stdlib.h> before using NULL.
5450
5451 2007-10-15  Simon Josefsson  <simon@josefsson.org>
5452
5453         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
5454         Reported by Albert Chin <china@thewrittenword.com>.
5455
5456 2007-10-14  Bruno Haible  <bruno@clisp.org>
5457
5458         * modules/iconv_open-utf-tests: New file.
5459         * tests/test-iconv-utf.c: New file.
5460
5461         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
5462         * modules/iconv_open-utf: New file.
5463         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
5464         (iconv, iconv_close): New declarations.
5465         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
5466         be defined.
5467         (iconv_open): Add special handling of conversion between UTF-8 and
5468         UTF-{16,32}{BE,LE}.
5469         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
5470         * lib/iconv_close.c: New file.
5471         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
5472         gl_FUNC_ICONV_OPEN.
5473         (gl_FUNC_ICONV_OPEN): Use it.
5474         (gl_FUNC_ICONV_OPEN_UTF): New macro.
5475         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
5476         and REPLACE_ICONV_UTF.
5477         * modules/iconv_open (Depends-on): Add c-strcase.
5478         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
5479         ICONV_CONST.
5480         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
5481
5482 2007-10-13  Albert Chin  <china@thewrittenword.com>
5483             Bruno Haible  <bruno@clisp.org>
5484
5485         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
5486         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
5487
5488 2007-10-13  Bruno Haible  <bruno@clisp.org>
5489
5490         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
5491         defined, use the ISO C99 inline semantics.
5492         * lib/argp.h (ARGP_EI): Likewise.
5493
5494 2007-10-13  Bruno Haible  <bruno@clisp.org>
5495
5496         Handle 'inline' change in gcc 4.3.0.
5497         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
5498         argp_fmtstream_write, argp_fmtstream_set_lmargin,
5499         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
5500         argp_fmtstream_point): Disable 'extern' declaration if the function
5501         definition is going to be provided inline.
5502         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
5503         semantics, not the ISO C99 inline semantics.
5504         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
5505         'extern' declaration if the function definition is going to be provided
5506         inline.
5507         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
5508         the GNU C inline semantics, not the ISO C99 inline semantics. With
5509         GCC 4.2, avoid a warning.
5510
5511 2007-10-13  Bruno Haible  <bruno@clisp.org>
5512
5513         * lib/freading.h (freading): Enable the use of __freading for
5514         glibc >= 2.7.
5515         * lib/freading.c (freading): Likewise.
5516
5517 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5518
5519         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
5520         "warning: C99 inline functions are not supported; using GNU89".
5521
5522 2007-10-12  Bruno Haible  <bruno@clisp.org>
5523
5524         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
5525         of 2.
5526         * tests/test-ceilf2.c: New file.
5527         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
5528
5529         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
5530         * modules/ceilf-tests: Update.
5531
5532 2007-10-12  Bruno Haible  <bruno@clisp.org>
5533
5534         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
5535         of 2.
5536         * tests/test-floorf2.c: New file.
5537         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
5538
5539         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
5540         * modules/floorf-tests: Update.
5541
5542 2007-10-12  Bruno Haible  <bruno@clisp.org>
5543
5544         * tests/test-trunc2.c: New file.
5545         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
5546
5547         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
5548         * modules/trunc-tests: Update.
5549
5550 2007-10-12  Bruno Haible  <bruno@clisp.org>
5551
5552         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
5553         of 2.
5554         * tests/test-truncf2.c: New file.
5555         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
5556
5557         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
5558         * modules/truncf-tests: Update.
5559
5560 2007-10-11  Eric Blake  <ebb9@byu.net>
5561
5562         Don't claim strerror is broken on Interix.
5563         * doc/functions/strerror.texi (strerror): Known broken systems are
5564         now Solaris 8, and not Interix.
5565         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
5566         Interix on cross-compile.
5567         Reported by Martin Koeppe in
5568         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
5569
5570 2007-10-11  Bruno Haible  <bruno@clisp.org>
5571
5572         * modules/i-ring-tests: New file.
5573         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
5574         instead of assert.
5575
5576 2007-10-11  Bruno Haible  <bruno@clisp.org>
5577
5578         * modules/filenamecat-tests: New file.
5579         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
5580         * lib/filenamecat.c: Remove test code.
5581
5582 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5583
5584         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
5585
5586         * lib/strerror.c: Include <string.h> always, to test interface,
5587         and to remove the need for the dummy.
5588         Include intprops.h to compute width instead of doing it ourselves
5589         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
5590         (strerror): Define it to return NULL if there's no system strerror.
5591         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
5592         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
5593         ancient pre-strerror Unix systems well any more.  Saying "unknown
5594         system error" is enough.
5595         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
5596         simpler strerror.c implementation.
5597         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
5598         Simplify the tests to reflect the simpler strerror implementation.
5599         * modules/strerror (Depends-on): Add intprops.
5600
5601 2007-10-09  Eric Blake  <ebb9@byu.net>
5602
5603         Silence test-fpending.
5604         * modules/fpending-tests (Files): Add wrapper script.
5605         * tests/test-fpending.sh: New file.
5606
5607 2007-10-09  Bruno Haible  <bruno@clisp.org>
5608
5609         * MODULES.html.sh (func_module): Don't create a hyperlink for
5610         function names like 'printf_frexp'.
5611         (Misc): Add crc, memxor.
5612         (Characteristics of floating types): New section.
5613         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
5614         isnanf-nolibm, signbit, trunc, truncf, truncl.
5615         (Enhancements for ISO C 99 functions): New subsection Input/output.
5616         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
5617         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
5618         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
5619         (Compatibility checks for POSIX:2001 functions): Add clock-time.
5620         (Enhancements for POSIX:2001 functions): Add chdir-long.
5621         (File system functions): Add areadlink, chdir-safer, read-file.
5622         Remove cycle-check.
5623         (File system as inode set): New section.
5624         (Date and time): Add gethrxtime.
5625         (Multithreading): Add openmp.
5626         (Internationalization functions): Add localename.
5627         (Unicode string functions): Add unistr/u*-mbsnlen.
5628         (Support for maintaining and releasing projects): Add git-version-gen.
5629         (Lone files): Remove directories.
5630
5631 2007-10-08  Ben Pfaff  <blp@gnu.org>
5632
5633         * lib/xmalloca.h: Fix typo in comment.
5634
5635 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5636
5637         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
5638         when avoiding problems with integer overflow.  Use a portable test
5639         instead.
5640
5641 2007-10-08  Simon Josefsson  <simon@josefsson.org>
5642
5643         * modules/dummy (License): Change to LGPLv2+.
5644         * modules/float (License): Likewise
5645         * modules/realloc (License): Likewise
5646         * modules/stdlib (License): Likewise
5647
5648 2007-10-07  Bruno Haible  <bruno@clisp.org>
5649
5650         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
5651         * floor.c (TWO_MANT_DIG): Likewise.
5652         * ceil.c (TWO_MANT_DIG): Likewise.
5653         Reported by Ben Pfaff.
5654
5655 2007-10-07  Bruno Haible  <bruno@clisp.org>
5656
5657         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
5658         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
5659         * lib/frexp.c (FUNC): Likewise.
5660         * lib/printf-frexp.h (printf_frexp): Likewise.
5661         * lib/printf-frexpl.h (printf_frexpl): Likewise.
5662         * lib/printf-frexp.c (FUNC): Likewise.
5663         Suggested by Jim Meyering.
5664
5665 2007-10-07  Jim Meyering  <meyering@redhat.com>
5666
5667         Make xnanosleep's integer overflow test more robust.
5668         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
5669         so that gcc-4.3.0 doesn't optimize away this test for overflow.
5670
5671 2007-10-07  Bruno Haible  <bruno@clisp.org>
5672
5673         * NEWS: Mention the license change.
5674
5675         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
5676         abbreviations in the modules files.
5677
5678         Change copyright notice from GPLv2+ to GPLv3+.
5679         * README: Change copyright notice.
5680         * MODULES.html.sh: Likewise.
5681         * build-aux/bootstrap.conf: Likewise.
5682         * build-aux/config.libpath: Likewise.
5683         * build-aux/csharpcomp.sh.in: Likewise.
5684         * build-aux/csharpexec.sh.in: Likewise.
5685         * build-aux/install-reloc: Likewise.
5686         * build-aux/javacomp.sh.in: Likewise.
5687         * build-aux/javaexec.sh.in: Likewise.
5688         * build-aux/ldd.sh.in: Likewise.
5689         * build-aux/reloc-ldflags: Likewise.
5690         * build-aux/relocatable.sh.in: Likewise.
5691         * build-aux/x-to-1.in: Likewise.
5692         * check-module: Likewise.
5693         * config/srclistvars.sh: Likewise.
5694         * gnulib-tool: Likewise.
5695         * lib/acl-internal.h: Likewise.
5696         * lib/acl.c: Likewise.
5697         * lib/acl.h: Likewise.
5698         * lib/acl_entries.c: Likewise.
5699         * lib/areadlink-with-size.c: Likewise.
5700         * lib/areadlink.c: Likewise.
5701         * lib/areadlink.h: Likewise.
5702         * lib/argmatch.c: Likewise.
5703         * lib/argmatch.h: Likewise.
5704         * lib/argp-ba.c: Likewise.
5705         * lib/argp-eexst.c: Likewise.
5706         * lib/argp-fmtstream.c: Likewise.
5707         * lib/argp-fmtstream.h: Likewise.
5708         * lib/argp-fs-xinl.c: Likewise.
5709         * lib/argp-help.c: Likewise.
5710         * lib/argp-namefrob.h: Likewise.
5711         * lib/argp-parse.c: Likewise.
5712         * lib/argp-pin.c: Likewise.
5713         * lib/argp-pv.c: Likewise.
5714         * lib/argp-pvh.c: Likewise.
5715         * lib/argp-xinl.c: Likewise.
5716         * lib/argp.h: Likewise.
5717         * lib/at-func.c: Likewise.
5718         * lib/atanl.c: Likewise.
5719         * lib/backupfile.c: Likewise.
5720         * lib/backupfile.h: Likewise.
5721         * lib/basename.c: Likewise.
5722         * lib/binary-io.h: Likewise.
5723         * lib/byteswap.in.h: Likewise.
5724         * lib/c-stack.c: Likewise.
5725         * lib/c-stack.h: Likewise.
5726         * lib/c-strcasestr.c: Likewise.
5727         * lib/c-strcasestr.h: Likewise.
5728         * lib/c-strstr.c: Likewise.
5729         * lib/c-strstr.h: Likewise.
5730         * lib/c-strtod.c: Likewise.
5731         * lib/calloc.c: Likewise.
5732         * lib/canon-host.c: Likewise.
5733         * lib/canon-host.h: Likewise.
5734         * lib/canonicalize-lgpl.c: Likewise.
5735         * lib/canonicalize.c: Likewise.
5736         * lib/canonicalize.h: Likewise.
5737         * lib/ceil.c: Likewise.
5738         * lib/ceilf.c: Likewise.
5739         * lib/ceill.c: Likewise.
5740         * lib/chdir-long.c: Likewise.
5741         * lib/chdir-long.h: Likewise.
5742         * lib/chdir-safer.c: Likewise.
5743         * lib/chdir-safer.h: Likewise.
5744         * lib/chown.c: Likewise.
5745         * lib/classpath.c: Likewise.
5746         * lib/classpath.h: Likewise.
5747         * lib/clean-temp.c: Likewise.
5748         * lib/clean-temp.h: Likewise.
5749         * lib/cloexec.c: Likewise.
5750         * lib/close-stream.c: Likewise.
5751         * lib/closein.c: Likewise.
5752         * lib/closein.h: Likewise.
5753         * lib/closeout.c: Likewise.
5754         * lib/closeout.h: Likewise.
5755         * lib/concat-filename.c: Likewise.
5756         * lib/copy-file.c: Likewise.
5757         * lib/copy-file.h: Likewise.
5758         * lib/count-one-bits.h: Likewise.
5759         * lib/crc.c: Likewise.
5760         * lib/crc.h: Likewise.
5761         * lib/creat-safer.c: Likewise.
5762         * lib/csharpcomp.c: Likewise.
5763         * lib/csharpcomp.h: Likewise.
5764         * lib/csharpexec.c: Likewise.
5765         * lib/csharpexec.h: Likewise.
5766         * lib/cycle-check.c: Likewise.
5767         * lib/cycle-check.h: Likewise.
5768         * lib/diacrit.c: Likewise.
5769         * lib/diacrit.h: Likewise.
5770         * lib/diffseq.h: Likewise.
5771         * lib/dirchownmod.c: Likewise.
5772         * lib/dirent.in.h: Likewise.
5773         * lib/dirfd.c: Likewise.
5774         * lib/dirfd.h: Likewise.
5775         * lib/dirname.c: Likewise.
5776         * lib/dirname.h: Likewise.
5777         * lib/dummy.c: Likewise.
5778         * lib/dup-safer.c: Likewise.
5779         * lib/dup2.c: Likewise.
5780         * lib/eealloc.h: Likewise.
5781         * lib/error.c: Likewise.
5782         * lib/error.h: Likewise.
5783         * lib/euidaccess.c: Likewise.
5784         * lib/exclude.c: Likewise.
5785         * lib/exclude.h: Likewise.
5786         * lib/execute.c: Likewise.
5787         * lib/execute.h: Likewise.
5788         * lib/exitfail.c: Likewise.
5789         * lib/exitfail.h: Likewise.
5790         * lib/expl.c: Likewise.
5791         * lib/fatal-signal.c: Likewise.
5792         * lib/fatal-signal.h: Likewise.
5793         * lib/fbufmode.c: Likewise.
5794         * lib/fbufmode.h: Likewise.
5795         * lib/fchdir.c: Likewise.
5796         * lib/fchmodat.c: Likewise.
5797         * lib/fchownat.c: Likewise.
5798         * lib/fcntl--.h: Likewise.
5799         * lib/fcntl-safer.h: Likewise.
5800         * lib/fcntl.in.h: Likewise.
5801         * lib/fd-safer.c: Likewise.
5802         * lib/fflush.c: Likewise.
5803         * lib/file-has-acl.c: Likewise.
5804         * lib/file-set.c: Likewise.
5805         * lib/file-type.c: Likewise.
5806         * lib/file-type.h: Likewise.
5807         * lib/fileblocks.c: Likewise.
5808         * lib/filemode.c: Likewise.
5809         * lib/filemode.h: Likewise.
5810         * lib/filename.h: Likewise.
5811         * lib/filenamecat.c: Likewise.
5812         * lib/filenamecat.h: Likewise.
5813         * lib/findprog.c: Likewise.
5814         * lib/findprog.h: Likewise.
5815         * lib/float.in.h: Likewise.
5816         * lib/floor.c: Likewise.
5817         * lib/floorf.c: Likewise.
5818         * lib/floorl.c: Likewise.
5819         * lib/fopen-safer.c: Likewise.
5820         * lib/fopen.c: Likewise.
5821         * lib/fpending.c: Likewise.
5822         * lib/fpending.h: Likewise.
5823         * lib/fprintf.c: Likewise.
5824         * lib/fprintftime.h: Likewise.
5825         * lib/fpucw.h: Likewise.
5826         * lib/fpurge.c: Likewise.
5827         * lib/fpurge.h: Likewise.
5828         * lib/freadable.c: Likewise.
5829         * lib/freadable.h: Likewise.
5830         * lib/freadahead.c: Likewise.
5831         * lib/freadahead.h: Likewise.
5832         * lib/freading.c: Likewise.
5833         * lib/freading.h: Likewise.
5834         * lib/free.c: Likewise.
5835         * lib/freopen.c: Likewise.
5836         * lib/frexp.c: Likewise.
5837         * lib/frexpl.c: Likewise.
5838         * lib/fseek.c: Likewise.
5839         * lib/fseterr.c: Likewise.
5840         * lib/fseterr.h: Likewise.
5841         * lib/fstatat.c: Likewise.
5842         * lib/fstrcmp.c: Likewise.
5843         * lib/fstrcmp.h: Likewise.
5844         * lib/fsusage.c: Likewise.
5845         * lib/fsusage.h: Likewise.
5846         * lib/ftell.c: Likewise.
5847         * lib/ftello.c: Likewise.
5848         * lib/fts-cycle.c: Likewise.
5849         * lib/fts.c: Likewise.
5850         * lib/fts_.h: Likewise.
5851         * lib/full-read.c: Likewise.
5852         * lib/full-read.h: Likewise.
5853         * lib/full-write.c: Likewise.
5854         * lib/full-write.h: Likewise.
5855         * lib/fwritable.c: Likewise.
5856         * lib/fwritable.h: Likewise.
5857         * lib/fwriteerror.c: Likewise.
5858         * lib/fwriteerror.h: Likewise.
5859         * lib/fwriting.c: Likewise.
5860         * lib/fwriting.h: Likewise.
5861         * lib/gcd.c: Likewise.
5862         * lib/gcd.h: Likewise.
5863         * lib/getcwd.c: Likewise.
5864         * lib/getdate.h: Likewise.
5865         * lib/getdate.y: Likewise.
5866         * lib/getdomainname.c: Likewise.
5867         * lib/getdomainname.h: Likewise.
5868         * lib/getgroups.c: Likewise.
5869         * lib/gethostname.c: Likewise.
5870         * lib/gethrxtime.c: Likewise.
5871         * lib/gethrxtime.h: Likewise.
5872         * lib/getloadavg.c: Likewise.
5873         * lib/getndelim2.c: Likewise.
5874         * lib/getndelim2.h: Likewise.
5875         * lib/getnline.c: Likewise.
5876         * lib/getnline.h: Likewise.
5877         * lib/getopt.c: Likewise.
5878         * lib/getopt.in.h: Likewise.
5879         * lib/getopt1.c: Likewise.
5880         * lib/getopt_int.h: Likewise.
5881         * lib/getpagesize.h: Likewise.
5882         * lib/getsubopt.c: Likewise.
5883         * lib/gettime.c: Likewise.
5884         * lib/getugroups.c: Likewise.
5885         * lib/getugroups.h: Likewise.
5886         * lib/getusershell.c: Likewise.
5887         * lib/gl_anyavltree_list1.h: Likewise.
5888         * lib/gl_anyavltree_list2.h: Likewise.
5889         * lib/gl_anyhash_list1.h: Likewise.
5890         * lib/gl_anyhash_list2.h: Likewise.
5891         * lib/gl_anylinked_list1.h: Likewise.
5892         * lib/gl_anylinked_list2.h: Likewise.
5893         * lib/gl_anyrbtree_list1.h: Likewise.
5894         * lib/gl_anyrbtree_list2.h: Likewise.
5895         * lib/gl_anytree_list1.h: Likewise.
5896         * lib/gl_anytree_list2.h: Likewise.
5897         * lib/gl_anytree_oset.h: Likewise.
5898         * lib/gl_anytreehash_list1.h: Likewise.
5899         * lib/gl_anytreehash_list2.h: Likewise.
5900         * lib/gl_array_list.c: Likewise.
5901         * lib/gl_array_list.h: Likewise.
5902         * lib/gl_array_oset.c: Likewise.
5903         * lib/gl_array_oset.h: Likewise.
5904         * lib/gl_avltree_list.c: Likewise.
5905         * lib/gl_avltree_list.h: Likewise.
5906         * lib/gl_avltree_oset.c: Likewise.
5907         * lib/gl_avltree_oset.h: Likewise.
5908         * lib/gl_avltreehash_list.c: Likewise.
5909         * lib/gl_avltreehash_list.h: Likewise.
5910         * lib/gl_carray_list.c: Likewise.
5911         * lib/gl_carray_list.h: Likewise.
5912         * lib/gl_linked_list.c: Likewise.
5913         * lib/gl_linked_list.h: Likewise.
5914         * lib/gl_linkedhash_list.c: Likewise.
5915         * lib/gl_linkedhash_list.h: Likewise.
5916         * lib/gl_list.c: Likewise.
5917         * lib/gl_list.h: Likewise.
5918         * lib/gl_oset.c: Likewise.
5919         * lib/gl_oset.h: Likewise.
5920         * lib/gl_rbtree_list.c: Likewise.
5921         * lib/gl_rbtree_list.h: Likewise.
5922         * lib/gl_rbtree_oset.c: Likewise.
5923         * lib/gl_rbtree_oset.h: Likewise.
5924         * lib/gl_rbtreehash_list.c: Likewise.
5925         * lib/gl_rbtreehash_list.h: Likewise.
5926         * lib/gl_sublist.c: Likewise.
5927         * lib/gl_sublist.h: Likewise.
5928         * lib/group-member.c: Likewise.
5929         * lib/group-member.h: Likewise.
5930         * lib/hard-locale.c: Likewise.
5931         * lib/hard-locale.h: Likewise.
5932         * lib/hash-pjw.c: Likewise.
5933         * lib/hash-pjw.h: Likewise.
5934         * lib/hash-triple.c: Likewise.
5935         * lib/hash.c: Likewise.
5936         * lib/hash.h: Likewise.
5937         * lib/human.c: Likewise.
5938         * lib/human.h: Likewise.
5939         * lib/i-ring.c: Likewise.
5940         * lib/i-ring.h: Likewise.
5941         * lib/idcache.c: Likewise.
5942         * lib/imaxabs.c: Likewise.
5943         * lib/imaxdiv.c: Likewise.
5944         * lib/inet_pton.c: Likewise.
5945         * lib/inet_pton.h: Likewise.
5946         * lib/intprops.h: Likewise.
5947         * lib/inttostr.c: Likewise.
5948         * lib/inttostr.h: Likewise.
5949         * lib/inttypes.in.h: Likewise.
5950         * lib/isapipe.c: Likewise.
5951         * lib/isdir.c: Likewise.
5952         * lib/isnan.c: Likewise.
5953         * lib/isnan.h: Likewise.
5954         * lib/isnanf.c: Likewise.
5955         * lib/isnanf.h: Likewise.
5956         * lib/isnanl-nolibm.h: Likewise.
5957         * lib/isnanl.c: Likewise.
5958         * lib/isnanl.h: Likewise.
5959         * lib/javacomp.c: Likewise.
5960         * lib/javacomp.h: Likewise.
5961         * lib/javaexec.c: Likewise.
5962         * lib/javaexec.h: Likewise.
5963         * lib/javaversion.c: Likewise.
5964         * lib/javaversion.h: Likewise.
5965         * lib/javaversion.java: Likewise.
5966         * lib/lbrkprop.h: Likewise.
5967         * lib/lchmod.h: Likewise.
5968         * lib/lchown.c: Likewise.
5969         * lib/ldexpl.c: Likewise.
5970         * lib/linebreak.c: Likewise.
5971         * lib/linebreak.h: Likewise.
5972         * lib/linebuffer.c: Likewise.
5973         * lib/linebuffer.h: Likewise.
5974         * lib/locale.in.h: Likewise.
5975         * lib/logl.c: Likewise.
5976         * lib/long-options.c: Likewise.
5977         * lib/long-options.h: Likewise.
5978         * lib/lstat.c: Likewise.
5979         * lib/lstat.h: Likewise.
5980         * lib/math.in.h: Likewise.
5981         * lib/mbchar.c: Likewise.
5982         * lib/mbchar.h: Likewise.
5983         * lib/mbfile.h: Likewise.
5984         * lib/mbiter.h: Likewise.
5985         * lib/mbscasecmp.c: Likewise.
5986         * lib/mbscasestr.c: Likewise.
5987         * lib/mbschr.c: Likewise.
5988         * lib/mbscspn.c: Likewise.
5989         * lib/mbslen.c: Likewise.
5990         * lib/mbsncasecmp.c: Likewise.
5991         * lib/mbsnlen.c: Likewise.
5992         * lib/mbspbrk.c: Likewise.
5993         * lib/mbspcasecmp.c: Likewise.
5994         * lib/mbsrchr.c: Likewise.
5995         * lib/mbssep.c: Likewise.
5996         * lib/mbsspn.c: Likewise.
5997         * lib/mbsstr.c: Likewise.
5998         * lib/mbstok_r.c: Likewise.
5999         * lib/mbswidth.c: Likewise.
6000         * lib/mbswidth.h: Likewise.
6001         * lib/mbuiter.h: Likewise.
6002         * lib/memcasecmp.c: Likewise.
6003         * lib/memcasecmp.h: Likewise.
6004         * lib/memchr.c: Likewise.
6005         * lib/memcmp.c: Likewise.
6006         * lib/memcoll.c: Likewise.
6007         * lib/memcoll.h: Likewise.
6008         * lib/memcpy.c: Likewise.
6009         * lib/memrchr.c: Likewise.
6010         * lib/mkancesdirs.c: Likewise.
6011         * lib/mkdir-p.c: Likewise.
6012         * lib/mkdir-p.h: Likewise.
6013         * lib/mkdir.c: Likewise.
6014         * lib/mkdirat.c: Likewise.
6015         * lib/mkdtemp.c: Likewise.
6016         * lib/mkstemp-safer.c: Likewise.
6017         * lib/mkstemp.c: Likewise.
6018         * lib/modechange.c: Likewise.
6019         * lib/modechange.h: Likewise.
6020         * lib/mountlist.c: Likewise.
6021         * lib/mountlist.h: Likewise.
6022         * lib/mpsort.c: Likewise.
6023         * lib/nanosleep.c: Likewise.
6024         * lib/obstack.c: Likewise.
6025         * lib/obstack.h: Likewise.
6026         * lib/open-safer.c: Likewise.
6027         * lib/open.c: Likewise.
6028         * lib/openat-die.c: Likewise.
6029         * lib/openat-priv.h: Likewise.
6030         * lib/openat-proc.c: Likewise.
6031         * lib/openat.c: Likewise.
6032         * lib/openat.h: Likewise.
6033         * lib/pagealign_alloc.c: Likewise.
6034         * lib/pagealign_alloc.h: Likewise.
6035         * lib/physmem.c: Likewise.
6036         * lib/physmem.h: Likewise.
6037         * lib/pipe-safer.c: Likewise.
6038         * lib/pipe.c: Likewise.
6039         * lib/pipe.h: Likewise.
6040         * lib/posixtm.c: Likewise.
6041         * lib/posixtm.h: Likewise.
6042         * lib/posixver.c: Likewise.
6043         * lib/printf-frexp.c: Likewise.
6044         * lib/printf-frexp.h: Likewise.
6045         * lib/printf-frexpl.c: Likewise.
6046         * lib/printf-frexpl.h: Likewise.
6047         * lib/printf.c: Likewise.
6048         * lib/progname.c: Likewise.
6049         * lib/progname.h: Likewise.
6050         * lib/progreloc.c: Likewise.
6051         * lib/putenv.c: Likewise.
6052         * lib/quote.c: Likewise.
6053         * lib/quote.h: Likewise.
6054         * lib/quotearg.c: Likewise.
6055         * lib/quotearg.h: Likewise.
6056         * lib/raise.c: Likewise.
6057         * lib/readline.c: Likewise.
6058         * lib/readline.h: Likewise.
6059         * lib/readlink.c: Likewise.
6060         * lib/readtokens.c: Likewise.
6061         * lib/readtokens.h: Likewise.
6062         * lib/readtokens0.c: Likewise.
6063         * lib/readtokens0.h: Likewise.
6064         * lib/readutmp.c: Likewise.
6065         * lib/readutmp.h: Likewise.
6066         * lib/realloc.c: Likewise.
6067         * lib/relocwrapper.c: Likewise.
6068         * lib/rename-dest-slash.c: Likewise.
6069         * lib/rename.c: Likewise.
6070         * lib/rmdir.c: Likewise.
6071         * lib/rpmatch.c: Likewise.
6072         * lib/safe-read.c: Likewise.
6073         * lib/safe-read.h: Likewise.
6074         * lib/safe-write.c: Likewise.
6075         * lib/safe-write.h: Likewise.
6076         * lib/same-inode.h: Likewise.
6077         * lib/same.c: Likewise.
6078         * lib/same.h: Likewise.
6079         * lib/save-cwd.c: Likewise.
6080         * lib/save-cwd.h: Likewise.
6081         * lib/savedir.c: Likewise.
6082         * lib/savedir.h: Likewise.
6083         * lib/savewd.c: Likewise.
6084         * lib/savewd.h: Likewise.
6085         * lib/search.in.h: Likewise.
6086         * lib/setenv.c: Likewise.
6087         * lib/setenv.h: Likewise.
6088         * lib/settime.c: Likewise.
6089         * lib/sh-quote.c: Likewise.
6090         * lib/sh-quote.h: Likewise.
6091         * lib/sig2str.c: Likewise.
6092         * lib/sig2str.h: Likewise.
6093         * lib/signal.in.h: Likewise.
6094         * lib/signbitd.c: Likewise.
6095         * lib/signbitf.c: Likewise.
6096         * lib/signbitl.c: Likewise.
6097         * lib/sigprocmask.c: Likewise.
6098         * lib/sincosl.c: Likewise.
6099         * lib/sleep.c: Likewise.
6100         * lib/sprintf.c: Likewise.
6101         * lib/sqrtl.c: Likewise.
6102         * lib/stat-time.h: Likewise.
6103         * lib/stdio--.h: Likewise.
6104         * lib/stdio-safer.h: Likewise.
6105         * lib/stdlib--.h: Likewise.
6106         * lib/stdlib-safer.h: Likewise.
6107         * lib/stdlib.in.h: Likewise.
6108         * lib/stpcpy.c: Likewise.
6109         * lib/stpncpy.c: Likewise.
6110         * lib/strchrnul.c: Likewise.
6111         * lib/strcspn.c: Likewise.
6112         * lib/strerror.c: Likewise.
6113         * lib/strftime.c: Likewise.
6114         * lib/strftime.h: Likewise.
6115         * lib/striconveh.c: Likewise.
6116         * lib/striconveh.h: Likewise.
6117         * lib/striconveha.c: Likewise.
6118         * lib/striconveha.h: Likewise.
6119         * lib/stripslash.c: Likewise.
6120         * lib/strnlen1.c: Likewise.
6121         * lib/strnlen1.h: Likewise.
6122         * lib/strtod.c: Likewise.
6123         * lib/strtoimax.c: Likewise.
6124         * lib/strtok_r.c: Likewise.
6125         * lib/strtol.c: Likewise.
6126         * lib/strtoll.c: Likewise.
6127         * lib/strtoul.c: Likewise.
6128         * lib/strtoull.c: Likewise.
6129         * lib/sysexits.in.h: Likewise.
6130         * lib/tempname.c: Likewise.
6131         * lib/tempname.h: Likewise.
6132         * lib/timespec.h: Likewise.
6133         * lib/tls.c: Likewise.
6134         * lib/tls.h: Likewise.
6135         * lib/tmpdir.c: Likewise.
6136         * lib/tmpdir.h: Likewise.
6137         * lib/tmpfile-safer.c: Likewise.
6138         * lib/tmpfile.c: Likewise.
6139         * lib/trigl.c: Likewise.
6140         * lib/trigl.h: Likewise.
6141         * lib/trim.c: Likewise.
6142         * lib/trim.h: Likewise.
6143         * lib/trunc.c: Likewise.
6144         * lib/truncf.c: Likewise.
6145         * lib/truncl.c: Likewise.
6146         * lib/tsearch.c: Likewise.
6147         * lib/unicodeio.c: Likewise.
6148         * lib/unicodeio.h: Likewise.
6149         * lib/unistd--.h: Likewise.
6150         * lib/unistd-safer.h: Likewise.
6151         * lib/unistdio/ulc-fprintf.c: Likewise.
6152         * lib/unistdio/ulc-vfprintf.c: Likewise.
6153         * lib/unlinkdir.c: Likewise.
6154         * lib/unlinkdir.h: Likewise.
6155         * lib/unlocked-io.h: Likewise.
6156         * lib/unsetenv.c: Likewise.
6157         * lib/userspec.c: Likewise.
6158         * lib/utime.c: Likewise.
6159         * lib/utimecmp.c: Likewise.
6160         * lib/utimecmp.h: Likewise.
6161         * lib/utimens.c: Likewise.
6162         * lib/verify.h: Likewise.
6163         * lib/verror.c: Likewise.
6164         * lib/verror.h: Likewise.
6165         * lib/version-etc-fsf.c: Likewise.
6166         * lib/version-etc.c: Likewise.
6167         * lib/version-etc.h: Likewise.
6168         * lib/vfprintf.c: Likewise.
6169         * lib/vprintf.c: Likewise.
6170         * lib/vsprintf.c: Likewise.
6171         * lib/w32spawn.h: Likewise.
6172         * lib/wait-process.c: Likewise.
6173         * lib/wait-process.h: Likewise.
6174         * lib/wcwidth.c: Likewise.
6175         * lib/write-any-file.c: Likewise.
6176         * lib/xalloc-die.c: Likewise.
6177         * lib/xalloc.h: Likewise.
6178         * lib/xasprintf.c: Likewise.
6179         * lib/xgetcwd.c: Likewise.
6180         * lib/xgetcwd.h: Likewise.
6181         * lib/xgetdomainname.c: Likewise.
6182         * lib/xgetdomainname.h: Likewise.
6183         * lib/xgethostname.c: Likewise.
6184         * lib/xmalloc.c: Likewise.
6185         * lib/xmalloca.c: Likewise.
6186         * lib/xmalloca.h: Likewise.
6187         * lib/xmemcoll.c: Likewise.
6188         * lib/xnanosleep.c: Likewise.
6189         * lib/xreadlink.c: Likewise.
6190         * lib/xreadlink.h: Likewise.
6191         * lib/xsetenv.c: Likewise.
6192         * lib/xsetenv.h: Likewise.
6193         * lib/xstriconv.c: Likewise.
6194         * lib/xstriconv.h: Likewise.
6195         * lib/xstrndup.c: Likewise.
6196         * lib/xstrndup.h: Likewise.
6197         * lib/xstrtod.c: Likewise.
6198         * lib/xstrtod.h: Likewise.
6199         * lib/xstrtol-error.c: Likewise.
6200         * lib/xstrtol.c: Likewise.
6201         * lib/xstrtol.h: Likewise.
6202         * lib/xtime.h: Likewise.
6203         * lib/xvasprintf.c: Likewise.
6204         * lib/xvasprintf.h: Likewise.
6205         * lib/yesno.c: Likewise.
6206         * lib/yesno.h: Likewise.
6207         * posix-modules: Likewise.
6208         * tests/test-alloca-opt.c: Likewise.
6209         * tests/test-arcfour.c: Likewise.
6210         * tests/test-arctwo.c: Likewise.
6211         * tests/test-argmatch.c: Likewise.
6212         * tests/test-argp-2.sh: Likewise.
6213         * tests/test-argp.c: Likewise.
6214         * tests/test-arpa_inet.c: Likewise.
6215         * tests/test-array_list.c: Likewise.
6216         * tests/test-array_oset.c: Likewise.
6217         * tests/test-atexit.c: Likewise.
6218         * tests/test-avltree_list.c: Likewise.
6219         * tests/test-avltree_oset.c: Likewise.
6220         * tests/test-avltreehash_list.c: Likewise.
6221         * tests/test-base64.c: Likewise.
6222         * tests/test-binary-io.c: Likewise.
6223         * tests/test-byteswap.c: Likewise.
6224         * tests/test-c-ctype.c: Likewise.
6225         * tests/test-c-strcasecmp.c: Likewise.
6226         * tests/test-c-strcasestr.c: Likewise.
6227         * tests/test-c-strncasecmp.c: Likewise.
6228         * tests/test-c-strstr.c: Likewise.
6229         * tests/test-canonicalize-lgpl.c: Likewise.
6230         * tests/test-canonicalize.c: Likewise.
6231         * tests/test-carray_list.c: Likewise.
6232         * tests/test-ceilf.c: Likewise.
6233         * tests/test-ceill.c: Likewise.
6234         * tests/test-count-one-bits.c: Likewise.
6235         * tests/test-crc.c: Likewise.
6236         * tests/test-dirname.c: Likewise.
6237         * tests/test-fbufmode.c: Likewise.
6238         * tests/test-fcntl.c: Likewise.
6239         * tests/test-fflush.c: Likewise.
6240         * tests/test-floorf.c: Likewise.
6241         * tests/test-floorl.c: Likewise.
6242         * tests/test-fopen.c: Likewise.
6243         * tests/test-fprintf-posix.c: Likewise.
6244         * tests/test-fprintf-posix.h: Likewise.
6245         * tests/test-fpurge.c: Likewise.
6246         * tests/test-freadable.c: Likewise.
6247         * tests/test-freadahead.c: Likewise.
6248         * tests/test-freading.c: Likewise.
6249         * tests/test-freopen.c: Likewise.
6250         * tests/test-frexp.c: Likewise.
6251         * tests/test-frexpl.c: Likewise.
6252         * tests/test-fseek.c: Likewise.
6253         * tests/test-fseeko.c: Likewise.
6254         * tests/test-fseterr.c: Likewise.
6255         * tests/test-fstrcmp.c: Likewise.
6256         * tests/test-ftell.c: Likewise.
6257         * tests/test-ftello.c: Likewise.
6258         * tests/test-fwritable.c: Likewise.
6259         * tests/test-fwriting.c: Likewise.
6260         * tests/test-getaddrinfo.c: Likewise.
6261         * tests/test-getpass.c: Likewise.
6262         * tests/test-gettimeofday.c: Likewise.
6263         * tests/test-hmac-md5.c: Likewise.
6264         * tests/test-hmac-sha1.c: Likewise.
6265         * tests/test-iconv.c: Likewise.
6266         * tests/test-iconvme.c: Likewise.
6267         * tests/test-inttypes.c: Likewise.
6268         * tests/test-isnan.c: Likewise.
6269         * tests/test-isnanf.c: Likewise.
6270         * tests/test-isnanl-nolibm.c: Likewise.
6271         * tests/test-isnanl.c: Likewise.
6272         * tests/test-isnanl.h: Likewise.
6273         * tests/test-ldexpl.c: Likewise.
6274         * tests/test-linked_list.c: Likewise.
6275         * tests/test-linkedhash_list.c: Likewise.
6276         * tests/test-locale.c: Likewise.
6277         * tests/test-localename.c: Likewise.
6278         * tests/test-lock.c: Likewise.
6279         * tests/test-lseek.c: Likewise.
6280         * tests/test-malloca.c: Likewise.
6281         * tests/test-math.c: Likewise.
6282         * tests/test-mbscasecmp.c: Likewise.
6283         * tests/test-mbscasestr1.c: Likewise.
6284         * tests/test-mbscasestr2.c: Likewise.
6285         * tests/test-mbscasestr3.c: Likewise.
6286         * tests/test-mbscasestr4.c: Likewise.
6287         * tests/test-mbschr.c: Likewise.
6288         * tests/test-mbscspn.c: Likewise.
6289         * tests/test-mbsncasecmp.c: Likewise.
6290         * tests/test-mbspbrk.c: Likewise.
6291         * tests/test-mbspcasecmp.c: Likewise.
6292         * tests/test-mbsrchr.c: Likewise.
6293         * tests/test-mbsspn.c: Likewise.
6294         * tests/test-mbsstr1.c: Likewise.
6295         * tests/test-mbsstr2.c: Likewise.
6296         * tests/test-mbsstr3.c: Likewise.
6297         * tests/test-md5.c: Likewise.
6298         * tests/test-memmem.c: Likewise.
6299         * tests/test-netinet_in.c: Likewise.
6300         * tests/test-open.c: Likewise.
6301         * tests/test-printf-frexp.c: Likewise.
6302         * tests/test-printf-frexpl.c: Likewise.
6303         * tests/test-printf-posix.c: Likewise.
6304         * tests/test-printf-posix.h: Likewise.
6305         * tests/test-rbtree_list.c: Likewise.
6306         * tests/test-rbtree_oset.c: Likewise.
6307         * tests/test-rbtreehash_list.c: Likewise.
6308         * tests/test-read-file.c: Likewise.
6309         * tests/test-rijndael.c: Likewise.
6310         * tests/test-search.c: Likewise.
6311         * tests/test-signbit.c: Likewise.
6312         * tests/test-sleep.c: Likewise.
6313         * tests/test-snprintf-posix.c: Likewise.
6314         * tests/test-snprintf-posix.h: Likewise.
6315         * tests/test-snprintf.c: Likewise.
6316         * tests/test-sprintf-posix.c: Likewise.
6317         * tests/test-sprintf-posix.h: Likewise.
6318         * tests/test-stat-time.c: Likewise.
6319         * tests/test-stdbool.c: Likewise.
6320         * tests/test-stdint.c: Likewise.
6321         * tests/test-stdio.c: Likewise.
6322         * tests/test-stdlib.c: Likewise.
6323         * tests/test-stpncpy.c: Likewise.
6324         * tests/test-strcasestr.c: Likewise.
6325         * tests/test-striconv.c: Likewise.
6326         * tests/test-striconveh.c: Likewise.
6327         * tests/test-striconveha.c: Likewise.
6328         * tests/test-string.c: Likewise.
6329         * tests/test-sys_select.c: Likewise.
6330         * tests/test-sys_socket.c: Likewise.
6331         * tests/test-sys_stat.c: Likewise.
6332         * tests/test-sys_time.c: Likewise.
6333         * tests/test-sysexits.c: Likewise.
6334         * tests/test-time.c: Likewise.
6335         * tests/test-tls.c: Likewise.
6336         * tests/test-trunc.c: Likewise.
6337         * tests/test-truncf.c: Likewise.
6338         * tests/test-truncl.c: Likewise.
6339         * tests/test-unistd.c: Likewise.
6340         * tests/test-vasnprintf-posix.c: Likewise.
6341         * tests/test-vasnprintf-posix2.c: Likewise.
6342         * tests/test-vasnprintf.c: Likewise.
6343         * tests/test-vasprintf-posix.c: Likewise.
6344         * tests/test-vasprintf.c: Likewise.
6345         * tests/test-verify.c: Likewise.
6346         * tests/test-vfprintf-posix.c: Likewise.
6347         * tests/test-vprintf-posix.c: Likewise.
6348         * tests/test-vsnprintf-posix.c: Likewise.
6349         * tests/test-vsnprintf.c: Likewise.
6350         * tests/test-vsprintf-posix.c: Likewise.
6351         * tests/test-wchar.c: Likewise.
6352         * tests/test-wctype.c: Likewise.
6353         * tests/test-wcwidth.c: Likewise.
6354         * tests/test-xstrtol.c: Likewise.
6355         * tests/test-xvasprintf.c: Likewise.
6356         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6357         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6358         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6359         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6360         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6361         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6362         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6363         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6364         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6365         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6366         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6367         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6368         * tests/uniname/test-uninames.c: Likewise.
6369         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6370         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
6371         * tests/unistdio/test-u16-printf1.h: Likewise.
6372         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6373         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6374         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6375         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6376         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6377         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6378         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6379         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
6380         * tests/unistdio/test-u32-printf1.h: Likewise.
6381         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6382         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6383         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6384         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6385         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6386         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6387         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6388         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
6389         * tests/unistdio/test-u8-printf1.h: Likewise.
6390         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6391         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6392         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6393         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6394         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6395         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6396         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6397         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
6398         * tests/unistdio/test-ulc-printf1.h: Likewise.
6399         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6400         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6401         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6402         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6403         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6404         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6405         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6406         * tests/uniwidth/test-u16-width.c: Likewise.
6407         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6408         * tests/uniwidth/test-u32-width.c: Likewise.
6409         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6410         * tests/uniwidth/test-u8-width.c: Likewise.
6411         * tests/uniwidth/test-uc_width.c: Likewise.
6412         * config/srclist-update: Likewise.
6413         (fixlicense): Update to GPLv3+.
6414
6415         Change copyright notice from LGPLv2.1+ to LGPLv3+.
6416         * tests/test-tsearch.c: Change copyright notice.
6417
6418         Change copyright notice from LGPLv2.0+ to LGPLv3+.
6419         * lib/c-strcaseeq.h: Change copyright notice.
6420         * lib/streq.h: Likewise.
6421         * lib/uniconv.h: Likewise.
6422         * lib/uniconv/u-conv-from-enc.h: Likewise.
6423         * lib/uniconv/u-conv-to-enc.h: Likewise.
6424         * lib/uniconv/u-strconv-from-enc.h: Likewise.
6425         * lib/uniconv/u-strconv-to-enc.h: Likewise.
6426         * lib/uniconv/u16-conv-from-enc.c: Likewise.
6427         * lib/uniconv/u16-conv-to-enc.c: Likewise.
6428         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
6429         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
6430         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
6431         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
6432         * lib/uniconv/u32-conv-from-enc.c: Likewise.
6433         * lib/uniconv/u32-conv-to-enc.c: Likewise.
6434         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
6435         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
6436         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
6437         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
6438         * lib/uniconv/u8-conv-from-enc.c: Likewise.
6439         * lib/uniconv/u8-conv-to-enc.c: Likewise.
6440         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
6441         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
6442         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
6443         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
6444         * lib/uniname.h: Likewise.
6445         * lib/uniname/uniname.c: Likewise.
6446         * lib/unistdio.h: Likewise.
6447         * lib/unistdio/u-asnprintf.h: Likewise.
6448         * lib/unistdio/u-asprintf.h: Likewise.
6449         * lib/unistdio/u-printf-args.c: Likewise.
6450         * lib/unistdio/u-printf-args.h: Likewise.
6451         * lib/unistdio/u-printf-parse.h: Likewise.
6452         * lib/unistdio/u-snprintf.h: Likewise.
6453         * lib/unistdio/u-sprintf.h: Likewise.
6454         * lib/unistdio/u-vasprintf.h: Likewise.
6455         * lib/unistdio/u-vsnprintf.h: Likewise.
6456         * lib/unistdio/u-vsprintf.h: Likewise.
6457         * lib/unistdio/u16-asnprintf.c: Likewise.
6458         * lib/unistdio/u16-asprintf.c: Likewise.
6459         * lib/unistdio/u16-printf-parse.c: Likewise.
6460         * lib/unistdio/u16-snprintf.c: Likewise.
6461         * lib/unistdio/u16-sprintf.c: Likewise.
6462         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
6463         * lib/unistdio/u16-u16-asprintf.c: Likewise.
6464         * lib/unistdio/u16-u16-snprintf.c: Likewise.
6465         * lib/unistdio/u16-u16-sprintf.c: Likewise.
6466         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
6467         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
6468         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
6469         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
6470         * lib/unistdio/u16-vasnprintf.c: Likewise.
6471         * lib/unistdio/u16-vasprintf.c: Likewise.
6472         * lib/unistdio/u16-vsnprintf.c: Likewise.
6473         * lib/unistdio/u16-vsprintf.c: Likewise.
6474         * lib/unistdio/u32-asnprintf.c: Likewise.
6475         * lib/unistdio/u32-asprintf.c: Likewise.
6476         * lib/unistdio/u32-printf-parse.c: Likewise.
6477         * lib/unistdio/u32-snprintf.c: Likewise.
6478         * lib/unistdio/u32-sprintf.c: Likewise.
6479         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
6480         * lib/unistdio/u32-u32-asprintf.c: Likewise.
6481         * lib/unistdio/u32-u32-snprintf.c: Likewise.
6482         * lib/unistdio/u32-u32-sprintf.c: Likewise.
6483         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
6484         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
6485         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
6486         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
6487         * lib/unistdio/u32-vasnprintf.c: Likewise.
6488         * lib/unistdio/u32-vasprintf.c: Likewise.
6489         * lib/unistdio/u32-vsnprintf.c: Likewise.
6490         * lib/unistdio/u32-vsprintf.c: Likewise.
6491         * lib/unistdio/u8-asnprintf.c: Likewise.
6492         * lib/unistdio/u8-asprintf.c: Likewise.
6493         * lib/unistdio/u8-printf-parse.c: Likewise.
6494         * lib/unistdio/u8-snprintf.c: Likewise.
6495         * lib/unistdio/u8-sprintf.c: Likewise.
6496         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
6497         * lib/unistdio/u8-u8-asprintf.c: Likewise.
6498         * lib/unistdio/u8-u8-snprintf.c: Likewise.
6499         * lib/unistdio/u8-u8-sprintf.c: Likewise.
6500         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
6501         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
6502         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
6503         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
6504         * lib/unistdio/u8-vasnprintf.c: Likewise.
6505         * lib/unistdio/u8-vasprintf.c: Likewise.
6506         * lib/unistdio/u8-vsnprintf.c: Likewise.
6507         * lib/unistdio/u8-vsprintf.c: Likewise.
6508         * lib/unistdio/ulc-asnprintf.c: Likewise.
6509         * lib/unistdio/ulc-asprintf.c: Likewise.
6510         * lib/unistdio/ulc-printf-parse.c: Likewise.
6511         * lib/unistdio/ulc-snprintf.c: Likewise.
6512         * lib/unistdio/ulc-sprintf.c: Likewise.
6513         * lib/unistdio/ulc-vasnprintf.c: Likewise.
6514         * lib/unistdio/ulc-vasprintf.c: Likewise.
6515         * lib/unistdio/ulc-vsnprintf.c: Likewise.
6516         * lib/unistdio/ulc-vsprintf.c: Likewise.
6517         * lib/unistr.h: Likewise.
6518         * lib/unistr/u-cpy-alloc.h: Likewise.
6519         * lib/unistr/u-cpy.h: Likewise.
6520         * lib/unistr/u-endswith.h: Likewise.
6521         * lib/unistr/u-move.h: Likewise.
6522         * lib/unistr/u-set.h: Likewise.
6523         * lib/unistr/u-startswith.h: Likewise.
6524         * lib/unistr/u-stpcpy.h: Likewise.
6525         * lib/unistr/u-stpncpy.h: Likewise.
6526         * lib/unistr/u-strcat.h: Likewise.
6527         * lib/unistr/u-strcpy.h: Likewise.
6528         * lib/unistr/u-strcspn.h: Likewise.
6529         * lib/unistr/u-strdup.h: Likewise.
6530         * lib/unistr/u-strlen.h: Likewise.
6531         * lib/unistr/u-strncat.h: Likewise.
6532         * lib/unistr/u-strncpy.h: Likewise.
6533         * lib/unistr/u-strnlen.h: Likewise.
6534         * lib/unistr/u-strpbrk.h: Likewise.
6535         * lib/unistr/u-strspn.h: Likewise.
6536         * lib/unistr/u-strstr.h: Likewise.
6537         * lib/unistr/u-strtok.h: Likewise.
6538         * lib/unistr/u16-check.c: Likewise.
6539         * lib/unistr/u16-chr.c: Likewise.
6540         * lib/unistr/u16-cmp.c: Likewise.
6541         * lib/unistr/u16-cpy-alloc.c: Likewise.
6542         * lib/unistr/u16-cpy.c: Likewise.
6543         * lib/unistr/u16-endswith.c: Likewise.
6544         * lib/unistr/u16-mblen.c: Likewise.
6545         * lib/unistr/u16-mbsnlen.c: Likewise.
6546         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6547         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6548         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6549         * lib/unistr/u16-mbtouc.c: Likewise.
6550         * lib/unistr/u16-mbtoucr.c: Likewise.
6551         * lib/unistr/u16-move.c: Likewise.
6552         * lib/unistr/u16-next.c: Likewise.
6553         * lib/unistr/u16-prev.c: Likewise.
6554         * lib/unistr/u16-set.c: Likewise.
6555         * lib/unistr/u16-startswith.c: Likewise.
6556         * lib/unistr/u16-stpcpy.c: Likewise.
6557         * lib/unistr/u16-stpncpy.c: Likewise.
6558         * lib/unistr/u16-strcat.c: Likewise.
6559         * lib/unistr/u16-strchr.c: Likewise.
6560         * lib/unistr/u16-strcmp.c: Likewise.
6561         * lib/unistr/u16-strcpy.c: Likewise.
6562         * lib/unistr/u16-strcspn.c: Likewise.
6563         * lib/unistr/u16-strdup.c: Likewise.
6564         * lib/unistr/u16-strlen.c: Likewise.
6565         * lib/unistr/u16-strmblen.c: Likewise.
6566         * lib/unistr/u16-strmbtouc.c: Likewise.
6567         * lib/unistr/u16-strncat.c: Likewise.
6568         * lib/unistr/u16-strncmp.c: Likewise.
6569         * lib/unistr/u16-strncpy.c: Likewise.
6570         * lib/unistr/u16-strnlen.c: Likewise.
6571         * lib/unistr/u16-strpbrk.c: Likewise.
6572         * lib/unistr/u16-strrchr.c: Likewise.
6573         * lib/unistr/u16-strspn.c: Likewise.
6574         * lib/unistr/u16-strstr.c: Likewise.
6575         * lib/unistr/u16-strtok.c: Likewise.
6576         * lib/unistr/u16-to-u32.c: Likewise.
6577         * lib/unistr/u16-to-u8.c: Likewise.
6578         * lib/unistr/u16-uctomb-aux.c: Likewise.
6579         * lib/unistr/u16-uctomb.c: Likewise.
6580         * lib/unistr/u32-check.c: Likewise.
6581         * lib/unistr/u32-chr.c: Likewise.
6582         * lib/unistr/u32-cmp.c: Likewise.
6583         * lib/unistr/u32-cpy-alloc.c: Likewise.
6584         * lib/unistr/u32-cpy.c: Likewise.
6585         * lib/unistr/u32-endswith.c: Likewise.
6586         * lib/unistr/u32-mblen.c: Likewise.
6587         * lib/unistr/u32-mbsnlen.c: Likewise.
6588         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6589         * lib/unistr/u32-mbtouc.c: Likewise.
6590         * lib/unistr/u32-mbtoucr.c: Likewise.
6591         * lib/unistr/u32-move.c: Likewise.
6592         * lib/unistr/u32-next.c: Likewise.
6593         * lib/unistr/u32-prev.c: Likewise.
6594         * lib/unistr/u32-set.c: Likewise.
6595         * lib/unistr/u32-startswith.c: Likewise.
6596         * lib/unistr/u32-stpcpy.c: Likewise.
6597         * lib/unistr/u32-stpncpy.c: Likewise.
6598         * lib/unistr/u32-strcat.c: Likewise.
6599         * lib/unistr/u32-strchr.c: Likewise.
6600         * lib/unistr/u32-strcmp.c: Likewise.
6601         * lib/unistr/u32-strcpy.c: Likewise.
6602         * lib/unistr/u32-strcspn.c: Likewise.
6603         * lib/unistr/u32-strdup.c: Likewise.
6604         * lib/unistr/u32-strlen.c: Likewise.
6605         * lib/unistr/u32-strmblen.c: Likewise.
6606         * lib/unistr/u32-strmbtouc.c: Likewise.
6607         * lib/unistr/u32-strncat.c: Likewise.
6608         * lib/unistr/u32-strncmp.c: Likewise.
6609         * lib/unistr/u32-strncpy.c: Likewise.
6610         * lib/unistr/u32-strnlen.c: Likewise.
6611         * lib/unistr/u32-strpbrk.c: Likewise.
6612         * lib/unistr/u32-strrchr.c: Likewise.
6613         * lib/unistr/u32-strspn.c: Likewise.
6614         * lib/unistr/u32-strstr.c: Likewise.
6615         * lib/unistr/u32-strtok.c: Likewise.
6616         * lib/unistr/u32-to-u16.c: Likewise.
6617         * lib/unistr/u32-to-u8.c: Likewise.
6618         * lib/unistr/u32-uctomb.c: Likewise.
6619         * lib/unistr/u8-check.c: Likewise.
6620         * lib/unistr/u8-chr.c: Likewise.
6621         * lib/unistr/u8-cmp.c: Likewise.
6622         * lib/unistr/u8-cpy-alloc.c: Likewise.
6623         * lib/unistr/u8-cpy.c: Likewise.
6624         * lib/unistr/u8-endswith.c: Likewise.
6625         * lib/unistr/u8-mblen.c: Likewise.
6626         * lib/unistr/u8-mbsnlen.c: Likewise.
6627         * lib/unistr/u8-mbtouc-aux.c: Likewise.
6628         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6629         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6630         * lib/unistr/u8-mbtouc.c: Likewise.
6631         * lib/unistr/u8-mbtoucr.c: Likewise.
6632         * lib/unistr/u8-move.c: Likewise.
6633         * lib/unistr/u8-next.c: Likewise.
6634         * lib/unistr/u8-prev.c: Likewise.
6635         * lib/unistr/u8-set.c: Likewise.
6636         * lib/unistr/u8-startswith.c: Likewise.
6637         * lib/unistr/u8-stpcpy.c: Likewise.
6638         * lib/unistr/u8-stpncpy.c: Likewise.
6639         * lib/unistr/u8-strcat.c: Likewise.
6640         * lib/unistr/u8-strchr.c: Likewise.
6641         * lib/unistr/u8-strcmp.c: Likewise.
6642         * lib/unistr/u8-strcpy.c: Likewise.
6643         * lib/unistr/u8-strcspn.c: Likewise.
6644         * lib/unistr/u8-strdup.c: Likewise.
6645         * lib/unistr/u8-strlen.c: Likewise.
6646         * lib/unistr/u8-strmblen.c: Likewise.
6647         * lib/unistr/u8-strmbtouc.c: Likewise.
6648         * lib/unistr/u8-strncat.c: Likewise.
6649         * lib/unistr/u8-strncmp.c: Likewise.
6650         * lib/unistr/u8-strncpy.c: Likewise.
6651         * lib/unistr/u8-strnlen.c: Likewise.
6652         * lib/unistr/u8-strpbrk.c: Likewise.
6653         * lib/unistr/u8-strrchr.c: Likewise.
6654         * lib/unistr/u8-strspn.c: Likewise.
6655         * lib/unistr/u8-strstr.c: Likewise.
6656         * lib/unistr/u8-strtok.c: Likewise.
6657         * lib/unistr/u8-to-u16.c: Likewise.
6658         * lib/unistr/u8-to-u32.c: Likewise.
6659         * lib/unistr/u8-uctomb-aux.c: Likewise.
6660         * lib/unistr/u8-uctomb.c: Likewise.
6661         * lib/unitypes.h: Likewise.
6662         * lib/uniwidth.h: Likewise.
6663         * lib/uniwidth/cjk.h: Likewise.
6664         * lib/uniwidth/u16-strwidth.c: Likewise.
6665         * lib/uniwidth/u16-width.c: Likewise.
6666         * lib/uniwidth/u32-strwidth.c: Likewise.
6667         * lib/uniwidth/u32-width.c: Likewise.
6668         * lib/uniwidth/u8-strwidth.c: Likewise.
6669         * lib/uniwidth/u8-width.c: Likewise.
6670         * lib/uniwidth/width.c: Likewise.
6671
6672 2007-10-07  Bruno Haible  <bruno@clisp.org>
6673
6674         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
6675         The file is still under LGPL (see modules/inttypes).
6676
6677 2007-10-06  Bruno Haible  <bruno@clisp.org>
6678
6679         * modules/trunc (Dependencies): Add 'extensions'.
6680         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
6681         Reported by Ben Pfaff <blp@gnu.org>.
6682
6683 2007-10-06  Bruno Haible  <bruno@clisp.org>
6684
6685         * modules/freopen-tests: New file.
6686         * tests/test-freopen.c: New file.
6687
6688         * modules/fopen-tests: New file.
6689         * tests/test-fopen.c: New file.
6690
6691         * modules/fopen: New file.
6692         * lib/fopen.c: New file.
6693         * m4/fopen.m4: New file.
6694         * modules/freopen: New file.
6695         * lib/freopen.c: New file.
6696         * m4/freopen.m4: New file.
6697         * lib/stdio.in.h (fopen, freopen): New declarations.
6698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
6699         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
6700         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
6701         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
6702         * doc/functions/fopen.texi: Mention the 'fopen' module.
6703         * doc/functions/freopen.texi: Mention the 'freopen' module.
6704
6705 2007-10-06  Bruno Haible  <bruno@clisp.org>
6706
6707         * modules/open-tests: New file.
6708         * tests/test-open.c: New file.
6709
6710         * modules/open: New file.
6711         * lib/open.c: New file.
6712         * m4/open.m4: New file.
6713         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
6714         lib/open.c does.
6715         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
6716         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
6717         macros.
6718         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
6719         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
6720         REPLACE_OPEN.
6721         * doc/functions/open.texi: Mention the 'open' module.
6722
6723 2007-10-04  Bruno Haible  <bruno@clisp.org>
6724
6725         * modules/ceill-tests: New file.
6726         * tests/test-ceill.c: New file.
6727
6728         * modules/ceill: New file.
6729         * lib/ceill.c: Replace entire file.
6730         * m4/ceill.m4: New file.
6731         * lib/math.in.h (ceill): Replace declaration.
6732         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
6733         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
6734         * doc/functions/ceill.texi: Mention the 'ceill' module.
6735         * modules/mathl (Files): Remove lib/ceill.c.
6736         (Depends-on): Add ceill.
6737
6738 2007-10-04  Bruno Haible  <bruno@clisp.org>
6739
6740         * modules/ceilf-tests: New file.
6741         * tests/test-ceilf.c: New file.
6742
6743         * modules/ceilf: New file.
6744         * lib/ceil.c: New file.
6745         * lib/ceilf.c: New file.
6746         * m4/ceilf.m4: New file.
6747         * lib/math.in.h (ceilf): New declaration.
6748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
6749         HAVE_DECL_CEILF.
6750         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
6751         HAVE_DECL_CEILF.
6752         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
6753
6754 2007-10-04  Bruno Haible  <bruno@clisp.org>
6755
6756         * modules/floorl-tests: New file.
6757         * tests/test-floorl.c: New file.
6758
6759         * modules/floorl: New file.
6760         * lib/floorl.c: Replace entire file.
6761         * m4/floorl.m4: New file.
6762         * lib/math.in.h (floorl): Replace declaration.
6763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
6764         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
6765         * doc/functions/floorl.texi: Mention the 'floorl' module.
6766         * modules/mathl (Files): Remove lib/floorl.c.
6767         (Depends-on): Add floorl.
6768
6769 2007-10-04  Bruno Haible  <bruno@clisp.org>
6770
6771         * modules/floorf-tests: New file.
6772         * tests/test-floorf.c: New file.
6773
6774         * modules/floorf: New file.
6775         * lib/floor.c: New file.
6776         * lib/floorf.c: New file.
6777         * m4/floorf.m4: New file.
6778         * lib/math.in.h (floorf): New declaration.
6779         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
6780         HAVE_DECL_FLOORF.
6781         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
6782         HAVE_DECL_FLOORF.
6783         * doc/functions/floorf.texi: Mention the 'floorf' module.
6784
6785 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
6786             Bruno Haible  <bruno@clisp.org>
6787
6788         Advertise for the Git server instead of the CVS server.
6789         * doc/gnulib-intro.texi (Steady Development): Mention the Git
6790         repository instead of the CVS one.
6791         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
6792         about all VCS systems generically.
6793         * doc/gnulib.texi (Introduction): Capitalize `Git'.
6794
6795 2007-10-04  Bruno Haible  <bruno@clisp.org>
6796
6797         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
6798         means.
6799         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
6800
6801 2007-10-04  Bruno Haible  <bruno@clisp.org>
6802
6803         * modules/truncl-tests: New file.
6804         * tests/test-truncl.c: New file.
6805
6806         * modules/truncl: New file.
6807         * lib/truncl.c: New file.
6808         * m4/truncl.m4: New file.
6809         * lib/math.in.h (truncl): New declaration.
6810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
6811         HAVE_DECL_TRUNCL.
6812         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
6813         HAVE_DECL_TRUNCL.
6814         * doc/functions/truncl.texi: Mention the 'truncl' module.
6815
6816 2007-10-04  Bruno Haible  <bruno@clisp.org>
6817
6818         * modules/truncf-tests: New file.
6819         * tests/test-truncf.c: New file.
6820
6821         * modules/truncf: New file.
6822         * lib/trunc.c: Make paramerizable through USE_* macros.
6823         * lib/truncf.c: New file.
6824         * m4/truncf.m4: New file.
6825         * lib/math.in.h (truncf): New declaration.
6826         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
6827         HAVE_DECL_TRUNCF.
6828         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
6829         HAVE_DECL_TRUNCF.
6830         * doc/functions/truncf.texi: Mention the 'truncf' module.
6831
6832 2007-10-03  Bruno Haible  <bruno@clisp.org>
6833
6834         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
6835         augmentation also for tests modules.
6836         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
6837         * modules/atexit-tests (Makefile.am): Likewise.
6838         * modules/binary-io-tests (Makefile.am): Likewise.
6839         * modules/c-strcase-tests (Makefile.am): Likewise.
6840         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
6841         * modules/canonicalize-tests (Makefile.am): Likewise.
6842         * modules/closein-tests (Makefile.am): Likewise.
6843         * modules/fprintf-posix-tests (Makefile.am): Likewise.
6844         * modules/freadahead-tests (Makefile.am): Likewise.
6845         * modules/fseek-tests (Makefile.am): Likewise.
6846         * modules/fseeko-tests (Makefile.am): Likewise.
6847         * modules/ftell-tests (Makefile.am): Likewise.
6848         * modules/ftello-tests (Makefile.am): Likewise.
6849         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
6850         * modules/isnanl-tests (Makefile.am): Likewise.
6851         * modules/lseek-tests (Makefile.am): Likewise.
6852         * modules/mbscasecmp-tests (Makefile.am): Likewise.
6853         * modules/mbscasestr-tests (Makefile.am): Likewise.
6854         * modules/mbschr-tests (Makefile.am): Likewise.
6855         * modules/mbscspn-tests (Makefile.am): Likewise.
6856         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
6857         * modules/mbspbrk-tests (Makefile.am): Likewise.
6858         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
6859         * modules/mbsrchr-tests (Makefile.am): Likewise.
6860         * modules/mbsspn-tests (Makefile.am): Likewise.
6861         * modules/mbsstr-tests (Makefile.am): Likewise.
6862         * modules/printf-posix-tests (Makefile.am): Likewise.
6863         * modules/snprintf-posix-tests (Makefile.am): Likewise.
6864         * modules/sprintf-posix-tests (Makefile.am): Likewise.
6865         * modules/tsearch-tests (Makefile.am): Likewise.
6866         * modules/uniname/uniname-tests (Makefile.am): Likewise.
6867         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
6868         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
6869         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
6870         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
6871         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
6872         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
6873         * modules/vprintf-posix-tests (Makefile.am): Likewise.
6874         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
6875         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
6876         * modules/xstrtoimax-tests (Makefile.am): Likewise.
6877         * modules/xstrtol-tests (Makefile.am): Likewise.
6878         * modules/xstrtoumax-tests (Makefile.am): Likewise.
6879         * modules/yesno-tests (Makefile.am): Likewise.
6880
6881 2007-10-03  Bruno Haible  <bruno@clisp.org>
6882
6883         * modules/trunc-tests: New file.
6884         * tests/test-trunc.c: New file.
6885
6886         * modules/trunc: New file.
6887         * lib/trunc.c: New file.
6888         * m4/trunc.m4: New file.
6889         * lib/math.in.h (trunc): New declaration.
6890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
6891         HAVE_DECL_TRUNC.
6892         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
6893         HAVE_DECL_TRUNC.
6894         * doc/functions/trunc.texi: Mention the 'trunc' module.
6895
6896 2007-10-03  Bruno Haible  <bruno@clisp.org>
6897
6898         * tests/test-fpending.c: New file, mostly copied
6899         from coreutils/lib/t-fpending.c.
6900         * modules/fpending-tests: New file.
6901
6902 2007-10-03  Bruno Haible  <bruno@clisp.org>
6903
6904         Port the stdio extensions to QNX (untested).
6905         * lib/fseterr.c (fseterr): Add support for QNX.
6906         * lib/fbufmode.c (fbufmode): Likewise.
6907         * lib/freadable.c (freadable): Likewise.
6908         * lib/fwritable.c (fwritable): Likewise.
6909         * lib/freading.c (freading): Likewise.
6910         * lib/fwriting.c (fwriting): Likewise.
6911         * lib/freadahead.c (freadahed): Likewise.
6912         * lib/fpurge.c (fpurge): Likewise.
6913         * lib/fseeko.c (rpl_fseeko): Likewise.
6914
6915 2007-10-03  Bruno Haible  <bruno@clisp.org>
6916             Jim Meyering  <jim@meyering.net>
6917             Eric Blake  <ebb9@byu.net>
6918
6919         * doc/relocatable.texi: Use @command instead of @program.
6920
6921 2007-10-02  Jim Meyering  <jim@meyering.net>
6922
6923         Perform one more "_.h" -> ".in.h" substitution.
6924         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
6925         instead of unistd_.h here, too.
6926
6927 2007-10-01  Bruno Haible  <bruno@clisp.org>
6928
6929         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
6930         Needed for the alloca-opt module.
6931
6932 2007-09-30  Bruno Haible  <bruno@clisp.org>
6933
6934         * lib/alloca.in.h: Renamed from lib/alloca_.h.
6935         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
6936         alloca_.h.
6937         * lib/argz.in.h: Renamed from lib/argz_.h.
6938         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
6939         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
6940         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
6941         byteswap_.h.
6942         * lib/dirent.in.h: Renamed from lib/dirent_.h.
6943         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
6944         dirent_.h.
6945         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
6946         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
6947         fcntl_.h.
6948         * lib/float.in.h: Renamed from lib/float_.h.
6949         * modules/float (Files, Makefile.am): Use float.in.h instead of
6950         float_.h.
6951         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
6952         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
6953         fnmatch_.h.
6954         * lib/getopt.in.h: Renamed from lib/getopt_.h.
6955         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
6956         getopt_.h.
6957         * lib/glob.in.h: Renamed from lib/glob_.h.
6958         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
6959         * lib/iconv.in.h: Renamed from lib/iconv_.h.
6960         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
6961         iconv_.h.
6962         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
6963         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
6964         inttypes_.h.
6965         * lib/locale.in.h: Renamed from lib/locale_.h.
6966         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
6967         locale_.h.
6968         * lib/math.in.h: Renamed from lib/math_.h.
6969         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
6970         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
6971         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
6972         of netinet_in_.h. Add dependency.
6973         * lib/poll.in.h: Renamed from lib/poll_.h.
6974         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
6975         * lib/search.in.h: Renamed from lib/search_.h.
6976         * modules/search (Files, Makefile.am): Use search.in.h instead of
6977         search_.h.
6978         * lib/signal.in.h: Renamed from lib/signal_.h.
6979         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
6980         _signal.h.
6981         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
6982         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
6983         stdbool_.h.
6984         * lib/stdint.in.h: Renamed from lib/stdint_.h.
6985         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
6986         stdint_.h.
6987         * lib/stdio.in.h: Renamed from lib/stdio_.h.
6988         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
6989         stdio_.h.
6990         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
6991         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
6992         stdlib_.h.
6993         * lib/string.in.h: Renamed from lib/string_.h.
6994         * modules/string (Files, Makefile.am): Use string.in.h instead of
6995         string_.h.
6996         * doc/gnulib-tool.texi (Initial import): Update.
6997         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
6998         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
6999         of sys_select_.h. Add dependency.
7000         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
7001         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
7002         of sys_socket_.h.
7003         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
7004         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
7005         sys_stat_.h.
7006         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
7007         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
7008         sys_time_.h.
7009         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
7010         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
7011         sysexits_.h.
7012         * lib/time.in.h: Renamed from lib/time_.h.
7013         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
7014         * lib/unistd.in.h: Renamed from lib/unistd_.h.
7015         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
7016         unistd_.h.
7017         * lib/wchar.in.h: Renamed from lib/wchar_.h.
7018         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
7019         wchar_.h.
7020         * lib/wctype.in.h: Renamed from lib/wctype_.h.
7021         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
7022         wctype_.h.
7023         * build-aux/bootstrap (slurp): Update.
7024         * lib/.cppi-disable: Update.
7025
7026 2007-09-30  Bruno Haible  <bruno@clisp.org>
7027
7028         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
7029         Needed on BeOS.
7030
7031 2007-09-30  Bruno Haible  <bruno@clisp.org>
7032
7033         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
7034
7035 2007-09-29  Bruno Haible  <bruno@clisp.org>
7036
7037         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
7038
7039 2007-09-29  Bruno Haible  <bruno@clisp.org>
7040
7041         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
7042         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
7043         * build-aux/install-reloc: Compile also areadlink.c.
7044         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
7045
7046 2007-09-29  Bruno Haible  <bruno@clisp.org>
7047
7048         * gnulib-tool (func_emit_initmacro_done): Indentation.
7049
7050 2007-09-29  Bruno Haible  <bruno@clisp.org>
7051
7052         * README: Add CVS checkout update instructions.
7053         Info from Bob Proulx <bob@proulx.com>.
7054
7055 2007-09-28  Eric Blake  <ebb9@byu.net>
7056
7057         Provide move-if-change.
7058         * build-aux/move-if-change: New file, based on best practice
7059         rather than any canonical upstream location.
7060
7061 2007-09-28  Jim Meyering  <jim@meyering.net>
7062
7063         Fix canonicalize loop-detection corner case.
7064         Do not attempt to stat the symlink values stored via seen_triple.
7065         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
7066         on linux-2.6.18, (but not 2.6.22).
7067         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
7068         triple_compare.  The former compares dev,ino,filename, while the latter
7069         would actually stat dirname(filename) when dev and ino were equal.
7070         * lib/hash-triple.c: Install <string.h>.
7071         (STREQ): Define.
7072         (triple_compare_ino_str): New function.
7073         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
7074
7075 2007-09-28  Eric Blake  <ebb9@byu.net>
7076
7077         Enforce that AC_REPLACE_FUNCS files exist.
7078         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
7079         override check for typos.
7080
7081         Fix test-closein on Solaris 10.
7082         * tests/test-closein.c (main): Don't assume stdin can be inherited
7083         closed on all systems.
7084         * tests/test-closein.sh: Likewise.
7085         Reported by Piotr Tarnowski.
7086
7087 2007-09-28  Jim Meyering  <jim@meyering.net>
7088
7089         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
7090
7091 2007-09-27  Jim Meyering  <jim@meyering.net>
7092
7093         canonicalize: Avoid a false-positive cycle failure.
7094         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
7095         Sort.  Remove cycle-check.
7096         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
7097         not cycle-check.h.
7098         (seen_triple): New function.
7099         (canonicalize_filename_mode): Use it instead of cycle-check.
7100         * tests/test-canonicalize.c: Add a test for this bug.
7101         * tests/test-canonicalize.sh: Set up and run the test.
7102
7103         New module, file-set, from coreutils.
7104         * modules/file-set: Define it.
7105         * lib/file-set.c, lib/file-set.h: Implement.
7106
7107         New module, hash-triple, from coreutils.
7108         * modules/hash-triple: Define it.
7109         * lib/hash-triple.c, lib/hash-triple.h: Implement.
7110
7111 2007-09-25  Eric Blake  <ebb9@byu.net>
7112
7113         Fix strerror on Interix.
7114         * lib/string_.h (strerror): Declare replacement.
7115         * doc/functions/strerror.texi (strerror): Document the Interix
7116         shortcoming.
7117         * modules/string (Makefile.am): Support new hooks.
7118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
7119         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
7120         gl_FUNC_STRERROR_SEPARATE.
7121         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
7122         * lib/strerror.c (rpl_strerror): Provide replacement.
7123         * modules/strerror (Depends-on): Add string.
7124         (configure.ac): Detect use of module.
7125         * tests/test-strerror.c: New file.
7126         * modules/strerror-tests: New test module.
7127         * modules/argp (Depends-on): Add strerror.
7128         * modules/error (Depends-on): Likewise.
7129         Reported by Martin Koeppe.
7130
7131 2007-09-24  Bruno Haible  <bruno@clisp.org>
7132
7133         * README: Update git instructions.
7134
7135 2007-09-24  Eric Blake  <ebb9@byu.net>
7136
7137         Revert fpending breakage from 2007-09-08.
7138         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
7139         __fpending.c.
7140
7141 2007-09-24  Jim Meyering  <jim@meyering.net>
7142
7143         filenamecat.c: Add a test.
7144         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
7145         showing how the function works when DIR is the empty string.
7146
7147 2007-09-21  Simon Josefsson  <simon@josefsson.org>
7148
7149         * tests/test-canonicalize.sh: Turn on executable bit.
7150
7151 2007-09-19  Eric Blake  <ebb9@byu.net>
7152
7153         * README: Update CVS instructions.
7154
7155 2007-09-18  Bruno Haible  <bruno@clisp.org>
7156
7157         * modules/areadlink: New file.
7158         * lib/areadlink.h (areadlink): New declaration.
7159         * lib/areadlink.c: New file, based on lib/xreadlink.c.
7160
7161 2007-09-17  Jim Meyering  <jim@meyering.net>
7162
7163         * lib/savewd.c (ESTALE) [!defined]: Define.
7164         Reported to be required on Interix by Martin Koeppe.
7165
7166 2007-09-17  Bruno Haible  <bruno@clisp.org>
7167
7168         * gnulib-tool (func_version): Use $version.
7169
7170 2007-09-16  Bruno Haible  <bruno@clisp.org>
7171
7172         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
7173         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
7174         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
7175         Reported by Greg Schafer <gschafer@zip.com.au>.
7176
7177 2007-09-15  Bruno Haible  <bruno@clisp.org>
7178
7179         * gnulib-tool (sed): Try a little harder to make bash understand the
7180         alias.
7181         Reported by Bruce Korb <bruce.korb@gmail.com>.
7182
7183 2007-09-13  Eric Blake  <ebb9@byu.net>
7184
7185         * ChangeLog: Remove conflict markers.
7186
7187 2007-09-13  Simon Josefsson  <simon@josefsson.org>
7188
7189         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
7190         Reported by Bruno Haible <bruno@clisp.org>.
7191
7192 2007-09-12  Bruno Haible  <bruno@clisp.org>
7193
7194         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
7195         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
7196         is not defined.
7197
7198 2007-09-12  Eric Blake  <ebb9@byu.net>
7199
7200         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
7201         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
7202         Autoconf definition.
7203         * modules/euidaccess (Depends-on): Add extensions, for
7204         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
7205         * modules/fnmatch (Depends-on): Likewise.
7206         * modules/getaddrinfo (Depends-on): Likewise.
7207         * modules/getdelim (Depends-on): Likewise.
7208         * modules/getline (Depends-on): Likewise.
7209         * modules/getsubopt (Depends-on): Likewise.
7210         * modules/gettext (Depends-on): Likewise.
7211         * modules/group-member (Depends-on): Likewise.
7212         * modules/mbchar (Depends-on): Likewise.
7213         * modules/memmem (Depends-on): Likewise.
7214         * modules/mempcpy (Depends-on): Likewise.
7215         * modules/memrchr (Depends-on): Likewise.
7216         * modules/pagealign_alloc (Depends-on): Likewise.
7217         * modules/readutmp (Depends-on): Likewise.
7218         * modules/stpcpy (Depends-on): Likewise.
7219         * modules/stpncpy (Depends-on): Likewise.
7220         * modules/strchrnul (Depends-on): Likewise.
7221         * modules/strndup (Depends-on): Likewise.
7222         * modules/strsep (Depends-on): Likewise.
7223         * modules/strverscmp (Depends-on): Likewise.
7224         * modules/vasprintf (Depends-on): Likewise.
7225         * modules/wcwidth (Depends-on): Likewise.
7226         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
7227         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
7228         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
7229         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
7230         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7231         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7232         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
7233         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7234         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
7235         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
7236         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7237         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
7238         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
7239         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
7240         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
7241         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7242         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7243         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
7244         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7245         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
7246         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
7247         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
7248         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
7249         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
7250         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
7251         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7252         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
7253         so that lock.m4 can be used in gettext without extensions module.
7254
7255 2007-09-11  Bruno Haible  <bruno@clisp.org>
7256
7257         * m4/isc-posix.m4: Remove file.
7258         Suggested by Eric Blake.
7259
7260 2007-09-11  Eric Blake  <ebb9@byu.net>
7261
7262         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
7263
7264 2007-09-10  Bruno Haible  <bruno@clisp.org>
7265
7266         * posix-modules: Fix typo in error message.
7267         Reported by Matt <mkraai@beckman.com>.
7268
7269 2007-09-09  Bruno Haible  <bruno@clisp.org>
7270
7271         * doc/functions/getdelim.texi: Update list of platforms lacking the
7272         function.
7273         * doc/functions/getline.texi: Likewise.
7274
7275 2007-09-09  Jim Meyering  <jim@meyering.net>
7276
7277         * lib/hash.c (hash_initialize): Detect calloc failure.
7278         Reported by Bruno Haible.
7279
7280 2007-09-09  Bruno Haible  <bruno@clisp.org>
7281
7282         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
7283         malloc or realloc fails.
7284
7285 2007-09-09  Bruno Haible  <bruno@clisp.org>
7286
7287         * modules/getcwd (Depends-on): Add malloc-posix.
7288         * modules/glob (Depends-on): Likewise.
7289         * modules/putenv (Depends-on): Likewise.
7290         * modules/strdup (Depends-on): Likewise.
7291         * modules/getdelim (Depends-on): Add realloc-posix.
7292         * modules/read-file (Depends-on): Likewise.
7293
7294 2007-09-09  Bruno Haible  <bruno@clisp.org>
7295
7296         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
7297         (gl_FUNC_MALLOC_POSIX): Require it.
7298         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
7299         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
7300         * modules/realloc (Files): Add m4/malloc.m4.
7301         * modules/calloc (Files): Likewise.
7302
7303 2007-09-09  Bruno Haible  <bruno@clisp.org>
7304
7305         * modules/malloc-posix: New file.
7306         * modules/malloc (Depends-on): Add malloc-posix.
7307         * lib/malloc.c: Include errno.h.
7308         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
7309         and a POSIX-compatible malloc into a single function. Set ENOMEM
7310         when returning NULL.
7311         * m4/malloc.m4: New file.
7312         * doc/functions/malloc.texi: Mention the malloc-posix module.
7313         * lib/stdlib_.h (malloc): New declaration.
7314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7315         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
7316         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
7317         and HAVE_MALLOC_POSIX.
7318
7319 2007-09-09  Bruno Haible  <bruno@clisp.org>
7320
7321         * modules/realloc-posix: New file.
7322         * modules/realloc (Depends-on): Add realloc-posix.
7323         * lib/realloc.c: Include errno.h.
7324         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
7325         and a POSIX-compatible realloc into a single function. Set ENOMEM
7326         when returning NULL.
7327         * m4/realloc.m4: New file.
7328         * doc/functions/realloc.texi: Mention the realloc-posix module.
7329         * lib/stdlib_.h (realloc): New declaration.
7330         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7331         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
7332         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
7333         and HAVE_REALLOC_POSIX.
7334
7335 2007-09-09  Bruno Haible  <bruno@clisp.org>
7336
7337         * modules/calloc-posix: New file.
7338         * modules/calloc (Depends-on): Add calloc-posix.
7339         * lib/calloc.c: Include errno.h.
7340         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
7341         and a POSIX-compatible calloc into a single function. Set ENOMEM
7342         when returning NULL.
7343         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
7344         * doc/functions/calloc.texi: Mention the calloc-posix module.
7345         * lib/stdlib_.h (calloc): New declaration.
7346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7347         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
7348         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
7349         and HAVE_CALLOC_POSIX.
7350
7351 2007-09-09  Bruno Haible  <bruno@clisp.org>
7352
7353         Allow for modules to show an arbitrary notice.
7354         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
7355         * gnulib-tool: New option --extract-notice.
7356         (func_usage): Document it.
7357         (sed_extract_prog): Update.
7358         (func_get_notice): New function.
7359         (func_modules_notice): New function.
7360         (func_import, func_create_testdir): Invoke it.
7361         Suggested by Jim Meyering.
7362
7363 2007-09-09  Bruno Haible  <bruno@clisp.org>
7364
7365         * gnulib-tool: New options --verbose, --quiet.
7366         (func_usage): Document them.
7367         (verbose): New variable.
7368         (func_execute_command): New function.
7369         (func_import): Don't show the module list and the file list if
7370         $verbose < 0.
7371         (func_create_testdir): Likewise. Use func_execute_command.
7372         (func_create_megatestdir): Use func_execute_command.
7373
7374 2007-09-08  Bruno Haible  <bruno@clisp.org>
7375
7376         * gnulib-tool (func_import): Prefer rsync over wget when available,
7377         for fetching the PO files.
7378
7379 2007-09-08  Bruno Haible  <bruno@clisp.org>
7380
7381         * posix-modules: New file. Portions copied from gnulib-tool.
7382         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
7383
7384 2007-09-08  Jim Meyering  <jim@meyering.net>
7385
7386         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
7387         * lib/fpending.h: Rename from __fpending.h.
7388         * lib/fpending.c: Rename from __fpending.c.
7389         Include "fpending.h", not "__fpending.h".
7390         * lib/__fpending.h, lib/__fpending.c: Remove files.
7391         * modules/fpending (Files): Reflect new file names.
7392         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
7393
7394 2007-09-08  Bruno Haible  <bruno@clisp.org>
7395
7396         * m4/inttypes-h.m4: Remove stub file.
7397
7398 2007-09-07  Simon Josefsson  <simon@josefsson.org>
7399
7400         * doc/headers/stdint.texi: Discuss #include_next issue.
7401
7402 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7403
7404         * build-aux/bootstrap: Remove obsolete comment about wget --help.
7405
7406 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7407
7408         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
7409         in variable name.
7410
7411 2007-09-03  Jim Meyering  <jim@meyering.net>
7412
7413         New module: git-version-gen.
7414         * modules/git-version-gen: New file.
7415
7416         Import changes from coreutils for bootstrap script.
7417
7418         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
7419
7420         bootstrap: uses rsync to download the .po files
7421         * build-aux/bootstrap (po_download_command_format): New global.
7422         (download_po_files): Use rsync.
7423         (update_po_files): Don't remove .po files after download,
7424         so future rsync runs can take advantage of the copies.
7425
7426         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
7427
7428         Solve the unnecessary-.po-file-regeneration problem once and for all.
7429         * build-aux/bootstrap (download_po_files): New function, renamed from
7430         get_translations.  Now, downloads, but doesn't update LINGUAS.
7431         (update_po_files): New function.
7432
7433         bootstrap: Ignore more.
7434         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
7435         uniwidth to e.g., lib/.gitignore.
7436         (slurp): Handle the sys_stat_.h -> sys mapping, too.
7437
7438         * build-aux/bootstrap: New setting: vc_ignore.
7439         (insert_sorted_if_absent): Create $file if absent.
7440         Adapt to new, possibly empty, list: $vc_ignore.
7441
7442         bootstrap: generate more ignorable names
7443         * build-aux/bootstrap (slurp): When generating ignorable names,
7444         also map .sin to .sed, .gperf to .c, and .y to .c.
7445
7446 2007-09-03  Jim Meyering  <jim@meyering.net>
7447
7448         * build-aux/git-version-gen: New file, from coreutils.  For details, see
7449         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
7450
7451 2007-09-02  Bruno Haible  <bruno@clisp.org>
7452
7453         Fix mis-recognition of 'mcs' on QNX 6.
7454         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
7455         output contains the string "Mono".
7456         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
7457         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
7458
7459 2007-09-01  Bruno Haible  <bruno@clisp.org>
7460
7461         Fix collision between uniwidth/* and linebreak modules.
7462         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
7463         u32_width): Remove declarations.
7464         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
7465         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
7466         streq3, streq2, streq1, streq0): Remove functions.
7467         (STREQ): Remove macro.
7468         (is_cjk_encoding): Remove function.
7469         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
7470         (uc_width, u8_width, u16_width, u32_width): Remove functions.
7471         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
7472         * NEWS: Document the change.
7473
7474 2007-09-01  Bruno Haible  <bruno@clisp.org>
7475
7476         * lib/streq.h: Add double-inclusion guard.
7477
7478 2007-09-01  Karl Berry  <karl@gnu.org>
7479
7480         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
7481
7482 2007-08-28  Jim Meyering  <jim@meyering.net>
7483
7484         Rename mreadlink_with_size to areadlink_with_size.
7485         * NEWS: Document the change.
7486         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
7487         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
7488         * lib/mreadlink.h: Rename this to...
7489         * lib/areadlink.h: ...this.
7490         * modules/mreadlink-with-size: Rename this to...
7491         * modules/areadlink-with-size: ...this.
7492         * lib/canonicalize.c: Reflect the renaming.
7493         * modules/canonicalize: Likewise.
7494
7495 2007-08-26  Bruno Haible  <bruno@clisp.org>
7496
7497         * gnulib-tool (func_import): When deciding which files to remove,
7498         consider also dangling symbolic links.
7499         Reported by Eric Blake.
7500
7501 2007-08-26  Bruno Haible  <bruno@clisp.org>
7502
7503         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
7504
7505 2007-08-23  Simon Josefsson  <simon@josefsson.org>
7506
7507         * lib/readline.c: Don't include getline.h, the prototype is now
7508         found in stdio.h.
7509
7510 2007-08-23  Jim Meyering  <jim@meyering.net>
7511
7512         Getdelim touchup.
7513         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
7514         around the funlockfile call, since funlockfile never sets errno.
7515         Don't set errno upon failed realloc.
7516
7517 2007-08-22  Eric Blake  <ebb9@byu.net>
7518
7519         Getline touchups.
7520         * lib/getdelim.c (getdelim): Revert regression that required *n to
7521         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
7522         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
7523         getdelim, rather than whether implementation is missing.
7524         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
7525         * lib/stdio_.h (getline): Also declare if replacement is
7526         required.
7527         * doc/functions/getdelim.texi: New file.
7528         * doc/functions/getline.texi: Likewise.
7529         * doc/gnulib.texi (Function Substitutes): Add new files.
7530         Reported by Bruno Haible.
7531
7532 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
7533
7534         * users.txt: Add Guile.
7535
7536 2007-08-22  Eric Blake  <ebb9@byu.net>
7537
7538         * tests/test-getdelim.c (main): Use remove, not unlink.
7539         * tests/test-getline.c (main): Likewise.
7540
7541         Move getline and getdelim into stdio.h, per POSIX 200x.
7542         * modules/getline (Files): Remove getline.h.
7543         (Depends-on): Add stdio.
7544         (configure.ac): Add module indicator.
7545         * modules/getdelim (Files): Remove getdelim.h.
7546         (Depends-on): Add stdio.
7547         (configure.ac): Add module indicator.
7548         * modules/stdio (Makefile.am): Work with new indicators.
7549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
7550         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
7551         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7552         * lib/getdelim.h: Delete.
7553         * lib/getline.h: Delete.
7554         * lib/stdio_.h (getdelim, getline): Declare.
7555         * modules/getdelim-tests: New module.
7556         * modules/getline-tests: Likewise.
7557         * tests/test-getdelim.c: New file.
7558         * tests/test-getline.c: Likewise.
7559         * NEWS: Document the change.
7560         * lib/getline.c: Update choice of header.
7561         * lib/csharpcomp.c: Likewise.
7562         * lib/getpass.c: Likewise.
7563         * lib/javacomp.c: Likewise.
7564         * lib/javaversion.c: Likewise.
7565         * lib/yesno.c: Likewise.
7566         * lib/getdelim.c: Likewise.
7567         (getdelim): Set errno on failure, and avoid memory leak.
7568
7569 2007-08-19  Bruno Haible  <bruno@clisp.org>
7570
7571         * modules/closein (Depends-on): Add freadahead.
7572         * lib/closein.c: Include freadahead.h.
7573         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
7574         is zero.
7575
7576 2007-08-19  Bruno Haible  <bruno@clisp.org>
7577
7578         * modules/freadahead-tests: New file.
7579         * tests/test-freadahead.sh: New file.
7580         * tests/test-freadahead.c: New file.
7581
7582         * modules/freadahead: New file.
7583         * lib/freadahead.h: New file.
7584         * lib/freadahead.c: New file.
7585         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
7586         fbufmode, fpurge, freadable, fwritable.
7587
7588 2007-08-19  Eric Blake  <ebb9@byu.net>
7589
7590         Test yesno in combination with closein.
7591         * lib/yesno.c (yesno): Document use of stdin.
7592         * modules/yesno-tests (Files): New module.
7593         * tests/test-yesno.c (main): New file.
7594         * tests/test-yesno.sh: Likewise.
7595
7596 2007-08-19  Bruno Haible  <bruno@clisp.org>
7597
7598         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
7599         * lib/fseeko.c (rpl_fseeko): Likewise.
7600         * lib/fseterr.c (fseterr): Likewise.
7601
7602 2007-08-19  Bruno Haible  <bruno@clisp.org>
7603
7604         * tests/test-lseek.c (main): Disable a test for BeOS.
7605         * doc/functions/lseek.texi: Document the BeOS bug.
7606
7607 2007-08-19  Bruno Haible  <bruno@clisp.org>
7608             Eric Blake  <ebb9@byu.net>
7609
7610         * lib/lseek.c: Include <sys/stat.h>.
7611         (rpl_lseek): Add workaround code also for Unix platforms.
7612         Needed for BeOS.
7613         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
7614         * doc/functions/lseek.texi: Document BeOS definiency.
7615
7616 2007-08-18  Bruno Haible  <bruno@clisp.org>
7617
7618         * modules/fstrcmp-tests: New file.
7619         * tests/test-fstrcmp.c: New file.
7620
7621 2007-08-18  Bruno Haible  <bruno@clisp.org>
7622
7623         * modules/fstrcmp: New file, from GNU gettext with modifications.
7624         * lib/fstrcmp.h: New file, from GNU gettext.
7625         * lib/fstrcmp.c: New file, from GNU gettext.
7626         * MODULES.html.sh (String handling): Add fstrcmp.
7627
7628 2007-08-18  Bruno Haible  <bruno@clisp.org>
7629
7630         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
7631         'bool'.
7632         (diag, compareseq): Remove const from the ctxt argument.
7633         (USE_HEURISTIC): Undefine at the end.
7634
7635 2007-08-18  Jim Meyering  <jim@meyering.net>
7636
7637         New file: lib/idcache.h
7638         * NEWS: Mention the addition.
7639         * modules/idcache (Files): Add lib/idcache.h
7640         * lib/idcache.c: Include "idcache.h".
7641         Don't include <sys/types.h>.
7642         Add a FIXME comment.
7643         Move file-scoped "static" declarations to the top.
7644         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
7645
7646 2007-08-17  Bruno Haible  <bruno@clisp.org>
7647         and Paul Eggert  <eggert@cs.ucla.edu>
7648
7649         * MODULES.html.sh: Add diffseq.
7650         * modules/diffseq: New file.
7651         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
7652         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
7653
7654 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7655
7656         Import changes from coreutils for bootstrap script.
7657
7658         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
7659
7660         * build-aux/bootstrap (slurp): Work even in environments where
7661         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
7662         current code does not slurp files whose names start with ".", and
7663         this looks like it might be a troublesome area.
7664
7665         2007-07-11  Jim Meyering  <jim@meyering.net>
7666
7667         If there's a GPL vN copyright comment, require that N == 3.
7668
7669         2007-07-08  Jim Meyering  <jim@meyering.net>
7670
7671         Run the coreutils-specific code only if tests/Makefile.am.in exists.
7672         * build-aux/bootstrap (mam_template): Move definition out of loop.
7673
7674         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
7675
7676         * build-aux/bootstrap (symlink_to_dir): Rename function from
7677         symlink_to_gnulib.  Add a directory parameter.  Update all
7678         callers.
7679         (cp_mark_as_generated): Also check for -- and link to -- files in
7680         gl/.
7681
7682         2007-07-08  Jim Meyering  <jim@meyering.net>
7683
7684         Adapt to deeper hierarchy in gnulib.
7685         * build-aux/bootstrap (symlink_to_dir): If the destination
7686         directory doesn't exist, create it. This is required at least for
7687         "lib/uniwidth/cjk.h".
7688
7689         2007-05-15  Jim Meyering  <jim@meyering.net>
7690
7691         * build-aux/bootstrap: Now that generated Makefile.am files
7692         are no longer under version control, they must be created at
7693         bootstrap time.
7694
7695 2007-08-14  Ben Pfaff  <blp@gnu.org>
7696
7697         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
7698
7699 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7700
7701         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
7702         given the changes below.
7703         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
7704         even on hosts that have padding bits beyond the supported 64.
7705
7706 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7707
7708         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
7709         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
7710         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
7711         depends on it.
7712         (xstrtol_error): Remove.
7713         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
7714         but with a different signature.
7715         (ATTRIBUTE_NORETURN, __attribute__): New macros.
7716         * lib/xstrtol-error.c: Include exitfail.h.
7717         (xstrtol_fatal): New function, with a different signature from the
7718         old xstrtol_error, so that the caller need not worry about passing
7719         in an exit status, or about storage management of the option argument.
7720         (xstrtol_error): Now a static function.  Redo signature to
7721         implement xstrtol_fatal.  Output the correct number of hyphens in
7722         front of the option so that the caller need not worry about
7723         storage management.
7724         (N_): New macro.
7725         (_): Remove; not used now.
7726         * modules/xstrtol: Depend on getopt.
7727         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
7728         of old STRTOL_FATAL_ERROR macro.
7729         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
7730         of test program.
7731         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
7732         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
7733
7734 2007-08-08  Eric Blake  <ebb9@byu.net>
7735
7736         * lib/xstrtol-error.c: Add missing include.
7737
7738         Move xstrtol messages into gnulib domain, when --pobase is used.
7739         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
7740         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
7741         * modules/xstrtol (Files): Distribute new file.
7742         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
7743         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
7744         * tests/test-xstrtol.c: ...into new file.
7745         * tests/test-xstrtoul.c: Also test xstrtoul.
7746         * tests/test-xstrtoimax.c: Also test xstrtoimax.
7747         * tests/test-xstrtoumax.c: Also test xstrtoumax.
7748         * tests/test-xstrtol.sh: Drive the tests.
7749         * tests/test-xstrtoimax.sh: Likewise.
7750         * tests/test-xstrtoumax.sh: Likewise.
7751         * modules/xstrtol-tests: New module.
7752         * modules/xstrtoimax-tests: Likewise.
7753         * modules/xstrtoumax-tests: Likewise.
7754
7755 2007-08-08  Jim Meyering  <jim@meyering.net>
7756
7757         New function: mfile_name_concat.
7758         * lib/filenamecat.c (mfile_name_concat): New function, just like
7759         file_name_concat, but return NULL upon failure rather than exiting
7760         with a diagnostic.
7761         * lib/filenamecat.h: Declare it.
7762
7763 2007-08-07  Bruno Haible  <bruno@clisp.org>
7764
7765         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
7766         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
7767         warning from gcc.
7768         Reported by Eric Blake.
7769
7770 2007-08-07  Simon Josefsson  <simon@josefsson.org>
7771
7772         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
7773         * modules/crypto/arcfour (License): Likewise.
7774         * modules/crypto/des-tests (License): Likewise.
7775         * modules/crypto/gc-arctwo-tests (License): Likewise.
7776         * modules/crypto/gc-des-tests (License): Likewise.
7777         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
7778         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
7779         * modules/crypto/gc-md2-tests (License): Likewise.
7780         * modules/crypto/gc-md4-tests (License): Likewise.
7781         * modules/crypto/gc-md5-tests (License): Likewise.
7782         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
7783         * modules/crypto/gc-rijndael-tests (License): Likewise.
7784         * modules/crypto/gc-sha1-tests (License): Likewise.
7785         * modules/crypto/gc-tests (License): Likewise.
7786         * modules/crypto/hmac-md5 (License): Likewise.
7787         * modules/crypto/hmac-sha1 (License): Likewise.
7788         * modules/crypto/md2-tests (License): Likewise.
7789         * modules/crypto/md4-tests (License): Likewise.
7790         * modules/crypto/md5 (License): Likewise.
7791         * modules/crypto/rijndael (License): Likewise.
7792         * modules/crypto/sha1 (License): Likewise.
7793         * modules/memxor (License): Likewise.
7794
7795 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
7796         and Bruno Haible  <bruno@clisp.org>
7797
7798         * NEWS: Describe interface changes to human, xstrtol.
7799         * lib/human.h: Include <xstrtol.h>.
7800         (human_options): Return enum strtol_error, not int.  Remove
7801         bool arg; take int * instead.
7802         * lib/human.c: Don't include "gettext.h".
7803         (_): Remove; no longer used.
7804         Don't include <xstrtol.h>, since human.h does it.
7805         (human_options): Adjust to abovementioned interface changes.
7806         Do not report error to stderr; that's now the caller's
7807         responsibility.
7808         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
7809         interface change.
7810         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
7811         Str, Argument_type_string.  All uses changed.  Put " argument"
7812         in diagnostics to make them clearer.  Change wording of suffix
7813         message for clarity.
7814         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
7815         Argument_type_string.
7816         (STRTOL_FATAL_WARN): Remove; no longer used.
7817         * modules/human (Depends-on): Remove gettext-h.
7818
7819 2007-08-06  Simon Josefsson  <simon@josefsson.org>
7820
7821         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
7822
7823 2007-07-31  Bruno Haible  <bruno@clisp.org>
7824
7825         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
7826         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
7827         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
7828
7829 2007-07-31  Bruno Haible  <bruno@clisp.org>
7830
7831         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
7832         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
7833
7834 2007-07-30  Bruno Haible  <bruno@clisp.org>
7835
7836         * modules/base64 (License): Use the synonymous term "LGPLv2+".
7837         * modules/c-ctype (License): Likewise.
7838         * modules/c-strcase (License): Likewise.
7839         * modules/check-version (License): Likewise.
7840         * modules/iconv (License): Likewise.
7841         * modules/iconv_open (License): Likewise.
7842         * modules/read-file (License): Likewise.
7843         * modules/striconv (License): Likewise.
7844         * modules/strverscmp (License): Likewise.
7845         * modules/vasprintf (License): Likewise.
7846         * modules/crypto/des (License): Likewise.
7847         * modules/crypto/gc (License): Likewise.
7848         * modules/crypto/gc-arcfour (License): Likewise.
7849         * modules/crypto/gc-arctwo (License): Likewise.
7850         * modules/crypto/gc-des (License): Likewise.
7851         * modules/crypto/gc-hmac-md5 (License): Likewise.
7852         * modules/crypto/gc-hmac-sha1 (License): Likewise.
7853         * modules/crypto/gc-md2 (License): Likewise.
7854         * modules/crypto/gc-md4 (License): Likewise.
7855         * modules/crypto/gc-md5 (License): Likewise.
7856         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
7857         * modules/crypto/gc-random (License): Likewise.
7858         * modules/crypto/gc-rijndael (License): Likewise.
7859         * modules/crypto/gc-sha1 (License): Likewise.
7860         * modules/crypto/md2 (License): Likewise.
7861         * modules/crypto/md4 (License): Likewise.
7862
7863 2007-07-30  Jim Meyering  <jim@meyering.net>
7864
7865         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
7866         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
7867         it has valid stat data.  This bug would cause du not to count the
7868         sizes of inaccessible directories.
7869         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
7870         in <http://bugzilla.redhat.com/250077>.
7871
7872 2007-07-25  Peter O'Gorman  <peter@pogma.com>
7873             Bruno Haible  <bruno@clisp.org>
7874
7875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
7876         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
7877         #include_next, gives a diagnostic about it, but reports no error in
7878         the exit code.
7879         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
7880
7881 2007-07-24  Ben Pfaff  <blp@gnu.org>
7882
7883         Improve name: "count-one-bits" is better than "popcount".
7884         * MODULES.html.sh: Update name.
7885         * lib/popcount.h: Renamed lib/count-one-bits.h.
7886         (popcount): Renamed count_one_bits.
7887         (popcountl): Renamed count_one_bits_l.
7888         (popcountll): Renamed count_one_bits_ll.
7889         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
7890         * modules/popcount: Renamed module/count-one-bits.
7891         * modules/popcount-tests: Renamed module/count-one-bits-tests.
7892         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
7893
7894 2007-07-23  Ben Pfaff  <blp@gnu.org>
7895
7896         * lib/popcount.h (popcount32): Reduce size of constants, to allow
7897         better code generation, and add U to large constants to avoid
7898         warnings, in non-GCC case.
7899         Suggested by Bruno Haible.
7900
7901 2007-07-23  Ben Pfaff  <blp@gnu.org>
7902
7903         * lib/popcount.h: Use verify_true instead of if...abort.
7904         * modules/popcount: Depend on verify module.
7905         Suggested by Jim Meyering.
7906
7907 2007-07-23  Bruno Haible  <bruno@clisp.org>
7908
7909         * gnulib-tool (func_import): Create a .cvsignore file also when the
7910         directory is not yet in CVS but the toplevel directory is. When
7911         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
7912         Reported by Karl Berry.
7913
7914 2007-07-22  Ben Pfaff  <blp@gnu.org>
7915
7916         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
7917         case.
7918         Suggested by Eric Blake.
7919
7920 2007-07-22  Ben Pfaff  <blp@gnu.org>
7921
7922         New module: popcount.
7923         * MODULES.html.sh: Add popcount.
7924         * modules/popcount: New file.
7925         * modules/popcount-tests: New file.
7926         * tests/test-popcount.c: New file.
7927         * lib/popcount.h: New file.
7928         * m4/popcount.m4: New file.
7929
7930 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7931
7932         * build-aux/announce-gen: Update to GPLv3.
7933
7934         * build-aux/config.guess: Update from config.
7935
7936 2007-07-21  Bruno Haible  <bruno@clisp.org>
7937
7938         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
7939         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
7940
7941 2007-07-20  Jim Meyering  <jim@meyering.net>
7942
7943         * check-module: Diagnose a self-dependency.
7944
7945 2007-07-19  Bruno Haible  <bruno@clisp.org>
7946
7947         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
7948         empty.
7949         Reported by Eric Blake.
7950
7951 2007-07-18  Bruno Haible  <bruno@clisp.org>
7952
7953         * gnulib-tool: New options --po-base, --po-domain.
7954         (func_usage): Document them.
7955         (pobase, po_domain): New variables.
7956         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
7957         DEFAULT_TEXT_DOMAIN.
7958         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
7959         (func_import): Consider pobase and po_domain. Create a po/ directory.
7960         (func_create_testdir): Set pobase and po_domain to empty.
7961         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
7962         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
7963
7964 2007-07-18  Bruno Haible  <bruno@clisp.org>
7965
7966         * gnulib-tool (func_get_automake_snippet): Synthesize also an
7967         EXTRA_DIST augmentation for files in build-aux/.
7968
7969 2007-07-16  Bruno Haible  <bruno@clisp.org>
7970
7971         * modules/lseek (License): Use the synonymous term "LGPLv2+".
7972         * modules/getdelim (License): Likewise.
7973
7974 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7975
7976         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
7977         * modules/d-type (License): Likewise.
7978         * modules/extensions (License): Likewise.
7979         * modules/fnmatch (License): Likewise.
7980         * modules/fseeko (License): Likewise.
7981         * modules/getaddrinfo (License): Likewise.
7982         * modules/getline (License): Likewise.
7983         * modules/getlogin_r (License): Likewise.
7984         * modules/getpass (License): Likewise.
7985         * modules/gettimeofday (License): Likewise.
7986         * modules/glob (License): Likewise.
7987         * modules/inet_ntop (License): Likewise.
7988         * modules/malloc (License): Likewise.
7989         * modules/malloca (License): Likewise.
7990         * modules/memmem (License): Likewise.
7991         * modules/mempcpy (License): Likewise.
7992         * modules/memset (License): Likewise.
7993         * modules/minmax (License): Likewise.
7994         * modules/mktime (License): Likewise.
7995         * modules/netinet_in (License): Likewise.
7996         * modules/pathmax (License): Likewise.
7997         * modules/poll (License): Likewise.
7998         * modules/regex (License): Likewise.
7999         * modules/snprintf (License): Likewise.
8000         * modules/stdbool (License): Likewise.
8001         * modules/stdint (License): Likewise.
8002         * modules/stdio (License): Likewise.
8003         * modules/strcase (License): Likewise.
8004         * modules/strcasestr (License): Likewise.
8005         * modules/strdup (License): Likewise.
8006         * modules/string (License): Likewise.
8007         * modules/strndup (License): Likewise.
8008         * modules/strnlen (License): Likewise.
8009         * modules/strpbrk (License): Likewise.
8010         * modules/strptime (License): Likewise.
8011         * modules/strsep (License): Likewise.
8012         * modules/sys_select (License): Likewise.
8013         * modules/sys_socket (License): Likewise.
8014         * modules/sys_stat (License): Likewise.
8015         * modules/sys_time (License): Likewise.
8016         * modules/time (License): Likewise.
8017         * modules/time_r (License): Likewise.
8018         * modules/timegm (License): Likewise.
8019         * modules/unistd (License): Likewise.
8020         * modules/vsnprintf (License): Likewise.
8021         * modules/wctype (License): Likewise.
8022
8023 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8024
8025         * modules/argz (License): LGPLv2+.
8026
8027 2007-07-15  Karl Berry  <karl@gnu.org>
8028
8029         * doc/gnulib.texi: revise node structure per new fdl.texi.
8030
8031 2007-07-14  Bruno Haible  <bruno@clisp.org>
8032
8033         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
8034         the output file.
8035         * lib/uniname/uninames.h: Regenerated.
8036
8037 2007-07-14  Karl Berry  <karl@gnu.org>
8038
8039         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
8040         omitting sectioning and index commands.
8041
8042 2007-07-13  Bruno Haible  <bruno@clisp.org>
8043
8044         New gnulib-tool option --more-symlinks.
8045         * gnulib-tool (func_usage): Document --more-symlinks.
8046         (do_copyrights): New variable.
8047         Recognize option --more-symlinks.
8048         (func_import): Don't add a copyright notice transform to
8049         sed_transform_lib_file if do_copyrights is empty.
8050
8051 2007-07-13  Bruno Haible  <bruno@clisp.org>
8052
8053         * lib/vasnprintf.c (decimal_point_char): Define also if
8054         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
8055         && !NEED_PRINTF_DIRECTIVE_A.
8056         Reported by Clemens Koller <clemens.koller@anagramm.de> via
8057         Gary V. Vaughan <gary@gnu.org>.
8058
8059 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
8060
8061         * lib/inttypes_.h: Undo previous change, since it was fixed
8062         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
8063
8064 2007-07-13  Bruno Haible  <bruno@clisp.org>
8065
8066         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
8067         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
8068
8069 2007-07-13  Jim Meyering  <jim@meyering.net>
8070
8071         df: Don't fail for Tru64's "file-on-file mount".
8072         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
8073         so we fall through and use statfs instead.  Details here:
8074         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
8075         Reported by Albert Chin.
8076
8077 2007-07-13  Bruno Haible  <bruno@clisp.org>
8078
8079         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
8080         * modules/configmake (License): Likewise.
8081         * modules/gettext (License): Likewise.
8082         * modules/gettext-h (License): Likewise.
8083         * modules/include_next (License): Likewise.
8084         * modules/link-warning (License): Likewise.
8085         * modules/localcharset (License): Likewise.
8086         * modules/localename (License): Likewise.
8087         * modules/lock (License): Likewise.
8088         * modules/relocatable-lib-lgpl (License): Likewise.
8089         * modules/size_max (License): Likewise.
8090         * modules/vasnprintf (License): Likewise.
8091         * modules/wchar (License): Likewise.
8092         * modules/xsize (License): Likewise.
8093
8094 2007-07-13  Bruno Haible  <bruno@clisp.org>
8095
8096         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
8097         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
8098
8099 2007-07-12  Bruno Haible  <bruno@clisp.org>
8100
8101         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
8102         in the modules files.
8103
8104 2007-07-11  Karl Berry  <karl@gnu.org>
8105
8106         * MODULES.html.sh (func_module): use
8107          sed -e '\|^'"${includefile}"'$|d'
8108          instead of /.../d, to avoid errors on $includefile's containing /.
8109
8110 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8111
8112         * gnulib-tool (func_import): Avoid duplication of --avoid
8113         statements
8114         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
8115         names to `_' in variable names.
8116
8117 2007-07-10  Eric Blake  <ebb9@byu.net>
8118
8119         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
8120         * NEWS: Document this change.
8121
8122 2007-07-08  Bruno Haible  <bruno@clisp.org>
8123
8124         Update to Unicode 5.0.
8125         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
8126         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
8127         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
8128         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
8129         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
8130         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
8131         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
8132         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
8133         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
8134         U+10A3F, U+1D242..U+1D244.
8135         (nonspacing_table_ind): Update.
8136         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
8137         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
8138
8139 2007-07-08  Bruno Haible  <bruno@clisp.org>
8140
8141         Update to Unicode 5.0.
8142         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
8143         code transform. Extend the name index field of unicode_name_to_code and
8144         unicode_code_to_name from 16 to 24 bits.
8145         * lib/uniname/uniname.c (unicode_character_name,
8146         unicode_name_character): Add the range 0x12xxx to the code transform.
8147         * lib/uniname/uninames.h: Regenerated.
8148         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
8149
8150 2007-07-07  Bruno Haible  <bruno@clisp.org>
8151
8152         * modules/wcwidth-tests: New file.
8153         * tests/test-wcwidth.c: New file.
8154
8155         Work around MacOS X wcwidth() bug.
8156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
8157         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
8158         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
8159         original wcwidth in non-UTF-8 locales.
8160         * modules/wcwidth (Depends-on): Add localcharset, streq,
8161         uniwidth/width.
8162         * doc/functions/wcwidth.texi: Update.
8163
8164 2007-07-07  Bruno Haible  <bruno@clisp.org>
8165
8166         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
8167         (wcwidth): New declaration.
8168         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
8169         macros.
8170         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
8171         here. Prepare for creating <wchar.h> unconditionally.
8172         * modules/wchar (Depends-on): Add link-warning.
8173         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
8174         REPLACE_WCWIDTH, and GL_LINK_WARNING.
8175         * lib/wcwidth.h: Remove file.
8176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
8177         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
8178         * modules/wcwidth (Files): Remove lib/wcwidth.h.
8179         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
8180         (Include): Replace wcwidth.h with <wchar.h>.
8181         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
8182         * lib/mbchar.h: Don't include wcwidth.h.
8183         * lib/mbswidth.c: Likewise.
8184         * NEWS: Mention the change.
8185
8186 2007-07-07  Bruno Haible  <bruno@clisp.org>
8187
8188         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
8189         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
8190         definition with an external declaration.
8191         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
8192         defined as a function. Remove AC_C_INLINE requirement.
8193         * modules/wcwidth (Files): Add lib/wcwidth.c.
8194         (Makefile.am): Remove redundant statement.
8195
8196 2007-07-07  Bruno Haible  <bruno@clisp.org>
8197
8198         * MODULES.html.sh (Unicode string functions): Add the new modules.
8199
8200         * tests/uniwidth/test-u32-strwidth.c: New file.
8201         * modules/uniwidth/u32-strwidth-tests: New file.
8202
8203         * lib/uniwidth/u32-strwidth.c: New file.
8204         * modules/uniwidth/u32-strwidth: New file.
8205
8206         * tests/uniwidth/test-u16-strwidth.c: New file.
8207         * modules/uniwidth/u16-strwidth-tests: New file.
8208
8209         * lib/uniwidth/u16-strwidth.c: New file.
8210         * modules/uniwidth/u16-strwidth: New file.
8211
8212         * tests/uniwidth/test-u8-strwidth.c: New file.
8213         * modules/uniwidth/u8-strwidth-tests: New file.
8214
8215         * lib/uniwidth/u8-strwidth.c: New file.
8216         * modules/uniwidth/u8-strwidth: New file.
8217
8218         * tests/uniwidth/test-u32-width.c: New file.
8219         * modules/uniwidth/u32-width-tests: New file.
8220
8221         * lib/uniwidth/u32-width.c: New file.
8222         * modules/uniwidth/u32-width: New file.
8223
8224         * tests/uniwidth/test-u16-width.c: New file.
8225         * modules/uniwidth/u16-width-tests: New file.
8226
8227         * lib/uniwidth/u16-width.c: New file.
8228         * modules/uniwidth/u16-width: New file.
8229
8230         * tests/uniwidth/test-u8-width.c: New file.
8231         * modules/uniwidth/u8-width-tests: New file.
8232
8233         * lib/uniwidth/u8-width.c: New file.
8234         * modules/uniwidth/u8-width: New file.
8235
8236         * tests/uniwidth/test-uc_width.c: New file.
8237         * modules/uniwidth/width-tests: New file.
8238
8239         * lib/uniwidth/width.c: New file, from GNU libiconv.
8240         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
8241         * modules/uniwidth/width: New file.
8242
8243         * lib/uniwidth.h: New file, from GNU libiconv.
8244         * modules/uniwidth/base: New file.
8245
8246 2007-07-07  Bruno Haible  <bruno@clisp.org>
8247
8248         * lib/uniname.h: New file, from GNU gettext.
8249         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
8250         * lib/uniname/uninames.h: New file, from GNU gettext.
8251         * lib/uniname/uniname.c: New file, from GNU gettext.
8252         * tests/uniname/test-uninames.sh: New file.
8253         * tests/uniname/test-uninames.c: New file, from GNU gettext.
8254         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
8255         * modules/uniname/base: New file.
8256         * modules/uniname/uniname: New file.
8257         * modules/uniname/uniname-tests: New file.
8258         * MODULES.html.sh (Unicode string functions): Add the new modules.
8259
8260 2007-07-06  Bruno Haible  <bruno@clisp.org>
8261
8262         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
8263
8264 2007-07-06  Bruno Haible  <bruno@clisp.org>
8265
8266         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
8267         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
8268         includes <cygwin/sys_time.h> which includes <sys/select.h> which
8269         include <sys/time.h>.
8270         Reported by Eric Blake.
8271
8272 2007-07-06  Eric Blake  <ebb9@byu.net>
8273
8274         Fix testing canonicalize on cygwin.
8275         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
8276         Revert patch from 2007-06-19.
8277         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
8278         canonicalize module is also in use.
8279         * tests/test-canonicalize.c: New file.
8280         * tests/test-canonicalize.sh: Likewise.
8281         * modules/canonicalize-tests: Likewise.
8282
8283 2007-07-06  Jim Meyering  <jim@meyering.net>
8284
8285         * lib/getugroups.c (getugroups): Detect getgrent failure.
8286         Adjust comment to reflect reality: this function may return -1.
8287
8288 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8289
8290         * build-aux/bootstrap (TP_URL,get_translations): Update to use
8291         the new TP address.
8292         (usage): Fix typo
8293         (gnulib_mk): New variable.
8294
8295 2007-07-05  Jim Meyering  <jim@meyering.net>
8296
8297         Don't let endgrent clobber errno, no matter how improbable.
8298         * lib/getugroups.c (getugroups): Save and restore errno around
8299         endgrent call.
8300
8301         Close the group DB even when failing with 2^31 or more members.
8302         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
8303
8304 2007-07-04  Jim Meyering  <jim@meyering.net>
8305
8306         * lib/getugroups.h: New file.
8307         * lib/getugroups.c: Include "getugroups.h".
8308         Remove uses of "register" keyword.
8309         Move local variable, "cp", down into scope where used.
8310         Give "username" parameter the "const" attribute.
8311         * modules/getugroups (Files): Add lib/getugroups.h
8312
8313 2007-07-04  Karl Berry  <karl@gnu.org>
8314
8315         * MODULES.html.sh (func_all_modules): Complete rename of
8316         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
8317
8318 2007-07-02  Bruno Haible  <bruno@clisp.org>
8319
8320         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
8321         mode, when inttypes.h comes from gnulib.
8322         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
8323
8324 2007-07-02  Simon Josefsson  <simon@josefsson.org>
8325
8326         * NEWS: Mention lgpl module name change.
8327
8328         * modules/lgpl-2.1: Renamed from lgpl.
8329
8330         * NEWS: Mention gpl module name change.
8331
8332         * modules/gpl-3.0: New file, based on gpl-2.0.
8333
8334         * modules/gpl-2.0: Renamed from gpl.
8335
8336         * modules/gpl: Fix filename, doc/gpl.texi is now found at
8337         doc/gpl-2.0.texi.
8338
8339 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8340
8341         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
8342         #define __STDC_LIMIT_MACROS temporarily while including
8343         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
8344         Problem reported by Joel E. Denny in
8345         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
8346
8347 2007-07-01  Bruno Haible  <bruno@clisp.org>
8348
8349         * lib/unistdio.h: New file.
8350         * lib/unistdio/u-asnprintf.h: New file.
8351         * lib/unistdio/u-asprintf.h: New file.
8352         * lib/unistdio/u-printf-args.c: New file.
8353         * lib/unistdio/u-printf-args.h: New file.
8354         * lib/unistdio/u-printf-parse.h: New file.
8355         * lib/unistdio/u-snprintf.h: New file.
8356         * lib/unistdio/u-sprintf.h: New file.
8357         * lib/unistdio/u-vasprintf.h: New file.
8358         * lib/unistdio/u-vsnprintf.h: New file.
8359         * lib/unistdio/u-vsprintf.h: New file.
8360         * lib/unistdio/ulc-asnprintf.c: New file.
8361         * lib/unistdio/ulc-asprintf.c: New file.
8362         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
8363         * lib/unistdio/ulc-printf-parse.c: New file.
8364         * lib/unistdio/ulc-snprintf.c: New file.
8365         * lib/unistdio/ulc-sprintf.c: New file.
8366         * lib/unistdio/ulc-vasnprintf.c: New file.
8367         * lib/unistdio/ulc-vasprintf.c: New file.
8368         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
8369         * lib/unistdio/ulc-vsnprintf.c: New file.
8370         * lib/unistdio/ulc-vsprintf.c: New file.
8371         * lib/unistdio/u8-asnprintf.c: New file.
8372         * lib/unistdio/u8-asprintf.c: New file.
8373         * lib/unistdio/u8-printf-parse.c: New file.
8374         * lib/unistdio/u8-snprintf.c: New file.
8375         * lib/unistdio/u8-sprintf.c: New file.
8376         * lib/unistdio/u8-vasnprintf.c: New file.
8377         * lib/unistdio/u8-vasprintf.c: New file.
8378         * lib/unistdio/u8-vsnprintf.c: New file.
8379         * lib/unistdio/u8-vsprintf.c: New file.
8380         * lib/unistdio/u8-u8-asnprintf.c: New file.
8381         * lib/unistdio/u8-u8-asprintf.c: New file.
8382         * lib/unistdio/u8-u8-snprintf.c: New file.
8383         * lib/unistdio/u8-u8-sprintf.c: New file.
8384         * lib/unistdio/u8-u8-vasnprintf.c: New file.
8385         * lib/unistdio/u8-u8-vasprintf.c: New file.
8386         * lib/unistdio/u8-u8-vsnprintf.c: New file.
8387         * lib/unistdio/u8-u8-vsprintf.c: New file.
8388         * lib/unistdio/u16-asnprintf.c: New file.
8389         * lib/unistdio/u16-asprintf.c: New file.
8390         * lib/unistdio/u16-printf-parse.c: New file.
8391         * lib/unistdio/u16-snprintf.c: New file.
8392         * lib/unistdio/u16-sprintf.c: New file.
8393         * lib/unistdio/u16-vasnprintf.c: New file.
8394         * lib/unistdio/u16-vasprintf.c: New file.
8395         * lib/unistdio/u16-vsnprintf.c: New file.
8396         * lib/unistdio/u16-vsprintf.c: New file.
8397         * lib/unistdio/u16-u16-asnprintf.c: New file.
8398         * lib/unistdio/u16-u16-asprintf.c: New file.
8399         * lib/unistdio/u16-u16-snprintf.c: New file.
8400         * lib/unistdio/u16-u16-sprintf.c: New file.
8401         * lib/unistdio/u16-u16-vasnprintf.c: New file.
8402         * lib/unistdio/u16-u16-vasprintf.c: New file.
8403         * lib/unistdio/u16-u16-vsnprintf.c: New file.
8404         * lib/unistdio/u16-u16-vsprintf.c: New file.
8405         * lib/unistdio/u32-asnprintf.c: New file.
8406         * lib/unistdio/u32-asprintf.c: New file.
8407         * lib/unistdio/u32-printf-parse.c: New file.
8408         * lib/unistdio/u32-snprintf.c: New file.
8409         * lib/unistdio/u32-sprintf.c: New file.
8410         * lib/unistdio/u32-vasnprintf.c: New file.
8411         * lib/unistdio/u32-vasprintf.c: New file.
8412         * lib/unistdio/u32-vsnprintf.c: New file.
8413         * lib/unistdio/u32-vsprintf.c: New file.
8414         * lib/unistdio/u32-u32-asnprintf.c: New file.
8415         * lib/unistdio/u32-u32-asprintf.c: New file.
8416         * lib/unistdio/u32-u32-snprintf.c: New file.
8417         * lib/unistdio/u32-u32-sprintf.c: New file.
8418         * lib/unistdio/u32-u32-vasnprintf.c: New file.
8419         * lib/unistdio/u32-u32-vasprintf.c: New file.
8420         * lib/unistdio/u32-u32-vsnprintf.c: New file.
8421         * lib/unistdio/u32-u32-vsprintf.c: New file.
8422         * tests/unistdio/test-ulc-asnprintf1.c: New file.
8423         * tests/unistdio/test-ulc-asnprintf1.h: New file.
8424         * tests/unistdio/test-ulc-printf1.h: New file.
8425         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
8426         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
8427         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
8428         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
8429         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
8430         * tests/unistdio/test-ulc-vasprintf1.c: New file.
8431         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
8432         * tests/unistdio/test-ulc-vsprintf1.c: New file.
8433         * tests/unistdio/test-u8-asnprintf1.c: New file.
8434         * tests/unistdio/test-u8-asnprintf1.h: New file.
8435         * tests/unistdio/test-u8-printf1.h: New file.
8436         * tests/unistdio/test-u8-vasnprintf1.c: New file.
8437         * tests/unistdio/test-u8-vasnprintf2.c: New file.
8438         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
8439         * tests/unistdio/test-u8-vasnprintf3.c: New file.
8440         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
8441         * tests/unistdio/test-u8-vasprintf1.c: New file.
8442         * tests/unistdio/test-u8-vsnprintf1.c: New file.
8443         * tests/unistdio/test-u8-vsprintf1.c: New file.
8444         * tests/unistdio/test-u16-asnprintf1.c: New file.
8445         * tests/unistdio/test-u16-asnprintf1.h: New file.
8446         * tests/unistdio/test-u16-printf1.h: New file.
8447         * tests/unistdio/test-u16-vasnprintf1.c: New file.
8448         * tests/unistdio/test-u16-vasnprintf2.c: New file.
8449         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
8450         * tests/unistdio/test-u16-vasnprintf3.c: New file.
8451         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
8452         * tests/unistdio/test-u16-vasprintf1.c: New file.
8453         * tests/unistdio/test-u16-vsnprintf1.c: New file.
8454         * tests/unistdio/test-u16-vsprintf1.c: New file.
8455         * tests/unistdio/test-u32-asnprintf1.c: New file.
8456         * tests/unistdio/test-u32-asnprintf1.h: New file.
8457         * tests/unistdio/test-u32-printf1.h: New file.
8458         * tests/unistdio/test-u32-vasnprintf1.c: New file.
8459         * tests/unistdio/test-u32-vasnprintf2.c: New file.
8460         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
8461         * tests/unistdio/test-u32-vasnprintf3.c: New file.
8462         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
8463         * tests/unistdio/test-u32-vasprintf1.c: New file.
8464         * tests/unistdio/test-u32-vsnprintf1.c: New file.
8465         * tests/unistdio/test-u32-vsprintf1.c: New file.
8466         * modules/unistdio/base: New file.
8467         * modules/unistdio/u-printf-args: New file.
8468         * modules/unistdio/ulc-asnprintf: New file.
8469         * modules/unistdio/ulc-asprintf: New file.
8470         * modules/unistdio/ulc-fprintf: New file.
8471         * modules/unistdio/ulc-printf-parse: New file.
8472         * modules/unistdio/ulc-snprintf: New file.
8473         * modules/unistdio/ulc-sprintf: New file.
8474         * modules/unistdio/ulc-vasnprintf: New file.
8475         * modules/unistdio/ulc-vasprintf: New file.
8476         * modules/unistdio/ulc-vfprintf: New file.
8477         * modules/unistdio/ulc-vsnprintf: New file.
8478         * modules/unistdio/ulc-vsprintf: New file.
8479         * modules/unistdio/u8-asnprintf: New file.
8480         * modules/unistdio/u8-asprintf: New file.
8481         * modules/unistdio/u8-printf-parse: New file.
8482         * modules/unistdio/u8-snprintf: New file.
8483         * modules/unistdio/u8-sprintf: New file.
8484         * modules/unistdio/u8-vasnprintf: New file.
8485         * modules/unistdio/u8-vasprintf: New file.
8486         * modules/unistdio/u8-vsnprintf: New file.
8487         * modules/unistdio/u8-vsprintf: New file.
8488         * modules/unistdio/u8-u8-asnprintf: New file.
8489         * modules/unistdio/u8-u8-asprintf: New file.
8490         * modules/unistdio/u8-u8-snprintf: New file.
8491         * modules/unistdio/u8-u8-sprintf: New file.
8492         * modules/unistdio/u8-u8-vasnprintf: New file.
8493         * modules/unistdio/u8-u8-vasprintf: New file.
8494         * modules/unistdio/u8-u8-vsnprintf: New file.
8495         * modules/unistdio/u8-u8-vsprintf: New file.
8496         * modules/unistdio/u16-asnprintf: New file.
8497         * modules/unistdio/u16-asprintf: New file.
8498         * modules/unistdio/u16-printf-parse: New file.
8499         * modules/unistdio/u16-snprintf: New file.
8500         * modules/unistdio/u16-sprintf: New file.
8501         * modules/unistdio/u16-vasnprintf: New file.
8502         * modules/unistdio/u16-vasprintf: New file.
8503         * modules/unistdio/u16-vsnprintf: New file.
8504         * modules/unistdio/u16-vsprintf: New file.
8505         * modules/unistdio/u16-u16-asnprintf: New file.
8506         * modules/unistdio/u16-u16-asprintf: New file.
8507         * modules/unistdio/u16-u16-snprintf: New file.
8508         * modules/unistdio/u16-u16-sprintf: New file.
8509         * modules/unistdio/u16-u16-vasnprintf: New file.
8510         * modules/unistdio/u16-u16-vasprintf: New file.
8511         * modules/unistdio/u16-u16-vsnprintf: New file.
8512         * modules/unistdio/u16-u16-vsprintf: New file.
8513         * modules/unistdio/u32-asnprintf: New file.
8514         * modules/unistdio/u32-asprintf: New file.
8515         * modules/unistdio/u32-printf-parse: New file.
8516         * modules/unistdio/u32-snprintf: New file.
8517         * modules/unistdio/u32-sprintf: New file.
8518         * modules/unistdio/u32-vasnprintf: New file.
8519         * modules/unistdio/u32-vasprintf: New file.
8520         * modules/unistdio/u32-vsnprintf: New file.
8521         * modules/unistdio/u32-vsprintf: New file.
8522         * modules/unistdio/u32-u32-asnprintf: New file.
8523         * modules/unistdio/u32-u32-asprintf: New file.
8524         * modules/unistdio/u32-u32-snprintf: New file.
8525         * modules/unistdio/u32-u32-sprintf: New file.
8526         * modules/unistdio/u32-u32-vasnprintf: New file.
8527         * modules/unistdio/u32-u32-vasprintf: New file.
8528         * modules/unistdio/u32-u32-vsnprintf: New file.
8529         * modules/unistdio/u32-u32-vsprintf: New file.
8530         * modules/unistdio/ulc-asnprintf-tests: New file.
8531         * modules/unistdio/ulc-vasnprintf-tests: New file.
8532         * modules/unistdio/ulc-vasprintf-tests: New file.
8533         * modules/unistdio/ulc-vsnprintf-tests: New file.
8534         * modules/unistdio/ulc-vsprintf-tests: New file.
8535         * modules/unistdio/u8-asnprintf-tests: New file.
8536         * modules/unistdio/u8-vasnprintf-tests: New file.
8537         * modules/unistdio/u8-vasprintf-tests: New file.
8538         * modules/unistdio/u8-vsnprintf-tests: New file.
8539         * modules/unistdio/u8-vsprintf-tests: New file.
8540         * modules/unistdio/u16-asnprintf-tests: New file.
8541         * modules/unistdio/u16-vasnprintf-tests: New file.
8542         * modules/unistdio/u16-vasprintf-tests: New file.
8543         * modules/unistdio/u16-vsnprintf-tests: New file.
8544         * modules/unistdio/u16-vsprintf-tests: New file.
8545         * modules/unistdio/u32-asnprintf-tests: New file.
8546         * modules/unistdio/u32-vasnprintf-tests: New file.
8547         * modules/unistdio/u32-vasprintf-tests: New file.
8548         * modules/unistdio/u32-vsnprintf-tests: New file.
8549         * modules/unistdio/u32-vsprintf-tests: New file.
8550         * MODULES.html.sh (Unicode string functions): Add the new modules.
8551
8552 2007-07-01  Bruno Haible  <bruno@clisp.org>
8553
8554         * lib/sprintf.c (sprintf): Limit the available length estimation,
8555         to avoid address wraparound.
8556         * lib/vsprintf.c (vsprintf): Likewise.
8557         * modules/sprintf-posix (Dependencies): Add stdint.
8558         * modules/vsprintf-posix (Dependencies): Likewise.
8559
8560 2007-07-01  Bruno Haible  <bruno@clisp.org>
8561
8562         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
8563         Windows PATH as well. Conservative double-quoting. Comments.
8564
8565 2007-07-01  Bruno Haible  <bruno@clisp.org>
8566             Eric Blake  <ebb9@byu.net>
8567             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8568
8569         * gnulib-tool (self_abspathname): Fix algorithm to cope with
8570         empty components in $PATH, denoting '.'.
8571
8572 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8573
8574         * gnulib-tool: Fix indentation.
8575         (func_create_megatestdir): Likewise.
8576         Report by Bruno Haible.
8577
8578 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8579
8580         Sync from Automake.
8581         * build-aux/gnupload: Fix shell portability issues with for loops.
8582         Report by Karl Berry.
8583
8584 2007-06-29  Simon Josefsson  <simon@josefsson.org>
8585
8586         * build-aux/maint.mk (POURL): Use translationproject.org.
8587
8588 2007-06-27  Simon Josefsson  <simon@josefsson.org>
8589             Bruno Haible  <bruno@clisp.org>
8590
8591         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
8592         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
8593         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
8594         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
8595         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
8596
8597 2007-06-27  Bruno Haible  <bruno@clisp.org>
8598
8599         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
8600         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
8601
8602 2007-06-26  Karl Berry  <karl@gnu.org>
8603
8604         * MODULES.html.sh: remove xreadlink-with-size.
8605
8606 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
8607
8608         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
8609         method that I hope also handles the double-include problem noted
8610         by Bruno Haible in
8611         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
8612
8613 2007-06-23  Bruno Haible  <bruno@clisp.org>
8614
8615         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8616         Don't let the 'mostlyclean' target fail if the last subdirectory could
8617         not be removed.
8618         Reported by Karl Berry.
8619
8620 2007-06-23  Bruno Haible  <bruno@clisp.org>
8621
8622         * gnulib-tool (echo): Add a speedier workaround for ksh.
8623         * tests/test-echo.sh: Likewise.
8624
8625 2007-06-23  Bruno Haible  <bruno@clisp.org>
8626
8627         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
8628         * tests/test-echo.sh: Likewise.
8629
8630 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8631
8632         * gnulib-tool (IFS): Initialize early, so we don't set it to
8633         empty later.
8634         (self_abspathname): Rewrite algorithm to set it, reindent.
8635         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
8636         (func_create_megatestdir): Merge some sed scripts.
8637
8638 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
8641         exposed by Sun Studio 11 cc on Solaris 8.
8642
8643 2007-06-22  Bruno Haible  <bruno@clisp.org>
8644
8645         * gnulib-tool (echo): Ensure the echo primitive does not interpret
8646         backslashes.
8647         * tests/test-echo.sh: New file.
8648
8649 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8650
8651         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
8652         simplify `sed_replace_build_aux' scripts, they are portable but
8653         echoing them with `echo' is not.
8654         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
8655
8656 2007-06-21  Karl Berry  <karl@gnu.org>
8657
8658         * config/srclist.txt: guess we can't handle the licenses via
8659         srclist at the moment.
8660
8661 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
8662
8663         * MODULES.html.sh: Add include_next.
8664         * modules/include_next: New file.
8665
8666 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8667
8668         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
8669         INCLUDE_NEXT.
8670         (gl_CHECK_NEXT_HEADERS): New macro.
8671         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
8672         the obsolescent gl_ABSOLUTE_HEADER.
8673         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
8674         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
8675         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8676         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8677         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8678         * m4/math_h.m4 (gl_MATH_H): Likewise.
8679         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
8680         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8681         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8682         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8683         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8684         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8685         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
8686         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8687         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8688         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8689         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
8690         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8691         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8692         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8693         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8694         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8695         * m4/inttypes.m4 (gl_INTTYPES_H): Define
8696         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
8697         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
8698         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
8699         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
8700         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
8701         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
8702         * lib/float_.h: Likewise.
8703         * lib/inttypes_.h: Likewise.
8704         * lib/math_.h: Likewise.
8705         * lib/search_.h: Likewise.
8706         * lib/signal_.h: Likewise.
8707         * lib/stdint_.h: Likewise.
8708         * lib/stdio_.h: Likewise.
8709         * lib/stdlib_.h: Likewise.
8710         * lib/string_.h: Likewise.
8711         * lib/sys_stat_.h: Likewise.
8712         * lib/sys_time_.h: Likewise.
8713         * lib/time_.h: Likewise.
8714         * lib/unistd_.h: Likewise.
8715         * lib/wchar_.h: Likewise.
8716         * lib/wctype_.h: Likewise.
8717         * lib/dirent_.h: Likewise.
8718         * lib/iconv_.h: Likewise.
8719         * lib/locale_.h: Likewise.
8720         * lib/netinet_in_.h: Likewise.
8721         * lib/sys_select_.h: Likewise.
8722         * lib/sys_socket_.h: Likewise.
8723         * lib/sysexits_.h: Likewise.
8724         * modules/fcntl (Depends-on): Depend on include_next, not
8725         absolute_header.
8726         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
8727         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
8728         * modules/fchdir: Likewise.
8729         * modules/float: Likewise.
8730         * modules/iconv_open: Likewise.
8731         * modules/inttypes: Likewise.
8732         * modules/locale: Likewise.
8733         * modules/math: Likewise.
8734         * modules/netinet_in: Likewise.
8735         * modules/search: Likewise.
8736         * modules/signal: Likewise.
8737         * modules/stdint: Likewise.
8738         * modules/stdio: Likewise.
8739         * modules/stdlib: Likewise.
8740         * modules/string: Likewise.
8741         * modules/sys_select: Likewise.
8742         * modules/sys_socket: Likewise.
8743         * modules/sys_stat: Likewise.
8744         * modules/sys_time: Likewise.
8745         * modules/sysexits: Likewise.
8746         * modules/time: Likewise.
8747         * modules/unistd: Likewise.
8748         * modules/wchar: Likewise.
8749         * modules/wctype: Likewise.
8750         * modules/sys_stat: Change maintainer to "all".
8751         * modules/unistd: Likewise.
8752
8753 2007-06-20  Karl Berry  <karl@gnu.org>
8754
8755         * config/srclist.txt: track www changes in license files.
8756
8757 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
8758
8759         * build-aux/bootstrap: Remove stray dot.
8760         Make sure build_aux settings are honored when linking
8761         gnulib_extra_files.
8762
8763 2007-06-19  Eric Blake  <ebb9@byu.net>
8764
8765         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
8766         Allow compilation on cygwin.
8767
8768 2007-06-19  Jim Meyering  <jim@meyering.net>
8769
8770         xreadlink-with-size: Remove module.  No longer used.
8771         Ex-callers now use xreadlink or mreadlink-with-size.
8772         * modules/xreadlink-with-size: Remove module.
8773         * lib/xreadlink-with-size.c: Remove file.
8774         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
8775         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
8776         just before the function definition *is* accurate.
8777
8778         Eliminate one way canonicalize_filename_mode could exit.
8779         * lib/canonicalize.c (canonicalize_filename_mode):
8780         Use mreadlink_with_size, not xreadlink_with_size.
8781
8782 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
8783
8784         Detect porting problems to FreeBSD/arm, which has time_t wider than
8785         long int.  Original problem reported for GNU diff by Xin Li in
8786         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
8787         * modules/getdate (Depends-on): Add intprops, verify.
8788         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
8789         is an integer type no wider than long int.
8790
8791 2007-06-18  Jim Meyering  <jim@meyering.net>
8792
8793         New module: mreadlink-with-size.
8794         * MODULES.html.sh: Add mreadlink-with-size.
8795         * modules/mreadlink-with-size: New module
8796         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
8797         not xreadlink-with-size.
8798         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
8799
8800 2007-06-16  Bruno Haible  <bruno@clisp.org>
8801
8802         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
8803         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
8804         Reported by Gary V. Vaughan <gary@gnu.org>.
8805
8806 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8807
8808         Revamp lchown so that it lives in unistd.h where it belongs.
8809         * lib/lchown.h: Remove.
8810         * lib/dirchownmod.c: Don't include lib/lchown.h.
8811         * lib/fchownat.c: Likewise.
8812         * lib/openat.c: Likewise.
8813         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
8814         does not follow symlinks.
8815         (EOPNOTSUPP): Define if not defined.
8816         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
8817         is defined to 0.
8818         (lchown): New decl.
8819         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
8820         Do not check for lchown decl.
8821         Set REPLACE_LCHOWN.
8822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
8823         REPLACE_LCHOWN.
8824         * modules/chown: Make it clear it follows symlinks.
8825         * modules/lchown: Make it clear it doesn't follow symlinks.
8826         (Files): Remove lib/lchown.h
8827         (Depends-on): Add unistd.
8828         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
8829         (Include): Include <unistd.h>, not "lchown.h".
8830         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
8831         REPLACE_LCHOWN.
8832
8833 2007-06-15  Jim Meyering  <jim@meyering.net>
8834
8835         Change license (GPL to LGPL) of fsusage and dependents.
8836         * modules/fsusage (License): Change to LGPL.
8837         * modules/full-read (License): Likewise.
8838         * modules/full-write (License): Likewise.
8839         * modules/safe-read (License): Likewise.
8840         * modules/safe-write (License): Likewise.
8841
8842 2007-06-14  Ben Pfaff  <blp@gnu.org>
8843
8844         Missing part of allocsa -> malloca transition.
8845         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
8846         gl_MALLOCA.
8847
8848 2007-06-12  Bruno Haible  <bruno@clisp.org>
8849
8850         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
8851         to ia64, x86_64, i386.
8852         Reported by Eric Blake.
8853
8854 2007-06-12  Bruno Haible  <bruno@clisp.org>
8855
8856         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
8857         cross-compiling to x86_64.
8858
8859 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
8860
8861         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
8862         glitch reported by Ralf Wildenhues in
8863         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
8864
8865         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
8866         Vin Shelton.
8867
8868 2007-06-11  Bruno Haible  <bruno@clisp.org>
8869
8870         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
8871         replacement string.
8872         Reported by Eric Blake.
8873
8874 2007-06-10  Bruno Haible  <bruno@clisp.org>
8875
8876         Prepare vasnprintf code for use with Unicode strings.
8877         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
8878         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
8879         TYPE_U32_STRING.
8880         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
8881         a_u32_string variants.
8882         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
8883         * lib/printf-args.c: Don't include config.h and the specification
8884         header if PRINTF_FETCHARGS is already defined.
8885         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
8886         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
8887         TYPE_U16_STRING, TYPE_U32_STRING.
8888         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
8889         u16_directive, u16_directives, u32_directive, u32_directives): New
8890         types.
8891         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
8892         New declarations.
8893         * lib/printf-parse.c: Don't include config.h and the specification
8894         header if PRINTF_PARSE is already defined. Eliminate the set of
8895         parameters for WIDE_CHAR_VERSION; the user of this file must provide
8896         them now. Include c-ctype.h.
8897         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
8898         directive and CHAR_T_ONLY_ASCII.
8899         * lib/vasnprintf.c: Don't include config.h and the specification header
8900         if VASNPRINTF is already defined.
8901         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
8902         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
8903         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
8904         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
8905         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
8906         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
8907         code accordingly.
8908         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
8909         pad_ourselves also in this case, with the 'c' and 's' directives, and
8910         with a different notion of "width".
8911         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
8912
8913 2007-06-10  Bruno Haible  <bruno@clisp.org>
8914
8915         * modules/unistr/u32-mbsnlen: New file.
8916         * lib/unistr/u32-mbsnlen.c: New file.
8917
8918         * modules/unistr/u16-mbsnlen: New file.
8919         * lib/unistr/u16-mbsnlen.c: New file.
8920
8921         * modules/unistr/u8-mbsnlen: New file.
8922         * lib/unistr/u8-mbsnlen.c: New file.
8923
8924         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
8925         declarations.
8926
8927 2007-06-10  Bruno Haible  <bruno@clisp.org>
8928
8929         * lib/string_.h (mbsnlen): New declaration.
8930         * lib/mbsnlen.c: New file.
8931         * m4/mbsnlen.m4: New file.
8932         * modules/mbsnlen: New file.
8933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
8934         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
8935         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
8936
8937 2007-06-10  Bruno Haible  <bruno@clisp.org>
8938
8939         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
8940
8941 2007-06-10  Bruno Haible  <bruno@clisp.org>
8942
8943         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
8944         * lib/mbuiter.h: Likewise.
8945
8946 2007-06-10  Bruno Haible  <bruno@clisp.org>
8947
8948         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
8949         declaration.
8950
8951 2007-06-10  Karl Berry  <karl@gnu.org>
8952
8953         * config/srclist.txt: remove gettext entries, Bruno prefers
8954         to update individually.
8955
8956 2007-06-10  Bruno Haible  <bruno@clisp.org>
8957
8958         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
8959         'maxlen'. Ensure only length + width bytes are allocated, not
8960         length + 1 + width.
8961
8962 2007-06-09  Bruno Haible  <bruno@clisp.org>
8963
8964         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
8965         (CHAR_T): Remove macro.
8966         (VASNPRINTF): Update.
8967
8968 2007-06-09  Bruno Haible  <bruno@clisp.org>
8969
8970         * MODULES.html.sh (Unicode string functions): Add the new modules.
8971
8972         * modules/uniconv/u32-conv-to-enc: New file.
8973         * lib/uniconv/u32-conv-to-enc.c: New file.
8974         * modules/uniconv/u32-conv-to-enc-tests: New file.
8975         * tests/uniconv/test-u32-conv-to-enc.c: New file.
8976
8977         * modules/uniconv/u16-conv-to-enc: New file.
8978         * lib/uniconv/u16-conv-to-enc.c: New file.
8979         * lib/uniconv/u-conv-to-enc.h: New file.
8980         * modules/uniconv/u16-conv-to-enc-tests: New file.
8981         * tests/uniconv/test-u16-conv-to-enc.c: New file.
8982
8983         * modules/uniconv/u8-conv-to-enc: New file.
8984         * lib/uniconv/u8-conv-to-enc.c: New file.
8985         * modules/uniconv/u8-conv-to-enc-tests: New file.
8986         * tests/uniconv/test-u8-conv-to-enc.c: New file.
8987
8988         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
8989         u32_conv_to_encoding): New declarations.
8990
8991 2007-06-09  Bruno Haible  <bruno@clisp.org>
8992
8993         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
8994
8995 2007-06-09  Bruno Haible  <bruno@clisp.org>
8996
8997         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
8998         * modules/malloca: Renamed from modules/allocsa, updated.
8999         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
9000         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
9001         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
9002         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
9003         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
9004         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
9005         * modules/xmalloca: Renamed from modules/xallocsa, updated.
9006         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
9007         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
9008         * modules/c-strcasestr (Depends-on): Update.
9009         * lib/c-strcasestr.c: Update.
9010         * modules/c-strstr (Depends-on): Update.
9011         * lib/c-strstr.c: Update.
9012         * modules/canonicalize-lgpl (Depends-on): Update.
9013         * lib/canonicalize-lgpl.c: Update.
9014         * modules/clean-temp (Depends-on): Update.
9015         * lib/clean-temp.c: Update.
9016         * modules/csharpcomp (Depends-on): Update.
9017         * lib/csharpcomp.c: Update.
9018         * modules/csharpexec (Depends-on): Update.
9019         * lib/csharpexec.c: Update.
9020         * modules/javacomp (Depends-on): Update.
9021         * lib/javacomp.c: Update.
9022         * modules/javaexec (Depends-on): Update.
9023         * lib/javaexec.c: Update.
9024         * modules/mbscasestr (Depends-on): Update.
9025         * lib/mbscasestr.c: Update.
9026         * modules/mbsstr (Depends-on): Update.
9027         * lib/mbsstr.c: Update.
9028         * modules/setenv (Depends-on): Update.
9029         * lib/setenv.c: Update.
9030         * modules/strcasestr (Depends-on): Update.
9031         * lib/strcasestr.c: Update.
9032         * modules/striconveha (Depends-on): Update.
9033         * lib/striconveha.c: Update.
9034         * modules/relocatable-prog-wrapper (Files): Update.
9035         * lib/relocwrapper.c: Update.
9036         * build-aux/install-reloc: Update.
9037         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
9038
9039 2007-06-08  Bruno Haible  <bruno@clisp.org>
9040
9041         Port to uClibc.
9042         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
9043         * lib/fpurge.c (fpurge): Likewise.
9044         * lib/freading.c (freading): Likewise.
9045         * lib/fseeko.c (rpl_fseeko): Likewise.
9046         * lib/fseterr.c (fseterr): Likewise.
9047         * lib/fwriting.c (fwriting): Likewise.
9048         * tests/test-fflush.c (main): Avoid a failure on uClibc.
9049
9050 2007-06-08  Bruno Haible  <bruno@clisp.org>
9051
9052         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
9053         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
9054         * modules/gettext (Files): Add m4/intlmacosx.m4.
9055
9056 2007-06-07  Bruno Haible  <bruno@clisp.org>
9057
9058         * modules/localename-tests: New file.
9059         * tests/test-localename.c: New file.
9060
9061         New module 'localename'.
9062         * lib/localename.h: New file.
9063         * lib/localename.c: New file, from GNU gettext.
9064         * m4/localename.m4: New file.
9065         * modules/localename: New file.
9066
9067 2007-06-07  Bruno Haible  <bruno@clisp.org>
9068
9069         Work around the lack of <wchar.h> on some builds of uClibc.
9070         * doc/headers/wchar.texi: Update.
9071         * lib/wchar_.h: Include <wchar.h> only if it exists.
9072         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
9073         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
9074         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
9075         doesn't exist.
9076         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
9077         * modules/mbfile (Depends-on): Add wchar.
9078         * modules/mbiter (Depends-on): Likewise.
9079         * modules/mbuiter (Depends-on): Likewise.
9080         Reported by Simon Josefsson.
9081
9082 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
9083
9084         Work around problem reported by Steven M. Schweda in
9085         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
9086         Tru64 5.1B with the Compaq compiler environment installed declares
9087         an 'isblank' function but does not define it in the C library.
9088         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
9089         * lib/regex_internal.h (isblank): Likewise.
9090         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
9091         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9092
9093 2007-06-05  Bruno Haible  <bruno@clisp.org>
9094
9095         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
9096         ia64.
9097         * modules/printf-safe: New file.
9098         * modules/fprintf-posix (Depends-on): Add printf-safe.
9099         * modules/printf-posix (Depends-on): Likewise.
9100         * modules/snprintf-posix (Depends-on): Likewise.
9101         * modules/sprintf-posix (Depends-on): Likewise.
9102         * modules/vasnprintf-posix (Depends-on): Likewise.
9103         * modules/vasprintf-posix (Depends-on): Likewise.
9104         * modules/vfprintf-posix (Depends-on): Likewise.
9105         * modules/vprintf-posix (Depends-on): Likewise.
9106         * modules/vsnprintf-posix (Depends-on): Likewise.
9107         * modules/vsprintf-posix (Depends-on): Likewise.
9108         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9109         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
9110         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
9111         "no" on i386, x86_64, ia64.
9112         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
9113         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
9114         on i386, x86_64, ia64.
9115         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
9116         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
9117         on i386, x86_64, ia64.
9118         * tests/test-vasnprintf-posix.c: Include float.h.
9119         (LDBL80_WORDS): New macro.
9120         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
9121         on i386, x86_64, ia64.
9122         * tests/test-vasprintf-posix.c: Include float.h.
9123         (LDBL80_WORDS): New macro.
9124         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
9125         on i386, x86_64, ia64.
9126         * tests/test-snprintf-posix.c: Include float.h.
9127         * tests/test-sprintf-posix.c: Likewise.
9128         * tests/test-vsnprintf-posix.c: Likewise.
9129         * tests/test-vsprintf-posix.c: Likewise.
9130
9131 2007-06-05  Bruno Haible  <bruno@clisp.org>
9132
9133         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
9134         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
9135         non-IEEE numbers on i386, x86_64, ia64.
9136         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
9137         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
9138         * tests/test-isnanl.h: Include float.h.
9139         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
9140
9141 2007-06-05  Bruno Haible  <bruno@clisp.org>
9142
9143         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
9144         also the %a / %A. Handle the %a / %A code before this extra handling.
9145
9146 2007-06-05  Bruno Haible  <bruno@clisp.org>
9147
9148         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
9149         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
9150
9151 2007-06-05  Bruno Haible  <bruno@clisp.org>
9152
9153         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
9154         typo in variable name.
9155
9156 2007-06-05  Eric Blake  <ebb9@byu.net>
9157
9158         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
9159         Reported by Simon Josefsson.
9160
9161 2007-06-04  Bruno Haible  <bruno@clisp.org>
9162
9163         Avoid test failures on some PowerPC platforms.
9164         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
9165         Define differently for PowerPC.
9166         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
9167         Reported by Gary V. Vaughan <gary@gnu.org>.
9168
9169 2007-06-02  Bruno Haible  <bruno@clisp.org>
9170
9171         Fix test-stdint failure on FreeBSD/ia64.
9172         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
9173         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
9174         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
9175         * doc/headers/stdint.texi: Update.
9176
9177 2007-06-01  Bruno Haible  <bruno@clisp.org>
9178
9179         * tests/test-binary-io.c (main): Pass a third argument to open().
9180         Reported by Gary V. Vaughan <gary@gnu.org>.
9181
9182 2007-06-01  Bruno Haible  <bruno@clisp.org>
9183
9184         * doc/functions/frexpl.texi: Update for mingw.
9185
9186 2007-06-01  Bruno Haible  <bruno@clisp.org>
9187
9188         * tests/test-lseek.c (main): Disable test of errno for invalid third
9189         argument.
9190         * doc/functions/lseek.texi: Update.
9191         Reported by Gary V. Vaughan <gary@gnu.org>.
9192
9193 2007-05-28  Bruno Haible  <bruno@clisp.org>
9194
9195         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
9196
9197 2007-05-31  Eric Blake  <ebb9@byu.net>
9198
9199         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
9200         cross compiling.
9201
9202 2007-05-30  Eric Blake  <ebb9@byu.net>
9203         and Bruno Haible  <bruno@clisp.org>
9204
9205         Work around mingw test failures exposed by m4-1.4.9b.
9206         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
9207         * tests/test-unistd.c: Disable uid_t and git_t tests for the
9208         moment.
9209
9210 2007-05-30  Bruno Haible  <bruno@clisp.org>
9211
9212         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
9213         assuming that they are closed. Needed on HP-UX 11.
9214
9215 2007-05-29  Bruno Haible  <bruno@clisp.org>
9216
9217         Fix a problem with #include_next.
9218         * lib/dirent_.h: Split the double-inclusion guard.
9219         * lib/fcntl_.h: Likewise.
9220         * lib/float_.h: Likewise.
9221         * lib/iconv_.h: Likewise.
9222         * lib/inttypes_.h: Likewise.
9223         * lib/locale_.h: Likewise.
9224         * lib/math_.h: Likewise.
9225         * lib/netinet_in_.h: Likewise.
9226         * lib/search_.h: Likewise.
9227         * lib/signal_.h: Likewise.
9228         * lib/stdint_.h: Likewise.
9229         * lib/stdio_.h: Likewise.
9230         * lib/stdlib_.h: Likewise.
9231         * lib/string_.h: Likewise.
9232         * lib/sys_select_.h: Likewise.
9233         * lib/sys_socket_.h: Likewise.
9234         * lib/sys_stat_.h: Likewise.
9235         * lib/sys_time_.h: Likewise.
9236         * lib/sysexits_.h: Likewise.
9237         * lib/time_.h: Likewise.
9238         * lib/unistd_.h: Likewise.
9239         * lib/wchar_.h: Likewise.
9240         * lib/wctype_.h: Likewise.
9241
9242 2007-05-29  Bruno Haible  <bruno@clisp.org>
9243
9244         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
9245         for the moment.
9246
9247 2007-05-29  Bruno Haible  <bruno@clisp.org>
9248
9249         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
9250         invocation.
9251         Reported by Eric Blake.
9252
9253 2007-05-29  Bruno Haible  <bruno@clisp.org>
9254
9255         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
9256         compiling case.
9257
9258 2007-05-29  Eric Blake  <ebb9@byu.net>
9259             Bruno Haible  <bruno@clisp.org>
9260
9261         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
9262         cross compiles.
9263
9264 2007-05-28  Eric Blake  <ebb9@byu.net>
9265
9266         * modules/closein-tests (test_closein_LDADD): Support test on
9267         cygwin with libtool.
9268
9269 2007-05-28  Bruno Haible  <bruno@clisp.org>
9270
9271         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
9272         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
9273         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
9274         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
9275         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
9276         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
9277         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
9278         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
9279         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
9280
9281 2007-05-28  Eric Blake  <ebb9@byu.net>
9282
9283         Unconditionally include <config.h> in unit tests.
9284         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
9285         * tests/test-allocsa.c, tests/test-arcfour.c,
9286         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
9287         tests/test-array_list.c, tests/test-array_oset.c,
9288         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
9289         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
9290         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
9291         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
9292         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
9293         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
9294         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
9295         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
9296         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
9297         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
9298         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
9299         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
9300         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
9301         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
9302         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
9303         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
9304         test-md5.c, test-memmem.c, test-printf-posix.c,
9305         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
9306         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
9307         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
9308         test-strcasestr.c, test-striconv.c, test-striconveh.c,
9309         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
9310         test-vasnprintf-posix2.c, test-vasnprintf.c,
9311         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
9312         test-vfprintf-posix.c, test-vprintf-posix.c,
9313         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
9314         test-xvasprintf.c: Likewise.
9315
9316 2007-05-28  Bruno Haible  <bruno@clisp.org>
9317
9318         * gnulib-tool (func_import): Remember the --with-tests command-line
9319         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
9320         Reported by Eric Blake.
9321
9322 2007-05-28  Bruno Haible  <bruno@clisp.org>
9323
9324         * modules/ftell-tests: New file.
9325         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
9326         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
9327
9328         * lib/ftell.c: New file.
9329         * modules/ftell: New file.
9330         * m4/ftell.m4: New file.
9331         * doc/functions/ftell.texi: Update.
9332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
9333         REPLACE_FTELL.
9334         * lib/stdio_.h (rpl_ftell): New declaration.
9335         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
9336         REPLACE_FTELL.
9337
9338 2007-05-28  Eric Blake  <ebb9@byu.net>
9339
9340         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
9341
9342 2007-05-28  Bruno Haible  <bruno@clisp.org>
9343
9344         * modules/fseek-tests: New file.
9345         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
9346         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
9347
9348         * lib/fseek.c: New file.
9349         * modules/fseek: New file.
9350         * m4/fseek.m4: New file.
9351         * doc/functions/fseek.texi: Update.
9352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
9353         REPLACE_FSEEK.
9354         * lib/stdio_.h (rpl_fseek): New declaration.
9355         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
9356         REPLACE_FSEEK.
9357
9358 2007-05-28  Bruno Haible  <bruno@clisp.org>
9359
9360         * lib/stdio_.h (fflush): More comments.
9361
9362 2007-05-28  Bruno Haible  <bruno@clisp.org>
9363
9364         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
9365         runtime test.
9366
9367 2007-05-28  Eric Blake  <ebb9@byu.net>
9368
9369         Improve lseek module.
9370         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
9371         * lib/unistd_.h (lseek): Scale back link warning message.
9372         * tests/test-lseek.c: Beef up test.
9373         * tests/test-lseek.sh: Exercise more facets of lseek.
9374         Reported by Bruno Haible.
9375
9376 2007-05-28  Bruno Haible  <bruno@clisp.org>
9377
9378         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
9379         to define.
9380
9381 2007-05-27  Bruno Haible  <bruno@clisp.org>
9382
9383         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
9384
9385 2007-05-27  Bruno Haible  <bruno@clisp.org>
9386
9387         * modules/openmp: New file.
9388         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
9389         Noah Misch.
9390
9391 2007-05-26  Bruno Haible  <bruno@clisp.org>
9392
9393         * modules/chdir-long (Depends-on): Add fchdir.
9394         * modules/chdir-safer (Depends-on): Likewise.
9395         * modules/fts (Depends-on): Likewise.
9396         * modules/fts-lgpl (Depends-on): Likewise.
9397         * modules/openat (Depends-on): Likewise.
9398         * modules/savewd (Depends-on): Likewise.
9399
9400 2007-05-24  Eric Blake  <ebb9@byu.net>
9401
9402         Fix lseek on mingw.
9403         * modules/lseek: New module.
9404         * m4/lseek.m4: New file.
9405         * lib/lseek.c: New file.
9406         * modules/lseek-tests: New file.
9407         * tests/test-lseek.c: New file.
9408         * tests/test-lseek.sh: New file.
9409         * MODULES.html.sh: Document lseek module.
9410         * modules/fflush (Depends-on): Add lseek, fseeko.
9411         * modules/fseeko (Depends-on): Likewise.
9412         * modules/ftello (Depends-on): Likewise.
9413         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
9414         broken.
9415         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
9416         broken.
9417         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
9418         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
9419         * lib/ftello.c (rpl_ftello): Likewise.
9420         * tests/test-fseeko.c (main): Test this.
9421         * tests/test-fseeko.sh: Likewise.
9422         * tests/test-ftello.c (main): Likewise.
9423         * tests/test-ftello.sh: Likewise.
9424         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
9425         implies replacing fseek.
9426         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
9427         HAVE_FTELLO.
9428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
9429         * modules/unistd (Makefile.am): Likewise.
9430         * lib/unistd_.h (lseek): Declare a replacement.
9431         * doc/functions/lseek.texi (lseek): Document this fix.
9432         * doc/functions/fseek.texi (fseek): Likewise.
9433         * doc/functions/ftell.texi (ftell): Likewise.
9434
9435 2007-05-24  Bruno Haible  <bruno@clisp.org>
9436
9437         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
9438         in the printed representation of a NaN.
9439         * tests/test-vasprintf-posix.c (test_function): Likewise.
9440         * tests/test-snprintf-posix.h (test_function): Likewise.
9441         * tests/test-sprintf-posix.h (test_function): Likewise.
9442         Reported by Eric Blake.
9443
9444 2007-05-23  Eric Blake  <ebb9@byu.net>
9445
9446         Fix fseeko/ftello on cygwin 1.5.24.
9447         * doc/functions/fseeko.texi (fseeko): Document the fix.
9448         * doc/functions/ftello.texi (ftello): Document the fix.
9449         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
9450         * doc/functions/stdout.text (stdout): New file.
9451         * doc/functions/stderr.text (stderr): New file.
9452         * doc/gnulib.texi (Function Substitutes): Use new files.
9453         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
9454         prior to 1.7.0.
9455         * tests/test-ftello.c (main): Likewise for ftello.
9456         * tests/test-fseeko.sh: New file.
9457         * tests/test-ftello.sh: New file.
9458         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
9459         with seekable stdin.
9460         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
9461         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
9462         (gl_REPLACE_FSEEKO): New macro.
9463         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
9464         * modules/fseeko (Files): Distribute fseeko.c.
9465         * modules/ftello (Files): Distribute ftello.c.
9466         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
9467         mode.
9468         * lib/ftello.c (rpl_ftello): New file.
9469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
9470         fseeko, ftello.
9471         (gl_STDIN_LARGE_OFFSET): New macro.
9472         * modules/stdio (Makefile.am): Perform the replacement.
9473         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
9474
9475 2007-05-23  Bruno Haible  <bruno@clisp.org>
9476
9477         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
9478         GNULIB_POSIXCHECK is defined.
9479
9480 2007-05-21  Bruno Haible  <bruno@clisp.org>
9481
9482         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
9483         Check also the output for NaN arguments. When cross-compiling, guess
9484         no on IRIX.
9485         * lib/vasnprintf.c: Update comments.
9486         * tests/test-vasnprintf-posix.c (strisnan): New function.
9487         (test_function): Use it.
9488         * tests/test-vasprintf-posix.c (strisnan): New function.
9489         (test_function): Use it.
9490         * tests/test-snprintf-posix.h (strisnan): New function.
9491         (test_function): Use it.
9492         * tests/test-sprintf-posix.h (strisnan): New function.
9493         (test_function): Use it.
9494         Reported by Eric Blake.
9495
9496 2007-05-20  Bruno Haible  <bruno@clisp.org>
9497
9498         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
9499         numbers that fails on BeOS.
9500         * doc/functions/frexpl.texi: Update.
9501
9502 2007-05-20  Jim Meyering  <jim@meyering.net>
9503
9504         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
9505         forced upon us by glibc-2.6.
9506
9507 2007-05-20  Bruno Haible  <bruno@clisp.org>
9508
9509         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
9510         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
9511         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
9512         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
9513         NEED_PRINTF_INFINITE.
9514         (is_infinitel): New function.
9515         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
9516         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
9517         gl_PREREQ_VASNPRINTF_INFINITE.
9518         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
9519         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
9520         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
9521         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
9522         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
9523         gl_PREREQ_VASNPRINTF_INFINITE.
9524         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
9525         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9526         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9527         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9528         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9529         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9530         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9531         * doc/functions/fprintf.texi: Update.
9532         * doc/functions/printf.texi: Update.
9533         * doc/functions/snprintf.texi: Update.
9534         * doc/functions/sprintf.texi: Update.
9535         * doc/functions/vfprintf.texi: Update.
9536         * doc/functions/vprintf.texi: Update.
9537         * doc/functions/vsnprintf.texi: Update.
9538         * doc/functions/vsprintf.texi: Update.
9539
9540 2007-05-20  Bruno Haible  <bruno@clisp.org>
9541
9542         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
9543         was not found in libc.
9544         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9545
9546 2007-05-20  Bruno Haible  <bruno@clisp.org>
9547
9548         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
9549         printed as "-nan" instead of "nan".
9550         * tests/test-vasprintf-posix.c (test_function): Likewise.
9551         * tests/test-snprintf-posix.h (test_function): Likewise.
9552         * tests/test-sprintf-posix.h (test_function): Likewise.
9553         Needed for HP-UX 11.
9554
9555 2007-05-20  Jim Meyering  <jim@meyering.net>
9556
9557         Fix buggy test for the fchownat-deref bug.
9558         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
9559         symlink required for the run-test.  Without it, this test would
9560         always declare that fchownat doesn't work, and client code would
9561         unnecessarily use the replacement function with fixed libc.
9562         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
9563         Reported by Greg Schafer.
9564
9565 2007-05-19  Bruno Haible  <bruno@clisp.org>
9566
9567         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
9568         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
9569         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
9570         Needed for IRIX 6.5 and Solaris 2.5.1.
9571
9572 2007-05-19  Bruno Haible  <bruno@clisp.org>
9573
9574         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
9575         (test_function): Skip tests involving -0.0 on platforms where
9576         -0.0 = 0.0.
9577         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
9578         (test_function): Skip tests involving -0.0 on platforms where
9579         -0.0 = 0.0.
9580         * tests/test-snprintf-posix.h (have_minus_zero): New function.
9581         (test_function): Skip tests involving -0.0 on platforms where
9582         -0.0 = 0.0.
9583         * tests/test-sprintf-posix.h (have_minus_zero): New function.
9584         (test_function): Skip tests involving -0.0 on platforms where
9585         -0.0 = 0.0.
9586         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
9587         tests.
9588         * tests/test-printf-posix.h (test_function): Likewise.
9589         * tests/test-printf-posix.output: Remove all -0.0 related results.
9590         Needed for IRIX 6.5.
9591
9592 2007-05-19  Bruno Haible  <bruno@clisp.org>
9593
9594         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
9595         printed as "nan0x7fffffff" instead of "nan".
9596         * tests/test-vasprintf-posix.c (test_function): Likewise.
9597         * tests/test-snprintf-posix.h (test_function): Likewise.
9598         * tests/test-sprintf-posix.h (test_function): Likewise.
9599         * tests/test-fprintf-posix.h (NaN): Remove macro.
9600         (test_function): Remove all NaN related tests.
9601         * tests/test-printf-posix.h (NaN): Remove macro.
9602         (test_function): Remove all NaN related tests.
9603         * tests/test-printf-posix.output: Remove all NaN related results.
9604         Needed for IRIX 6.5.
9605
9606 2007-05-19  Bruno Haible  <bruno@clisp.org>
9607
9608         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
9609         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9610
9611 2007-05-19  Bruno Haible  <bruno@clisp.org>
9612
9613         * lib/float_.h: New file.
9614         * m4/float_h.m4: New file.
9615         * modules/float: New file.
9616         * modules/isnanl (Dependencies): Add float.
9617         * modules/isnanl-nolibm (Dependencies): Likewise.
9618         * modules/mathl (Dependencies): Likewise.
9619         * modules/printf-frexpl (Dependencies): Likewise.
9620         * modules/signbit (Dependencies): Likewise.
9621         * modules/vasnprintf (Dependencies): Likewise.
9622         * doc/headers/float.texi: Update.
9623
9624 2007-05-19  Jim Meyering  <jim@meyering.net>
9625
9626         * lib/utimens.c (gl_futimens): Rename from futimens,
9627         now that glibc-2.6 declares futimens.
9628         * lib/utimens.h: Likewise.
9629
9630 2007-05-19  Bruno Haible  <bruno@clisp.org>
9631
9632         Avoid test failures on mingw.
9633         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
9634         * tests/test-printf-posix.sh: Likewise.
9635         * tests/test-vfprintf-posix.sh: Likewise.
9636         * tests/test-vprintf-posix.sh: Likewise.
9637
9638 2007-05-19  Bruno Haible  <bruno@clisp.org>
9639
9640         Fix *printf result for NaN, Inf, -0.0 on mingw.
9641         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
9642         * lib/vasnprintf.c: Include math.h and isnan.h.
9643         (is_infinite_or_zero): New function.
9644         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
9645         values in the %f, %F, %e, %E, %g, %G directives.
9646         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
9647         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
9648         gl_PRINTF_INFINITE and test its result. Invoke
9649         gl_PREREQ_VASNPRINTF_INFINITE.
9650         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
9651         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9652         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9653         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9654         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9655         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9656         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9657         * doc/functions/fprintf.texi: Update.
9658         * doc/functions/printf.texi: Update.
9659         * doc/functions/snprintf.texi: Update.
9660         * doc/functions/sprintf.texi: Update.
9661         * doc/functions/vfprintf.texi: Update.
9662         * doc/functions/vprintf.texi: Update.
9663         * doc/functions/vsnprintf.texi: Update.
9664         * doc/functions/vsprintf.texi: Update.
9665
9666 2007-05-19  Bruno Haible  <bruno@clisp.org>
9667
9668         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
9669         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
9670         Instead of multiplying with 10^k, set extra_zeroes to k.
9671         (scale10_round_long_double): Remove function.
9672
9673 2007-05-18  Bruno Haible  <bruno@clisp.org>
9674
9675         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
9676         introduced on 2007-05-06.
9677
9678 2007-05-18  Bruno Haible  <bruno@clisp.org>
9679
9680         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
9681         %g directives.
9682         * tests/test-vasprintf-posix.c (test_function): Likewise.
9683         * tests/test-snprintf-posix.h (test_function): Likewise.
9684         * tests/test-sprintf-posix.h (test_function): Likewise.
9685
9686 2007-05-18  Bruno Haible  <bruno@clisp.org>
9687
9688         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
9689         (strmatch): New function.
9690         (test_function): Test the %f directive on numbers of various exponents.
9691         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
9692         (strmatch): New function.
9693         (test_function): Test the %f directive on numbers of various exponents.
9694         * tests/test-snprintf-posix.h (strmatch): New function.
9695         (test_function): Test the %f directive on numbers of various exponents.
9696         * tests/test-sprintf-posix.h (strmatch): New function.
9697         (test_function): Test the %f directive on numbers of various exponents.
9698         * tests/test-snprintf-posix.c (SIZEOF): New macro.
9699         * tests/test-sprintf-posix.c (SIZEOF): New macro.
9700         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
9701         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
9702
9703 2007-05-18  Bruno Haible  <bruno@clisp.org>
9704
9705         Add support for 'long double' number output.
9706         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
9707         * lib/vasnprintf.c: Include math.h and float+.h.
9708         (mp_limb_t): New type.
9709         (GMP_LIMB_BITS): New macro.
9710         (mp_twolimb_t): New type.
9711         (GMP_TWOLIMB_BITS): New macro.
9712         (mpn_t): New type.
9713         (multiply, divide, convert_to_decimal, decode_long_double,
9714         scale10_round_long_double, scale10_round_decimal_long_double,
9715         floorlog10l): New functions.
9716         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
9717         for the %f, %F, %e, %E, %g, %G directives.
9718         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
9719         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
9720         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
9721         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
9722         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
9723         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9724         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9725         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9726         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9727         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9728         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9729         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
9730         * modules/snprintf-posix (Depends-on): Likewise.
9731         * modules/sprintf-posix (Depends-on): Likewise.
9732         * modules/vasnprintf-posix (Depends-on): Likewise.
9733         * modules/vasprintf-posix (Depends-on): Likewise.
9734         * modules/vfprintf-posix (Depends-on): Likewise.
9735         * modules/vsnprintf-posix (Depends-on): Likewise.
9736         * modules/vsprintf-posix (Depends-on): Likewise.
9737         * modules/vasnprintf (Files): Add lib/float+.h.
9738         * doc/functions/fprintf.texi: Update.
9739         * doc/functions/printf.texi: Update.
9740         * doc/functions/snprintf.texi: Update.
9741         * doc/functions/sprintf.texi: Update.
9742         * doc/functions/vfprintf.texi: Update.
9743         * doc/functions/vprintf.texi: Update.
9744         * doc/functions/vsnprintf.texi: Update.
9745         * doc/functions/vsprintf.texi: Update.
9746
9747 2007-05-18  Bruno Haible  <bruno@clisp.org>
9748
9749         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
9750
9751 2007-05-18  Bruno Haible  <bruno@clisp.org>
9752
9753         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
9754         for printing 64-bit integers. Needed for mingw.
9755
9756 2007-05-18  Bruno Haible  <bruno@clisp.org>
9757
9758         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
9759         gl_FUNC_FREXPL_WORKS.
9760         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
9761
9762 2007-05-18  Bruno Haible  <bruno@clisp.org>
9763
9764         * modules/frexpl-nolibm-tests: New file.
9765
9766         * modules/frexpl-nolibm: New file.
9767         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
9768
9769 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9770
9771         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
9772         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
9773         GCC 4.2, which otherwise issues a lot of warnings.
9774         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
9775         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
9776         Likewise.
9777         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
9778         * modules/iconv_open (iconv.h): Likewise.
9779         * modules/locale (locale.h): Likewise.
9780         * modules/netinet_in (netinet/in.h): Likewise.
9781         * modules/sys_select (sys_select.h): Likewise.
9782         * modules/sys_socket (sys/socket.h): Likewise.
9783         * modules/sys_stat (sys/stat.h): Likewise.
9784         * modules/sysexits (sysexits.h): Likewise.
9785         * modules/unistd (unistd.h): Likewise.
9786
9787 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9788
9789         * modules/closein-tests (Makefile.am): Distribute
9790         `test-closein.sh'.
9791
9792 2007-05-17  Bruno Haible  <bruno@clisp.org>
9793
9794         * tests/test-printf-posix.output: Renamed from
9795         tests/test-fprintf-posix.out.
9796         * modules/fprintf-posix-tests: Update.
9797         * modules/printf-posix-tests: Update.
9798         * modules/vfprintf-posix-tests: Update.
9799         * modules/vprintf-posix-tests: Update.
9800         * tests/test-fprintf-posix.sh: Update.
9801         * tests/test-printf-posix.sh: Update.
9802         * tests/test-vfprintf-posix.sh: Update.
9803         * tests/test-vprintf-posix.sh: Update.
9804         Reported by Ralf Wildenhues.
9805
9806 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9807
9808         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
9809         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
9810         GCC 4.2, which otherwise issues a lot of warnings.
9811         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
9812         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
9813         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
9814         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
9815         it should no longer be needed.
9816         * lib/string_.h: Likewise.
9817         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
9818         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
9819         * modules/inttypes (inttypes.h): Likewise.
9820         * modules/math (math.h): Likewise.
9821         * modules/search (search.h): Likewise.
9822         * modules/signal (signal.h): Likewise.
9823         * modules/stdint (stdint.h): Likewise.
9824         * modules/stdio (stdio.h): Likewise.
9825         * modules/stdlib (stdlib.h): Likewise.
9826         * modules/string (string.h): Likewise.
9827         * modules/sys_time (sys/time.h): Likewise.
9828         * modules/time (time.h): Likewise.
9829         * modules/wchar (wchar.h): Likewise.
9830         * modules/wctype (wtype.h): Likewise.
9831
9832 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9833
9834         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
9835
9836 2007-05-13  Bruno Haible  <bruno@clisp.org>
9837
9838         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
9839         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9840         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
9841         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
9842         (gl_PREREQ_STRTOK_R): Don't require it here.
9843
9844 2007-05-13  Bruno Haible  <bruno@clisp.org>
9845
9846         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
9847         when used in C++ mode.
9848
9849 2007-05-12  Bruno Haible  <bruno@clisp.org>
9850
9851         * lib/linebuffer.h: Tweak doc.
9852         * lib/linebuffer.c: Likewise.
9853
9854 2007-05-12  James Youngman  <jay@gnu.org>
9855
9856         * lib/linebuffer.c (readlinebuffer_delim): New function,
9857         like readlinebuffer, but use a caller-specified delimiter.
9858         (readlinebuffer): Just call readlinebuffer_delim with '\n'
9859         as the delimiter.
9860         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
9861
9862 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
9863
9864         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
9865         * modules/openat (Files): Remove openat-die.c.
9866         (Depends-on): Add openat-die.
9867         * modules/openat-die: New module.
9868
9869 2007-05-06  Bruno Haible  <bruno@clisp.org>
9870
9871         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
9872         Update with info about Cygwin.
9873         * doc/functions/fprintf.texi: Update.
9874         * doc/functions/printf.texi: Update.
9875         * doc/functions/snprintf.texi: Update.
9876         * doc/functions/sprintf.texi: Update.
9877         * doc/functions/vfprintf.texi: Update.
9878         * doc/functions/vprintf.texi: Update.
9879         * doc/functions/vsnprintf.texi: Update.
9880         * doc/functions/vsprintf.texi: Update.
9881         Reported by Eric Blake.
9882
9883 2007-05-06  Bruno Haible  <bruno@clisp.org>
9884
9885         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
9886         padding ourselves for the floating-point directives.
9887         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
9888         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
9889         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
9890         gl_PRINTF_FLAG_ZERO and test its result. Invoke
9891         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
9892         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9893         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
9894         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9895         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9896         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9897         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9898         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9899         * tests/test-snprintf-posix.h (test_function): Also check the width
9900         and some flags in the %f directive.
9901         * tests/test-sprintf-posix.h (test_function): Likewise.
9902         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9903         * tests/test-vasprintf-posix.c (test_function): Likewise.
9904         * doc/functions/fprintf.texi: Update.
9905         * doc/functions/printf.texi: Update.
9906         * doc/functions/snprintf.texi: Update.
9907         * doc/functions/sprintf.texi: Update.
9908         * doc/functions/vfprintf.texi: Update.
9909         * doc/functions/vprintf.texi: Update.
9910         * doc/functions/vsnprintf.texi: Update.
9911         * doc/functions/vsprintf.texi: Update.
9912
9913 2007-05-06  Bruno Haible  <bruno@clisp.org>
9914
9915         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
9916         pass the ' flag character to sprintf or snprintf.
9917         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
9918         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
9919         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
9920         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
9921         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
9922         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9923         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
9924         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9925         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9926         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
9927         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9928         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9929         * tests/test-snprintf-posix.h (test_function): Also check the grouping
9930         flag.
9931         * tests/test-sprintf-posix.h (test_function): Likewise.
9932         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9933         * tests/test-vasprintf-posix.c (test_function): Likewise.
9934         * doc/functions/fprintf.texi: Update.
9935         * doc/functions/printf.texi: Update.
9936         * doc/functions/snprintf.texi: Update.
9937         * doc/functions/sprintf.texi: Update.
9938         * doc/functions/vfprintf.texi: Update.
9939         * doc/functions/vprintf.texi: Update.
9940         * doc/functions/vsnprintf.texi: Update.
9941         * doc/functions/vsprintf.texi: Update.
9942
9943 2007-05-01  Bruno Haible  <bruno@clisp.org>
9944
9945         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
9946
9947 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
9948
9949         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
9950         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
9951
9952 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9953
9954         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
9955         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
9956         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
9957
9958 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
9959
9960         * lib/argp-help.c (struct hol_entry): New member `ord'.
9961         (HOL_ENTRY_PTRCMP): Use ord for comparison
9962         (hol_sort): Initialize ord.
9963
9964 2007-05-01  Bruno Haible  <bruno@clisp.org>
9965
9966         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
9967         Reported by Eric Blake.
9968         * doc/gnulib.texi (Function Substitutes): Update.
9969
9970 2007-05-01  Bruno Haible  <bruno@clisp.org>
9971
9972         * doc/functions.texi: Remove file, now redundant through
9973         doc/functions/*.texi.
9974
9975 2007-05-01  Bruno Haible  <bruno@clisp.org>
9976
9977         * modules/argp (Depends-on): Add sleep.
9978
9979 2007-05-01  Bruno Haible  <bruno@clisp.org>
9980
9981         * modules/sleep-tests: New file.
9982         * tests/test-sleep.c: New file.
9983
9984         * modules/sleep: New file.
9985         * lib/sleep.c: New file.
9986         * m4/sleep.m4: New file.
9987         * lib/unistd_.h (sleep): New declaration.
9988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
9989         HAVE_SLEEP.
9990         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
9991         * doc/functions/sleep.texi: Document the sleep module.
9992
9993 2007-05-01  Bruno Haible  <bruno@clisp.org>
9994
9995         * lib/sigprocmask.h: Remove file.
9996         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
9997         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
9998         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
9999         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
10000         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10001         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
10002         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
10003         HAVE_SIGSET_T as a shell variable.
10004         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
10005         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
10006         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
10007         (Depends-on): Add signal. Remove verify.
10008         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
10009         (Include): Mention <signal.h> instead of sigprocmask.h.
10010         * NEWS: Mention the change.
10011         * lib/fatal-signal.c: Don't include sigprocmask.h.
10012
10013 2007-05-01  Bruno Haible  <bruno@clisp.org>
10014
10015         * modules/signal: New file.
10016         * lib/signal_.h: New file.
10017         * m4/signal_h.m4: New file.
10018
10019 2007-05-01  Bruno Haible  <bruno@clisp.org>
10020
10021         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
10022         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
10023         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
10024         HAVE_WCTYPE_CTMP_BUG into wctype.h.
10025
10026 2007-05-01  Bruno Haible  <bruno@clisp.org>
10027
10028         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
10029         configure time.
10030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
10031         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
10032         * modules/sys_stat (Makefile.am): Substitute their values into
10033         sys/stat.h.
10034
10035 2007-05-01  Bruno Haible  <bruno@clisp.org>
10036
10037         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
10038         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
10039         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
10040
10041 2007-05-01  Bruno Haible  <bruno@clisp.org>
10042
10043         * doc/header/assert.texi: Undo last change: don't mention the gnulib
10044         'assert' module here.
10045
10046 2007-05-01  Bruno Haible  <bruno@clisp.org>
10047
10048         * doc/functions/*.texi: New files.
10049         * doc/functions/google-ranking.txt: New file.
10050         * doc/gnulib.texi (Function Substitutes): New chapter.
10051         (ctime, inet_ntoa): Remove sections.
10052         * doc/ctime.texi: Remove file.
10053         * doc/inet_ntoa.texi: Remove file.
10054         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
10055         dependencies.
10056         (%.info): New rule, specifying a --reference-limit.
10057
10058 2007-05-01  Bruno Haible  <bruno@clisp.org>
10059
10060         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
10061
10062 2007-05-01  Bruno Haible  <bruno@clisp.org>
10063
10064         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
10065         the portability of 'mkdir' to mingw systems.
10066
10067 2007-05-01  Bruno Haible  <bruno@clisp.org>
10068
10069         * doc/headers/google-ranking.txt: New file.
10070
10071 2007-04-30  Eric Blake  <ebb9@byu.net>
10072
10073         Prefer fseeko to fseek.
10074         * modules/getpass (Depends-on): Add fseeko.
10075         * lib/getpass.c (getpass): Use fseeko, not fseek.
10076
10077 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
10078
10079         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
10080         assumes the sorting is stable, while most qsort implementations
10081         are not.  Use argument addresses to ensure they never compare as
10082         equal.
10083
10084         * tests/test-argp-2.sh (usage-indent test): Fix output
10085         (func_compare): Restore diff options
10086         * tests/test-argp.c: Restore #include "progname.h"
10087
10088 2007-04-29  Bruno Haible  <bruno@clisp.org>
10089
10090         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
10091         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
10092         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
10093         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
10094         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
10095         (configure.ac): Define CHECK_SNPRINTF_POSIX.
10096         (TESTS, check_PROGRAMS): Add test-snprintf.
10097         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
10098         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
10099         (TESTS, check_PROGRAMS): Add test-vsnprintf.
10100         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
10101         assertions that fail on HP-UX, OSF/1, or IRIX.
10102         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
10103
10104 2007-04-29  Bruno Haible  <bruno@clisp.org>
10105
10106         * MODULES.html.sh (posix_functions): Remove 'contents'.
10107
10108 2007-04-29  Karl Berry  <karl@gnu.org>
10109
10110         * config/srclist.txt (gendocs_template_min): new entry.
10111
10112 2007-04-29  Bruno Haible  <bruno@clisp.org>
10113
10114         Work around fpurge bug on BSD systems.
10115         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
10116         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
10117         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
10118         fpurge to rpl_fpurge if the system already has this function.
10119         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
10120         the case where the system already has this function. Correct invariants
10121         on BSD systems.
10122         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
10123         BSD systems.
10124
10125 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
10126
10127         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
10128         proposed by Sven Verdoolaege.
10129
10130         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
10131         options.
10132         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
10133         (usage and help tests): Update
10134
10135 2007-04-29  Bruno Haible  <bruno@clisp.org>
10136
10137         * tests/test-fflush.c (main): Use a file of size 17, not 10.
10138         Print more information in case of failure. Disable a test on BeOS.
10139
10140 2007-04-29  Bruno Haible  <bruno@clisp.org>
10141
10142         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
10143         This helps debugging on systems on which no gdb is available.
10144
10145 2007-04-29  Bruno Haible  <bruno@clisp.org>
10146
10147         * lib/freading.h: Improve comments.
10148         * lib/fwriting.h: Likewise.
10149         * tests/test-freading.c (main): Don't check freading immediately after
10150         repositioning. Needed for glibc.
10151
10152 2007-04-29  Bruno Haible  <bruno@clisp.org>
10153
10154         * lib/freading.c (freading): Trivial simplification.
10155
10156 2007-04-28  Bruno Haible  <bruno@clisp.org>
10157
10158         * tests/test-fwriting.c (main): Also test the interaction between
10159         fflush and fwriting.
10160         * modules/fwriting-tests (Depends-on): Add fflush.
10161
10162         * tests/test-freading.c (main): Also test the interaction between
10163         fflush and freading.
10164         * modules/freading-tests (Depends-on): Add fflush.
10165
10166 2007-04-28  Bruno Haible  <bruno@clisp.org>
10167
10168         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
10169         fseeko and ftello.
10170         Suggested by Eric Blake.
10171
10172 2007-04-28  Jim Meyering  <jim@meyering.net>
10173
10174         Avoid false-negative in gl_STDINT_H's C99 conformance test.
10175         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
10176         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
10177
10178 2007-04-27  Eric Blake  <ebb9@byu.net>
10179
10180         * doc/headers/assert.texi (assert.h): Document assert module use.
10181
10182 2007-04-27  Bruno Haible  <bruno@clisp.org>
10183
10184         * doc/headers/*.texi: New files.
10185         * doc/gnulib.texi (Header File Substitutes): New chapter.
10186         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
10187         dependencies.
10188         (standards.info ,standards.html, standards.dvi): Update dependencies.
10189         (mostlyclean, clean): New targets.
10190
10191 2007-04-27  Bruno Haible  <bruno@clisp.org>
10192
10193         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
10194         * modules/sysexits (Files, Makefile.am): Update.
10195
10196         * lib/sys_socket_.h: Renamed from lib/socket_.h.
10197         * modules/sys_socket (Files, Makefile.am): Update.
10198
10199         * lib/sys_stat_.h: Renamed from lib/stat_.h.
10200         * modules/sys_stat (Files, Makefile.am): Update.
10201
10202 2007-04-27  Eric Blake  <ebb9@byu.net>
10203
10204         * lib/freading.h: Improve comments.
10205         * lib/fwriting.h: Likewise.
10206         * lib/fflush.c: Likewise.
10207
10208         Fix closein for mingw.
10209         * modules/closein-tests: Add tests for closein.
10210         * tests/test-closein.c: New file.
10211         * tests/test-closein.sh: Likewise.
10212         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
10213         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
10214
10215 2007-04-27  Bruno Haible  <bruno@clisp.org>
10216
10217         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
10218         version is < 6.
10219         * lib/math_.h [__DECC]: Likewise.
10220         * lib/stdio_.h [__DECC]: Likewise.
10221         * lib/stdlib_.h [__DECC]: Likewise.
10222         * lib/string_.h [__DECC]: Likewise.
10223         * lib/time_.h [__DECC]: Likewise.
10224         * lib/wchar_.h [__DECC]: Likewise.
10225         * lib/wctype_.h [__DECC]: Likewise.
10226
10227 2007-04-27  Bruno Haible  <bruno@clisp.org>
10228
10229         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
10230
10231 2007-04-27  Bruno Haible  <bruno@clisp.org>
10232
10233         * lib/fflush.c: Add comments.
10234         * modules/fpurge-tests (Depends-on): Add fflush.
10235         * modules/freadable-tests (Depends-on): Likewise.
10236         * modules/fwritable-tests (Depends-on): Likewise.
10237
10238 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
10239
10240         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
10241         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
10242         Report by Bruno Haible <bruno@clisp.org>.
10243
10244 2007-04-26  Eric Blake  <ebb9@byu.net>
10245
10246         Fix fflush on mingw.
10247         * modules/fflush (Depends-on): Add freading.
10248         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
10249         but unread data.
10250
10251 2007-04-26  Eric Blake  <ebb9@byu.net>
10252         and Bruno Haible  <bruno@clisp.org>
10253
10254         Implement freading and fwriting.
10255         * lib/freading.c: New file.
10256         * lib/freading.h: Likewise.
10257         * m4/freading.m4: Likewise.
10258         * modules/freading: Likewise.
10259         * modules/freading-tests: Likewise.
10260         * tests/test-freading.c: Likewise.
10261         * lib/fwriting.c: New file.
10262         * lib/fwriting.h: Likewise.
10263         * m4/fwriting.m4: Likewise.
10264         * modules/fwriting: Likewise.
10265         * modules/fwriting-tests: Likewise.
10266         * tests/test-fwriting.c: Likewise.
10267         * MODULES.html.sh (File stream based Input/Output): Mention them.
10268
10269 2007-04-26  Bruno Haible  <bruno@clisp.org>
10270
10271         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
10272         'long' when we assume it.
10273         Suggested by Eric Blake.
10274
10275 2007-04-26  Bruno Haible  <bruno@clisp.org>
10276
10277         Ensure fseeko, ftello are declared on glibc systems.
10278         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
10279         * modules/fseeko (configure.ac-early): Likewise.
10280         * modules/ftello (configure.ac-early): Likewise.
10281         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
10282         AC_FUNC_FSEEKO for this.
10283         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
10284         (gl_CHECK_FSEEKO): Remove macro.
10285
10286 2007-04-26  Bruno Haible  <bruno@clisp.org>
10287
10288         * tests/test-fflush.c (main): Also check the ftell result after
10289         fflush and fseek/fseeko.
10290         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
10291         file descriptor position cache in the stream.
10292         * lib/fseeko.c (rpl_fseeko): Likewise.
10293
10294 2007-04-26  Bruno Haible  <bruno@clisp.org>
10295
10296         * modules/fflush-tests (Depends-on): Add fseeko.
10297
10298 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
10299             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10300
10301         * lib/argz_.h: ensure error_t definition is obtained in same
10302         mechanism system argz.h would have.
10303         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
10304         argz facilities are known bad.  Err on the side of caution if
10305         cross-compiling.
10306
10307 2007-04-25  Eric Blake  <ebb9@byu.net>
10308
10309         * lib/fpurge.c (includes): Use stdlib.h for free.
10310         * tests/test-fflush.c (main): Also test fflush-fseeko.
10311
10312 2007-04-25  Bruno Haible  <bruno@clisp.org>
10313
10314         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
10315         * lib/fseeko.c: New file.
10316         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
10317         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
10318         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
10319         gl_FUNC_FSEEKO.
10320         (gl_FUNC_FSEEKO): Invoke it.
10321         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
10322         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
10323         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
10324
10325 2007-04-25  Bruno Haible  <bruno@clisp.org>
10326
10327         * modules/fflush (Depends-on): Add ftello.
10328
10329 2007-04-25  Bruno Haible  <bruno@clisp.org>
10330
10331         * modules/ftello-tests: New file.
10332         * tests/test-ftello.c: New file.
10333
10334         * modules/ftello: New file.
10335         * m4/ftello.m4: New file.
10336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
10337         HAVE_FTELLO.
10338         * lib/stdio_.h (ftello): New declaration.
10339         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
10340         HAVE_FTELLO.
10341
10342 2007-04-25  Bruno Haible  <bruno@clisp.org>
10343
10344         * modules/fseeko-tests: New file.
10345         * tests/test-fseeko.c: New file.
10346
10347         * modules/fseeko: New file.
10348         * m4/fseeko.m4: New file.
10349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
10350         HAVE_FSEEKO.
10351         * lib/stdio_.h (fseeko): New declaration.
10352         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
10353         HAVE_FSEEKO.
10354
10355 2007-04-25  Bruno Haible  <bruno@clisp.org>
10356
10357         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
10358
10359 2007-04-25  Bruno Haible  <bruno@clisp.org>
10360
10361         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
10362         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
10363         * tests/test-unistd.c: Likewise.
10364         * tests/test-fcntl.c: Likewise.
10365
10366 2007-04-23  Eric Blake  <ebb9@byu.net>
10367
10368         * lib/fflush.c: Fix missing include.
10369         Reported by Bruno Haible.
10370
10371 2007-04-23  Bruno Haible  <bruno@clisp.org>
10372
10373         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
10374         Reported by Eric Blake.
10375
10376 2007-04-23  Bruno Haible  <bruno@clisp.org>
10377
10378         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
10379
10380 2007-04-23  Bruno Haible  <bruno@clisp.org>
10381
10382         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
10383
10384 2007-04-23  Bruno Haible  <bruno@clisp.org>
10385
10386         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
10387         Needed on HP-UX 11.
10388
10389 2007-04-16  Eric Blake  <ebb9@byu.net>
10390
10391         Make fflush rely on fpurge.
10392         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
10393         open coding all variants.
10394         * modules/fflush (Depends-on): Add fpurge and unistd.
10395         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
10396         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
10397
10398         Fix --with-tests compilation on cygwin.
10399         * modules/argmatch-tests (Makefile.am): List gnulib library first
10400         in LDADD.
10401         * modules/argp-tests (Makefile.am): Likewise.
10402         * modules/array-list-tests (Makefile.am): Likewise.
10403         * modules/array-oset-tests (Makefile.am): Likewise.
10404         * modules/avltree-list-tests (Makefile.am): Likewise.
10405         * modules/avltree-oset-tests (Makefile.am): Likewise.
10406         * modules/avltreehash-list-tests (Makefile.am): Likewise.
10407         * modules/carray-list-tests (Makefile.am): Likewise.
10408         * modules/dirname-tests (Makefile.am): Likewise.
10409         * modules/frexp-tests (Makefile.am): Likewise.
10410         * modules/isnanl-tests (Makefile.am): Likewise.
10411         * modules/linked-list-tests (Makefile.am): Likewise.
10412         * modules/linkedhash-list-tests (Makefile.am): Likewise.
10413         * modules/lock-tests (Makefile.am): Likewise.
10414         * modules/rbtree-list-tests (Makefile.am): Likewise.
10415         * modules/rbtree-oset-tests (Makefile.am): Likewise.
10416         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
10417         * modules/tls-tests (Makefile.am): Likewise.
10418         * modules/tsearch-tests (Makefile.am): Likewise.
10419         * modules/xvasprintf-tests (Makefile.am): Likewise.
10420
10421         Fix fpurge for cygwin.
10422         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
10423         value.
10424         * modules/fpurge-tests (Depends-on): Clean up trash.
10425
10426 2007-04-16  Simon Josefsson  <simon@josefsson.org>
10427
10428         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
10429
10430         * m4/autobuild.m4: Re-indent.
10431
10432 2007-04-13  Bruno Haible  <bruno@clisp.org>
10433
10434         * modules/fpurge-tests: New file.
10435         * tests/test-fpurge.c: New file.
10436
10437         * modules/fpurge: New file.
10438         * lib/fpurge.h: New file.
10439         * lib/fpurge.c: New file.
10440         * m4/fpurge.m4: New file.
10441
10442 2007-04-13  Bruno Haible  <bruno@clisp.org>
10443
10444         * modules/fbufmode-tests: New file.
10445         * tests/test-fbufmode.c: New file.
10446
10447         * modules/fbufmode: New file.
10448         * lib/fbufmode.h: New file.
10449         * lib/fbufmode.c: New file.
10450         * m4/fbufmode.m4: New file.
10451
10452 2007-04-13  Bruno Haible  <bruno@clisp.org>
10453
10454         * modules/fwritable-tests: New file.
10455         * tests/test-fwritable.c: New file.
10456
10457         * modules/fwritable: New file.
10458         * lib/fwritable.h: New file.
10459         * lib/fwritable.c: New file.
10460         * m4/fwritable.m4: New file.
10461
10462 2007-04-13  Bruno Haible  <bruno@clisp.org>
10463
10464         * modules/freadable-tests: New file.
10465         * tests/test-freadable.c: New file.
10466
10467         * modules/freadable: New file.
10468         * lib/freadable.h: New file.
10469         * lib/freadable.c: New file.
10470         * m4/freadable.m4: New file.
10471
10472 2007-04-13  Bruno Haible  <bruno@clisp.org>
10473
10474         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
10475         MOSTLYCLEANFILES.
10476
10477 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10478
10479         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
10480         gzip bootstrap.conf to avoid dragging in i18n machinery.
10481         (gnulib_tool_option): Use it.
10482
10483 2007-04-13  Bruno Haible  <bruno@clisp.org>
10484
10485         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
10486         %F directives.
10487         * tests/test-vasprintf-posix.c (test_function): Likewise.
10488         * tests/test-snprintf-posix.h (test_function): Likewise.
10489         * tests/test-sprintf-posix.h (test_function): Likewise.
10490         * tests/test-fprintf-posix.h (test_function): Likewise.
10491         * tests/test-printf-posix.h (test_function): Likewise.
10492         * tests/test-fprintf-posix.out: Likewise.
10493
10494 2007-04-13  Bruno Haible  <bruno@clisp.org>
10495
10496         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
10497         * modules/tls-tests (configure.ac): Likewise.
10498         Reported by Arto C. Nirkko <anirkko@insel.ch>.
10499
10500 2007-04-13  Bruno Haible  <bruno@clisp.org>
10501
10502         * lib/tls.c (glthread_tls_get): Fix return type.
10503         Patch by Arto C. Nirkko <anirkko@insel.ch>.
10504
10505 2007-04-12  Eric Blake  <ebb9@byu.net>
10506
10507         * modules/gettime (Depends-on): Remove gettime.
10508         Reported by Dmitry V. Levin.
10509
10510 2007-04-12  Bruno Haible  <bruno@clisp.org>
10511
10512         * modules/fflush (Include): Mention <stdio.h>.
10513         * modules/strtoimax (Include): Mention <inttypes.h>.
10514         * modules/strtoumax (Include): Likewise.
10515
10516 2007-04-12  Eric Blake  <ebb9@byu.net>
10517
10518         * .cvsignore: New file.
10519         * .gitignore: Likewise.
10520
10521 2007-04-12  Bruno Haible  <bruno@clisp.org>
10522
10523         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
10524         not before, since $(LDADD) often contains libgnu.a.
10525         * modules/striconv-tests (test_striconv_LDADD): Likewise.
10526         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
10527         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
10528         Needed on Cygwin.
10529
10530 2007-04-12  Eric Blake  <ebb9@byu.net>
10531
10532         Work around glibc's failure to flush stdin on fclose.
10533         * lib/closein.c (close_stdin): Flush stdin before closing.
10534
10535         Work around glibc's failure to reset seekable stdin on exit.
10536         * modules/closein: New module.
10537         * lib/closein.c: New file.
10538         * lib/closein.h: Likewise.
10539         * m4/closein.m4: Likewise.
10540         * MODULES.html.sh (File stream based Input/Output): Document it.
10541
10542 2007-04-12  Simon Josefsson  <simon@josefsson.org>
10543
10544         * gnulib-tool: Rename generated 'autobuild' script to
10545         'do-autobuild' in --create-megatestdir output.
10546
10547         * doc/gnulib.texi (Build robot for gnulib): Fix.
10548
10549 2007-04-12  Simon Josefsson  <simon@josefsson.org>
10550
10551         * modules/sysexits (Depends-on): Add absolute-header.
10552
10553 2007-04-12  Eric Blake  <ebb9@byu.net>
10554
10555         No need to preserve errno on success.
10556         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
10557         Reported by Bruno Haible.
10558
10559 2007-04-12  Simon Josefsson  <simon@josefsson.org>
10560
10561         * MODULES.html.sh (Support for maintaining and releasing
10562         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
10563
10564 2007-04-12  Simon Josefsson  <simon@josefsson.org>
10565
10566         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
10567
10568 2007-04-12  Simon Josefsson  <simon@josefsson.org>
10569
10570         * modules/autobuild: New module.
10571
10572         * m4/autobuild.m4: New file.
10573
10574 2007-04-11  Bruno Haible  <bruno@clisp.org>
10575
10576         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
10577         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
10578         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
10579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
10580         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
10581         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10582         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10583         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
10584         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10585         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10586         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
10587         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10588         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
10590         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10591         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10592         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
10593         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10594         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10595         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
10596         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10597         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10598         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
10599         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10600         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10601         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
10602         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
10603         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10604         Reported by Eric Blake.
10605
10606 2007-04-11  Bruno Haible  <bruno@clisp.org>
10607
10608         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
10609
10610 2007-04-10  Bruno Haible  <bruno@clisp.org>
10611
10612         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
10613         for NaN and Infinity. Needed on FreeBSD 6.1.
10614         * tests/test-vasnprintf-posix.c (test_function): Undo last change
10615         regarding results for "%010a" of Infinity and NaN.
10616         * tests/test-vasprintf-posix.c (test_function): Likewise.
10617         * tests/test-snprintf-posix.h (test_function): Likewise.
10618         * tests/test-sprintf-posix.h (test_function): Likewise.
10619         * tests/test-fprintf-posix.h (test_function): Likewise.
10620         * tests/test-printf-posix.h (test_function): Likewise.
10621         * tests/test-fprintf-posix.out: Likewise.
10622
10623 2007-04-10  Bruno Haible  <bruno@clisp.org>
10624
10625         * modules/locale-tests: New file.
10626         * tests/test-locale.c: New file.
10627
10628         * modules/locale: New file.
10629         * lib/locale_.h: New file.
10630         * m4/locale_h.m4: New file.
10631
10632 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
10633             Bruno Haible  <bruno@clisp.org>
10634
10635         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
10636         be determined, test for availability of the copysignf, copysign,
10637         copysignl functions.
10638         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
10639         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
10640         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
10641
10642 2007-04-09  Eric Blake  <ebb9@byu.net>
10643
10644         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
10645         * modules/stdio (Makefile.am): Support fflush.
10646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
10647         * modules/fflush: New file.
10648         * lib/fflush.c: Likewise.
10649         * m4/fflush.m4: Likewise.
10650         * modules/fflush-tests: New test.
10651         * tests/test-fflush.c: Likewise.
10652         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
10653
10654 2007-04-06  Bruno Haible  <bruno@clisp.org>
10655
10656         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
10657         (VASNPRINTF): Use signbit for faster determination whether to print a
10658         minus sign.
10659         * modules/vasnprintf (Files): Remove lib/float+.h.
10660         * modules/fprintf-posix (Depends-on): Add signbit.
10661         * modules/snprintf-posix (Depends-on): Likewise.
10662         * modules/sprintf-posix (Depends-on): Likewise.
10663         * modules/vasnprintf-posix (Depends-on): Likewise.
10664         * modules/vasprintf-posix (Depends-on): Likewise.
10665         * modules/vfprintf-posix (Depends-on): Likewise.
10666         * modules/vsnprintf-posix (Depends-on): Likewise.
10667         * modules/vsprintf-posix (Depends-on): Likewise.
10668
10669 2007-04-06  Bruno Haible  <bruno@clisp.org>
10670
10671         * tests/test-frexp.c (main): Test also the sign bit of zero results.
10672         * tests/test-frexpl.c (main): Likewise.
10673         * tests/test-ldexpl.c (main): Likewise.
10674         * modules/frexp-tests (Depends-on): Add signbit.
10675         * modules/frexpl-tests (Depdends-on): Likewise.
10676         * modules/ldexpl-tests (Depdends-on): Likewise.
10677
10678 2007-04-06  Bruno Haible  <bruno@clisp.org>
10679
10680         * modules/signbit-tests: New file.
10681         * tests/test-signbit.c: New file.
10682
10683         * modules/signbit: New file.
10684         * lib/signbitf.c: New file.
10685         * lib/signbitd.c: New file.
10686         * lib/signbitl.c: New file.
10687         * m4/signbit.m4: New file.
10688         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
10689         (signbit): New macro.
10690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
10691         REPLACE_SIGNBIT.
10692         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
10693         REPLACE_FREXPL into math.h.
10694
10695 2007-04-06  Bruno Haible  <bruno@clisp.org>
10696
10697         * modules/isnanf-nolibm-tests: New file.
10698         * tests/test-isnanf.c: New file.
10699
10700         * modules/isnanf-nolibm: New file.
10701         * lib/isnanf.h: New file.
10702         * lib/isnanf.c: New file.
10703         * lib/isnan.c: Consider the USE_FLOAT macro.
10704         * m4/isnanf.m4: New file.
10705
10706 2007-04-06  Bruno Haible  <bruno@clisp.org>
10707
10708         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
10709         (Link): New section.
10710
10711         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
10712
10713 2007-04-06  Bruno Haible  <bruno@clisp.org>
10714
10715         Assume the 'long double' type.
10716         * m4/longdouble.m4: Remove file.
10717         * config/srclist.txt: Don't mention longdouble.m4.
10718         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
10719         * lib/float+.h: Likewise.
10720         * lib/frexp.c: Likewise.
10721         * lib/printf-args.h: Likewise.
10722         * lib/printf-args.c: Likewise.
10723         * lib/printf-frexp.c: Likewise.
10724         * lib/printf-parse.c: Likewise.
10725         * lib/vasnprintf.c: Likewise.
10726         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
10727         * m4/intl.m4: Likewise.
10728         * m4/isnanl.m4: Likewise.
10729         * m4/printf.m4: Likewise.
10730         * m4/printf-frexpl.m4: Likewise.
10731         * m4/vasnprintf.m4: Likewise.
10732         * modules/allocsa (Files): Remove m4/longdouble.m4.
10733         * modules/gettext (Files): Likewise.
10734         * modules/relocatable-prog-wrapper (Files): Likewise.
10735         * modules/vasnprintf (Files): Likewise.
10736         * modules/isnanl (Files): Likewise.
10737         (Include): Simplify.
10738         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
10739         (Include): Simplify.
10740         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
10741         (Include): Simplify.
10742         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
10743         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10744         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
10745         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10746         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
10747         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10748         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
10749         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10750         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
10751         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10752         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
10753         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
10754         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
10755         * tests/test-isnanl.c: Likewise.
10756         * tests/test-snprintf-posix.h: Likewise.
10757         * tests/test-sprintf-posix.h: Likewise.
10758         * tests/test-vasnprintf-posix.c: Likewise.
10759         * tests/test-vasnprintf-posix2.c: Likewise.
10760         * tests/test-vasprintf-posix.c: Likewise.
10761
10762 2007-04-06  Bruno Haible  <bruno@clisp.org>
10763
10764         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
10765         * lib/math_.h [__DECC]: Include the overridden include file through
10766         #include_next, outside the double-inclusion guard.
10767         * lib/stdio_.h [__DECC]: Likewise.
10768         * lib/stdlib_.h [__DECC]: Likewise.
10769         * lib/string_.h [__DECC]: Likewise.
10770         * lib/time_.h [__DECC]: Likewise.
10771         * lib/wchar_.h [__DECC]: Likewise.
10772         * lib/wctype_.h [__DECC]: Likewise.
10773         * lib/inttypes_.h [__DECC]: Likewise.
10774         Reported by Albert Chin <china@thewrittenword.com> in
10775         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
10776
10777 2007-04-04  Eric Blake  <ebb9@byu.net>
10778
10779         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
10780         1.5.x.
10781
10782 2007-04-04  Bruno Haible  <bruno@clisp.org>
10783
10784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
10785         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
10786
10787 2007-04-04  Bruno Haible  <bruno@clisp.org>
10788
10789         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
10790         results for "%010a" of Infinity and NaN.
10791         * tests/test-vasprintf-posix.c (test_function): Likewise.
10792         * tests/test-snprintf-posix.h (test_function): Likewise.
10793         * tests/test-sprintf-posix.h (test_function): Likewise.
10794         * tests/test-fprintf-posix.h (test_function): Remove these tests.
10795         * tests/test-printf-posix.h (test_function): Likewise.
10796         * tests/test-fprintf-posix.out: Update.
10797         Needed for FreeBSD 6.1.
10798
10799 2007-04-04  Bruno Haible  <bruno@clisp.org>
10800
10801         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
10802         directly used by the gnulib modules nor by gnulib-tool.
10803
10804 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
10805
10806         * DEPENDENCIES: Give overall description of version dependency
10807         desirability.  Use more-typical names for apps.
10808         Add shell, coreutils, diffutils, grep, tar, gzip.
10809
10810 2007-04-04  Simon Josefsson  <simon@josefsson.org>
10811
10812         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
10813
10814 2007-04-04  Karl Berry  <karl@gnu.org>
10815
10816         * MODULES.html.sh (func_module): missing '.
10817
10818 2007-04-03  Bruno Haible  <bruno@clisp.org>
10819
10820         * modules/argmatch-tests (Makefile.am): New variable
10821         test_argmatch_LDADD.
10822         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
10823         * modules/array-list-tests (Makefile.am): New variable
10824         test_array_list_LDADD.
10825         * modules/array-oset-tests (Makefile.am): New variable
10826         test_array_oset_LDADD.
10827         * modules/avltree-list-tests (Makefile.am): New variable
10828         test_avltree_list_LDADD.
10829         * modules/avltree-oset-tests (Makefile.am): New variable
10830         test_avltree_oset_LDADD.
10831         * modules/avltreehash-list-tests (Makefile.am): New variable
10832         test_avltreehash_list_LDADD.
10833         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
10834         test_canonicalize_lgpl_LDADD.
10835         * modules/carray-list-tests (Makefile.am): New variable
10836         test_carray_list_LDADD.
10837         * modules/dirname-tests (Makefile.am): New variable
10838         test_dirname_LDADD.
10839         * modules/linked-list-tests (Makefile.am): New variable
10840         test_linked_list_LDADD.
10841         * modules/linkedhash-list-tests (Makefile.am): New variable
10842         test_linkedhash_list_LDADD.
10843         * modules/rbtree-list-tests (Makefile.am): New variable
10844         test_rbtree_list_LDADD.
10845         * modules/rbtree-oset-tests (Makefile.am): New variable
10846         test_rbtree_oset_LDADD.
10847         * modules/rbtreehash-list-tests (Makefile.am): New variable
10848         test_rbtreehash_list_LDADD.
10849         * modules/xvasprintf-tests (Makefile.am): New variable
10850         test_xvasprintf_LDADD.
10851         Reported by Eric Blake.
10852
10853 2007-04-03  Eric Blake  <ebb9@byu.net>
10854
10855         * DEPENDENCIES: Weaken m4 requirements.
10856
10857 2007-04-03  Bruno Haible  <bruno@clisp.org>
10858
10859         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
10860         * modules/isnanl-tests (configure.ac): Likewise.
10861
10862 2007-04-03  Ben Pfaff  <blp@gnu.org>
10863
10864         * modules/iconv_open: Add $(srcdir)/ to source directory
10865         references in Makefile fragments that call gperf, to fix VPATH
10866         builds.
10867
10868 2007-04-03  Bruno Haible  <bruno@clisp.org>
10869
10870         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
10871         * lib/ldexpl.c: Undo last change.
10872
10873 2007-04-03  Bruno Haible  <bruno@clisp.org>
10874
10875         * modules/printf-frexpl (Depends-on): Undo last change.
10876         (Files): Add m4/ldexpl.m4.
10877
10878 2007-04-03  Bruno Haible  <bruno@clisp.org>
10879
10880         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
10881         * modules/isnanl (Link): New section.
10882
10883         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
10884         * modules/frexp (Link): New section.
10885
10886         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
10887         * modules/frexpl (Link): New section.
10888
10889         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
10890         * modules/ldexpl (Link): New section.
10891
10892 2007-04-03  Bruno Haible  <bruno@clisp.org>
10893
10894         * modules/TEMPLATE-EXTENDED: New file.
10895         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
10896
10897 2007-04-03  Bruno Haible  <bruno@clisp.org>
10898
10899         * DEPENDENCIES: New file.
10900         Suggested by Simon Josefsson.
10901
10902 2007-04-03  Bruno Haible  <bruno@clisp.org>
10903
10904         * doc/gnulib.texi: Escape @.
10905
10906 2007-04-03  James Youngman  <jay@gnu.org>
10907         and Paul Eggert  <eggert@cs.ucla.edu>
10908
10909         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
10910         birthtime on all systems that have birthtime, not just those which
10911         use st_birthtimensec rather than st_birthtim.  Putting zero in
10912         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
10913         that the birth time is not available for files on an NFS mount.
10914
10915 2007-04-03  Simon Josefsson  <simon@josefsson.org>
10916
10917         * modules/memxor: Move back from crypto/, suggested by Bruno.
10918         * modules/crypto/hmac-sha1: Fix memxor dependency.
10919
10920         * modules/crypto/gc: Moved from ../.
10921
10922 2007-04-02  Eric Blake  <ebb9@byu.net>
10923
10924         * lib/ldexpl.c (includes): Avoid libm.
10925
10926         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
10927
10928 2007-04-02  Bruno Haible  <bruno@clisp.org>
10929
10930         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
10931         on IRIX.
10932
10933 2007-04-02  Bruno Haible  <bruno@clisp.org>
10934
10935         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
10936         x86 or x86_64 platforms running MacOS X.
10937         Reported by Ryan Schmidt <@ryandesign.com>.
10938
10939 2007-04-02  Bruno Haible  <bruno@clisp.org>
10940
10941         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
10942         i386.
10943
10944 2007-04-01  Simon Josefsson  <simon@josefsson.org>
10945
10946         * modules/crypto/arcfour: Moved from ../.
10947         * modules/crypto/arcfour-tests: Moved from ../.
10948         * modules/crypto/arctwo: Moved from ../.
10949         * modules/crypto/arctwo-tests: Moved from ../.
10950         * modules/crypto/des: Moved from ../.
10951         * modules/crypto/des-tests: Moved from ../.
10952         * modules/crypto/gc-arcfour: Moved from ../.
10953         * modules/crypto/gc-arcfour-tests: Moved from ../.
10954         * modules/crypto/gc-arctwo: Moved from ../.
10955         * modules/crypto/gc-arctwo-tests: Moved from ../.
10956         * modules/crypto/gc-des: Moved from ../.
10957         * modules/crypto/gc-des-tests: Moved from ../.
10958         * modules/crypto/gc-hmac-md5: Moved from ../.
10959         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
10960         * modules/crypto/gc-hmac-sha1: Moved from ../.
10961         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
10962         * modules/crypto/gc-md2: Moved from ../.
10963         * modules/crypto/gc-md2-tests: Moved from ../.
10964         * modules/crypto/gc-md4: Moved from ../.
10965         * modules/crypto/gc-md4-tests: Moved from ../.
10966         * modules/crypto/gc-md5: Moved from ../.
10967         * modules/crypto/gc-md5-tests: Moved from ../.
10968         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
10969         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
10970         * modules/crypto/gc-random: Moved from ../.
10971         * modules/crypto/gc-rijndael: Moved from ../.
10972         * modules/crypto/gc-rijndael-tests: Moved from ../.
10973         * modules/crypto/gc-sha1: Moved from ../.
10974         * modules/crypto/gc-sha1-tests: Moved from ../.
10975         * modules/crypto/gc-tests: Moved from ../.
10976         * modules/crypto/hmac-md5: Moved from ../.
10977         * modules/crypto/hmac-md5-tests: Moved from ../.
10978         * modules/crypto/hmac-sha1: Moved from ../.
10979         * modules/crypto/hmac-sha1-tests: Moved from ../.
10980         * modules/crypto/md2: Moved from ../.
10981         * modules/crypto/md2-tests: Moved from ../.
10982         * modules/crypto/md4: Moved from ../.
10983         * modules/crypto/md4-tests: Moved from ../.
10984         * modules/crypto/md5: Moved from ../.
10985         * modules/crypto/md5-tests: Moved from ../.
10986         * modules/crypto/memxor: Moved from ../.
10987         * modules/crypto/rijndael: Moved from ../.
10988         * modules/crypto/rijndael-tests: Moved from ../.
10989         * modules/crypto/sha1: Moved from ../.
10990
10991 2007-03-30  James Youngman  <jay@gnu.org>
10992
10993         * tests/test-stat-time.c (prepare_test): use chmod() rather than
10994         rename() to change the ctime of a file (because ctime is unaffected
10995         by rename on jfs2 on AIX 5.1).
10996         (main): Start by doing cleanup, in case a previous run failed leaving
10997         test files behind.
10998
10999 2007-03-31  Bruno Haible  <bruno@clisp.org>
11000
11001         Support old proprietary implementations of iconv.
11002         * modules/iconv_open: New file.
11003         * lib/iconv_.h: New file.
11004         * m4/iconv_h.m4: New file.
11005         * lib/iconv_open.c: New file.
11006         * lib/iconv_open-aix.gperf: New file.
11007         * lib/iconv_open-hpux.gperf: New file.
11008         * lib/iconv_open-irix.gperf: New file.
11009         * lib/iconv_open-osf.gperf: New file.
11010         * m4/iconv_open.m4: New file.
11011         * modules/linebreak (Depends-on): Add iconv_open.
11012         * modules/striconv (Depends-on): Likewise.
11013         * modules/striconveh (Depends-on): Likewise.
11014         * modules/unicodeio (Depends-on): Likewise.
11015         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
11016         (iconv_t)(-1).
11017         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
11018         conversion if cd is (iconv_t)(-1).
11019         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
11020         is not possible.
11021
11022 2007-03-31  Bruno Haible  <bruno@clisp.org>
11023
11024         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
11025         work on Solaris either. Protect also second use of "autodetect_jp".
11026
11027 2007-03-31  Bruno Haible  <bruno@clisp.org>
11028
11029         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
11030         the function is not present.
11031
11032 2007-03-31  Bruno Haible  <bruno@clisp.org>
11033
11034         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
11035         the function is not present.
11036
11037 2007-03-31  Bruno Haible  <bruno@clisp.org>
11038
11039         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
11040         a bug in HP-UX iconv_open().
11041
11042 2007-03-31  Bruno Haible  <bruno@clisp.org>
11043
11044         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
11045         (Mathematics <math.h>): New section, add fpieee.
11046         (Input/output <stdio.h>): Add fseterr.
11047         (Mathematics <math.h>): New section, add printf-frexp.
11048         (Container data structures): Add sublist.
11049         (Core language properties): Add fpucw, inline.
11050         (Functions for greatest-width integer types <inttypes.h>): Add
11051         imaxabs, imaxdiv, inttypes.
11052         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
11053         isnanl-nolibm, ldexp.
11054         (Mathematics <math.h>): New section, add printf-frexpl.
11055         (Support for systems lacking POSIX:2001): Add fprintf-posix,
11056         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
11057         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
11058         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
11059         (Unicode string functions): Add unistr/u*-mbtoucr.
11060         (Java): Add javacomp-script, javaexec-script.
11061         (C#): Add csharpcomp-script, csharpexec-script.
11062         (Support for building libraries and executables): Add havelib,
11063         relocatable-*.
11064         (Support for maintaining and releasing projects): Renamed from
11065         'Support for maintaining and release projects'. Add announce-gen.
11066
11067 2007-03-31  Bruno Haible  <bruno@clisp.org>
11068
11069         * README: Talk primarily about git.
11070         (git and CVS): Renamed from CVS.
11071         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
11072         gnulib is available through git.
11073         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
11074
11075 2007-03-30  Bruno Haible  <bruno@clisp.org>
11076
11077         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
11078         * lib/poll_.h: Likewise.
11079         * lib/stat_.h: Likewise.
11080         * lib/sys_time_.h: Likewise.
11081         * lib/sysexit_.h: Likewise.
11082         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
11083         * lib/stdbool_.h: Likewise.
11084         * lib/byteswap_.h: Add double-inclusion guard.
11085
11086 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
11087
11088         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
11089
11090 2007-03-30  Karl Berry  <karl@gnu.org>
11091
11092         * config/srclist-update: double space after USA in the license
11093         substitution, since that's how it's usually (?) written.
11094
11095 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
11096
11097         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
11098         reported by Bruno Haible.
11099
11100 2007-03-29  Bruno Haible  <bruno@clisp.org>
11101
11102         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
11103         a bug in AIX iconv().
11104
11105 2007-03-29  Bruno Haible  <bruno@clisp.org>
11106
11107         * modules/ldexpl-tests: New file.
11108         * tests/test-ldexpl.c: New file.
11109
11110 2007-03-29  Bruno Haible  <bruno@clisp.org>
11111
11112         * lib/ldexpl.c: Include fpucw.h.
11113         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
11114         multiplication.
11115         * modules/ldexpl (Depends-on): Add fpucw.
11116
11117 2007-03-29  Bruno Haible  <bruno@clisp.org>
11118
11119         * modules/ldexpl: New file.
11120         * m4/ldexpl.m4: New file.
11121         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
11122         set.
11123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
11124         REPLACE_LDEXPL.
11125         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
11126         REPLACE_LDEXPL.
11127         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
11128         gl_FUNC_LDEXPL_WORKS.
11129         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
11130         * modules/mathl (Files): Remove lib/ldexpl.c.
11131         (Depends-on): Add ldexpl.
11132
11133 2007-03-29  Bruno Haible  <bruno@clisp.org>
11134
11135         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
11136
11137 2007-03-29  Bruno Haible  <bruno@clisp.org>
11138
11139         * tests/test-striconveh.c (main): Don't assume that a direct conversion
11140         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
11141         and possibly also HP-UX.
11142         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
11143         work on AIX, IRIX, HP-UX, OSF/1.
11144         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
11145         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
11146         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
11147         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
11148         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
11149         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
11150
11151 2007-03-29  Bruno Haible  <bruno@clisp.org>
11152
11153         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
11154
11155 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
11156
11157         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
11158         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
11159
11160 2007-03-29  Eric Blake  <ebb9@byu.net>
11161
11162         * lib/acl-internal.h: Remove redundant include.
11163         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
11164         Cygwin when a file is locked.
11165
11166 2007-03-29  Bruno Haible  <bruno@clisp.org>
11167
11168         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
11169         file.
11170         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
11171
11172 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
11173
11174         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
11175         try to remove a parent directory if the child couldn't be removed
11176         (except for the first rmdir, which could fail because the child
11177         doesn't exist).  Problem reported by Jeff Blaine in
11178         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
11179
11180 2007-03-28  Bruno Haible  <bruno@clisp.org>
11181
11182         * lib/striconveh.c (utf8conv_carefully): New function.
11183         (mem_cd_iconveh_internal): Invoke it.
11184
11185 2007-03-28  Bruno Haible  <bruno@clisp.org>
11186
11187         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
11188         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
11189         input.
11190         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
11191         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
11192         unistr/u8-uctomb.
11193
11194 2007-03-28  Bruno Haible  <bruno@clisp.org>
11195
11196         * modules/unistr/u8-mbtoucr: New file.
11197         * lib/unistr/u8-mbtoucr.c: New file.
11198         * modules/unistr/u16-mbtoucr: New file.
11199         * lib/unistr/u16-mbtoucr.c: New file.
11200         * modules/unistr/u16-mbtoucr: New file.
11201         * lib/unistr/u16-mbtoucr.c: New file.
11202         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
11203
11204 2007-03-27  Simon Josefsson  <simon@josefsson.org>
11205             Bruno Haible  <bruno@clisp.org>
11206
11207         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
11208         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
11209         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
11210
11211         * m4/stdio_h.m4: Add stubs for vasprintf too.
11212
11213         * modules/stdio: Support vasprintf in sed command.
11214
11215         * modules/vasprintf: Depend on stdio for prototypes.  Remove
11216         vasprintf.h.  Add stdio module indicator.
11217
11218         * lib/stdio_.h: Declare asprintf and vasprintf, based on
11219         vasprintf.h.
11220
11221         * lib/vasprintf.h: File removed.
11222
11223         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
11224         * lib/vasprintf.c: Ditto.
11225         * lib/xvasprintf.c: Ditto.
11226         * tests/test-vasprintf-posix.c: Ditto.
11227         * tests/test-vasprintf.c: Ditto.
11228
11229 2007-03-27  Bruno Haible  <bruno@clisp.org>
11230
11231         Make vasnprintf multithread-safe.
11232         * lib/vasnprintf.c (decimal_point_char): New function.
11233         (VASNPRINTF): Use it.
11234         Suggested by Simon Josefsson.
11235
11236 2007-03-27  Eric Blake  <ebb9@byu.net>
11237
11238         Support sub-second birthtime on cygwin.
11239         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
11240         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
11241         (get_stat_birthtime): Also work with st_birthtim.
11242
11243 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
11244
11245         * lib/stat-time.h (USE_BIRTHTIME): Remove.
11246         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
11247         (get_stat_birthtime_ns): Do not try to use "spare" fields.
11248         (get_stat_birthtime_ns): Simplify compile-time tests.
11249         (get_stat_birthtime): Change the API to look like
11250         get_stat_mtime etc., except return a negative tv_nsec on error.
11251         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
11252         Don't check for "spare" fields.
11253         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
11254         or for struct stat.st_birthtime, as these tests aren't used.
11255         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
11256
11257 2007-03-27  Bruno Haible  <bruno@clisp.org>
11258
11259         * lib/stat-time.h: Include <sys/stat.h>.
11260
11261 2007-03-27  James Youngman  <jay@gnu.org>
11262
11263         * lib/stat-time.h (get_stat_birthtime): New function for
11264           retrieving st_birthtime as provided by UFS2 (hence *BSD).
11265         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
11266           and its variants.
11267         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
11268         * modules/stat-time-test: New file.
11269         * tests/test-stat-time.c: New test, devised by Bruno Haible.
11270
11271 2007-03-26  Bruno Haible  <bruno@clisp.org>
11272
11273         Better support of signalling NaNs.
11274         * lib/atanl.c: Include isnanl.h.
11275         (atanl): Perform test for NaN at the beginning of the function and
11276         through a call to isnanl.
11277         * lib/cosl.c: Include isnanl.h.
11278         (cosl): Perform test for NaN at the beginning of the function and
11279         through a call to isnanl.
11280         * lib/ldexpl.c: Include isnanl.h.
11281         (ldexpl): Perform test for NaN through a call to isnanl.
11282         * lib/logl.c: Include isnanl.h.
11283         (logl): Perform test for NaN at the beginning of the function and
11284         through a call to isnanl.
11285         * lib/sinl.c: Include isnanl.h.
11286         (sinl): Perform test for NaN at the beginning of the function and
11287         through a call to isnanl.
11288         * lib/sqrtl.c: Include isnanl.h.
11289         (sqrtl): Perform test for NaN at the beginning of the function and
11290         through a call to isnanl.
11291         * lib/tanl.c: Include isnanl.h.
11292         (tanl): Perform test for NaN at the beginning of the function and
11293         through a call to isnanl.
11294         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
11295         * modules/mathl (Depends-on): Add isnanl.
11296
11297 2007-03-26  Eric Blake  <ebb9@byu.net>
11298
11299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
11300         regression in logic sense of previous patch.
11301
11302 2007-03-26  Bruno Haible  <bruno@clisp.org>
11303
11304         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
11305         unportable shell command "if ! ...".
11306         Reported by Ralf Wildenhues.
11307
11308 2007-03-25  Bruno Haible  <bruno@clisp.org>
11309
11310         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
11311         <sysexits.h> file, and only add EX_CONFIG.
11312         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
11313         absolute file name and whether it is sufficient. Substitute also
11314         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
11315         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
11316         ABSOLUTE_SYSEXITS_H into sysexits.h.
11317
11318 2007-03-25  Bruno Haible  <bruno@clisp.org>
11319
11320         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
11321         hints is NULL.
11322
11323 2007-03-25  Bruno Haible  <bruno@clisp.org>
11324
11325         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
11326         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
11327
11328 2007-03-25  Bruno Haible  <bruno@clisp.org>
11329
11330         * lib/vasnprintf.c: Include langinfo.h.
11331         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
11332         multithread-safe.
11333         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
11334         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
11335         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
11336         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
11337         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
11338         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
11339         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
11340         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
11341         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
11342         Reported by Simon Josefsson.
11343
11344 2007-03-25  Bruno Haible  <bruno@clisp.org>
11345
11346         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
11347         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
11348         * modules/vasnprintf (Depends-on): Add stdint.
11349
11350 2007-03-25  Bruno Haible  <bruno@clisp.org>
11351
11352         * modules/fpieee: New file.
11353         * m4/fpieee.m4: New file.
11354         * modules/isnan-nolibm (Depends-on): Add fpieee.
11355         * modules/isnanl-nolibm (Depends-on): Add fpieee.
11356         * modules/isnanl (Depends-on): Add fpieee.
11357
11358 2007-03-25  Bruno Haible  <bruno@clisp.org>
11359
11360         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
11361
11362 2007-03-25  Bruno Haible  <bruno@clisp.org>
11363
11364         Avoid test failures on IRIX 6.5.
11365         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
11366         (main): Use it.
11367         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
11368         macros.
11369         (main): Use them.
11370
11371 2007-03-25  Bruno Haible  <bruno@clisp.org>
11372
11373         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
11374         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
11375         exists but doesn't work.
11376         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
11377         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
11378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
11379         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
11380
11381 2007-03-25  Bruno Haible  <bruno@clisp.org>
11382
11383         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
11384         returns inf. Needed on IRIX 6.5.
11385
11386 2007-03-25  Bruno Haible  <bruno@clisp.org>
11387
11388         * tests/test-frexpl.c: Include isnanl-nolibm.h.
11389         (main): Use isnanl instead of x != x idiom.
11390         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
11391
11392         * tests/test-frexp.c: Include isnan.h.
11393         (main): Use isnan instead of x != x idiom.
11394         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
11395
11396 2007-03-25  Bruno Haible  <bruno@clisp.org>
11397
11398         * tests/test-frexp.c (NaN): New function/macro.
11399         (main): Use it instead of 0.0 / 0.0.
11400         * tests/test-isnan.c (NaN): New function/macro.
11401         (main): Use it instead of 0.0 / 0.0.
11402         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
11403         (test_function): Use it instead of 0.0 / 0.0.
11404         * tests/test-vasprintf-posix.c (NaN): New function/macro.
11405         (test_function): Use it instead of 0.0 / 0.0.
11406         * tests/test-snprintf-posix.h (NaN): New function/macro.
11407         (test_function): Use it instead of 0.0 / 0.0.
11408         * tests/test-sprintf-posix.h (NaN): New function/macro.
11409         (test_function): Use it instead of 0.0 / 0.0.
11410         * tests/test-fprintf-posix.h (NaN): New function/macro.
11411         (test_function): Use it instead of 0.0 / 0.0.
11412         * tests/test-printf-posix.h (NaN): New function/macro.
11413         (test_function): Use it instead of 0.0 / 0.0.
11414
11415         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
11416
11417 2007-03-25  Bruno Haible  <bruno@clisp.org>
11418
11419         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
11420
11421 2007-03-25  Bruno Haible  <bruno@clisp.org>
11422
11423         * lib/regexec.c (merge_state_with_log): Make static.
11424
11425 2007-03-25  Bruno Haible  <bruno@clisp.org>
11426
11427         * lib/trigl.c (kernel_rem_pio2): Make static.
11428
11429 2007-03-25  Bruno Haible  <bruno@clisp.org>
11430
11431         * lib/sincosl.c (sincosl_table): Make static.
11432
11433 2007-03-25  Bruno Haible  <bruno@clisp.org>
11434
11435         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
11436         if the compiler does not support C99.
11437
11438 2007-03-25  Bruno Haible  <bruno@clisp.org>
11439
11440         * modules/time (Makefile.am): Ensure all rule action lines start with a
11441         tab.
11442
11443 2007-03-24  Bruno Haible  <bruno@clisp.org>
11444
11445         * modules/tsearch-tests: New file.
11446         * tests/test-tsearch.sh: New file.
11447         * tests/test-tsearch.c: New file, mostly copied from glibc.
11448
11449         * modules/search-tests: New file.
11450         * tests/test-search.c: New file.
11451
11452         * modules/search: New file.
11453         * lib/search_.h: New file, incorporating lib/tsearch.h.
11454         * m4/search_h.m4: New file.
11455         * lib/tsearch.h: Remove file.
11456         * lib/tsearch.c: Include search.h instead of tsearch.h.
11457         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
11458         HAVE_TSEARCH.
11459         * modules/tsearch (Files): Remove lib/tsearch.h.
11460         (Depends-on): Add search.
11461         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
11462         (Include): Change tsearch.h into search.h.
11463
11464 2007-03-24  Bruno Haible  <bruno@clisp.org>
11465
11466         * modules/fpucw: New file.
11467         * lib/fpucw.h: New file.
11468         * lib/frexp.c: Include fpucw.h.
11469         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
11470         (FUNC): Use them.
11471         * lib/printf-frexp.c: Include fpucw.h.
11472         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
11473         (FUNC): Use them.
11474         * lib/vasnprintf.c: Include fpucw.h.
11475         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
11476         'long double' calculations.
11477         * tests/test-frexpl.c: Include fpucw.h.
11478         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
11479         * tests/test-printf-frexpl.c: Include fpucw.h.
11480         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
11481         * modules/frexpl (Depends-on): Add fpucw.
11482         * modules/printf-frexpl (Depends-on): Likewise.
11483         * modules/fprintf-posix (Depends-on): Likewise.
11484         * modules/snprintf-posix (Depends-on): Likewise.
11485         * modules/sprintf-posix (Depends-on): Likewise.
11486         * modules/vasnprintf-posix (Depends-on): Likewise.
11487         * modules/vasprintf-posix (Depends-on): Likewise.
11488         * modules/vfprintf-posix (Depends-on): Likewise.
11489         * modules/vsnprintf-posix (Depends-on): Likewise.
11490         * modules/vsprintf-posix (Depends-on): Likewise.
11491         * modules/frexpl-tests (Depends-on): Likewise.
11492         * modules/printf-frexpl-tests (Depends-on): Likewise.
11493
11494 2007-03-24  Bruno Haible  <bruno@clisp.org>
11495
11496         * lib/float+.h: New file.
11497         * lib/isnan.c: Include float+.h.
11498         (SIZE): New macro.
11499         (FUNC): Compare only SIZE bytes of the value.
11500         * lib/vasnprintf.c: Include float+.h.
11501         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
11502         SIZEOF_LDBL or SIZEOF_DBL bytes.
11503         * modules/isnan-nolibm (Files): Add lib/float+.h.
11504         * modules/isnanl-nolibm (Files): Add lib/float+.h.
11505         * modules/isnanl (Files): Add lib/float+.h.
11506         * modules/vasnprintf (Files): Add lib/float+.h.
11507
11508 2007-03-24  Bruno Haible  <bruno@clisp.org>
11509
11510         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
11511         include isnanl-nolibm.h.
11512
11513 2007-03-24  Bruno Haible  <bruno@clisp.org>
11514
11515         * tests/test-read-file.c (main): Don't produce spurious output for
11516         expected situations. Make the test fail if it encountered unexpected
11517         results.
11518
11519 2007-03-24  Bruno Haible  <bruno@clisp.org>
11520
11521         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
11522         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
11523
11524 2007-03-24  Bruno Haible  <bruno@clisp.org>
11525
11526         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
11527
11528 2007-03-24  Bruno Haible  <bruno@clisp.org>
11529
11530         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
11531         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
11532
11533         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
11534         * modules/utf8-ucs4: Turn into a symbolic link to module
11535         unistr/u8-mbtouc.
11536
11537         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
11538         utf8-ucs4-unsafe.
11539         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
11540         unistr/u8-mbtouc-unsafe.
11541
11542         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
11543         * modules/utf16-ucs4: Turn into a symbolic link to module
11544         unistr/u16-mbtouc.
11545
11546         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
11547         utf16-ucs4-unsafe.
11548         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
11549         unistr/u16-mbtouc-unsafe.
11550
11551         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
11552         * modules/ucs4-utf8: Turn into a symbolic link to module
11553         unistr/u8-ubtomb.
11554
11555         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
11556         * modules/ucs4-utf16: Turn into a symbolic link to module
11557         unistr/u16-ubtomb.
11558
11559 2007-03-24  Bruno Haible  <bruno@clisp.org>
11560
11561         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
11562         Enable the function only if HAVE_INLINE.
11563         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
11564         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
11565         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
11566         Enable the function only if HAVE_INLINE.
11567         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
11568         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
11569         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
11570         Enable the function only if HAVE_INLINE.
11571         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
11572         Enable the function only if HAVE_INLINE.
11573         * modules/utf8-ucs4: Update.
11574         * modules/utf8-ucs4-unsafe: Update.
11575         * modules/utf16-ucs4: Update.
11576         * modules/utf16-ucs4-unsafe: Update.
11577         * modules/ucs4-utf8: Update.
11578         * modules/ucs4-utf16: Update.
11579
11580 2007-03-24  Bruno Haible  <bruno@clisp.org>
11581
11582         * lib/utf8-ucs4.h: Remove file.
11583         * lib/utf8-ucs4-unsafe.h: Remove file.
11584         * lib/utf16-ucs4.h: Remove file.
11585         * lib/utf16-ucs4-unsafe.h: Remove file.
11586         * lib/ucs4-utf8.h: Remove file.
11587         * lib/ucs4-utf16.h: Remove file.
11588         * lib/unistr.h: Include their previous contents.
11589         * m4/utf-ucs4.m4: Remove file.
11590         * m4/ucs4-utf.m4: Remove file.
11591         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
11592         (Depends-on): Add unistr/base.
11593         (configure.ac): Remove gl_UTF_UCS4.
11594         (Makefile.am): Update.
11595         (Include): Change to unistr.h.
11596         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
11597         (Depends-on): Add unistr/base.
11598         (configure.ac): Remove gl_UTF_UCS4.
11599         (Makefile.am): Update.
11600         (Include): Change to unistr.h.
11601         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
11602         (Depends-on): Add unistr/base.
11603         (configure.ac): Remove gl_UTF_UCS4.
11604         (Makefile.am): Update.
11605         (Include): Change to unistr.h.
11606         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
11607         (Depends-on): Add unistr/base.
11608         (configure.ac): Remove gl_UTF_UCS4.
11609         (Makefile.am): Update.
11610         (Include): Change to unistr.h.
11611         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
11612         (Depends-on): Add unistr/base.
11613         (configure.ac): Remove gl_UCS4_UTF.
11614         (Makefile.am): Update.
11615         (Include): Change to unistr.h.
11616         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
11617         (Depends-on): Add unistr/base.
11618         (configure.ac): Remove gl_UCS4_UTF.
11619         (Makefile.am): Update.
11620         (Include): Change to unistr.h.
11621         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
11622         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
11623         utf8-ucs4-unsafe.h.
11624         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
11625         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
11626         utf16-ucs4-unsafe.h.
11627         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
11628         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
11629         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
11630         * lib/unistr/u8-strchr.c: Likewise.
11631         * lib/unistr/u8-strrchr.c: Likewise.
11632         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
11633         * lib/unistr/u16-strchr.c: Likewise.
11634         * lib/unistr/u16-strrchr.c: Likewise.
11635         * lib/striconveh.c: Update.
11636         * lib/linebreak.c: Update.
11637
11638 2007-03-24  Bruno Haible  <bruno@clisp.org>
11639
11640         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
11641         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
11642
11643 2007-03-22  Bruno Haible  <bruno@clisp.org>
11644
11645         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
11646
11647 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
11648
11649         * MODULES.html.sh (File system functions): New module write-any-file.
11650         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
11651         * m4/write-any-file.m4: New files.
11652
11653 2007-03-23  Eric Blake  <ebb9@byu.net>
11654
11655         * gnulib-tool: Rearrange space-tab sequences, since some editors
11656         like to eat them.
11657
11658 2007-03-23  Eric Blake  <ebb9@byu.net>
11659
11660         * lib/version-etc.c (version_etc_va): Update license wording to
11661         be more concise.  Recommended by Richard Stallman.
11662
11663 2007-03-22  Bruno Haible  <bruno@clisp.org>
11664
11665         * lib/poll.c (MSG_PEEK): New fallback definition.
11666
11667 2007-03-22  Bruno Haible  <bruno@clisp.org>
11668
11669         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
11670         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
11671         (main): Update.
11672         Fixes a compilation error on BeOS.
11673
11674 2007-03-22  Bruno Haible  <bruno@clisp.org>
11675
11676         * modules/frexpl-tests: New file.
11677         * tests/test-frexpl.c: New file.
11678
11679         * modules/frexpl: New file.
11680         * m4/frexpl.m4: New file.
11681         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
11682         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
11683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
11684         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
11685         (Depends-on): Add frexpl. Remove isnanl-nolibm.
11686         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
11687
11688 2007-03-22  Bruno Haible  <bruno@clisp.org>
11689
11690         * lib/frexpl.c: Share code with lib/frexp.c.
11691         * modules/mathl (Files): Add lib/frexp.c.
11692         (Depends-on): Add isnanl-nolibm.
11693
11694 2007-03-22  Bruno Haible  <bruno@clisp.org>
11695
11696         * modules/printf-frexp (Files): Add m4/frexp.m4.
11697         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
11698         only if the found frexp function actually works.
11699
11700 2007-03-22  Bruno Haible  <bruno@clisp.org>
11701
11702         * lib/frexp.c: Remove older implementation that uses divisions.
11703
11704 2007-03-21  Bruno Haible  <bruno@clisp.org>
11705
11706         * modules/frexp-tests: New file.
11707         * tests/test-frexp.c: New file.
11708
11709         * modules/frexp: New file.
11710         * lib/frexp.c: New file.
11711         * m4/frexp.m4: New file.
11712         * lib/math_.h (frexp): New declaration.
11713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
11714         REPLACE_FREXP.
11715         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
11716
11717 2007-03-21  Bruno Haible  <bruno@clisp.org>
11718
11719         * modules/isnanl-tests: New file.
11720         * tests/test-isnanl.c: New file.
11721
11722         * modules/isnanl: New file.
11723         * lib/isnanl.h: New file.
11724         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
11725         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
11726         gl_FUNC_ISNANL_WORKS.
11727         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
11728         New macros.
11729
11730 2007-03-21  Bruno Haible  <bruno@clisp.org>
11731
11732         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
11733         lib/isnanl.h.
11734         (Include): Update.
11735         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
11736         * lib/vasnprintf.c: Update.
11737         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
11738         tests/test-isnanl.h, remove tests/test-isnanl.c.
11739         (Makefile.am): Update.
11740         * tests/test-isnanl-nolibm.c: New file.
11741         * tests/test-isnanl.h: New file.
11742         * tests/test-isnanl.c: Remove file.
11743
11744 2007-03-21  Jim Meyering  <jim@meyering.net>
11745
11746         When trying to open ".", treat ESTALE like EACCES.
11747         * lib/savewd.c (savewd_save): Resort to forking not just upon
11748         failure with EACCES, but also when errno is ESTALE.
11749
11750 2007-03-20  Bruno Haible  <bruno@clisp.org>
11751
11752         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
11753         Needed on AIX 5.1. Reported by Matthew Woehlke.
11754
11755 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
11756
11757         Suggestions by Bruno Haible:
11758         * lib/acl-internal.h: Include "gettext.h" rather than rolling
11759         our own.
11760         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
11761         * modules/acl (Depends-on): Add gettext.
11762
11763 2007-03-19  Bruno Haible  <bruno@clisp.org>
11764
11765         * modules/iconvme: Remove file.
11766         * lib/iconvme.h: Remove file.
11767         * lib/iconvme.c: Remove file.
11768         * m4/iconvme.m4: Remove file.
11769
11770 2007-03-19  Bruno Haible  <bruno@clisp.org>
11771
11772         * doc/relocatable-maint.texi: Break long shell script line.
11773         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
11774
11775 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
11778         handle file_has_acl.
11779         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
11780         * lib/acl.c: Move header inclusions and related macro defns into
11781         lib/acl-internal.h.
11782         (S_ISLNK): Remove defn, since that's now done for us.
11783         (file_has_acl): Move to lib/file-has-acl.c.
11784         Call acl_trivial if available.  This is the crucial part of the fix.
11785         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
11786         shared within the library.  Rewrite a bit, partly to make it compatible
11787         with the GNU coding style.
11788         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
11789         Remove unnecessary double-quotes.
11790         Don't test for acl_to_text; the build will catch that.
11791         Replace acl_entries if it doesn't exist and it is needed.
11792         Check for -lsec and acl_trivial (as used on Solaris 10).
11793         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
11794         lib/file-has-acl.c.
11795         (Depends-on): Add sys_stat, for S_ISLNK.
11796
11797 2007-03-19  Ben Pfaff  <blp@gnu.org>
11798
11799         * doc/gnulib.texi: Fix typos.
11800         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
11801
11802 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
11803
11804         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
11805         If size is zero here, buf must be zero.
11806
11807 2007-03-19  Simon Josefsson  <simon@josefsson.org>
11808
11809         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
11810         <bruno@clisp.org>.
11811
11812 2007-03-18  Bruno Haible  <bruno@clisp.org>
11813
11814         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
11815         Suggested by Eric Blake.
11816
11817 2007-03-18  Ben Pfaff  <blp@gnu.org>
11818
11819         * doc/relocatable.texi: Recommend using as prefix a directory
11820         that does not exist and will never be created.  Based on
11821         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
11822         and others.
11823
11824 2007-03-17  Bruno Haible  <bruno@clisp.org>
11825
11826         * lib/fchownat.c: Include lchown.h.
11827
11828 2007-03-17  Bruno Haible  <bruno@clisp.org>
11829
11830         Fix endless loop when the given allocated size was > INT_MAX.
11831         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
11832         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
11833         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
11834         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
11835         * lib/sprintf.c (sprintf): Likewise.
11836
11837 2007-03-17  Bruno Haible  <bruno@clisp.org>
11838
11839         * tests/test-argp-2.sh (func_compare): Output a context diff.
11840
11841 2007-03-17  Bruno Haible  <bruno@clisp.org>
11842
11843         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
11844         locale's decimal-point character.
11845
11846 2007-03-17  Bruno Haible  <bruno@clisp.org>
11847
11848         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
11849         before comparing it. Needed because on some platforms (e.g. x86) a
11850         'long double' occupies less bytes than sizeof (long double).
11851
11852 2007-03-17  Bruno Haible  <bruno@clisp.org>
11853
11854         * tests/test-crc.c (main): Make printf statements 64-bit clean.
11855         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
11856         * tests/test-getaddrinfo.c (simple): Likewise.
11857         * tests/test-read-file.c (main): Likewise.
11858
11859 2007-03-17  Bruno Haible  <bruno@clisp.org>
11860
11861         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
11862
11863 2007-03-17  Bruno Haible  <bruno@clisp.org>
11864
11865         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
11866         unused variable.
11867
11868 2007-03-17  Bruno Haible  <bruno@clisp.org>
11869
11870         * tests/test-c-strcasecmp.c: Include c-strcase.h.
11871         * tests/test-c-strncasecmp.c: Likewise.
11872
11873 2007-03-17  Bruno Haible  <bruno@clisp.org>
11874
11875         * modules/stdlib (Depends-on): Add unistd.
11876         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
11877         Needed for MacOS X 10.3.
11878
11879 2007-03-17  Bruno Haible  <bruno@clisp.org>
11880
11881         * lib/unistr/u-strdup.h: Include <stdlib.h>.
11882
11883 2007-03-17  Bruno Haible  <bruno@clisp.org>
11884
11885         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
11886
11887 2007-03-17  Bruno Haible  <bruno@clisp.org>
11888
11889         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
11890         to reflect files copied from gnulib (with or without modifications).
11891         Suggested by Jim Meyering.
11892
11893 2007-03-17  Eric Blake  <ebb9@byu.net>
11894
11895         * NEWS: Document stdlib change from 2007-02-18.
11896
11897 2007-03-17  Jim Meyering  <jim@meyering.net>
11898
11899         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
11900         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
11901         someone uses a name containing shell meta-characters.
11902         Reported by Alfred M. Szmidt.
11903
11904         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
11905
11906 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
11907
11908         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
11909         and copy gettext configuration files only if configure.ac contains
11910         a use of AM_GNU_GETTEXT_VERSION.
11911
11912 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
11913
11914         * build-aux/bootstrap (gnulib_name): New variable.
11915         (gnulib_tool_options): Use it.
11916
11917 2007-03-13  Simon Josefsson  <simon@josefsson.org>
11918
11919         * tests/test-des.c: Use new namespace.
11920
11921 2007-03-15  Bruno Haible  <bruno@clisp.org>
11922
11923         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
11924         Reported by James Youngman <jay@gnu.org>.
11925
11926 2007-03-15  Bruno Haible  <bruno@clisp.org>
11927
11928         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
11929         declared prototype. Needed with cc on OSF/1 5.1.
11930
11931 2007-03-15  Bruno Haible  <bruno@clisp.org>
11932
11933         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
11934         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
11935         (struct gl_list_implementation): Add dispose_fn argument to the
11936         'create_empty', 'create' methods.
11937         (struct gl_list_impl_base): Add field 'dispose_fn'.
11938         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
11939         argument.
11940         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
11941         dispose_fn argument.
11942         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
11943         dispose_fn on the dropped values.
11944         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
11945         dispose_fn argument.
11946         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
11947         dropped values.
11948         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
11949         (gl_tree_remove_node): Call dispose_fn on the dropped value.
11950         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
11951         (gl_tree_remove_node): Call dispose_fn on the dropped value.
11952         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
11953         argument.
11954         (gl_tree_list_free): Call dispose_fn on the dropped values.
11955         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
11956         the dropped values.
11957         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
11958         Add dispose_fn argument.
11959         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
11960         Call dispose_fn on the dropped values.
11961         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
11962         Add dispose_fn argument.
11963         (gl_sublist_create): Initialize the 'dispose_fn' field.
11964         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
11965         * tests/test-array_list.c (main): Update.
11966         * tests/test-carray_list.c (main): Update.
11967         * tests/test-avltree_list.c (main): Update.
11968         * tests/test-rbtree_list.c (main): Update.
11969         * tests/test-avltreehash_list.c (main): Update.
11970         * tests/test-rbtreehash_list.c (main): Update.
11971         * tests/test-linked_list.c (main): Update.
11972         * tests/test-linkedhash_list.c (main): Update.
11973         * tests/test-array_oset.c (main): Update.
11974
11975 2007-03-15  Bruno Haible  <bruno@clisp.org>
11976
11977         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
11978         (gl_oset_create_empty): Add dispose_fn argument.
11979         (struct gl_oset_implementation): Add dispose_fn argument to
11980         'create_empty' method.
11981         (struct gl_oset_impl_base): Add dispose_fn field.
11982         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
11983         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
11984         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
11985         values.
11986         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
11987         (gl_tree_oset_free): Call dispose_fn on the dropped values.
11988         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
11989         dropped value.
11990         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
11991         dropped value.
11992         * tests/test-array_oset.c (main): Update.
11993         * tests/test-avltree_oset.c (main): Update.
11994         * tests/test-rbtree_oset.c (main): Update.
11995         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
11996
11997 2007-03-13  Bruno Haible  <bruno@clisp.org>
11998
11999         * tests/test-stdbool.c (i): Update after last patch.
12000
12001 2007-03-12  Bruno Haible  <bruno@clisp.org>
12002
12003         * lib/quotearg.c: Include <wctype.h> early, before the definition of
12004         the iswprint macro. Needed on Solaris 2.5.1.
12005
12006 2007-03-12  Bruno Haible  <bruno@clisp.org>
12007
12008         * tests/test-printf-frexp.c (main): Declare x as volatile.
12009
12010 2007-03-12  Simon Josefsson  <simon@josefsson.org>
12011
12012         * doc/gnulib.texi (Build robot for gnulib): New section.
12013
12014 2007-03-12  Jim Meyering  <jim@meyering.net>
12015
12016         * build-aux/bootstrap: New file.
12017         * build-aux/bootstrap.conf: New file, from coreutils.
12018
12019 2007-03-11  Bruno Haible  <bruno@clisp.org>
12020
12021         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
12022
12023 2007-03-12  Simon Josefsson  <simon@josefsson.org>
12024
12025         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
12026         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
12027         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
12028
12029 2007-03-11  Bruno Haible  <bruno@clisp.org>
12030
12031         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
12032         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
12033
12034 2007-03-11  Bruno Haible  <bruno@clisp.org>
12035
12036         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
12037         formula. Needed for SunPRO C 5.0.
12038
12039 2007-03-11  Bruno Haible  <bruno@clisp.org>
12040
12041         * modules/long-options (Depends-on): Add getopt.
12042
12043 2007-03-11  Bruno Haible  <bruno@clisp.org>
12044
12045         * modules/modechange (Depends-on): Add stdbool.
12046
12047 2007-03-11  Bruno Haible  <bruno@clisp.org>
12048
12049         * modules/i-ring (Depends-on): Add stdbool.
12050
12051 2007-03-11  Bruno Haible  <bruno@clisp.org>
12052
12053         * modules/gc-des (Depends-on): Add stdbool.
12054
12055 2007-03-11  Bruno Haible  <bruno@clisp.org>
12056
12057         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
12058
12059 2007-03-11  Bruno Haible  <bruno@clisp.org>
12060
12061         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
12062
12063 2007-03-11  Bruno Haible  <bruno@clisp.org>
12064
12065         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
12066
12067 2007-03-11  Bruno Haible  <bruno@clisp.org>
12068
12069         * lib/vasnprintf.c (sprintf): Undefine.
12070
12071 2007-03-11  Bruno Haible  <bruno@clisp.org>
12072
12073         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
12074         initializers in SunPRO C and Compaq C compilers.
12075
12076 2007-03-11  Bruno Haible  <bruno@clisp.org>
12077
12078         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
12079         decrementing code ANSI C compliant.
12080
12081 2007-03-11  Bruno Haible  <bruno@clisp.org>
12082
12083         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
12084         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
12085
12086 2007-03-11  Bruno Haible  <bruno@clisp.org>
12087
12088         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
12089         <stdbool.h> substitute doesn't pass.
12090
12091 2007-03-11  Bruno Haible  <bruno@clisp.org>
12092
12093         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
12094
12095 2007-03-11  Bruno Haible  <bruno@clisp.org>
12096
12097         * gnulib-tool (func_create_megatestdir): Create also an autobuild
12098         script, for submission to autobuild.josefsson.org.
12099
12100 2007-03-10  Bruno Haible  <bruno@clisp.org>
12101
12102         * modules/canonicalize-lgpl-tests: New file.
12103         * tests/test-canonicalize-lgpl.sh: New file.
12104         * tests/test-canonicalize-lgpl.c: New file.
12105
12106         * modules/c-strcase-tests: New file.
12107         * tests/test-c-strcase.sh: New file.
12108         * tests/test-c-strcasecmp.c: New file.
12109         * tests/test-c-strncasecmp.c: New file.
12110
12111         * modules/atexit-tests: New file.
12112         * tests/test-atexit.sh: New file.
12113         * tests/test-atexit.c: New file.
12114
12115 2007-03-10  Bruno Haible  <bruno@clisp.org>
12116
12117         * tests/test-binary-io.sh: Use temporary filenames that are not so
12118         likely to clash with those of other tests (in a parallel make).
12119         * tests/test-binary-io.c: Likewise.
12120
12121 2007-03-10  Bruno Haible  <bruno@clisp.org>
12122
12123         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
12124         fallback; use #error instead.
12125         Suggested by Simon Josefsson.
12126
12127 2007-03-10  Bruno Haible  <bruno@clisp.org>
12128
12129         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
12130         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
12131         first and the last.
12132
12133 2007-03-10  Bruno Haible  <bruno@clisp.org>
12134
12135         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
12136
12137 2007-03-10  Bruno Haible  <bruno@clisp.org>
12138
12139         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
12140         "make distcheck".
12141         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
12142         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
12143         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
12144
12145 2007-03-10  Bruno Haible  <bruno@clisp.org>
12146
12147         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
12148         variable.
12149         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
12150         variable.
12151
12152 2007-03-09  Eric Blake  <ebb9@byu.net>
12153         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
12154
12155         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
12156         types are not being provided by gnulib.
12157         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
12158         types are supported.
12159
12160 2007-03-10  Bruno Haible  <bruno@clisp.org>
12161
12162         * lib/stdio_.h (__attribute__): New macro.
12163         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
12164         vsprintf): Specify __attribute__ __format__ for GCC.
12165         Suggested by Eric Blake.
12166
12167 2007-03-09  Bruno Haible  <bruno@clisp.org>
12168
12169         * modules/printf-posix-tests: New file.
12170         * tests/test-printf-posix.sh: New file.
12171         * tests/test-printf-posix.c: New file.
12172
12173         * modules/printf-posix: New file.
12174         * lib/printf.c: New file.
12175         * m4/printf-posix-rpl.m4: New file.
12176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
12177         REPLACE_PRINTF.
12178         * lib/stdio_.h (printf): New declaration.
12179         (format, __format__, ____printf____, ____scanf____, ____strftime____,
12180         ____strfmon____): New macros.
12181         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
12182         REPLACE_PRINTF.
12183
12184 2007-03-09  Bruno Haible  <bruno@clisp.org>
12185
12186         * tests/test-vasnprintf-posix2.sh: New file.
12187         * tests/test-vasnprintf-posix2.c: New file.
12188         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
12189         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
12190         (Makefile.am): Activate test-vasnprintf-posix2.sh.
12191
12192         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
12193         a locale dependent decimal point, rather than always '.'.
12194
12195 2007-03-09  Eric Blake  <ebb9@byu.net>
12196
12197         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
12198         spite of platforms like Tandem/NSK that define it to -1.
12199
12200 2007-03-08  Bruno Haible  <bruno@clisp.org>
12201
12202         * modules/vprintf-posix-tests: New file.
12203         * tests/test-vprintf-posix.sh: New file.
12204         * tests/test-vprintf-posix.c: New file.
12205         * tests/test-printf-posix.h: New file.
12206
12207         * modules/vprintf-posix: New file.
12208         * lib/vprintf.c: New file.
12209         * m4/vprintf-posix.m4: New file.
12210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
12211         REPLACE_VPRINTF.
12212         * lib/stdio_.h (vprintf): New declaration.
12213         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
12214         REPLACE_VPRINTF.
12215
12216 2007-03-08  Bruno Haible  <bruno@clisp.org>
12217
12218         * modules/fprintf-posix-tests: New file.
12219         * tests/test-fprintf-posix.sh: New file.
12220         * tests/test-fprintf-posix.c: New file.
12221
12222         * modules/fprintf-posix: New file.
12223         * lib/fprintf.c: New file.
12224         * m4/fprintf-posix.m4: New file.
12225         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
12226         REPLACE_FPRINTF.
12227         * lib/stdio_.h (fprintf): New declaration.
12228         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
12229         REPLACE_FPRINTF.
12230
12231 2007-03-08  Bruno Haible  <bruno@clisp.org>
12232
12233         * modules/vfprintf-posix-tests: New file.
12234         * tests/test-vfprintf-posix.sh: New file.
12235         * tests/test-vfprintf-posix.c: New file.
12236         * tests/test-fprintf-posix.h: New file.
12237         * tests/test-fprintf-posix.out: New file.
12238
12239         * modules/vfprintf-posix: New file.
12240         * lib/vfprintf.c: New file.
12241         * m4/vfprintf-posix.m4: New file.
12242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
12243         REPLACE_VFPRINTF.
12244         * lib/stdio_.h (vfprintf): New declaration.
12245         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
12246         REPLACE_VFPRINTF.
12247
12248 2007-03-08  Bruno Haible  <bruno@clisp.org>
12249
12250         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
12251
12252 2007-03-08  Bruno Haible  <bruno@clisp.org>
12253
12254         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
12255         instead of 'expr' invocations.
12256         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
12257         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
12258         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
12259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
12260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
12261         Suggested by Paul Eggert.
12262
12263 2007-03-08  Bruno Haible  <bruno@clisp.org>
12264
12265         * modules/fseterr-tests: New file.
12266         * tests/test-fseterr.c: New file.
12267
12268         * modules/fseterr: New file.
12269         * lib/fseterr.h: New file.
12270         * lib/fseterr.c: New file.
12271
12272 2007-03-08  Bruno Haible  <bruno@clisp.org>
12273
12274         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
12275         * lib/getopt_.h: Likewise.
12276         * lib/mbswidth.h: Likewise.
12277         * lib/setenv.h: Likewise.
12278         * lib/vasnprintf.h: Likewise.
12279         * lib/vasprintf.h: Likewise.
12280         * lib/verror.h: Likewise.
12281         * lib/xsetenv.h: Likewise.
12282         * lib/xvasprintf.h: Likewise.
12283
12284 2007-03-08  Jim Meyering  <jim@meyering.net>
12285
12286         * users.txt: Add parted.
12287
12288         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
12289
12290 2007-03-07  Bruno Haible  <bruno@clisp.org>
12291
12292         * m4/printf.m4: Make the shell script snippets copy&pastable.
12293
12294 2007-03-02  Bruno Haible  <bruno@clisp.org>
12295
12296         * lib/netinet_in_.h: New file.
12297         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
12298         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
12299         * modules/netinet_in (Files): Add lib/netinet_in_.h.
12300         (Depends-on): Add absolute-header.
12301         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
12302         into netinet/in.h.
12303
12304 2007-03-03  Bruno Haible  <bruno@clisp.org>
12305
12306         * lib/sys_select_.h: New file.
12307         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
12308         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
12309         * modules/sys_select (Files): Add lib/sys_select_.h.
12310         (Depends-on): Add absolute-header.
12311         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
12312         into sys/select.h.
12313
12314 2007-03-02  Bruno Haible  <bruno@clisp.org>
12315
12316         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
12317         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
12318         values.
12319         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
12320         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
12321         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
12322         * modules/sys_socket (Depends-on): Add absolute-header.
12323         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
12324         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
12325         (Include): Remove requirement of inclusion of <sys/types.h>.
12326
12327 2007-03-02  Bruno Haible  <bruno@clisp.org>
12328
12329         * lib/byteswap_.h (bswap_32): Fix formula.
12330
12331 2007-03-06  Bruno Haible  <bruno@clisp.org>
12332
12333         * modules/sprintf-posix-tests: New file.
12334         * tests/test-sprintf-posix.c: New file.
12335
12336         * modules/sprintf-posix: New file.
12337         * lib/sprintf.c: New file.
12338         * m4/sprintf-posix.m4: New file.
12339         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
12340         REPLACE_SPRINTF.
12341         * lib/stdio_.h (sprintf): New declaration.
12342         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
12343         REPLACE_SPRINTF.
12344
12345 2007-03-06  Bruno Haible  <bruno@clisp.org>
12346
12347         * modules/vsprintf-posix-tests: New file.
12348         * tests/test-vsprintf-posix.c: New file.
12349         * tests/test-sprintf-posix.h: New file.
12350
12351         * modules/vsprintf-posix: New file.
12352         * lib/vsprintf.c: New file.
12353         * m4/vsprintf-posix.m4: New file.
12354         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
12355         REPLACE_VSPRINTF.
12356         * lib/stdio_.h (vsprintf): New declaration.
12357         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
12358         REPLACE_VSPRINTF.
12359
12360 2007-03-06  Bruno Haible  <bruno@clisp.org>
12361
12362         * modules/vsnprintf (Depend-on): Remove minmax.
12363
12364 2007-03-06  Bruno Haible  <bruno@clisp.org>
12365
12366         * modules/snprintf-posix-tests: New file.
12367         * tests/test-snprintf-posix.c: New file.
12368
12369         * modules/snprintf-posix: New file.
12370         * m4/snprintf-posix.m4: New file.
12371         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
12372         gl_FUNC_SNPRINTF.
12373         (gl_FUNC_SNPRINTF): Invoke it.
12374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
12375         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
12376         is set.
12377         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
12378
12379 2007-03-06  Bruno Haible  <bruno@clisp.org>
12380
12381         * modules/vsnprintf-posix-tests: New file.
12382         * tests/test-vsnprintf-posix.c: New file.
12383         * tests/test-snprintf-posix.h: New file.
12384
12385         * modules/vsnprintf-posix: New file.
12386         * m4/vsnprintf-posix.m4: New file.
12387         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
12388         gl_FUNC_VSNPRINTF.
12389         (gl_FUNC_VSNPRINTF): Invoke it.
12390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
12391         * lib/stdio_.h (vsnprintf): Define as a replacement if
12392         REPLACE_VSNPRINTF is set.
12393         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
12394
12395 2007-03-06  Bruno Haible  <bruno@clisp.org>
12396
12397         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
12398         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
12399
12400 2007-03-06  Bruno Haible  <bruno@clisp.org>
12401
12402         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
12403         (asinl): Declare also if HAVE_DECL_ASINL is set.
12404         (atanl): Declare also if HAVE_DECL_ATANL is set.
12405         (ceill): Declare also if HAVE_DECL_CEILL is set.
12406         (cosl): Declare also if HAVE_DECL_COSL is set.
12407         (expl): Declare also if HAVE_DECL_EXPL is set.
12408         (floorl): Declare also if HAVE_DECL_FLOORL is set.
12409         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
12410         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
12411         (logl): Declare also if HAVE_DECL_LOGL is set.
12412         (sinl): Declare also if HAVE_DECL_SINL is set.
12413         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
12414         (tanl): Declare also if HAVE_DECL_TANL is set.
12415         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
12416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
12417         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
12418         declaration of frexpl, ldexpl.
12419         * modules/printf-frexpl (Depends-on): Add math.
12420         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
12421
12422 2007-03-05  Bruno Haible  <bruno@clisp.org>
12423
12424         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
12425         frexpl and ldexpl are declared.
12426         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
12427
12428 2007-03-05  Bruno Haible  <bruno@clisp.org>
12429
12430         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
12431         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
12432
12433 2007-03-05  Bruno Haible  <bruno@clisp.org>
12434
12435         * lib/stdio_.h: Include <stddef.h>.
12436
12437 2007-03-05  Bruno Haible  <bruno@clisp.org>
12438
12439         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
12440
12441 2007-03-05  Bruno Haible  <bruno@clisp.org>
12442
12443         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
12444         NetBSD 4, from Ralf Wildenhues.
12445
12446 2007-03-04  Bruno Haible  <bruno@clisp.org>
12447
12448         * lib/vasprintf.h: Update #if logic for the case when the functions
12449         exist but are overridden.
12450
12451 2007-03-04  Bruno Haible  <bruno@clisp.org>
12452
12453         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
12454         implementations: glibc-2.4 and MacOS X 10.3.
12455         * tests/test-vasnprintf-posix.c (test_function): Test also the case
12456         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
12457         * tests/test-vasprintf-posix.c (test_function): Likewise.
12458
12459 2007-03-04  Bruno Haible  <bruno@clisp.org>
12460
12461         * modules/vasprintf-posix-tests: New file.
12462         * tests/test-vasprintf-posix.c: New file.
12463
12464         * modules/vasprintf-posix: New file.
12465         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
12466         defined.
12467         * m4/vasprintf-posix.m4: New file.
12468         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
12469         gl_FUNC_VASPRINTF.
12470         (gl_FUNC_VASPRINTF): Invoke it.
12471         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
12472         here.
12473         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
12474
12475 2007-03-04  Bruno Haible  <bruno@clisp.org>
12476
12477         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
12478         REPLACE_GETTIMEOFDAY.
12479         * modules/sys_time (Makefile.am): Likewise.
12480         * m4/sys_time_h.m4: Likewise.
12481         * m4/gettimeofday.m4: Likewise.
12482
12483 2007-03-04  Bruno Haible  <bruno@clisp.org>
12484
12485         * modules/vasnprintf-posix-tests: New file.
12486         * tests/test-vasnprintf-posix.c: New file.
12487
12488         * modules/vasnprintf-posix: New file.
12489         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
12490         printf-frexpl.h.
12491         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
12492         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
12493         REPLACE_VASNPRINTF is defined.
12494         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
12495         gl_FUNC_VASNPRINTF.
12496         (gl_FUNC_VASNPRINTF): Invoke it.
12497         * m4/vasnprintf-posix.m4: New file.
12498         * m4/printf.m4: New file.
12499
12500 2007-03-04  Bruno Haible  <bruno@clisp.org>
12501
12502         Compile progreloc.c only if --enable-relocatable is specified.
12503         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
12504         if --enable-relocatable was specified.
12505         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
12506         lib_SOURCES.
12507
12508 2007-03-04  Jim Meyering  <jim@meyering.net>
12509
12510         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
12511         Use it consistently, rather than enumerating errno constants.
12512
12513 2007-03-04  Bruno Haible  <bruno@clisp.org>
12514
12515         * modules/xvasprintf-tests: New file.
12516         * tests/test-xvasprintf.c: New file.
12517
12518         * modules/vasprintf-tests: New file.
12519         * tests/test-vasprintf.c: New file.
12520
12521         * modules/vasnprintf-tests: New file.
12522         * tests/test-vasnprintf.c: New file.
12523
12524         * modules/vsnprintf-tests: New file.
12525         * tests/test-vsnprintf.c: New file.
12526
12527         * modules/snprintf-tests: New file.
12528         * tests/test-snprintf.c: New file.
12529
12530 2007-03-04  Bruno Haible  <bruno@clisp.org>
12531
12532         Compile relocatable.c only if --enable-relocatable is specified.
12533         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
12534         gl_RELOCATABLE_LIBRARY.
12535         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
12536         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
12537         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
12538         gl_RELOCATABLE_LIBRARY.
12539         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
12540         (Makefile.am): Remove lib_SOURCES.
12541         * modules/relocatable-lib-lgpl (configure.ac): Invoke
12542         gl_RELOCATABLE_LIBRARY.
12543         (Makefile.am): Remove lib_SOURCES.
12544         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
12545         always.
12546         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12547         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
12548
12549 2007-03-04  Bruno Haible  <bruno@clisp.org>
12550
12551         * modules/argmatch-tests: New file.
12552         * tests/test-argmatch.c: New file.
12553
12554         * tests/test-allocsa.c (main): Halve the number of loop runs.
12555
12556         * modules/alloca-opt-tests: New file.
12557         * tests/test-alloca-opt.c: New file.
12558
12559 2007-03-04  Jim Meyering  <jim@meyering.net>
12560
12561         Work around difference between Linux ACLs and Solaris 10 ZFS.
12562         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
12563         for EINVAL.
12564
12565 2007-03-03  Bruno Haible  <bruno@clisp.org>
12566
12567         * modules/relocatable-prog (Depends-on): Add back progreloc's
12568         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
12569
12570 2007-03-03  Bruno Haible  <bruno@clisp.org>
12571
12572         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
12573         * modules/relocatable-lib: New file.
12574
12575 2007-03-03  Bruno Haible  <bruno@clisp.org>
12576
12577         * modules/relocatable-prog: Renamed from modules/relocatable.
12578         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
12579
12580 2007-03-03  Bruno Haible  <bruno@clisp.org>
12581
12582         * modules/relocatable-script (Files): Add doc/relocatable.texi,
12583         m4/relocatable-lib.m4.
12584         (Depends-on): Remove 'relocatable'.
12585         (configure.ac): Add gl_RELOCATABLE_NOP.
12586
12587 2007-03-03  Bruno Haible  <bruno@clisp.org>
12588
12589         * modules/relocatable-prog-wrapper: New file.
12590         * modules/relocatable (Depends-on): Add it. Remove all other
12591         dependencies except progname.
12592         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
12593
12594         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
12595         (gl_FUNC_STRERROR): Nop.
12596         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
12597
12598         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
12599         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
12600
12601         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
12602         (gl_FUNC_READLINK): Update.
12603
12604         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
12605
12606 2007-03-03  Bruno Haible  <bruno@clisp.org>
12607
12608         * lib/xreadlink.c: Include <unistd.h> unconditionally.
12609         * modules/xreadlink (Depends-on): Add unistd.
12610         * modules/xreadlink-with-size (Depends-on): Likewise.
12611
12612 2007-03-03  Bruno Haible  <bruno@clisp.org>
12613
12614         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
12615         extracted from gt_FUNC_SETENV.
12616         (gt_FUNC_SETENV): Remove macro.
12617         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
12618         remove gt_FUNC_SETENV.
12619
12620 2007-03-03  Bruno Haible  <bruno@clisp.org>
12621
12622         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
12623         ENABLE_RELOCATABLE here.
12624         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
12625
12626 2007-03-03  Bruno Haible  <bruno@clisp.org>
12627
12628         * modules/rbtreehash-list-tests (Depends-on): Add progname.
12629         * tests/test-rbtreehash_list.c: Include progname.h.
12630         (main): Call set_program_name.
12631
12632         * modules/rbtree-oset-tests (Depends-on): Add progname.
12633         * tests/test-rbtree_oset.c: Include progname.h.
12634         (main): Call set_program_name.
12635
12636         * modules/rbtree-list-tests (Depends-on): Add progname.
12637         * tests/test-rbtree_list.c: Include progname.h.
12638         (main): Call set_program_name.
12639
12640         * modules/linked-list-tests (Depends-on): Add progname.
12641         * tests/test-linked_list.c: Include progname.h.
12642         (main): Call set_program_name.
12643
12644 2007-03-03  Bruno Haible  <bruno@clisp.org>
12645
12646         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
12647         All uses of __restrict changed to _Restrict_.
12648         * lib/glob_.h (__restrict): Remove macro.
12649
12650 2007-03-02  Bruno Haible  <bruno@clisp.org>
12651
12652         * modules/gettext (configure.ac): Require gettext infrastructure
12653         from version 0.16.1.
12654
12655 2007-03-02  Bruno Haible  <bruno@clisp.org>
12656
12657         * modules/linkedhash-list-tests (Depends-on): Add progname.
12658         * tests/test-linkedhash_list.c: Include progname.h.
12659         (main): Call set_program_name.
12660
12661         * modules/carray-list-tests (Depends-on): Add progname.
12662         * tests/test-carray_list.c: Include progname.h.
12663         (main): Call set_program_name.
12664
12665         * modules/avltreehash-list-tests (Depends-on): Add progname.
12666         * tests/test-avltreehash_list.c: Include progname.h.
12667         (main): Call set_program_name.
12668
12669         * modules/avltree-oset-tests (Depends-on): Add progname.
12670         * tests/test-avltree_oset.c: Include progname.h.
12671         (main): Call set_program_name.
12672
12673         * modules/avltree-list-tests (Depends-on): Add progname.
12674         * tests/test-avltree_list.c: Include progname.h.
12675         (main): Call set_program_name.
12676
12677         * modules/array-oset-tests (Depends-on): Add progname.
12678         * tests/test-array_oset.c: Include progname.h.
12679         (main): Call set_program_name.
12680
12681         * modules/array-list-tests (Depends-on): Add progname.
12682         * tests/test-array_list.c: Include progname.h.
12683         (main): Call set_program_name.
12684
12685         * modules/argp-tests (Depends-on): Add progname.
12686         * tests/test-argp.c: Include argp.h first. Include progname.h.
12687         (main): Call set_program_name.
12688
12689 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         * doc/gnulib-tool.texi (Initial import): Reword description of
12692         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
12693         limited effect even if defined after the first system include.
12694
12695 2007-03-01  Bruno Haible  <bruno@clisp.org>
12696
12697         * build-aux/config.libpath: Update to libtool-1.5.22.
12698         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12699
12700 2007-03-01  Bruno Haible  <bruno@clisp.org>
12701
12702         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
12703         foo_CFLAGS.
12704         Reported by Ralf Wildenhues.
12705
12706 2007-03-01  Bruno Haible  <bruno@clisp.org>
12707
12708         * build-aux/install-reloc: Remove object files left over by some
12709         compilers.
12710         Reported by Ralf Wildenhues.
12711
12712 2007-03-01  Bruno Haible  <bruno@clisp.org>
12713
12714         * build-aux/install-reloc: Break long lines.
12715
12716 2007-03-01  Bruno Haible  <bruno@clisp.org>
12717
12718         * doc/relocatable.texi: Document that it may not work on OpenBSD.
12719         Reported by Ralf Wildenhues.
12720
12721 2007-03-01  Bruno Haible  <bruno@clisp.org>
12722
12723         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
12724         include ordering constraints.
12725
12726 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12727
12728         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
12729         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
12730         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
12731         as another example.
12732         * lib/time_.h: Fix misspelling.
12733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
12734         Require gl_HEADER_TIME_H_DEFAULTS.
12735         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
12736         * m4/time_r.m4 (gl_TIME_R): Likewise.
12737         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
12738
12739 2007-03-01  Bruno Haible  <bruno@clisp.org>
12740
12741         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
12742         * m4/utimens.m4 (gl_UTIMENS): Likewise.
12743
12744 2007-03-01  Jim Meyering  <jim@meyering.net>
12745
12746         * modules/xreadlink (Maintainer): Add my name.
12747         * modules/xreadlink-with-size (Depends-on): Alphabetize.
12748
12749 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
12750             Bruno Haible  <bruno@clisp.org>
12751
12752         * build-aux/install-reloc: Compile also c-ctype.c.
12753         * build-aux/relocatable.sh.in: New file.
12754         * doc/relocatable.texi: New file.
12755         * doc/relocatable-maint.texi: New file.
12756         * doc/gnulib.texi: Include relocatable-maint.texi.
12757         * lib/progreloc.c: Include unistd.h unconditionally.
12758         * lib/relocwrapper.c: Include unistd.h unconditionally.
12759         Include c-ctype.h.
12760         (add_dotbin): Use c_tolower.
12761         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
12762         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
12763         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
12764         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
12765         to m4/relocatable-lib.m4.
12766         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
12767         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
12768         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
12769         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
12770         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
12771         * modules/relocatable: New file.
12772         * modules/relocatable-lib: New file.
12773         * modules/relocatable-script: New file.
12774
12775 2007-02-28  Bruno Haible  <bruno@clisp.org>
12776
12777         Import --enable-relocatable infrastructure.
12778         * build-aux/config.libpath: New file, from GNU gettext.
12779         * build-aux/install-reloc: New file, from GNU gettext.
12780         * build-aux/reloc-ldflags: New file, from GNU gettext.
12781         * lib/relocatable.h: New file, from GNU gettext.
12782         * lib/relocatable.c: New file, from GNU gettext.
12783         * lib/relocwrapper.c: New file, from GNU gettext.
12784         * m4/relocatable.m4: New file, from GNU gettext.
12785
12786 2007-02-28  Bruno Haible  <bruno@clisp.org>
12787
12788         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
12789
12790         * modules/xreadlink: New file, from GNU gettext with modifications.
12791         * lib/xreadlink.c: New file, from GNU gettext.
12792         * lib/xreadlink.h: Add comments.
12793         (xreadlink): New declaration.
12794
12795         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
12796         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
12797         lib/xreadlink-with-size.c.
12798         (configure.ac): Remove gl_XREADLINK invocation.
12799         (Makefile.am): Augment lib_SOURCES.
12800         * m4/xreadlink.m4: Remove file.
12801         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
12802         (xreadlink_with_size): Renamed from xreadink.
12803         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
12804         * modules/canonicalize (Depends-on): Replace xreadlink with
12805         xreadlink-with-size.
12806         * lib/canonicalize.c (canonicalize_filename_mode): Update.
12807
12808 2007-02-25  Jim Meyering  <jim@meyering.net>
12809
12810         * build-aux/announce-gen: When complaining about excess arguments,
12811         list them.
12812
12813 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         * README: Document signed integer overflow situation more
12816         accurately.
12817
12818 2007-02-25  Bruno Haible  <bruno@clisp.org>
12819
12820         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
12821         'a' or 'A' conversion.
12822
12823 2007-02-25  Bruno Haible  <bruno@clisp.org>
12824
12825         * modules/filename: Renamed from modules/pathname.
12826         (Files): Replace lib/pathname.h with lib/filename.h. Replace
12827         lib/concatpath.c with lib/concat-filename.c.
12828         (Makefile.am): Update.
12829         (Include): Replace pathname.h with filename.h.
12830         * lib/filename.h: Renamed from lib/pathname.h.
12831         (concatenated_filename): Renamed from concatenated_pathname.
12832         * lib/concat-filename.c: Renamed from lib/concatpath.c.
12833         (concatenated_filename): Renamed from concatenated_pathname.
12834         * lib/findprog.c: Include filename.h instead of pathname.h.
12835         (find_in_path): Update.
12836         * lib/javacomp.c: Include filename.h instead of pathname.h.
12837         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
12838         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
12839         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
12840         is_oldgcj_14_13_usable, is_javac_usable): Update.
12841         * lib/javaexec.c: Include filename.h instead of pathname.h.
12842         (execute_java_class): Update.
12843         * modules/findprog: Update.
12844         * modules/javacomp: Update.
12845         * modules/javaexec: Update.
12846         * MODULES.html.sh (File system functions): Add 'filename', remove
12847         'pathname'.
12848
12849 2007-02-25  Bruno Haible  <bruno@clisp.org>
12850
12851         * modules/printf-frexpl-tests: New file.
12852         * tests/test-printf-frexpl.c: New file.
12853
12854         * modules/printf-frexpl: New file.
12855         * lib/printf-frexpl.h: New file.
12856         * lib/printf-frexpl.c: New file.
12857         * m4/printf-frexpl.m4: New file.
12858
12859 2007-02-25  Bruno Haible  <bruno@clisp.org>
12860
12861         * modules/printf-frexp-tests: New file.
12862         * tests/test-printf-frexp.c: New file.
12863
12864         * modules/printf-frexp: New file.
12865         * lib/printf-frexp.h: New file.
12866         * lib/printf-frexp.c: New file.
12867         * m4/printf-frexp.m4: New file.
12868
12869 2007-02-25  Bruno Haible  <bruno@clisp.org>
12870
12871         Assume automake >= 1.10 for the tests.
12872         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
12873         * modules/arctwo-tests: Likewise.
12874         * modules/argp-tests: Likewise.
12875         * modules/avltree-list-tests: Likewise.
12876         * modules/avltree-oset-tests: Likewise.
12877         * modules/avltreehash-list-tests: Likewise.
12878         * modules/carray-list-tests: Likewise.
12879         * modules/crc-tests: Likewise.
12880         * modules/des-tests: Likewise.
12881         * modules/gc-arcfour-tests: Likewise.
12882         * modules/gc-arctwo-tests: Likewise.
12883         * modules/gc-des-tests: Likewise.
12884         * modules/gc-hmac-md5-tests: Likewise.
12885         * modules/gc-hmac-sha1-tests: Likewise.
12886         * modules/gc-md2-tests: Likewise.
12887         * modules/gc-md4-tests: Likewise.
12888         * modules/gc-md5-tests: Likewise.
12889         * modules/gc-pbkdf2-sha1-tests: Likewise.
12890         * modules/gc-rijndael-tests: Likewise.
12891         * modules/gc-sha1-tests: Likewise.
12892         * modules/gc-tests: Likewise.
12893         * modules/getaddrinfo-tests: Likewise.
12894         * modules/hmac-md5-tests: Likewise.
12895         * modules/hmac-sha1-tests: Likewise.
12896         * modules/linked-list-tests: Likewise.
12897         * modules/linkedhash-list-tests: Likewise.
12898         * modules/lock-tests: Likewise.
12899         * modules/md2-tests: Likewise.
12900         * modules/md4-tests: Likewise.
12901         * modules/md5-tests: Likewise.
12902         * modules/rbtree-list-tests: Likewise.
12903         * modules/rbtree-oset-tests: Likewise.
12904         * modules/rbtreehash-list-tests: Likewise.
12905         * modules/read-file-tests: Likewise.
12906         * modules/rijndael-tests: Likewise.
12907         * modules/stdint-tests: Likewise.
12908         * modules/tls-tests: Likewise.
12909
12910 2007-02-24  Bruno Haible  <bruno@clisp.org>
12911
12912         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
12913         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
12914         function; instead check whether isnan with a double argument links.
12915         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
12916         function; instead check whether isnan with a 'long double' argument
12917         links.
12918         Reported by Eric Blake <ebb9@byu.net>.
12919
12920 2007-02-24  Bruno Haible  <bruno@clisp.org>
12921
12922         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
12923         defined.
12924         * lib/isnanl.c: Remove all code. Just include isnan.c.
12925         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
12926
12927 2007-02-25  Jim Meyering  <jim@meyering.net>
12928
12929         Avoid conflicting types for 'unsetenv' on FreeBSD.
12930         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
12931         conflicting with FreeBSD's (5.0 and 6.1) function declaration
12932         in stdlib.h.
12933
12934 2007-02-24  Bruno Haible  <bruno@clisp.org>
12935
12936         * modules/isnanl-nolibm-tests: New file.
12937         * tests/test-isnanl.c: New file.
12938
12939         * modules/isnanl-nolibm: New file.
12940         * lib/isnanl.h: New file.
12941         * lib/isnanl.c: New file.
12942         * m4/isnanl.m4: New file.
12943
12944 2007-02-24  Bruno Haible  <bruno@clisp.org>
12945
12946         * modules/isnan-nolibm-tests: New file.
12947         * tests/test-isnan.c: New file.
12948
12949         * modules/isnan-nolibm: New file.
12950         * lib/isnan.h: New file.
12951         * lib/isnan.c: New file.
12952         * m4/isnan.m4: New file.
12953
12954 2007-02-24  Bruno Haible  <bruno@clisp.org>
12955
12956         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
12957         assume that an exponent fits in 20 bits.
12958
12959 2007-02-24  Jim Meyering  <jim@meyering.net>
12960
12961         * m4/regex.m4: Update the description of the configure-time option,
12962         --without-included-regex, to state accurately what the defaults are,
12963         and perhaps to give people an idea why using this option is risky.
12964
12965 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12966
12967         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
12968         loops on small arguments.  This attempts to avoid the problem
12969         Bruno Haible reported for AIX 4.3.2 in
12970         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
12971
12972 2007-02-23  Bruno Haible  <bruno@clisp.org>
12973
12974         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
12975         Needed for help2man.
12976
12977 2007-02-23  Karl Berry  <karl@gnu.org>
12978
12979         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
12980         exists, foo.h should be cvs-ignored, not committed.
12981
12982 2007-02-23  Eric Blake  <ebb9@byu.net>
12983
12984         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
12985         * lib/stat-time.h (includes): Likewise.
12986         * lib/utimecmp.c (includes): Likewise.
12987         * lib/utimens.h (includes): Likewise.
12988         * lib/getdate.y (includes): Also include "timespec.h" for use
12989         internal to the module.
12990         * modules/utimens (Depends-on): Revert yesterday's patch.
12991         * modules/nanosleep (Depends-on): Add missing dependency.
12992
12993 2007-02-22  Bruno Haible  <bruno@clisp.org>
12994
12995         * lib/glob.c: Don't include getlogin_r.h.
12996
12997 2007-02-22  Jim Meyering  <jim@meyering.net>
12998
12999         * modules/utimens (Depends-on): Add timespec, required for
13000         utimens.h's inclusion of timespec.h.
13001
13002 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
13003
13004         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
13005         long unreadable paths in GNU/Linux.  Problem reported by Andreas
13006         Schwab in
13007         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
13008         I'll try to think of a better way to fix the Solaris problem.
13009
13010         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
13011         like glibc; on Solaris 10, it fails with errno == EINVAL.
13012         POSIX says the behavior is unspecified if the first argument is NULL,
13013         so play it safe and never pass NULL to the system getcwd.
13014
13015 2007-02-21  Jim Meyering  <jim@meyering.net>
13016
13017         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
13018         of gettimeofday.  It would conflict with the one now always
13019         provided via sys_time_.h.  Reported by Matthew Woehlke, as
13020         an IRIX 6.5 build failure.
13021
13022 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13023
13024         Minor fixups to port to Solaris 10 with Sun C 5.8.
13025         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
13026         * modules/getcwd (Depends-on): Add dirfd.
13027         * lib/putenv.c (putenv): #undef it.
13028         (rpl_putenv): New decl.
13029         (malloc, free): Include <stdlib.h> rather than prototyping separately.
13030
13031 2007-02-20  Bruno Haible  <bruno@clisp.org>
13032
13033         * modules/stdio-tests: New file.
13034         * tests/test-stdio.c: New file.
13035
13036         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
13037         (Depends-on): Add stdio.
13038         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13039         (Include): Use <stdio.h> instead of vsnprintf.h.
13040         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
13041         HAVE_DECL_VSNPRINTF.
13042         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
13043
13044         * modules/snprintf (Files): Remove lib/snprintf.h.
13045         (Depends-on): Add stdio.
13046         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13047         (Include): Use <stdio.h> instead of snprintf.h.
13048         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
13049         HAVE_DECL_SNPRINTF.
13050         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
13051         * lib/getaddrinfo.c: Likewise.
13052
13053         * modules/stdio: New file.
13054         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
13055         * lib/snprintf.h: Remove file.
13056         * lib/vsnprintf.h: Remove file.
13057         * lib/.cppi-disable: Remove snprintf.h.
13058         * m4/stdio_h.m4: New file.
13059         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
13060
13061 2007-02-20  Jim Meyering  <jim@meyering.net>
13062
13063         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
13064         used by e.g., mingw.  From Bruno Haible.
13065
13066 2007-02-19  Bruno Haible  <bruno@clisp.org>
13067
13068         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
13069         warnings.
13070         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13071
13072 2007-02-19  Bruno Haible  <bruno@clisp.org>
13073
13074         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
13075         from mingw users.
13076
13077 2007-02-19  Bruno Haible  <bruno@clisp.org>
13078
13079         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
13080         warnings.
13081         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
13082
13083 2007-02-19  Jim Meyering  <jim@meyering.net>
13084
13085         Don't use FD after a successful "fdopendir (fd)".
13086         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
13087         Reset it by calling dirfd on the just-obtained DIR*.
13088
13089         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
13090         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
13091
13092 2007-02-18  Bruno Haible  <bruno@clisp.org>
13093
13094         * lib/readlink.c: Include <unistd.h>.
13095         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
13096         HAVE_READLINK.
13097         * modules/readlink (Depends-on): Add unistd.
13098         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13099         (Include): Add <unistd.h>.
13100
13101         * lib/getlogin_r.h: Remove file.
13102         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
13103         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
13104         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
13105         HAVE_DECL_GETLOGIN_R.
13106         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
13107         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13108         (Include): Use <unistd.h> instead of getlogin_r.h.
13109
13110         * lib/getcwd.h: Remove file.
13111         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
13112         * lib/xgetcwd.c: Likewise.
13113         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
13114         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
13115         * modules/getcwd (Files): Remove lib/getcwd.h.
13116         (Depends-on): Add unistd.
13117         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13118         (Include): Use <unistd.h> instad of getcwd.h.
13119
13120         * lib/ftruncate.c: Include <unistd.h> first.
13121         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
13122         Set HAVE_FTRUNCATE.
13123         * modules/ftruncate (Depends-on): Add unistd.
13124         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13125
13126         * lib/fchdir.c: Include <unistd.h> first.
13127         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
13128         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
13129         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
13130         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13131         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
13132
13133         * lib/dup2.c: Include <unistd.h> first.
13134         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
13135         HAVE_DUP2.
13136         * modules/dup2 (Depends-on): Add unistd.
13137         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13138
13139         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
13140         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
13141         REPLACE_CHOWN. Don't define chown as a macro here.
13142         * modules/chown (Depends-on): Add unistd.
13143         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13144
13145         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
13146         Add definition for GL_LINK_WARNING.
13147         (chown, dup2): New declarations.
13148         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
13149         link warning.
13150         (ftruncate): New declaration.
13151         (getcwd): New declaration, taken from old getcwd.h.
13152         (getlogin_r): New declaration, taken from old getlogin_r.h.
13153         (readlink): New declaration.
13154         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
13155         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
13156         (gl_PREREQ_UNISTD): Remove macro.
13157         (gl_UNISTD_MODULE_INDICATOR): New macro.
13158         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
13159         many new variables. Don't set UNISTD_H.
13160         * modules/unistd (Description): Change.
13161         (Depends-on): Add link-warning.
13162         (configure.ac): Update.
13163         (Makefile.am): Create unistd.h always. Substitute many new variables
13164         into it.
13165
13166 2007-02-18  Bruno Haible  <bruno@clisp.org>
13167
13168         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
13169         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
13170         HAVE_GETSUBOPT.
13171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
13172         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
13173         * lib/getsubopt.h: Remove file.
13174         * modules/getsubopt (Files): Remove lib/getsubopt.h.
13175         (Depends-on): Add stdlib.
13176         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
13177         (Includes): Use <stdlib.h> instead of getsubopt.h.
13178         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
13179         Set HAVE_GETSUBOPT.
13180         * lib/getsubopt.c: Don't include getsubopt.h.
13181
13182 2007-02-18  Bruno Haible  <bruno@clisp.org>
13183
13184         * modules/fchdir (Depends-on): Add dup2.
13185
13186 2007-02-18  Bruno Haible  <bruno@clisp.org>
13187
13188         * lib/stdlib_.h: Handle glibc's special invocation convention
13189         specially.
13190
13191 2007-02-18  Bruno Haible  <bruno@clisp.org>
13192
13193         * modules/stdlib-tests: New file.
13194         * tests/test-stdlib.c: New file.
13195
13196         * modules/mkstemp (Files): Remove lib/mkstemp.h.
13197         (Depends-on): Add stdlib.
13198         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
13199         (Includes): Use <stdlib.h> instead of mkstemp.h.
13200         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
13201         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
13202         * lib/mkstemp.c: Don't include mkstemp.h.
13203         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
13204         * lib/stdlib--.h: Don't include mkstemp.h.
13205
13206         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
13207         (Depends-on): Add stdlib.
13208         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
13209         (Includes): Use <stdlib.h> instead of mkdtemp.h.
13210         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
13211         HAVE_MKDTEMP.
13212         * lib/mkdtemp.c: Don't include mkdtemp.h.
13213         * lib/clean-temp.c: Don't include mkdtemp.h.
13214
13215         * modules/exit (Files): Remove lib/exit.h.
13216         (Depends-on): Add stdlib.
13217         (Makefile.am): Remove lib_SOURCES.
13218         (Include): Use <stdlib.h> instead of exit.h.
13219         * lib/argmatch.c: Don't include exit.h.
13220         * lib/execute.c: Likewise.
13221         * lib/pagealign_alloc.c: Likewise.
13222         * lib/pipe.c: Likewise.
13223         * lib/wait-process.c: Likewise.
13224         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
13225         * lib/exitfail.c: Likewise.
13226         * lib/savewd.c: Likewise.
13227         * lib/xsetenv.c: Likewise.
13228
13229         * modules/stdlib: New file.
13230         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
13231         and extra comments about mkstemp().
13232         * lib/exit.h: Remove file.
13233         * lib/mkdtemp.h: Remove file.
13234         * lib/mkstemp.h: Remove file.
13235         * m4/stdlib_h.m4: New file.
13236         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
13237
13238 2007-02-18  Bruno Haible  <bruno@clisp.org>
13239
13240         * modules/math-tests: New file.
13241         * tests/test-math.c: New file.
13242
13243         * modules/math: New file.
13244         * modules/mathl (Files): Remove lib/mathl.h.
13245         (Depends-on): Add math.
13246         (Makefile.am): Don't mention mathl.h.
13247         (Include): Use <math.h> instead of mathl.h.
13248         * lib/math_.h: New file.
13249         * lib/mathl.h: Remove file.
13250         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
13251         mathl.h.
13252         * lib/asinl.c: Likewise.
13253         * lib/atanl.c: Likewise.
13254         * lib/ceill.c: Likewise.
13255         * lib/cosl.c: Likewise.
13256         * lib/expl.c: Likewise.
13257         * lib/floorl.c: Likewise.
13258         * lib/frexpl.c: Likewise.
13259         * lib/ldexpl.c: Likewise.
13260         * lib/logl.c: Likewise.
13261         * lib/sincosl.c: Likewise.
13262         * lib/sinl.c: Likewise.
13263         * lib/sqrtl.c: Likewise.
13264         * lib/tanl.c: Likewise.
13265         * lib/trigl.c: Likewise.
13266         * m4/math_h.m4: New file.
13267         * MODULES.html.sh (Mathematics): Add math.
13268
13269 2007-02-17  Bruno Haible  <bruno@clisp.org>
13270
13271         * modules/wctype-tests: New file.
13272         * tests/test-wctype.c: New file.
13273
13274         * modules/wchar-tests: New file.
13275         * tests/test-wchar.c: New file.
13276
13277         * modules/unistd-tests: New file.
13278         * tests/test-unistd.c: New file.
13279
13280         * modules/time-tests: New file.
13281         * tests/test-time.c: New file.
13282
13283         * modules/sysexits-tests: New file.
13284         * tests/test-sysexits.c: New file.
13285
13286         * modules/sys_time-tests: New file.
13287         * tests/test-sys_time.c: New file.
13288
13289         * modules/sys_stat-tests: New file.
13290         * tests/test-sys_stat.c: New file.
13291
13292         * modules/sys_socket-tests: New file.
13293         * tests/test-sys_socket.c: New file.
13294
13295         * modules/sys_select-tests: New file.
13296         * tests/test-sys_select.c: New file.
13297
13298         * modules/string-tests: New file.
13299         * tests/test-string.c: New file.
13300
13301         * modules/stdbool-tests: New file.
13302         * tests/test-stdbool.c: New file.
13303
13304         * modules/netinet_in-tests: New file.
13305         * tests/test-netinet_in.c: New file.
13306
13307         * modules/inttypes-tests: New file.
13308         * tests/test-inttypes.c: New file.
13309
13310         * modules/fcntl-tests: New file.
13311         * tests/test-fcntl.c: New file.
13312
13313         * modules/byteswap-tests: New file.
13314         * tests/test-byteswap.c: New file.
13315
13316         * modules/arpa_inet-tests: New file.
13317         * tests/test-arpa_inet.c: New file.
13318
13319 2007-02-17  Bruno Haible  <bruno@clisp.org>
13320
13321         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
13322         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
13323         if the corresponding module is not enabled. Emit link warnings if
13324         the function is used nevertheless.
13325         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
13326         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
13327         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
13328         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
13329         * modules/inttypes (Depends-on): Add link-warning.
13330         (Makefile.am): Copy the contents of build-aux/link-warning.h into
13331         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
13332         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
13333         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
13334         * modules/imaxdiv (configure.ac): Likewise.
13335         * modules/strtoimax (configure.ac): Likewise.
13336         * modules/strtoumax (configure.ac): Likewise.
13337
13338 2007-02-17  Bruno Haible  <bruno@clisp.org>
13339
13340         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
13341         gl_STRING_MODULE_INDICATOR_DEFAULTS.
13342         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
13343         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
13344
13345 2007-02-17  Bruno Haible  <bruno@clisp.org>
13346
13347         * modules/link-warning: New file.
13348         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
13349         * lib/string_.h (GL_LINK_WARNING): Remove definition.
13350         * modules/string (Depends-on): Add link-warning.
13351         (Makefile.am): Copy the contents of build-aux/link-warning.h into
13352         string.h.
13353         * MODULES.html.sh (Support for building libraries and executables): Add
13354         link-warning.
13355
13356 2007-02-17  Bruno Haible  <bruno@clisp.org>
13357
13358         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
13359         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
13360         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
13361         long lines.
13362
13363 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
13364             Bruno Haible  <bruno@clisp.org>
13365
13366         * modules/tmpfile: New file.
13367         * lib/tmpfile.c: New file.
13368         * m4/tmpfile.m4: New file.
13369         * MODULES.html.sh (func_all_modules): New section "Input/output".
13370
13371 2007-02-15  Bruno Haible  <bruno@clisp.org>
13372
13373         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
13374         (supports_delete_on_close): New function.
13375         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
13376
13377 2007-02-14  Bruno Haible  <bruno@clisp.org>
13378
13379         * modules/mbspcasecmp-tests: New file.
13380         * tests/test-mbspcasecmp.sh: New file.
13381         * tests/test-mbspcasecmp.c: New file.
13382
13383         New module mbspcasecmp.
13384         * modules/mbspcasecmp: New file.
13385         * lib/mbspcasecmp.c: New file.
13386         * lib/string_.h (strncasecmp): Change warning message.
13387         (mbspcasecmp): New declaration.
13388         * m4/mbspcasecmp.m4: New file.
13389         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13390         GNULIB_MBSPCASECMP.
13391         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
13392         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
13393
13394 2007-02-14  Bruno Haible  <bruno@clisp.org>
13395
13396         * modules/mbsncasecmp-tests: New file.
13397         * tests/test-mbsncasecmp.sh: New file.
13398         * tests/test-mbsncasecmp.c: New file.
13399
13400         New module mbsncasecmp.
13401         * modules/mbsncasecmp: New file.
13402         * lib/mbsncasecmp.c: New file.
13403         * lib/string_.h (mbsncasecmp): New declaration.
13404         * m4/mbsncasecmp.m4: New file.
13405         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13406         GNULIB_MBSNCASECMP.
13407         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
13408         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
13409
13410 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
13411
13412         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
13413         Verify that it doesn't overlap with our flags.
13414         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
13415         do not have the desired effect in multibyte locales; instead, use
13416         mbscasecmp.
13417         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
13418         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
13419         we don't require GNU fnmatch ourselves (if our users require it, they
13420         should do so explicitly).
13421
13422         Fix regex code so it doesn't rely on strcasecmp.
13423         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
13424         Otherwise, include gnulib's langinfo.h.
13425         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
13426         undesirable behavior in non-C locales.  Instead, rely on localecharset.
13427         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
13428         * modules/regex (FILES): Remove m4/codeset.m4.
13429         (Depends-on): Add localcharset.  Remove strcase.
13430
13431 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13432
13433         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
13434         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13435
13436 2007-02-13  Bruno Haible  <bruno@clisp.org>
13437
13438         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
13439         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13440
13441 2007-02-12  Bruno Haible  <bruno@clisp.org>
13442
13443         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
13444         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
13445         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
13446         time warning rather than a link error.
13447
13448 2007-02-12  Bruno Haible  <bruno@clisp.org>
13449
13450         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
13451         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13452         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13453
13454 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13455
13456         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
13457         args, not 2.
13458
13459 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13460
13461         New module 'time', so that apps can include <time.h> as per
13462         POSIX and GNU instead of separate include files like time_r.h
13463         and timegm.h.  This implementation tries out a simpler approach
13464         for replacing decls in standard include files (as compared to
13465         the string module), somewhat as an experiment.
13466
13467         * config/srclist.txt: Comment out mktime.c for now.
13468         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
13469         since it doesn't apply any more.  Use generic wording instead.
13470         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
13471         'time'.
13472         * lib/time_.h, m4/time_h.m4, modules/time: New files.
13473         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
13474         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
13475         Don't include <sys/types.h>; no longer needed since we assume C89.
13476         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
13477         * lib/strftime.c: Likewise.
13478         * lib/time_r.c: Likewise.
13479         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
13480         * lib/nanosleep.c: Include <time.h> first, to check interface.
13481         * lib/strptime.c: Likewise.
13482         * lib/time_r.c: Likewise.
13483         * lib/timegm.c: Likewise.
13484         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
13485         needed.
13486         * lib/timegm.c: Don't include timegm.h; no longer needed.
13487         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
13488         time.h now handles any problems in that area.
13489         (struct timespec, nanosleep): Remove; time.h now arranges for these.
13490         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
13491         that time.h defines struct timespec.
13492         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
13493         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
13494         handles that.
13495         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
13496         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
13497         needed.  Set REPLACE_LOCALTIME.
13498         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
13499         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
13500         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
13501         nanosleep; time_h.m4 now does that.  Don't require
13502         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
13503         module handles this now.
13504         * modules/getdate (Depends-on): Remove timespec.  Add time.
13505         * modules/nanosleep (Depends-on): Likewise.
13506         * modules/stat-time (Depends-on): Likewise.
13507         * modules/nanosleep (Include): Include time.h, not timespec.h.
13508         * modules/strptime (Files): Remove lib/strptime.h.
13509         (Depends-on): Add extensions, time.
13510         (Include): Include time.h, not strptime.h.
13511         * modules/time_r (Files): Remove lib/time_r.h.
13512         (Depends-on): Add time.
13513         (Include): Include time.h, not time_r.h.
13514         * modules/timegm: Likewise.
13515         * modules/timespec (Description): Now does timespec-related decls
13516         of our own, instead of struct timespec itself.
13517         (Depends-on): Add time; remove extensions.
13518         (Maintainer): Add self.
13519         * modules/utimecmp (Depends-on): Add time; remove timespec.
13520         * modules/utimens (Depends-on): Likewise.
13521         * modules/xnanosleep (Depends-on): Likewise.
13522
13523 2007-02-11  Bruno Haible  <bruno@clisp.org>
13524
13525         * lib/c-strstr.c: Include allocsa.h.
13526         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
13527         * lib/c-strcasestr.c: Include allocsa.h.
13528         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
13529         * lib/strcasestr.c: Include allocsa.h.
13530         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
13531         * lib/mbsstr.c: Include allocsa.h.
13532         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
13533         allocsa/freesa instead of malloc/free.
13534         * lib/mbscasestr.c: Include allocsa.h.
13535         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
13536         allocsa/freesa instead of malloc/free.
13537         * modules/c-strstr (Depends-on): Add allocsa.
13538         * modules/c-strcasestr (Depends-on): Likewise.
13539         * modules/strcasestr (Depends-on): Likewise.
13540         * modules/mbsstr (Depends-on): Likewise.
13541         * modules/mbscasestr (Depends-on): Likewise.
13542
13543 2007-02-11  Bruno Haible  <bruno@clisp.org>
13544
13545         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
13546
13547         * modules/mbsspn-tests: New file.
13548         * tests/test-mbsspn.sh: New file.
13549         * tests/test-mbsspn.c: New file.
13550
13551 2007-02-11  Bruno Haible  <bruno@clisp.org>
13552
13553         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
13554
13555         * modules/mbspbrk-tests: New file.
13556         * tests/test-mbspbrk.sh: New file.
13557         * tests/test-mbspbrk.c: New file.
13558
13559 2007-02-11  Bruno Haible  <bruno@clisp.org>
13560
13561         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
13562         unneeded cast.
13563
13564         * modules/mbscspn-tests: New file.
13565         * tests/test-mbscspn.sh: New file.
13566         * tests/test-mbscspn.c: New file.
13567
13568 2007-02-11  Bruno Haible  <bruno@clisp.org>
13569
13570         * modules/mbscasecmp-tests: New file.
13571         * tests/test-mbscasecmp.sh: New file.
13572         * tests/test-mbscasecmp.c: New file.
13573
13574 2007-02-11  Bruno Haible  <bruno@clisp.org>
13575
13576         Ensure O(n) worst-case complexity of mbscasestr.
13577         * lib/mbscasestr.c: Include stdbool.h.
13578         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
13579         functions.
13580         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
13581         the bookkeeping indicates that it's worth it.
13582         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
13583
13584         * modules/mbscasestr-tests: New file.
13585         * tests/test-mbscasestr1.c: New file.
13586         * tests/test-mbscasestr2.sh: New file.
13587         * tests/test-mbscasestr2.c: New file.
13588         * tests/test-mbscasestr3.sh: New file.
13589         * tests/test-mbscasestr3.c: New file.
13590         * tests/test-mbscasestr4.sh: New file.
13591         * tests/test-mbscasestr4.c: New file.
13592         * m4/locale-tr.m4: New file.
13593
13594 2007-02-11  Bruno Haible  <bruno@clisp.org>
13595
13596         Ensure O(n) worst-case complexity of mbsstr.
13597         * lib/mbsstr.c: Include stdbool.h.
13598         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
13599         functions.
13600         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
13601         bookkeeping indicates that it's worth it.
13602         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
13603
13604         * modules/mbsstr-tests: New file.
13605         * tests/test-mbsstr1.c: New file.
13606         * tests/test-mbsstr2.sh: New file.
13607         * tests/test-mbsstr2.c: New file.
13608         * tests/test-mbsstr3.sh: New file.
13609         * tests/test-mbsstr3.c: New file.
13610         * m4/locale-fr.m4: New file.
13611
13612 2007-02-11  Bruno Haible  <bruno@clisp.org>
13613
13614         * lib/mbsrchr.c (mbsrchr): Fix bug.
13615
13616         * modules/mbsrchr-tests: New file.
13617         * tests/test-mbsrchr.sh: New file.
13618         * tests/test-mbsrchr.c: New file.
13619
13620 2007-02-11  Bruno Haible  <bruno@clisp.org>
13621
13622         * lib/mbschr.c (mbschr): Fix bug.
13623
13624         * modules/mbschr-tests: New file.
13625         * tests/test-mbschr.sh: New file.
13626         * tests/test-mbschr.c: New file.
13627         * m4/locale-zh.m4: New file.
13628
13629 2007-02-11  Bruno Haible  <bruno@clisp.org>
13630
13631         Support for copying multibyte string iterators.
13632         * lib/mbiter.h: Include <string.h>.
13633         (mbiter_multi_copy): New function.
13634         (mbi_copy): New macro.
13635         * lib/mbuiter.h: Include <string.h>.
13636         (mbuiter_multi_copy): New function.
13637         (mbui_copy): New macro.
13638
13639 2007-02-11  Bruno Haible  <bruno@clisp.org>
13640
13641         New module mbslen.
13642         * modules/mbslen: New file.
13643         * lib/mbslen.c: New file.
13644         * lib/string_.h (mbslen): New declaration.
13645         * m4/mbslen.m4: New file.
13646         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13647         GNULIB_MBSLEN.
13648         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
13649         * MODULES.html.sh (Internationalization functions): Add mbslen.
13650
13651 2007-02-11  Bruno Haible  <bruno@clisp.org>
13652
13653         Ensure O(n) worst-case complexity of strcasestr substitute.
13654         * lib/strcasestr.c: Include stdbool.h.
13655         (knuth_morris_pratt): New function.
13656         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
13657         bookkeeping indicates that it's worth it.
13658         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
13659
13660         * modules/strcasestr-tests: New file.
13661         * tests/test-strcasestr.c: New file.
13662
13663 2007-02-11  Bruno Haible  <bruno@clisp.org>
13664
13665         Ensure O(n) worst-case complexity of c_strcasestr.
13666         * lib/c-strcasestr.c: Include stdbool.h, string.h.
13667         (knuth_morris_pratt): New function.
13668         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
13669         the bookkeeping indicates that it's worth it.
13670         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
13671
13672         * modules/c-strcasestr-tests: New file.
13673         * tests/test-c-strcasestr.c: New file.
13674
13675 2007-02-11  Bruno Haible  <bruno@clisp.org>
13676
13677         Ensure O(n) worst-case complexity of c_strstr.
13678         * lib/c-strstr.c: Include stdbool.h, string.h.
13679         (knuth_morris_pratt): New function.
13680         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
13681         bookkeeping indicates that it's worth it.
13682         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
13683
13684         * lib/c-strstr.c: Complete rewrite for maintainability.
13685
13686         * modules/c-strstr-tests: New file.
13687         * tests/test-c-strstr.c: New file.
13688
13689 2007-02-11  Bruno Haible  <bruno@clisp.org>
13690
13691         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
13692         5.2.1 and earlier, whereby \055 was treated just like the range
13693         delimiter '-'.
13694         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
13695
13696 2007-02-08  Bruno Haible  <bruno@clisp.org>
13697
13698         * modules/regex (Depends-on): Add stdbool.
13699         Reported by Dalibor Topic <robilad@kaffe.org>.
13700
13701 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
13702
13703         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
13704         Prefer returning from main to exiting from it.
13705         Remove unnecessary parens after sizeof.
13706
13707 2007-02-05  Bruno Haible  <bruno@clisp.org>
13708
13709         New module mbssep.
13710         * modules/mbssep: New file.
13711         * lib/mbssep.c: New file.
13712         * lib/string_.h (strsep): Add a conditional link warning.
13713         (mbssep): New declaration.
13714         * m4/mbssep.m4: New file.
13715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13716         GNULIB_MBSSEP.
13717         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
13718         * MODULES.html.sh (Internationalization functions): Add mbssep.
13719
13720 2007-02-05  Bruno Haible  <bruno@clisp.org>
13721
13722         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
13723         Optimize search in case of 1 delimiter.
13724
13725 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
13726
13727         * lib/acl.h: Include sys/types.h before sys/acl.h.
13728
13729 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
13730
13731         Merge upstream fix for glibc bugzilla #3957:
13732
13733         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
13734
13735         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
13736         bit for RE_HAT_LISTS_NOT_NEWLINE.
13737         (build_charclass_op): Remove bogus comment.
13738
13739 2007-02-05  Simon Josefsson  <simon@josefsson.org>
13740
13741         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
13742
13743 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
13744
13745         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
13746         * lib/memmem.c [!defined _LIBC]: Include config.h.
13747
13748 2007-02-04  Bruno Haible  <bruno@clisp.org>
13749
13750         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
13751         warning message.
13752
13753 2007-02-04  Bruno Haible  <bruno@clisp.org>
13754
13755         New module mbstok_r.
13756         * modules/mbstok_r: New file.
13757         * lib/mbstok_r.c: New file.
13758         * lib/string_.h (strtok_r): Change argument names to match the
13759         comments. Add a conditional link warning.
13760         (mbstok_r): New declaration.
13761         * m4/mbstok_r.m4: New file.
13762         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13763         GNULIB_MBSTOK_R.
13764         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
13765         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
13766
13767 2007-02-04  Bruno Haible  <bruno@clisp.org>
13768
13769         New module mbsspn.
13770         * modules/mbsspn: New file.
13771         * lib/mbsspn.c: New file.
13772         * lib/string_.h (strspn): Add a conditional link warning.
13773         (mbsspn): New declaration.
13774         * m4/mbsspn.m4: New file.
13775         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13776         GNULIB_MBSSPN.
13777         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
13778         * MODULES.html.sh (Internationalization functions): Add mbsspn.
13779
13780 2007-02-04  Bruno Haible  <bruno@clisp.org>
13781
13782         New module mbspbrk.
13783         * modules/mbspbrk: New file.
13784         * lib/mbspbrk.c: New file.
13785         * lib/string_.h (strpbrk): Add a conditional link warning.
13786         (mbspbrk): New declaration.
13787         * m4/mbspbrk.m4: New file.
13788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13789         GNULIB_MBSPBRK.
13790         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
13791         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
13792
13793 2007-02-04  Bruno Haible  <bruno@clisp.org>
13794
13795         New module mbscspn.
13796         * modules/mbscspn: New file.
13797         * lib/mbscspn.c: New file.
13798         * lib/string_.h (strcspn): Add a conditional link warning.
13799         (mbscspn): New declaration.
13800         * m4/mbscspn.m4: New file.
13801         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13802         GNULIB_MBSCSPN.
13803         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
13804         * MODULES.html.sh (Internationalization functions): Add mbscspn.
13805
13806 2007-02-04  Bruno Haible  <bruno@clisp.org>
13807
13808         New module mbscasestr, reduced goal of strcasestr.
13809         * modules/mbscasestr: New file.
13810         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
13811         (mbscasestr): Renamed from strcasestr.
13812         * lib/strcasestr.c: Don't include mbuiter.h.
13813         (strcasestr): Remove support for multibyte locales.
13814         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
13815         Change the conditional link warning.
13816         (mbscasestr): New declaration.
13817         * m4/mbscasestr.m4: New file.
13818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
13819         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
13820         REPLACE_STRCASESTR.
13821         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
13822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13823         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
13824         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
13825         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
13826         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
13827         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
13828         (Depends-on): Remove mbuiter.
13829         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
13830
13831 2007-02-04  Bruno Haible  <bruno@clisp.org>
13832
13833         Simplify handling of strncasecmp.
13834         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
13835         the conditional link warning.
13836         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13837         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
13838         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
13839         * modules/strcase (configure.ac): Don't invoke
13840         gl_STRING_MODULE_INDICATOR.
13841         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
13842
13843 2007-02-04  Bruno Haible  <bruno@clisp.org>
13844
13845         New module mbscasecmp, reduced goal of strcasecmp.
13846         * modules/mbscasecmp: New file.
13847         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
13848         (mbscasecmp): Renamed from strcasecmp.
13849         * lib/strcasecmp.c: Don't include mbuiter.h.
13850         (strcasecmp): Remove support for multibyte locales.
13851         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
13852         Change the conditional link warning.
13853         (mbscasecmp): New declaration.
13854         * m4/mbscasecmp.m4: New file.
13855         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
13856         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
13857         REPLACE_STRCASECMP.
13858         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
13859         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13860         GNULIB_MBSCASECMP.
13861         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
13862         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
13863         * modules/strcase (Files): Remove m4/mbrtowc.m4.
13864         (Depends-on): Remove mbuiter.
13865         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
13866
13867 2007-02-04  Bruno Haible  <bruno@clisp.org>
13868
13869         New module mbsstr. Remove module strstr.
13870         * modules/mbsstr: New file.
13871         * modules/strstr: Remove file.
13872         * lib/mbsstr.c: Renamed from lib/strstr.c.
13873         (mbsstr): Renamed from strstr.
13874         * lib/string_.h (strstr): Remove declaration. Change the conditional
13875         link warning.
13876         (mbsstr): New declaration.
13877         * m4/mbsstr.m4: New file.
13878         * m4/strstr.m4: Remove file.
13879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13880         REPLACE_STRSTR.
13881         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
13882         Don't initialize GNULIB_STRSTR.
13883         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
13884         substitute GNULIB_STRSTR and REPLACE_STRSTR.
13885         * MODULES.html.sh (Internationalization functions): Add mbsstr.
13886         (Support for systems lacking ANSI C 89): Remove strstr.
13887
13888 2007-02-04  Bruno Haible  <bruno@clisp.org>
13889
13890         New module mbsrchr.
13891         * modules/mbsrchr: New file.
13892         * lib/mbsrchr.c: New file.
13893         * lib/string_.h (strrchr): Add a conditional link warning.
13894         (mbsrchr): New declaration.
13895         * m4/mbsrchr.m4: New file.
13896         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13897         GNULIB_MBSRCHR.
13898         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
13899         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
13900
13901 2007-02-04  Bruno Haible  <bruno@clisp.org>
13902
13903         New module mbschr.
13904         * modules/mbschr: New file.
13905         * lib/mbschr.c: New file.
13906         * lib/string_.h (strchr): Add a conditional link warning.
13907         (mbschr): New declaration.
13908         * m4/mbschr.m4: New file.
13909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
13910         GNULIB_MBSCHR.
13911         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
13912         * MODULES.html.sh (Internationalization functions): Add mbschr.
13913
13914 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
13915
13916         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
13917
13918         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
13919
13920 2007-02-04  Bruno Haible  <bruno@clisp.org>
13921
13922         New module description section 'configure.ac-early'.
13923         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
13924         (func_get_autoconf_early_snippet): New function.
13925         (func_import, func_create_testdir): Use it. Remove special cases for
13926         modules 'extensions' and 'lock'.
13927         * modules/extensions (configure.ac-early): Require
13928         gl_USE_SYSTEM_EXTENSIONS.
13929         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
13930
13931 2007-02-04  Bruno Haible  <bruno@clisp.org>
13932
13933         Make use of gcj-4.3's -fsource and -ftarget option.
13934         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
13935         and if so try the options -fsource and -ftarget.
13936         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
13937         source_version, ftarget_option, target_version arguments.
13938         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
13939         (is_envjavac_oldgcj_14_14_usable): Renamed from
13940         is_envjavac_gcj_14_14_usable.
13941         (is_envjavac_oldgcj_14_13_usable): Renamed from
13942         is_envjavac_gcj_14_13_usable.
13943         (is_gcj_present): Update.
13944         (is_gcj_43, is_gcj43_usable): New functions.
13945         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
13946         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
13947         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
13948         try the options -fsource and -ftarget.
13949
13950 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13951
13952         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
13953         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
13954         larger value.
13955
13956 2007-02-03  Jim Meyering  <jim@meyering.net>
13957
13958         Give tools a better chance to allocate space for very large buffers.
13959         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
13960
13961         Make pwd and readlink work also when run with an unreadable parent dir
13962         on systems with openat support.
13963         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
13964         provided getcwd function, even when we have openat support.
13965         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
13966
13967 2007-02-02  Bruno Haible  <bruno@clisp.org>
13968
13969         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
13970         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
13971         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
13972         portability problems if one of these functions is only used on specific
13973         platforms.
13974         Reported by Paul Eggert.
13975
13976 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
13977
13978         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
13979         is causing more trouble than it's curing.
13980         * lib/regex_internal.h (__mempcpy): Remove.
13981         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
13982         (and make the code a tad smaller to boot).
13983         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
13984
13985 2007-02-02  Jim Meyering  <jim@meyering.net>
13986
13987         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
13988         section, not in the Makefile.am: one.
13989
13990 2007-02-02  Eric Blake  <ebb9@byu.net>
13991
13992         * lib/strchrnul.c: Always include config.h first.
13993
13994         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
13995         gnulib strstr is not necessary here.
13996
13997 2007-02-02  Simon Josefsson  <simon@josefsson.org>
13998
13999         * m4/socklen.m4: Fix typo.
14000
14001 2007-02-02  Eric Blake  <ebb9@byu.net>
14002
14003         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
14004         * modules/netinet_in (Makefile.am): Likewise.
14005
14006 2007-02-01  Bruno Haible  <bruno@clisp.org>
14007
14008         * lib/string_.h (GL_LINK_WARNING): New macro.
14009         (strcasecmp, strstr, strcasestr): If provided by the system,
14010         conditionally define as a macro that leads to a warning instead of to
14011         an error.
14012         (strncasecmp): Conditionally define as a macro that leads to a warning.
14013
14014 2007-02-01  Karl Berry  <karl@gnu.org>
14015
14016         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
14017
14018 2007-02-01  Bruno Haible  <bruno@clisp.org>
14019
14020         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
14021         renamings.
14022
14023 2007-02-01  Eric Blake  <ebb9@byu.net>
14024
14025         * modules/regex (Depends-on): Revert dependence on mempcpy.
14026         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
14027         module's definition of mempcpy.
14028         Reported by Paul Eggert.
14029
14030 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
14031
14032         * lib/string_.h: If the gnulib module XYZ is not present, undefine
14033         the symbol XYZ before redefining it.  This fixes a problem with
14034         programs that don't use XYZ, when compiled on systems that define
14035         XYZ to something else.
14036
14037 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
14038
14039         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
14040         occurs when "mkdir -m foo" creates a setgid directory that is (1)
14041         writeable to group or other and (2) is intended to have a special
14042         mode bit that is set or cleared.  In such a case, the directory
14043         should be neither group- nor other-writeable until the special
14044         mode bits are right.
14045
14046 2007-01-31  Eric Blake  <ebb9@byu.net>
14047
14048         * modules/mountlist (Depends-on): Add strstr.
14049
14050         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
14051         bug.
14052         * modules/string (Makefile.am): Remove redundant replacement.
14053         * modules/regex (Depends-on): Add mempcpy.
14054
14055 2007-01-31  Bruno Haible  <bruno@clisp.org>
14056
14057         New module description field 'Link'.
14058         * gnulib-tool (func_usage): Document --extract-link-directive.
14059         (sed_extract_prog): Recognize 'Link' directive.
14060         (func_get_link_directive): New function.
14061         (func_import): Show summary of link directives.
14062         Handle --extract-link-directive option.
14063         * modules/acl (Link): New section.
14064         * modules/clock-time (Link): New section.
14065         * modules/euidaccess (Link): New section.
14066         * modules/gettext (Link): New section.
14067         * modules/iconv (Link): New section.
14068         * modules/lock (Link): New section.
14069         * modules/nanosleep (Link): New section.
14070         * modules/readline (Link): New section.
14071
14072 2007-01-27  Bruno Haible  <bruno@clisp.org>
14073
14074         Enforce the use of gnulib modules for unportable <string.h> functions.
14075         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
14076         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
14077         (gl_HEADER_STRING_H_BODY): Require it.
14078         * lib/string_.h: If the gnulib module XYZ is not present, redefine
14079         the symbol XYZ to one that gives a link error.
14080         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
14081         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
14082         * modules/mempcpy (configure.ac): Likewise.
14083         * modules/memrchr (configure.ac): Likewise.
14084         * modules/stpcpy (configure.ac): Likewise.
14085         * modules/stpncpy (configure.ac): Likewise.
14086         * modules/strcase (configure.ac): Likewise.
14087         * modules/strcasestr (configure.ac): Likewise.
14088         * modules/strchrnul (configure.ac): Likewise.
14089         * modules/strdup (configure.ac): Likewise.
14090         * modules/strndup (configure.ac): Likewise.
14091         * modules/strnlen (configure.ac): Likewise.
14092         * modules/strpbrk (configure.ac): Likewise.
14093         * modules/strsep (configure.ac): Likewise.
14094         * modules/strstr (configure.ac): Likewise.
14095         * modules/strtok_r (configure.ac): Likewise.
14096
14097 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
14098
14099         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
14100
14101 2007-01-30  Jim Meyering  <jim@meyering.net>
14102
14103         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
14104
14105 2007-01-29  Bruno Haible  <bruno@clisp.org>
14106
14107         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
14108         * lib/execute.c: Likewise.
14109         * lib/pipe.c: Likewise.
14110         * lib/printf-args.h: Likewise.
14111         * lib/printf-args.c: Likewise.
14112         * lib/printf-parse.c: Likewise.
14113         * lib/vasnprintf.c: Likewise.
14114
14115 2007-01-29  Eric Blake  <ebb9@byu.net>
14116
14117         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
14118         declaration.
14119
14120 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14121
14122         * lib/strptime.h (strptime): Use 'restrict' for args where
14123         POSIX requires this.
14124         * lib/strptime.c (strptime): Likewise.
14125         Change license notice from LGPL to GPL, since gnulib-tool will
14126         change this as needed.
14127         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
14128         defined.
14129         Include "strptime.h" first, to check interface.
14130         Do not #undef _LIBC and _NL_CURRENT.
14131         Do not include <stdlib.h>; no longer needed.
14132         Include "time_r.h" and declare ptime_locale_status
14133         only if _LIBC is not defined.
14134         (__P): Remove unused macro.
14135         (match_string): Bring back glibc version, but use it only if _LIBC
14136         is defined.
14137         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
14138         Remove unnecessary assertion and abort() call.
14139         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
14140         * m4/strptime.m4: Fix serial number comment.
14141         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
14142         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
14143         (Depends-on): Add time_r.
14144
14145 2007-01-29  Bruno Haible  <bruno@clisp.org>
14146
14147         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14148         strptime.
14149         * modules/strptime (Depends-on): Add stdbool.
14150         * lib/strptime.h: Include <time.h> always. Add comments.
14151
14152 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14153
14154         * modules/strptime: New file.
14155         * lib/strptime.h: New file.
14156         * lib/strptime.c: New file.
14157         * m4/strptime.m4: New file.
14158
14159 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14160
14161         * MODULES.html.sh: New module mpsort.
14162         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
14163
14164         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
14165         a circularity problem with HP-UX ia64 reported by Bob Proulx in
14166         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
14167         All uses changed.
14168         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
14169         All uses changed.
14170         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
14171         to _Restrict_.
14172         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
14173         the parameter matches the prototype.
14174
14175 2007-01-28  Jim Meyering  <jim@meyering.net>
14176
14177         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
14178         sys/time.h here, reverting that part of the previous patch:
14179         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
14180
14181 2007-01-28  Bruno Haible  <bruno@clisp.org>
14182
14183         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
14184         value of $(SYS_TIME_H).
14185         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
14186         remove it conditionally, too. [added by Jim Meyering]
14187         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
14188         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
14189         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
14190         GETTIMEOFDAY_REPLACEMENT to 1.
14191
14192 2007-01-28  Bruno Haible  <bruno@clisp.org>
14193
14194         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
14195         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
14196         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
14197         Set UNISTD_H instead of UNISTD_H2.
14198         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
14199
14200 2007-01-28  Bruno Haible  <bruno@clisp.org>
14201
14202         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
14203         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
14204
14205 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14206
14207         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
14208         (func_create_testdir): Ensure C locale for `grep' and `tr'
14209         character ranges.
14210         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
14211         ACLOCAL_AMFLAGS parsing state machine.
14212
14213 2007-01-27  Bruno Haible  <bruno@clisp.org>
14214
14215         * modules/unistr/base: Update.
14216
14217 2007-01-27  Bruno Haible  <bruno@clisp.org>
14218
14219         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
14220         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
14221         * modules/unistr/u32-mbtouc-unsafe: Renamed from
14222         modules/unistr/u32-mbtouc.
14223         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
14224         * lib/unistr.h: Update.
14225         * lib/linebreak.c: Update.
14226         * modules/unistr/u32-mbtouc: Renamed from
14227         modules/unistr/u32-mbtouc-safe.
14228         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
14229         * lib/unistr.h: Update.
14230         * lib/unistr/u32-to-u8.c: Update.
14231         * lib/unistr/u32-to-u16.c: Update.
14232
14233 2007-01-27  Bruno Haible  <bruno@clisp.org>
14234
14235         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
14236         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
14237         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
14238         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
14239         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
14240         * modules/unistr/u16-mbtouc-unsafe: Renamed from
14241         modules/unistr/u16-mbtouc.
14242         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
14243         * lib/unistr.h: Update.
14244         * lib/linebreak.c: Update.
14245         * modules/linebreak: Update.
14246         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
14247         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
14248         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
14249         * modules/unistr/u16-mbtouc: Renamed from
14250         modules/unistr/u16-mbtouc-safe.
14251         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
14252         * lib/unistr.h: Update.
14253         * lib/unistr/u16-to-u8.c: Update.
14254         * modules/unistr/u16-to-u8: Update.
14255         * lib/unistr/u16-to-u32.c: Update.
14256         * modules/unistr/u16-to-u32: Update.
14257
14258 2007-01-27  Bruno Haible  <bruno@clisp.org>
14259
14260         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
14261         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
14262         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
14263         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
14264         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
14265         * modules/unistr/u8-mbtouc-unsafe: Renamed from
14266         modules/unistr/u8-mbtouc.
14267         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
14268         * lib/unistr.h: Update.
14269         * lib/striconveh.c: Update.
14270         * modules/striconveh: Update.
14271         * lib/linebreak.c: Update.
14272         * modules/linebreak: Update.
14273         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
14274         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
14275         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
14276         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
14277         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
14278         * lib/unistr.h: Update.
14279         * lib/striconveh.c: Update.
14280         * modules/striconveh: Update.
14281         * lib/unistr/u8-to-u16.c: Update.
14282         * modules/unistr/u8-to-u16: Update.
14283         * lib/unistr/u8-to-u32.c: Update.
14284         * modules/unistr/u8-to-u32: Update.
14285
14286 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14287
14288         Sync from Libtool.
14289         * lib/argz.c: Do not include strings.h nor memory.h, include
14290         string.h unconditionally.  Patch by Simon Josefsson.
14291
14292 2007-01-27  Bruno Haible  <bruno@clisp.org>
14293
14294         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
14295         from gl_HEADER_STRING_H_BODY.
14296         (gl_HEADER_STRING_H_BODY): Require it.
14297         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
14298         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
14299         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
14300         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
14301         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14302         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
14303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14304         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
14305         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
14306         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
14307         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
14308         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
14309         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
14310         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14311         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
14312
14313 2007-01-27  Bruno Haible  <bruno@clisp.org>
14314
14315         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
14316         check_PROGRAMS into noinst_PROGRAMS.
14317         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
14318         check_PROGRAMS in this case.
14319         (func_import): Set for_test to false.
14320         (func_create_testdir): Set for_test to true.
14321
14322 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
14323             Bruno Haible  <bruno@clisp.org>
14324
14325         * modules/strcasestr (Files): Remove lib/strcasestr.h.
14326         (Depends-on): Add string.
14327         (Includes): Use <string.h> instead of strcasestr.h.
14328         * modules/string (Makefile.am): Also substitute the value of
14329         REPLACE_STRCASESTR.
14330         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
14331         assume strcasestr is declared in <string.h> not <strings.h>. Also
14332         set REPLACE_STRCASESTR.
14333         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
14334         REPLACE_STRCASESTR.
14335         * lib/strcasestr.h: Remove file.
14336         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
14337         * lib/string_.h (strcasestr): New declaration.
14338
14339 2007-01-27  Bruno Haible  <bruno@clisp.org>
14340
14341         * lib/string_.h: Use 'extern'.
14342
14343 2007-01-27  Jim Meyering  <jim@meyering.net>
14344
14345         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
14346         of set-but-not-used local, "q".
14347
14348         * lib/mempcpy.c: Include <config.h> before <string.h>.
14349         This fixes a compilation error on HP-UX, due to the system's
14350         "restrict"-using mempcpy prototype.
14351
14352 2007-01-26  Bruno Haible  <bruno@clisp.org>
14353
14354         Small optimization.
14355         * lib/javacomp.c: Include c-strstr.h.
14356          (is_envjavac_gcj): Use c_strstr instead of strstr.
14357         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
14358
14359 2007-01-26  Bruno Haible  <bruno@clisp.org>
14360
14361         * MODULES.html.sh (Unicode string functions): Add the new modules.
14362
14363         * modules/uniconv/u32-strconv-to-locale: New file.
14364         * lib/uniconv/u32-strconv-to-locale.c: New file.
14365
14366         * modules/uniconv/u16-strconv-to-locale: New file.
14367         * lib/uniconv/u16-strconv-to-locale.c: New file.
14368
14369         * modules/uniconv/u8-strconv-to-locale: New file.
14370         * lib/uniconv/u8-strconv-to-locale.c: New file.
14371
14372         * modules/uniconv/u32-strconv-from-locale: New file.
14373         * lib/uniconv/u32-strconv-from-locale.c: New file.
14374
14375         * modules/uniconv/u16-strconv-from-locale: New file.
14376         * lib/uniconv/u16-strconv-from-locale.c: New file.
14377
14378         * modules/uniconv/u8-strconv-from-locale: New file.
14379         * lib/uniconv/u8-strconv-from-locale.c: New file.
14380
14381         * modules/uniconv/u32-strconv-to-enc: New file.
14382         * lib/uniconv/u32-strconv-to-enc.c: New file.
14383         * modules/uniconv/u32-strconv-to-enc-tests: New file.
14384         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
14385
14386         * modules/uniconv/u16-strconv-to-enc: New file.
14387         * lib/uniconv/u16-strconv-to-enc.c: New file.
14388         * lib/uniconv/u-strconv-to-enc.h: New file.
14389         * modules/uniconv/u16-strconv-to-enc-tests: New file.
14390         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
14391
14392         * modules/uniconv/u8-strconv-to-enc: New file.
14393         * lib/uniconv/u8-strconv-to-enc.c: New file.
14394         * modules/uniconv/u8-strconv-to-enc-tests: New file.
14395         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
14396
14397         * modules/uniconv/u32-strconv-from-enc: New file.
14398         * lib/uniconv/u32-strconv-from-enc.c: New file.
14399         * modules/uniconv/u32-strconv-from-enc-tests: New file.
14400         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
14401
14402         * modules/uniconv/u16-strconv-from-enc: New file.
14403         * lib/uniconv/u16-strconv-from-enc.c: New file.
14404         * modules/uniconv/u16-strconv-from-enc-tests: New file.
14405         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
14406
14407         * modules/uniconv/u8-strconv-from-enc: New file.
14408         * lib/uniconv/u8-strconv-from-enc.c: New file.
14409         * lib/uniconv/u-strconv-from-enc.h: New file.
14410         * modules/uniconv/u8-strconv-from-enc-tests: New file.
14411         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
14412
14413         * modules/uniconv/u32-conv-from-enc: New file.
14414         * lib/uniconv/u32-conv-from-enc.c: New file.
14415         * modules/uniconv/u32-conv-from-enc-tests: New file.
14416         * tests/uniconv/test-u32-conv-from-enc.c: New file.
14417
14418         * modules/uniconv/u16-conv-from-enc: New file.
14419         * lib/uniconv/u16-conv-from-enc.c: New file.
14420         * lib/uniconv/u-conv-from-enc.h: New file.
14421         * modules/uniconv/u16-conv-from-enc-tests: New file.
14422         * tests/uniconv/test-u16-conv-from-enc.c: New file.
14423
14424         * modules/uniconv/u8-conv-from-enc: New file.
14425         * lib/uniconv/u8-conv-from-enc.c: New file.
14426         * modules/uniconv/u8-conv-from-enc-tests: New file.
14427         * tests/uniconv/test-u8-conv-from-enc.c: New file.
14428
14429         * modules/uniconv/base: New file.
14430         * lib/uniconv.h: New file.
14431
14432 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * doc/gnulib-tool.texi (Initial import): Update to match current
14435         behavior with strdup module.
14436         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
14437         * lib/memmem.h: Remove; all uses removed.  This is now done
14438         by <string.h>.
14439         * lib/mempcpy.h: Likewise.
14440         * lib/memrchr.h: Likewise.
14441         * lib/stpcpy.h: Likewise.
14442         * lib/stpncpy.h: Likewise.
14443         * lib/strcase.h: Likewise.
14444         * lib/strchrnul.h: Likewise.
14445         * lib/strdup.h: Likewise.
14446         * lib/strndup.h: Likewise.
14447         * lib/strnlen.h: Likewise.
14448         * lib/strpbrk.h: Likewise.
14449         * lib/strsep.h: Likewise.
14450         * lib/strstr.h: Likewise.
14451         * lib/strtok_r.h: Likewise.
14452         * lib/string_.h: New file.
14453         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
14454         Rely on <string.h> instead.
14455         * lib/canon-host.c: Likewise.
14456         * lib/chdir-long.c: Likewise.
14457         * lib/concatpath.c: Likewise.
14458         * lib/exclude.c: Likewise.
14459         * lib/fchdir.c: Likewise.
14460         * lib/getaddrinfo.c: Likewise.
14461         * lib/getcwd.c: Likewise.
14462         * lib/getsubopt.c: Likewise.
14463         * lib/glob.c: Likewise.
14464         * lib/hard-locale.c: Likewise.
14465         * lib/iconvme.c: Likewise.
14466         * lib/javacomp.c: Likewise.
14467         * lib/mempcpy.c: Likewise.
14468         * lib/memrchr.c: Likewise.
14469         * lib/regex_internal.h: Likewise.
14470         * lib/stpncpy.c: Likewise.
14471         * lib/strcasecmp.c: Likewise.
14472         * lib/strchrnul.c: Likewise.
14473         * lib/strdup.c: Likewise.
14474         * lib/striconv.c: Likewise.
14475         * lib/striconveh.c: Likewise.
14476         * lib/striconveha.c: Likewise.
14477         * lib/strncasecmp.c: Likewise.
14478         * lib/strndup.c: Likewise.
14479         * lib/strnlen.c: Likewise.
14480         * lib/strsep.c: Likewise.
14481         * lib/strstr.c: Likewise.
14482         * lib/strtok_r.c: Likewise.
14483         * lib/userspec.c: Likewise.
14484         * lib/w32spawn.h: Likewise.
14485         * lib/xstrndup.c: Likewise.
14486         * lib/mountlist.c (strstr): Remove decl.
14487         * m4/string_h.m4: New file.
14488         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
14489         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
14490         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
14491         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
14492         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
14493         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
14494         Set REPLACE_STRCASECMP if necessary.
14495         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
14496         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
14497         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
14498         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
14499         HAVE_DECL_STRDUP if necessary.
14500         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
14501         since gl_FUNC_STRNDUP does that now.
14502         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
14503         Check for decl here...
14504         (gl_PREREQ_STRNLEN): ... not here.
14505         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
14506         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
14507         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
14508         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
14509         necessary.
14510         * modules/string: New file.
14511         * modules/memmem (Files): Remove special-purpose include file.
14512         (Depends-on): Add string.
14513         (Include): Include <string.h>, not the removed file.
14514         * modules/mempcpy: Likewise.
14515         * modules/memrchr: Likewise.
14516         * modules/stpcpy: Likewise.
14517         * modules/stpncpy: Likewise.
14518         * modules/strcase: Likewise.
14519         * modules/strchrnul: Likewise.
14520         * modules/strdup: Likewise.
14521         * modules/strndup: Likewise.
14522         * modules/strnlen: Likewise.
14523         * modules/strpbrk: Likewise.
14524         * modules/strsep: Likewise.
14525         * modules/strstr: Likewise.
14526         * modules/strtok_r: Likewise.
14527         * tests/test-dirname.c: Don't include "strdup.h", since
14528         <string.h> now suffices.
14529         * tests/test-memmem.c: Don't include "memmem.h", since
14530         <string.h> now suffices.
14531
14532 2007-01-25  Bruno Haible  <bruno@clisp.org>
14533
14534         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
14535         *resultp is 0.
14536
14537         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
14538         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
14539         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
14540         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
14541
14542         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
14543         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
14544         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
14545         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
14546         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
14547         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
14548
14549 2007-01-24  Bruno Haible  <bruno@clisp.org>
14550
14551         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
14552         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
14553         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
14554         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
14555         gl_FUNC_FTS_CORE.
14556         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
14557         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
14558         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14559         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
14560         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
14561         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
14562         gl_FUNC_FCHOWNAT.
14563         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
14564         gl_FUNC_STRFTIME.
14565         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
14566         Reported by Ralf Wildenhues.
14567
14568 2007-01-24  Bruno Haible  <bruno@clisp.org>
14569
14570         Drop AC_REQUIRE calls that are redundant with the module dependencies.
14571         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
14572         gl_GETADDRINFO.
14573         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
14574         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
14575         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
14576
14577 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
14578
14579         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
14580         Don't use 'exit'; just return from 'main'.
14581         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
14582
14583         * lib/fnmatch_.h: Readjust white space and comments to match
14584         glibc, to avoid spurious diffs.
14585
14586 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14587
14588         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
14589         2004-12-01 change by Jakub Jelinek, since this code won't compile
14590         if !LIBC.  Problem reported by Bob Proulx.
14591
14592 2007-01-23  Bruno Haible  <bruno@clisp.org>
14593
14594         * lib/striconveh.c: Include c-strcaseeq.h.
14595         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
14596         * modules/striconveh (Depends-on): Add c-strcaseeq.
14597
14598 2007-01-23  Bruno Haible  <bruno@clisp.org>
14599
14600         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
14601
14602         * modules/c-strcaseeq: New file.
14603         * lib/c-strcaseeq.h: New file.
14604
14605         * modules/streq: New file.
14606         * lib/streq.h: New file.
14607
14608 2007-01-23  Bruno Haible  <bruno@clisp.org>
14609
14610         * modules/striconveha-tests: New file.
14611         * tests/test-striconveha.c: New file.
14612
14613         * lib/striconveha.h: Include <stdbool.h>.
14614         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
14615         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
14616         (mem_iconveha_notranslit): Renamed from mem_iconveha.
14617         (mem_iconveha): New function.
14618         (str_iconveha_notranslit): Renamed from str_iconveha.
14619         (str_iconveha): New function.
14620         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
14621         c-strcase.
14622
14623 2007-01-23  Bruno Haible  <bruno@clisp.org>
14624
14625         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
14626         encodings without forgiving before trying any encoding with handler.
14627         (str_iconveha): Try all encodings without forgiving before trying any
14628         encoding with handler.
14629
14630 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14631
14632         Import the following changes from libc.
14633
14634         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
14635
14636         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
14637
14638         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
14639
14640         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
14641         normal_bracket label.
14642
14643         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
14644
14645         [BZ #361]
14646         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
14647         to normal_bracket after fetching the next character.
14648
14649 2007-01-22  Bruno Haible  <bruno@clisp.org>
14650
14651         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
14652         argument.
14653         * lib/striconveh.c (iconv_carefully_1): New function.
14654         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
14655         argument.
14656         (str_cd_iconveh): Update.
14657         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
14658         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
14659         * tests/test-striconveh.c (MAGIC): New macro.
14660         (new_offsets): New function.
14661         (main): Test call with and without offsets.
14662
14663 2007-01-22  Bruno Haible  <bruno@clisp.org>
14664
14665         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
14666         * modules/sys_select (Makefile.am): Likewise.
14667         * modules/sys_socket (Makefile.am): Likewise.
14668         * modules/sys_time (Makefile.am): Likewise.
14669
14670 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
14671
14672         * modules/gettimeofday (License): Change from GPL to LGPL, since
14673         gettimeofday is a library function.
14674
14675 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14676
14677         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
14678
14679 2007-01-21  Bruno Haible  <bruno@clisp.org>
14680
14681         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
14682
14683 2007-01-21  Bruno Haible  <bruno@clisp.org>
14684
14685         * modules/striconveha: New file.
14686         * lib/striconveha.h: New file.
14687         * lib/striconveha.c: New file.
14688         * MODULES.html.sh (Internationalization functions): Add striconveha.
14689         * lib/striconv.c (str_iconv): Optimize the case of an empty input
14690         string.
14691         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
14692
14693 2007-01-21  Bruno Haible  <bruno@clisp.org>
14694
14695         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
14696         * lib/striconveh.c (str_iconveh): Likewise.
14697
14698 2007-01-21  Bruno Haible  <bruno@clisp.org>
14699
14700         * lib/striconveh.h (mem_iconveh): New declaration.
14701         * lib/striconveh.c (mem_iconveh): New function.
14702         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
14703
14704 2007-01-21  Bruno Haible  <bruno@clisp.org>
14705
14706         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
14707
14708         * lib/striconveh.h (mem_cd_iconveh): Change specification.
14709         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
14710         original result buffer.
14711         (str_cd_iconveh): Update.
14712         * tests/test-striconveh.c (main): Update.
14713
14714         * lib/striconv.h (mem_cd_iconv): Change specification.
14715         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
14716         result buffer.
14717         (str_cd_iconv): Update.
14718         * tests/test-striconv.c (main): Update.
14719
14720 2007-01-21  Bruno Haible  <bruno@clisp.org>
14721
14722         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
14723
14724 2007-01-20  Jim Meyering  <jim@meyering.net>
14725
14726         * lib/userspec.c (parse_with_separator): If a user or group string
14727         starts with "+", skip the corresponding name-to-ID look-up, since
14728         such a look-up must fail: user and group names may not include "+".
14729
14730 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14731
14732         * lib/poll.c: Include sys/time.h and time.h unconditionally,
14733         since we now assume the sys_time module.
14734         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
14735         check for sys/time.h; no longer needed.
14736         * modules/poll (Depends-on): Depend on sys_time.
14737
14738 2007-01-18  Bruno Haible  <bruno@clisp.org>
14739
14740         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
14741         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
14742
14743         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
14744         gettimeofday.
14745
14746         * tests/test-gettimeofday.c: Include <time.h>.
14747         (dummy): Remove variable.
14748
14749         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
14750         gl_HEADER_SYS_TIME_H.
14751         (gl_HEADER_SYS_TIME_H): New macro.
14752
14753         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
14754         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14755         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14756         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
14757         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14758         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
14759         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
14760         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14761         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
14762         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
14763         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14764
14765         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
14766         last change; it caused a compilation error when cross-compiling to
14767         Cygwin.
14768
14769 2007-01-18  Jim Meyering  <jim@meyering.net>
14770
14771         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
14772         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
14773         than the race-prone "test -d sys || mkdir sys".
14774         (configure.ac): Use AC_PROG_MKDIR_P.
14775         * modules/sys_select: Likewise.
14776         * modules/sys_socket: Likewise.
14777         * modules/sys_time: Likewise.
14778
14779 2007-01-18  Eric Blake  <ebb9@byu.net>
14780
14781         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
14782         replace gettimeofday.
14783         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
14784         name, to avoid infinite recursion.
14785
14786 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
14787
14788         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
14789         module sys_time.
14790         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
14791         assume timespec.h defines struct timeval.
14792         * lib/settime.c: Likewise.
14793         * lib/utimens.c: Likewise.
14794         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
14795         since we now assume the gettimeofday module.
14796         * lib/tempname.c (__gen_tempname): Likewise.
14797         * lib/gettimeofday.h: Remove.
14798         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
14799         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
14800         Include <time.h>, for 'time()'.
14801         (localtime_buffer_addr): Also use this workaround if
14802         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
14803         to simplify the uses.  All uses changed.
14804         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
14805         that #undef is inside {}, and 'const' follows type name consistently.
14806         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
14807         (gettimeofday): Do not use the maximum possible value for
14808         tv->tv_usec, since that might break usages other than ls.c.
14809         Instead, we'll leave ls.c alone.  This undoes today's patch
14810         by Bruno.  Add a compile-time warning for 1s-clock resolution;
14811         we've never observed the problem but might as well keep the
14812         canary.
14813         * lib/nanosleep.c: Include timespec.h first, for interface check.
14814         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
14815         now assume the sys_time module.
14816         * lib/tempname.c: Likewise.
14817         * lib/timespec.h: Likewise.
14818         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
14819         needed.
14820         * lib/strftime.c: Likewise.
14821         * lib/timespec.h: Likewise.
14822         * lib/posixtm.c: Include posixtm.h first, for interface check.
14823         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
14824         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
14825         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
14826         * lib/sys_time_.h: New file.
14827         * lib/timespec.h (struct timespec): Use long int, not long.
14828         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
14829         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
14830         Remove obsolescent call to AC_HEADER_TIME.
14831         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14832         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14833         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
14834         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
14835         Likewise.
14836         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14837         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
14838         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
14839         into the sys_time module.  Check for gettimeofday just once.
14840         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
14841         for gettimeofday signature to just check the signature.  Merely
14842         compile it, since linking doesn't test signature.  Improve test for
14843         whether gettimeofday.o is actually needed.
14844         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
14845         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
14846         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
14847         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14848         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
14849         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
14850         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
14851         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
14852         than worrying about sys/time.h.
14853         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
14854         Don't bother worrying about TIME_WITH_SYS_TIME.
14855         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
14856         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
14857         * m4/sys_time_h.m4: New file.
14858         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
14859         Don't include sys/time.h.  Return from main rather than exiting.
14860         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
14861         all uses changed.
14862         * modules/gethrxtime (Depends-on): Add sys_time.
14863         * modules/gettime (Depends-on): Likewise.
14864         * modules/gettimeofday (Depends-on): Likewise.
14865         * modules/nanosleep (Depends-on): Likewise.
14866         * modules/settime (Depends-on): Likewise.
14867         * modules/tempname (Depends-on): Likewise.
14868         * modules/utimens (Depends-on): Likewise.
14869         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
14870         (Include:) Change back to <sys/time.h>.
14871         (Maintainer:) Add self.
14872         * modules/sys_time: New file.
14873         * modules/tempname (Depends-on): Add gettimeofday.
14874         * tests/test-gettimeofday.c: Include <sys/time.h>
14875         rather than gettimeofday.h.
14876
14877 2007-01-17  Bruno Haible  <bruno@clisp.org>
14878
14879         * gnulib-tool (func_get_license): Revert last patch. Instead, let
14880         the license default to GPL.
14881         (func_create_testdir): Don't complain if a module is LGPL and its
14882         tests module depends on GPLed modules.
14883
14884 2007-01-17  Bruno Haible  <bruno@clisp.org>
14885
14886         * lib/gettimeofday.c (gettimeofday): Add code for the case
14887         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
14888         maximum possible value for tv->tv_usec, rather than the minimum one.
14889
14890 2005-10-08  Martin Lambers  <marlam@marlam.de>
14891 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14892 2007-01-16  Bruno Haible  <bruno@clisp.org>
14893
14894         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
14895         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
14896         gl_FUNC_GETTIMEOFDAY.
14897         (Include): Add gettimeofday.h.
14898         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
14899         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
14900         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
14901         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
14902         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
14903         * lib/gettimeofday.h: New file.
14904         * lib/gettimeofday.c: Include <sys/timeb.h>.
14905         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
14906         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
14907         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
14908         fall back on time().
14909
14910         * tests/test-gettimeofday.c: New file.
14911         * modules/gettimeofday-tests: New file.
14912
14913 2007-01-16  Eric Blake  <ebb9@byu.net>
14914
14915         * modules/fnmatch (Depends-on): Depend on wchar.
14916         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
14917         * m4/fnmatch.m4: Likewise.
14918         * modules/mbchar (Makefile.am): Assume <wchar.h>.
14919         * m4/mbchar.m4: Likewise.
14920         * modules/mbswidth (Depends-on): Depend on wchar.
14921         * lib/mbswidth.c: Assume <wchar.h>.
14922         * m4/mbswidth.m4: Likewise.
14923         * modules/quotearg (Depends-on): Depend on wchar.
14924         * lib/quotearg.c: Assume <wchar.h>.
14925         * m4/quotearg.m4: Likewise.
14926         * modules/regex (Depends-on): Depend on wchar.
14927         * lib/regex_internal.h: Assume <wchar.h>.
14928         * m4/regex.m4: Likewise.
14929         * modules/stdint (Depends-on): Depend on wchar.
14930         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
14931         * m4/stdint.m4: Likewise.
14932         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
14933         * modules/strftime (Depends-on): Depend on wchar.
14934         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
14935         * modules/strtol (Depends-on): Depend on wchar.
14936         * lib/strtol.c: Assume <wchar.h>.
14937         * modules/wcwidth (Depends-on): Depend on wchar.
14938         * lib/wcwidth.h: Assume <wchar.h>.
14939         * m4/wcwidth.m4: Likewise.
14940
14941 2007-01-16  Bruno Haible  <bruno@clisp.org>
14942
14943         * modules/csharpexec-script: New, created from...
14944         * modules/csharpexec: ... this.
14945
14946 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
14947
14948         * modules/javaexec-script: New, created from...
14949         * modules/javaexec: ... this.
14950
14951 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14952
14953         * modules/poll (Dependencies): Add sys_select.
14954
14955 2007-01-15  Jim Meyering  <jim@meyering.net>
14956
14957         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
14958         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
14959         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
14960         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
14961
14962 2007-01-15  Bruno Haible  <bruno@clisp.org>
14963
14964         * modules/striconveh: New file.
14965         * lib/striconveh.h: New file.
14966         * lib/striconveh.c: New file.
14967         * MODULES.html.sh (Internationalization functions): Add striconveh.
14968
14969         * modules/striconveh-tests: New file.
14970         * tests/test-striconveh.c: New file.
14971
14972 2007-01-15  Bruno Haible  <bruno@clisp.org>
14973
14974         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
14975         not from GNU libiconv or GNU libc.
14976
14977 2007-01-15  Bruno Haible  <bruno@clisp.org>
14978
14979         * doc/gnulib-intro.texi (Copyright): Explain the different license
14980         terms for module descriptions, autoconf macros, tests, documentation.
14981
14982 2007-01-14  Bruno Haible  <bruno@clisp.org>
14983
14984         * modules/striconv-tests: New file.
14985         * tests/test-striconv.c: New file.
14986
14987 2007-01-14  Bruno Haible  <bruno@clisp.org>
14988
14989         * modules/iconv-tests: New file.
14990         * tests/test-iconv.c: New file.
14991
14992 2007-01-14  Bruno Haible  <bruno@clisp.org>
14993
14994         * gnulib-tool (func_get_license): For test modules, use the license of
14995         the main module.
14996
14997 2007-01-14  Bruno Haible  <bruno@clisp.org>
14998
14999         * modules/iconv (Include): Clarify that <iconv.h> can only be included
15000         if iconv is found to exist.
15001
15002 2007-01-14  Bruno Haible  <bruno@clisp.org>
15003
15004         * modules/c-ctype-tests: New file.
15005         * tests/test-c-ctype.c: New file.
15006
15007 2007-01-14  Bruno Haible  <bruno@clisp.org>
15008
15009         * modules/binary-io-tests: New file.
15010         * tests/test-binary-io.sh: New file.
15011         * tests/test-binary-io.c: New file.
15012
15013 2007-01-14  Bruno Haible  <bruno@clisp.org>
15014
15015         * modules/array-oset-tests: New file.
15016         * tests/test-array_oset.c: New file.
15017
15018 2007-01-14  Bruno Haible  <bruno@clisp.org>
15019
15020         * modules/array-list-tests: New file.
15021         * tests/test-array_list.c: New file.
15022
15023 2007-01-14  Bruno Haible  <bruno@clisp.org>
15024
15025         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
15026         and make.
15027         Reported by Simon Josefsson in
15028         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
15029
15030 2007-01-14  Bruno Haible  <bruno@clisp.org>
15031
15032         * modules/allocsa-tests: New file.
15033         * tests/test-allocsa.c: New file.
15034
15035 2007-01-14  Bruno Haible  <bruno@clisp.org>
15036
15037         * modules/fchdir (Depends-on): Add absolute-header.
15038         * modules/unistd (Depends-on): Likewise.
15039
15040 2006-12-30  Bruno Haible  <bruno@clisp.org>
15041
15042         * modules/fchdir: New file.
15043         * modules/unistd (Files): Add lib/unistd_.h.
15044         (Makefile.am): Generate unistd.h from unistd_.h.
15045         * lib/fchdir.c: New file.
15046         * lib/dirent_.h: New file.
15047         * lib/unistd_.h: New file.
15048         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
15049         * m4/fchdir.m4: New file.
15050         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
15051         (gl_HEADER_UNISTD): Invoke it.
15052         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
15053         function.
15054         * lib/backupfile.c (opendir, closedir): Undefine.
15055         * lib/chown.c (open, close): Undefine.
15056         * lib/clean-temp.c (open, close): Undefine.
15057         * lib/copy-file.c (open, close): Undefine.
15058         * lib/execute.c (open, close): Undefine.
15059         * lib/fsusage.c (open, close): Undefine.
15060         * lib/gc-gnulib.c (open, close): Undefine.
15061         * lib/getcwd.c (opendir, closedir): Undefine.
15062         * lib/glob.c (opendir, closedir): Undefine.
15063         * lib/javacomp.c (open, close): Undefine.
15064         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
15065         * lib/openat-proc.c (open, close): Undefine.
15066         * lib/pagealign_alloc.c (open, close): Undefine.
15067         * lib/pipe.c (open, close): Undefine.
15068         * lib/progreloc.c (open, close): Undefine.
15069         * lib/savedir.c (opendir, closedir): Undefine.
15070         * lib/utime.c (open, close): Undefine.
15071         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
15072
15073 2007-01-10  Bruno Haible  <bruno@clisp.org>
15074
15075         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
15076
15077 2007-01-12  Eric Blake  <ebb9@byu.net>
15078
15079         Provide a robust <wchar.h>.  Further simplifications are now
15080         possible in other modules, but not included here.
15081         * modules/wchar: New module.
15082         * m4/wchar.m4: New file.
15083         * lib/wchar_.h: Likewise.
15084         * modules/mbchar (Depends-on): Depend on wchar, as the first use
15085         of the new module.
15086         * MODULES.html.sh (Extended multibyte and wide character utilities):
15087         New section.
15088
15089 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
15090
15091         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
15092         to a reasonable default for memory allocation.
15093         (xreadlink): Don't allocate a huge buffer, to work around a buggy
15094         file system that reports garbage st_size values for symlinks.
15095         Problem reported by Liyang Hu.
15096
15097 2007-01-11  Simon Josefsson  <simon@josefsson.org>
15098
15099         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
15100         Emacs .#* auto-save files).
15101
15102 2007-01-11  Bruno Haible  <bruno@clisp.org>
15103
15104         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
15105         directory.
15106
15107 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15108
15109         Use @...@ consistently in lib/wctype_.h.
15110         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
15111         on it being set to 1 or 0.
15112         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
15113         go back to AC_SUBSTing it.
15114         * modules/wctype (Makefile.am): Undo previous change.
15115
15116 2007-01-10  Eric Blake  <ebb9@byu.net>
15117
15118         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
15119         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
15120         * modules/wctype (Makefile.am): Likewise.
15121         Reported by Chris McGuire.
15122
15123 2007-01-10  Jim Meyering  <jim@meyering.net>
15124
15125         fts.c: a small readability/maintainability improvement
15126         * lib/fts.c (fts_read): Make this code slightly more readable and
15127         maintainable by hoisting the "sp->fts_cur = p" assignments to
15128         immediately follow the statements that set P.  Derived from
15129         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
15130
15131 2007-01-10  Eric Blake  <ebb9@byu.net>
15132
15133         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
15134         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
15135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15136         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15137         Reported by Chris McGuire.
15138
15139 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15140
15141         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
15142         in sed script.
15143
15144 2007-01-09  Bruno Haible  <bruno@clisp.org>
15145
15146         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
15147         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
15148         variables.
15149         (func_module): Use them.
15150
15151 2007-01-09  Bruno Haible  <bruno@clisp.org>
15152
15153         * modules/unistr/base: New file.
15154         * lib/unistr.h: New file.
15155
15156         * modules/unistr/u8-to-u16: New file.
15157         * lib/unistr/u8-to-u16.c: New file.
15158
15159         * modules/unistr/u8-to-u32: New file.
15160         * lib/unistr/u8-to-u32.c: New file.
15161
15162         * modules/unistr/u16-to-u8: New file.
15163         * lib/unistr/u16-to-u8.c: New file.
15164
15165         * modules/unistr/u16-to-u32: New file.
15166         * lib/unistr/u16-to-u32.c: New file.
15167
15168         * modules/unistr/u32-to-u8: New file.
15169         * lib/unistr/u32-to-u8.c: New file.
15170
15171         * modules/unistr/u32-to-u16: New file.
15172         * lib/unistr/u32-to-u16.c: New file.
15173
15174         * modules/unistr/u8-check: New file.
15175         * modules/unistr/u16-check: New file.
15176         * modules/unistr/u32-check: New file.
15177         * lib/unistr/u8-check.c: New file.
15178         * lib/unistr/u16-check.c: New file.
15179         * lib/unistr/u32-check.c: New file.
15180
15181         * modules/unistr/u8-chr: New file.
15182         * modules/unistr/u16-chr: New file.
15183         * modules/unistr/u32-chr: New file.
15184         * lib/unistr/u8-chr.c: New file.
15185         * lib/unistr/u16-chr.c: New file.
15186         * lib/unistr/u32-chr.c: New file.
15187
15188         * modules/unistr/u8-cmp: New file.
15189         * modules/unistr/u16-cmp: New file.
15190         * modules/unistr/u32-cmp: New file.
15191         * lib/unistr/u8-cmp.c: New file.
15192         * lib/unistr/u16-cmp.c: New file.
15193         * lib/unistr/u32-cmp.c: New file.
15194
15195         * modules/unistr/u8-cpy: New file.
15196         * modules/unistr/u16-cpy: New file.
15197         * modules/unistr/u32-cpy: New file.
15198         * lib/unistr/u8-cpy.c: New file.
15199         * lib/unistr/u16-cpy.c: New file.
15200         * lib/unistr/u32-cpy.c: New file.
15201         * lib/unistr/u-cpy.h: New file.
15202
15203         * modules/unistr/u8-cpy-alloc: New file.
15204         * modules/unistr/u16-cpy-alloc: New file.
15205         * modules/unistr/u32-cpy-alloc: New file.
15206         * lib/unistr/u8-cpy-alloc.c: New file.
15207         * lib/unistr/u16-cpy-alloc.c: New file.
15208         * lib/unistr/u32-cpy-alloc.c: New file.
15209         * lib/unistr/u-cpy-alloc.h: New file.
15210
15211         * modules/unistr/u8-endswith: New file.
15212         * modules/unistr/u16-endswith: New file.
15213         * modules/unistr/u32-endswith: New file.
15214         * lib/unistr/u8-endswith.c: New file.
15215         * lib/unistr/u16-endswith.c: New file.
15216         * lib/unistr/u32-endswith.c: New file.
15217         * lib/unistr/u-endswith.h: New file.
15218
15219         * modules/unistr/u8-mblen: New file.
15220         * modules/unistr/u16-mblen: New file.
15221         * modules/unistr/u32-mblen: New file.
15222         * lib/unistr/u8-mblen.c: New file.
15223         * lib/unistr/u16-mblen.c: New file.
15224         * lib/unistr/u32-mblen.c: New file.
15225
15226         * modules/unistr/u8-mbtouc: New file.
15227         * modules/unistr/u16-mbtouc: New file.
15228         * modules/unistr/u32-mbtouc: New file.
15229         * lib/unistr/u8-mbtouc.c: New file.
15230         * lib/unistr/u16-mbtouc.c: New file.
15231         * lib/unistr/u32-mbtouc.c: New file.
15232
15233         * modules/unistr/u8-mbtouc-safe: New file.
15234         * modules/unistr/u16-mbtouc-safe: New file.
15235         * modules/unistr/u32-mbtouc-safe: New file.
15236         * lib/unistr/u8-mbtouc-safe.c: New file.
15237         * lib/unistr/u16-mbtouc-safe.c: New file.
15238         * lib/unistr/u32-mbtouc-safe.c: New file.
15239
15240         * modules/unistr/u8-move: New file.
15241         * modules/unistr/u16-move: New file.
15242         * modules/unistr/u32-move: New file.
15243         * lib/unistr/u8-move.c: New file.
15244         * lib/unistr/u16-move.c: New file.
15245         * lib/unistr/u32-move.c: New file.
15246         * lib/unistr/u-move.h: New file.
15247
15248         * modules/unistr/u8-next: New file.
15249         * modules/unistr/u16-next: New file.
15250         * modules/unistr/u32-next: New file.
15251         * lib/unistr/u8-next.c: New file.
15252         * lib/unistr/u16-next.c: New file.
15253         * lib/unistr/u32-next.c: New file.
15254
15255         * modules/unistr/u8-prev: New file.
15256         * modules/unistr/u16-prev: New file.
15257         * modules/unistr/u32-prev: New file.
15258         * lib/unistr/u8-prev.c: New file.
15259         * lib/unistr/u16-prev.c: New file.
15260         * lib/unistr/u32-prev.c: New file.
15261
15262         * modules/unistr/u8-set: New file.
15263         * modules/unistr/u16-set: New file.
15264         * modules/unistr/u32-set: New file.
15265         * lib/unistr/u8-set.c: New file.
15266         * lib/unistr/u16-set.c: New file.
15267         * lib/unistr/u32-set.c: New file.
15268         * lib/unistr/u-set.h: New file.
15269
15270         * modules/unistr/u8-startswith: New file.
15271         * modules/unistr/u16-startswith: New file.
15272         * modules/unistr/u32-startswith: New file.
15273         * lib/unistr/u8-startswith.c: New file.
15274         * lib/unistr/u16-startswith.c: New file.
15275         * lib/unistr/u32-startswith.c: New file.
15276         * lib/unistr/u-startswith.h: New file.
15277
15278         * modules/unistr/u8-stpcpy: New file.
15279         * modules/unistr/u16-stpcpy: New file.
15280         * modules/unistr/u32-stpcpy: New file.
15281         * lib/unistr/u8-stpcpy.c: New file.
15282         * lib/unistr/u16-stpcpy.c: New file.
15283         * lib/unistr/u32-stpcpy.c: New file.
15284         * lib/unistr/u-stpcpy.h: New file.
15285
15286         * modules/unistr/u8-stpncpy: New file.
15287         * modules/unistr/u16-stpncpy: New file.
15288         * modules/unistr/u32-stpncpy: New file.
15289         * lib/unistr/u8-stpncpy.c: New file.
15290         * lib/unistr/u16-stpncpy.c: New file.
15291         * lib/unistr/u32-stpncpy.c: New file.
15292         * lib/unistr/u-stpncpy.h: New file.
15293
15294         * modules/unistr/u8-strcat: New file.
15295         * modules/unistr/u16-strcat: New file.
15296         * modules/unistr/u32-strcat: New file.
15297         * lib/unistr/u8-strcat.c: New file.
15298         * lib/unistr/u16-strcat.c: New file.
15299         * lib/unistr/u32-strcat.c: New file.
15300         * lib/unistr/u-strcat.h: New file.
15301
15302         * modules/unistr/u8-strchr: New file.
15303         * modules/unistr/u16-strchr: New file.
15304         * modules/unistr/u32-strchr: New file.
15305         * lib/unistr/u8-strchr.c: New file.
15306         * lib/unistr/u16-strchr.c: New file.
15307         * lib/unistr/u32-strchr.c: New file.
15308
15309         * modules/unistr/u8-strcmp: New file.
15310         * modules/unistr/u16-strcmp: New file.
15311         * modules/unistr/u32-strcmp: New file.
15312         * lib/unistr/u8-strcmp.c: New file.
15313         * lib/unistr/u16-strcmp.c: New file.
15314         * lib/unistr/u32-strcmp.c: New file.
15315
15316         * modules/unistr/u8-strcpy: New file.
15317         * modules/unistr/u16-strcpy: New file.
15318         * modules/unistr/u32-strcpy: New file.
15319         * lib/unistr/u8-strcpy.c: New file.
15320         * lib/unistr/u16-strcpy.c: New file.
15321         * lib/unistr/u32-strcpy.c: New file.
15322         * lib/unistr/u-strcpy.h: New file.
15323
15324         * modules/unistr/u8-strcspn: New file.
15325         * modules/unistr/u16-strcspn: New file.
15326         * modules/unistr/u32-strcspn: New file.
15327         * lib/unistr/u8-strcspn.c: New file.
15328         * lib/unistr/u16-strcspn.c: New file.
15329         * lib/unistr/u32-strcspn.c: New file.
15330         * lib/unistr/u-strcspn.h: New file.
15331
15332         * modules/unistr/u8-strdup: New file.
15333         * modules/unistr/u16-strdup: New file.
15334         * modules/unistr/u32-strdup: New file.
15335         * lib/unistr/u8-strdup.c: New file.
15336         * lib/unistr/u16-strdup.c: New file.
15337         * lib/unistr/u32-strdup.c: New file.
15338         * lib/unistr/u-strdup.h: New file.
15339
15340         * modules/unistr/u8-strlen: New file.
15341         * modules/unistr/u16-strlen: New file.
15342         * modules/unistr/u32-strlen: New file.
15343         * lib/unistr/u8-strlen.c: New file.
15344         * lib/unistr/u16-strlen.c: New file.
15345         * lib/unistr/u32-strlen.c: New file.
15346         * lib/unistr/u-strlen.h: New file.
15347
15348         * modules/unistr/u8-strmblen: New file.
15349         * modules/unistr/u16-strmblen: New file.
15350         * modules/unistr/u32-strmblen: New file.
15351         * lib/unistr/u8-strmblen.c: New file.
15352         * lib/unistr/u16-strmblen.c: New file.
15353         * lib/unistr/u32-strmblen.c: New file.
15354
15355         * modules/unistr/u8-strmbtouc: New file.
15356         * modules/unistr/u16-strmbtouc: New file.
15357         * modules/unistr/u32-strmbtouc: New file.
15358         * lib/unistr/u8-strmbtouc.c: New file.
15359         * lib/unistr/u16-strmbtouc.c: New file.
15360         * lib/unistr/u32-strmbtouc.c: New file.
15361
15362         * modules/unistr/u8-strncat: New file.
15363         * modules/unistr/u16-strncat: New file.
15364         * modules/unistr/u32-strncat: New file.
15365         * lib/unistr/u8-strncat.c: New file.
15366         * lib/unistr/u16-strncat.c: New file.
15367         * lib/unistr/u32-strncat.c: New file.
15368         * lib/unistr/u-strncat.h: New file.
15369
15370         * modules/unistr/u8-strncmp: New file.
15371         * modules/unistr/u16-strncmp: New file.
15372         * modules/unistr/u32-strncmp: New file.
15373         * lib/unistr/u8-strncmp.c: New file.
15374         * lib/unistr/u16-strncmp.c: New file.
15375         * lib/unistr/u32-strncmp.c: New file.
15376
15377         * modules/unistr/u8-strncpy: New file.
15378         * modules/unistr/u16-strncpy: New file.
15379         * modules/unistr/u32-strncpy: New file.
15380         * lib/unistr/u8-strncpy.c: New file.
15381         * lib/unistr/u16-strncpy.c: New file.
15382         * lib/unistr/u32-strncpy.c: New file.
15383         * lib/unistr/u-strncpy.h: New file.
15384
15385         * modules/unistr/u8-strnlen: New file.
15386         * modules/unistr/u16-strnlen: New file.
15387         * modules/unistr/u32-strnlen: New file.
15388         * lib/unistr/u8-strnlen.c: New file.
15389         * lib/unistr/u16-strnlen.c: New file.
15390         * lib/unistr/u32-strnlen.c: New file.
15391         * lib/unistr/u-strnlen.h: New file.
15392
15393         * modules/unistr/u8-strpbrk: New file.
15394         * modules/unistr/u16-strpbrk: New file.
15395         * modules/unistr/u32-strpbrk: New file.
15396         * lib/unistr/u8-strpbrk.c: New file.
15397         * lib/unistr/u16-strpbrk.c: New file.
15398         * lib/unistr/u32-strpbrk.c: New file.
15399         * lib/unistr/u-strpbrk.h: New file.
15400
15401         * modules/unistr/u8-strrchr: New file.
15402         * modules/unistr/u16-strrchr: New file.
15403         * modules/unistr/u32-strrchr: New file.
15404         * lib/unistr/u8-strrchr.c: New file.
15405         * lib/unistr/u16-strrchr.c: New file.
15406         * lib/unistr/u32-strrchr.c: New file.
15407
15408         * modules/unistr/u8-strspn: New file.
15409         * modules/unistr/u16-strspn: New file.
15410         * modules/unistr/u32-strspn: New file.
15411         * lib/unistr/u8-strspn.c: New file.
15412         * lib/unistr/u16-strspn.c: New file.
15413         * lib/unistr/u32-strspn.c: New file.
15414         * lib/unistr/u-strspn.h: New file.
15415
15416         * modules/unistr/u8-strstr: New file.
15417         * modules/unistr/u16-strstr: New file.
15418         * modules/unistr/u32-strstr: New file.
15419         * lib/unistr/u8-strstr.c: New file.
15420         * lib/unistr/u16-strstr.c: New file.
15421         * lib/unistr/u32-strstr.c: New file.
15422         * lib/unistr/u-strstr.h: New file.
15423
15424         * modules/unistr/u8-strtok: New file.
15425         * modules/unistr/u16-strtok: New file.
15426         * modules/unistr/u32-strtok: New file.
15427         * lib/unistr/u8-strtok.c: New file.
15428         * lib/unistr/u16-strtok.c: New file.
15429         * lib/unistr/u32-strtok.c: New file.
15430         * lib/unistr/u-strtok.h: New file.
15431
15432         * modules/unistr/u8-uctomb: New file.
15433         * modules/unistr/u16-uctomb: New file.
15434         * modules/unistr/u32-uctomb: New file.
15435         * lib/unistr/u8-uctomb.c: New file.
15436         * lib/unistr/u16-uctomb.c: New file.
15437         * lib/unistr/u32-uctomb.c: New file.
15438
15439         * MODULES.html.sh (Unicode string functions): Add the new modules.
15440
15441 2007-01-08  Bruno Haible  <bruno@clisp.org>
15442
15443         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
15444         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
15445         subdirectories.
15446
15447 2007-01-08  Karl Berry  <karl@gnu.org>
15448
15449         * doc/error.texi: mention that main() fns must set program_name
15450         when progname is used.
15451
15452 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
15453
15454         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
15455         WCTYPE_H is empty, for the benefit of builds from non-distclean
15456         directories.  Problem reported by Eric Blake in
15457         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
15458
15459 2007-01-08  Bruno Haible  <bruno@clisp.org>
15460
15461         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
15462         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
15463         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
15464         PROVIDE_CANONICALIZE_FILENAME_MODE.
15465         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
15466
15467 2007-01-08  Bruno Haible  <bruno@clisp.org>
15468
15469         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
15470         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
15471         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
15472         * lib/fts.c: Likewise.
15473         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
15474
15475 2006-12-25  Bruno Haible  <bruno@clisp.org>
15476
15477         * modules/utf8-ucs4-safe: New file.
15478         * lib/utf8-ucs4-safe.h: New file.
15479         * lib/unistr/utf8-ucs4-safe.c: New file.
15480
15481         * modules/utf16-ucs4-safe: New file.
15482         * lib/utf16-ucs4-safe.h: New file.
15483         * lib/unistr/utf16-ucs4-safe.c: New file.
15484
15485         * MODULES.html.sh (Unicode string functions): Add the new modules.
15486
15487 2007-01-08  Bruno Haible  <bruno@clisp.org>
15488
15489         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
15490         (Depends-on): Add unitypes.
15491         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
15492         (u8_mbtouc_aux): Move out to separate file.
15493         (u8_mbtouc): Use ucs4_t, uint8_t types.
15494         * lib/unistr/utf8-ucs4.c: New file.
15495
15496         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
15497         (Depends-on): Add unitypes.
15498         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
15499         (u16_mbtouc_aux): Move out to separate file.
15500         (u16_mbtouc): Use ucs4_t, uint16_t types.
15501         * lib/unistr/utf16-ucs4.c: New file.
15502
15503         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
15504         (Depends-on): Add unitypes.
15505         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
15506         (u8_uctomb_aux): Move out to separate file.
15507         (u8_uctomb): Use ucs4_t, uint8_t types.
15508         * lib/unistr/ucs4-utf8.c: New file.
15509
15510         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
15511         (Depends-on): Add unitypes.
15512         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
15513         (u16_uctomb_aux): Move out to separate file.
15514         (u16_uctomb): Use ucs4_t, uint16_t types.
15515         * lib/unistr/ucs4-utf16.c: New file.
15516
15517 2006-12-25  Bruno Haible  <bruno@clisp.org>
15518
15519         * modules/unitypes: New file.
15520         * lib/unitypes.h: New file.
15521         * MODULES.html.sh (func_all_modules): New section "Unicode string
15522         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
15523         this section. Add unitypes.
15524
15525 2007-01-08  Bruno Haible  <bruno@clisp.org>
15526
15527         Avoid variable names that conflict with those from libtool.
15528         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
15529         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
15530         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
15531         library_names_spec to acl_library_names_spec, hardcode_* to
15532         acl_hardcode_*.
15533         Reported by Ralf Wildenhues.
15534
15535 2007-01-08  Bruno Haible  <bruno@clisp.org>
15536
15537         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
15538         definition.
15539         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
15540         definition.
15541         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
15542         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
15543         definition.
15544         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
15545         definition.
15546         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
15547         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
15548         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
15549         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
15550         definition.
15551         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
15552         definition.
15553         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
15554         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
15555         GC_USE_<algorithm>.
15556         * lib/gc-libgcrypt.c: Likewise.
15557         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
15558         * modules/gc-arctwo (configure.ac): Likewise.
15559         * modules/gc-des (configure.ac): Likewise.
15560         * modules/gc-hmac-md5 (configure.ac): Likewise.
15561         * modules/gc-hmac-sha1 (configure.ac): Likewise.
15562         * modules/gc-md2 (configure.ac): Likewise.
15563         * modules/gc-md4 (configure.ac): Likewise.
15564         * modules/gc-md5 (configure.ac): Likewise.
15565         * modules/gc-random (configure.ac): Likewise.
15566         * modules/gc-rijndael (configure.ac): Likewise.
15567         * modules/gc-sha1 (configure.ac): Likewise.
15568
15569 2007-01-08  Bruno Haible  <bruno@clisp.org>
15570
15571         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
15572         macro definition.
15573         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
15574         definition.
15575         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
15576         definition.
15577         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
15578         * modules/fcntl-safer (configure.ac): Likewise.
15579         * modules/fopen-safer (configure.ac): Likewise.
15580         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
15581         GNULIB_FWRITEERROR macro definition.
15582
15583 2007-01-08  Bruno Haible  <bruno@clisp.org>
15584
15585         * m4/gnulib-common.m4: New file.
15586         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
15587         (func_get_filelist): Add m4/gnulib-common.m4.
15588
15589 2007-01-08  Bruno Haible  <bruno@clisp.org>
15590
15591         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
15592         command.
15593
15594 2007-01-08  Jim Meyering  <jim@meyering.net>
15595
15596         Use a more robust test for a "can't happen" condition.
15597         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
15598         narrowed the st_size value.  Presuming the "can't happen" condition
15599         is true, that narrowing could conceivably convert an invalid st_size
15600         value into a valid one.  Instead, use a change based on Matthew
15601         Woehlke's original patch.
15602
15603         Slight readability improvement: use an assert-like macro
15604         in place of literal "abort ()" uses.
15605         * lib/fts.c (fts_assert): Define.
15606         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
15607         Use this macro instead of a bare 'abort'.
15608
15609 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
15610
15611         Don't worry about using IRIX 5.3's wctype.h broken definitions;
15612         simply work around them.
15613         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
15614         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
15615         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
15616         declaring.
15617         Don't bother to define as macros, since the standard doesn't require it.
15618         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
15619         longer worry about IRIX 5.3.
15620         (HAVE_WCTYPE_CTMP_BUG): Remove.
15621
15622 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15623
15624         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
15625         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
15626         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
15627         Problems reported by Georg Schwarz for IRIX 5.3.
15628
15629         * gnulib-tool (autoconf_minversion): Take the maximum version number
15630         found, not the minimum.  Problem reported by James Youngman.
15631
15632 2007-01-03  Karl Berry  <karl@gnu.org>
15633
15634         * doc/error.texi: new file, explaining interaction with progname.
15635         * doc/gnulib.texi: include it.  Update copyright.
15636
15637 2007-01-03  Simon Josefsson  <simon@josefsson.org>
15638
15639         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
15640         AC_CANONICAL_HOST, to improve autobuild outputs.
15641
15642 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
15643             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
15644
15645         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
15646         sockets, server sockets, and other file descriptors.  Count errors
15647         to compute the return value.  Reorder the code a bit to be easier
15648         to follow.  Don't set event bits that were not requested (except
15649         POLLERR and POLLHUP).
15650
15651 2007-01-01  Bruno Haible  <bruno@clisp.org>
15652
15653         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
15654
15655 2007-01-03  Jim Meyering  <jim@meyering.net>
15656
15657         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
15658
15659 2007-01-02  Bruno Haible  <bruno@clisp.org>
15660
15661         * modules/settime (Include): Require timespec.h.
15662         * modules/nanosleep (Include): Likewise.
15663
15664 2007-01-01  Bruno Haible  <bruno@clisp.org>
15665
15666         * gnulib-tool (func_emit_copyright_notice): Bump year.
15667         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
15668
15669 2007-01-01  Bruno Haible  <bruno@clisp.org>
15670
15671         Improve support for OpenBSD.
15672         * build-aux/config.rpath (libname_spec): Export.
15673         (library_names_spec): New variable. Export.
15674         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
15675         library_names_spec from the config.rpath output. Locate shared library
15676         through the name pattern in library_names_spec.
15677
15678 2007-01-01  Eric Blake  <ebb9@byu.net>
15679
15680         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
15681
15682 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
15683
15684         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
15685         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
15686         assume the C locale, and avoid an "eval" that could cause trouble.
15687         Problem with SORT reported by Bob Proulx.
15688
15689         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
15690         Define.  Trivial patch from Henning Nielsen Lund, originally
15691         sent to bug-grep@gnu.org today.
15692
15693 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
15694
15695         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
15696         struct stat.  Problem reported by Henning Nielsen Lund.
15697         * lib/acl.c: Include acl.h first, to check interface.  Don't
15698         bother to include sys/types.h and sys/stat.h again.
15699
15700 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15701
15702         Import the following change from libc; problem reported by
15703         Sven Verdoolaege.
15704
15705         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
15706
15707         [BZ #1373]
15708         * lib/argp.h: Remove __NTH for __argp_usage inline function.
15709
15710 2006-12-28  Jim Meyering  <jim@meyering.net>
15711
15712         * build-aux/announce-gen: Do not assume that the package
15713         builds any of tar.gz, tar.bz2, and .xdelta files.
15714         Suggestion from Simon Josefsson.
15715
15716 2006-12-28  Simon Josefsson  <simon@josefsson.org>
15717
15718         * modules/announce-gen: New file.
15719
15720 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
15721
15722         * lib/mbchar.h: Just include <wctype.h>; the wctype module
15723         handles its gotchas now.
15724         * lib/mbswidth.c: Likewise.
15725         * lib/wcwidth.h: Likewise.
15726         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
15727         and iswcntrl; the wctype module does this stuff now.
15728         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15730         * modules/mbchar (Depends-on): Add wctype.
15731         * modules/mbswidth (Depends-on): Likewise.
15732         * modules/wcwidth (Depends-on): Likewise.
15733
15734 2006-12-27  Eric Blake  <ebb9@byu.net>
15735
15736         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
15737         module uses more than what <wctype.h> is required to provide.
15738
15739 2006-12-26  Eric Blake  <ebb9@byu.net>
15740
15741         * gnulib-tool (sed_extract_prog): Avoid space-tab.
15742
15743 2006-12-26  Eric Blake  <ebb9@byu.net>
15744
15745         * modules/absolute-header: New module.
15746         * modules/fcntl (Depends-on): Depend on it.
15747         * modules/inttypes (Depends-on): Likewise.
15748         * modules/stdint (Depends-on): Likewise.
15749         * modules/sys_stat (Depends-on): Likewise.
15750         * modules/wctype (Depends-on): Likewise.
15751         * MODULES.html.sh (Support for building libraries and
15752         executables): Document it.
15753
15754 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
15755
15756         * gnulib-tool (SED): Remove, undoing previous change.
15757         The problem was that it broke coreutils on Solaris, because
15758         "sed --posix" leaked into a makefile.
15759         (sed): New alias, if 'alias' and GNU sed.
15760
15761 2006-12-24  Jim Meyering  <jim@meyering.net>
15762
15763         Work around an fchownat bug in glibc-2.4:
15764         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
15765         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
15766         in spite of the -P option.
15767         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
15768         New macros.
15769         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
15770         * modules/openat (Files): Add lib/fchownat.c.
15771         * lib/openat.c (fchownat): Don't define here.  Move to...
15772         * lib/fchownat.c: ...this new file.
15773
15774 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15775
15776         Fix bug reported by Bruno Haible in
15777         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
15778         where quotearg.c didn't compile on Mac OS X 10.2 because it
15779         lacks <wchar.h> and wint_t.
15780         * lib/wctype_.h (__wctype_wint_t): New type.
15781         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
15782         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
15783         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
15784         Arg is now of type __wctype_wint_t, not wint_t.
15785         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
15786         substitute HAVE_WINT_T.
15787         * modules/wctype (Files): Add m4/wint_t.m4.
15788         (wctype.h): Substitute HAVE_WINT_T.
15789
15790 2006-12-23  Bruno Haible  <bruno@clisp.org>
15791
15792         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
15793
15794 2006-12-23  Bruno Haible  <bruno@clisp.org>
15795
15796         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
15797         S_ISLNK.
15798         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
15799         mingw.
15800
15801 2006-12-22  Bruno Haible  <bruno@clisp.org>
15802
15803         * lib/copy-file.c: Include acl.h.
15804         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
15805         Close the file descriptors only after being done with copy_acl.
15806         * modules/copy-file (Depends-on): Add acl.
15807
15808 2006-12-22  Bruno Haible  <bruno@clisp.org>
15809
15810         * gnulib-tool (SED): New variable.
15811         Use $SED instead of sed everywhere.
15812
15813 2006-12-22  Bruno Haible  <bruno@clisp.org>
15814
15815         * modules/no-c++: New file.
15816         * m4/no-c++.m4: New file.
15817         * MODULES.html.sh (Support for building libraries and executables):
15818         Add no-c++.
15819
15820 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15821
15822         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
15823         Include <limits.h>, and use its INT_MAX to rewrite the
15824         j loop so that it does not overflow 'int'.  Problem reported by
15825         Ralf Wildenhues in
15826         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
15827         Play it safe by shifting left by 1 rather than multiplying by 2,
15828         as GCC is less likely to optimize this away when the value
15829         is signed (when it assumes overflow leads to undefined behavior).
15830         Also, don't assume time_t uses two's complement.
15831
15832 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
15833
15834         * MODULES.html.sh: New module wctype.
15835         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
15836         * lib/fnmatch.c: Don't bother to include <wchar.h> before
15837         <wctype.h>, since the new wctype module should fix this.
15838         * lib/quotearg.c: Include <wctype.h> unconditionally, since
15839         the wctype module should arrange for it.
15840         * lib/regex_internal.h: Likewise.
15841         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
15842         since the wctype module should handle this now.
15843         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
15844         * modules/fnmatch (Depends-on): Add wctype.
15845         * modules/quotearg (Depends-on): Likewise.
15846         * modules/regex (Depends-on): Likewise.
15847
15848 2006-12-19  Bruno Haible  <bruno@clisp.org>
15849
15850         * lib/strdup.h [C++]: Wrap definitions in extern "C".
15851         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
15852
15853 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15854
15855         * modules/savewd (Depends-on): Fix dependency on fcntl.
15856
15857 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15858
15859         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
15860         conforms to C99, rather than relying on the user's environment
15861         setting of STDINT_H.
15862
15863 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15864         and Eric Blake  <ebb9@byu.net>
15865
15866         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
15867         This is more consistent with the other defines here.
15868         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
15869         Port to z/OS.  Problem reported by Paul Gilmartin.
15870         Change local vars to use gl_ prefix rather than ac_.
15871         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
15872         with other defines.
15873         * modules/double-slash-root: New module.
15874         * modules/dirname (Files): Remove m4/double-slash-root.m4.
15875         (Depends-on): Add double-slash-root.
15876         * MODULES.html.sh (File system functions): Mention new module.
15877
15878 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
15881         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
15882         This is for the benefit of gzip, which doesn't do i18n.
15883
15884 2006-12-12  Jim Meyering  <jim@meyering.net>
15885
15886         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
15887         Reported by Andreas Schwab <schwab@suse.de>.
15888
15889 2006-12-12  Bruno Haible  <bruno@clisp.org>
15890
15891         Merge these changes.
15892         2006-09-05  Bruno Haible  <bruno@clisp.org>
15893         * lib/iconvme.c (iconv_string): No need to save and restore errno when
15894         iconv_alloc succeeded.
15895         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
15896         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
15897         test for " && dest " at the end - dest is always != NULL there. Call
15898         iconv with 4xNULL arguments initially, to reset the state. Call iconv
15899         with 2xNULL arguments, also to flush the state storage. Handle the
15900         IRIX iconv behaviour. Realloc the final result, to throw away unused
15901         memory.
15902
15903 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
15904
15905         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
15906         and fchmodat unconditionally, since glibc 2.4 has them.
15907         Problem reported by Arkadiusz Miskiewicz.
15908
15909 2006-12-10  Bruno Haible  <bruno@clisp.org>
15910
15911         * gnulib-tool (func_import): Show the include files only for those
15912         modules that are copied and specified.
15913         Reported by Karl Berry.
15914
15915 2006-12-08  Jim Meyering  <jim@meyering.net>
15916
15917         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
15918         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
15919
15920         * build-aux/announce-gen: Add two new options, both optional:
15921         --bootstrap-tools=TOOL_LIST
15922               a comma-separated list of tools, e.g.,
15923               autoconf,automake,bison,gnulib
15924         --gnulib-snapshot-date=DATE
15925               if gnulib is in the bootstrap tool list,
15926               then report this as the snapshot date.
15927               If not specified, use the current date/time.
15928               If you specify a date here, be sure it's UTC.
15929
15930 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15931
15932         * tests/test-argp-2.sh: Fix test to match actual output.
15933         (func_compare): Fix sed script to be portable.
15934
15935 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
15936
15937         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
15938         workaround for this case.  It is not autoconfigured now; offhand
15939         it's hard to see how to autoconfigure it.
15940
15941 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
15942
15943         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
15944         a directory that is about to be chowned.  Such a directory's
15945         initial file permissions should permit the owner only and this
15946         should not be changed until after the chown, since the group and
15947         other bits would be incorrect if they granted permission before
15948         the chown.
15949
15950         Fix porting problem for iswctype reported by Georg Schwarz in:
15951         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
15952         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
15953         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
15954         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
15955         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
15956
15957 2006-12-03  Jim Meyering  <jim@meyering.net>
15958
15959         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
15960         p->fts_statp may not yet be defined.
15961         (fts_read): Instead, set it in the caller, once p->fts_statp is
15962         sure to be defined, and corresponds to a top-level directory.
15963         This bug made du -x fail.  Here's the coreutils test case:
15964         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
15965         Reported by Mike Frysinger.
15966
15967 2006-12-01  Jim Meyering  <jim@meyering.net>
15968
15969         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
15970         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
15971         Reported by Simon Josefsson.
15972
15973 2006-11-30  Jim Meyering  <jim@meyering.net>
15974
15975         * m4/warning.m4: Use the all-permissive copyright notice
15976         recommended by RMS (rather than LGPL).
15977         * m4/vararrays.m4: Likewise.
15978         * m4/flexmember.m4: Likewise.
15979
15980 2006-11-29  Bruno Haible  <bruno@clisp.org>
15981
15982         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
15983         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
15984         using +=.
15985         Reported by Simon Josefsson <simon@josefsson.org>.
15986
15987 2006-11-28  James Youngman <jay@gnu.org>
15988
15989         * README: Advise users that they might find the bug-gnulib@gnu.org
15990         and autotools-announce@gnu.org mailing lists useful.
15991
15992 2006-11-28  Bruno Haible  <bruno@clisp.org>
15993
15994         * m4/ptrdiff_max.m4: Remove file.
15995
15996 2006-11-21  Bruno Haible  <bruno@clisp.org>
15997
15998         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
15999         _AC_COMPUTE_INT.
16000         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
16001         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
16002         _AC_COMPUTE_INT.
16003         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
16004         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
16005         _AC_COMPUTE_INT.
16006         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
16007
16008 2006-11-28  Jim Meyering  <jim@meyering.net>
16009
16010         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
16011         warning from "gcc -Wshadow" about shadowing the builtin.
16012
16013 2006-11-27  Bruno Haible  <bruno@clisp.org>
16014
16015         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
16016         _AC_COMPUTE_INT.
16017         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
16018
16019 2006-11-27  Bruno Haible  <bruno@clisp.org>
16020             Paul Eggert  <eggert@cs.ucla.edu>
16021
16022         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
16023
16024 2006-11-26  Bruno Haible  <bruno@clisp.org>
16025
16026         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
16027         noinst_LTLIBRARIES.
16028
16029 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16030             Bruno Haible  <bruno@clisp.org>
16031
16032         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
16033         if compiling with "gcc -ansi".
16034
16035 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16036
16037         Fix some incompatibilities with gcc -ansi -pedantic.
16038         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
16039         if compiling pedantically with GCC, unless it's C99 or later.
16040         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
16041         it mishandles gcc -ansi -pedantic as well.
16042         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
16043         if gcc -pedantic.
16044         * lib/regexec.c (check_node_accept_bytes): Don't use auto
16045         initializers for struct if -pedantic, unless it's C99 or later.
16046
16047 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
16048
16049         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
16050         Don't close an fd more than once. Identical atimes indicate
16051         success, not failure.
16052
16053 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
16054
16055         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
16056
16057 2006-11-23  Jim Meyering  <jim@meyering.net>
16058
16059         * build-aux/announce-gen: New file.  From coreutils.
16060
16061 2006-11-22  Jim Meyering  <jim@meyering.net>
16062
16063         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
16064         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
16065         (fts_read): Use a temporary to narrow the overused st_size member
16066         before using it in a switch statement.  Reported by Matthew Woehlke.
16067
16068         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
16069         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
16070
16071 2006-11-20  Bruno Haible  <bruno@clisp.org>
16072
16073         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
16074         changequote instead of pairs of brackets.
16075         Reported by Andreas Schwab <schwab@suse.de>.
16076
16077 2006-11-21  Jim Meyering  <jim@meyering.net>
16078
16079         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
16080         so as to remain compatible with older compilers.
16081         Patch from Michael Deutschmann.
16082
16083 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16084
16085         * MODULES.html.sh (File system functions): Add openat.
16086
16087         * lib/openat.h (rpl_fstatat): New macro, if
16088         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
16089         (fstatat): Define to rpl_fstatat under the same conditions,
16090         unless COMPILING_FSTATAT.
16091         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
16092         seems to have the bug.
16093         * lib/fstatat.c: New file.
16094         * modules/openat (Files): Add it.
16095
16096 2006-11-20  Bruno Haible  <bruno@clisp.org>
16097
16098         * Makefile: New file.
16099
16100 2006-11-20  Jim Meyering  <jim@meyering.net>
16101
16102         The beginnings of syntax-related checks for gnulib.
16103         * lib/Makefile: New file.
16104         * lib/t-idcache: New script.  Ensure that the two halves of
16105         idcache.c stay in sync.
16106
16107         * lib/idcache.c: Adjust comments in user- and group- portions to
16108         be more accurate, and to be consistent with one another.
16109
16110 2006-11-20  Jim Meyering  <jim@meyering.net>
16111
16112         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
16113         continue using the flexible array member (thus, this module performs
16114         half as many malloc calls), with the addition that...
16115         (getgroup, getuser): Consistently record a non-match via an empty
16116         "name" string, and map an empty string match to a NULL return value.
16117         * modules/idcache (Depends-on): Re-add flexmember.
16118
16119         * lib/idcache.c (getuser): Remove all uses of the register keyword.
16120         (getuidbyname, getgroup, getgidbyname): Likewise.
16121
16122         Use cleaner syntax: NULL rather than 0.
16123         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
16124
16125 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16126
16127         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
16128         It mishandled the case where the group was missing.
16129         Problem reported by Greg Schafer.
16130         * modules/idcache: Likewise.
16131
16132 2006-11-18  Jim Meyering  <jim@meyering.net>
16133
16134         * check-module (%exempt_header): Add exception for some
16135         conditionally-included headers.
16136
16137         * modules/i-ring (Depends-on): Add verify.
16138         (License): Change to LGPL.
16139
16140 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16141
16142         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
16143         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
16144         and inttostr.h.  Use snprintf rather than uinttostr, so that
16145         LGPLed code doesn't depend on GPLed.
16146
16147 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16148
16149         * modules/inline (License): Change from GPL to LGPL.
16150
16151 2006-11-17  Jim Meyering  <jim@meyering.net>
16152
16153         * modules/d-type (License): Switch to LGPL.
16154
16155 2006-11-15  Bruno Haible  <bruno@clisp.org>
16156
16157         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
16158
16159 2006-11-15  Eric Blake  <ebb9@byu.net>
16160
16161         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
16162         the module dependency.
16163
16164 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16165             Bruno Haible  <bruno@clisp.org>
16166
16167         * gnulib-tool (func_create_testdir): Add license consistency check.
16168
16169 2006-11-15  Eric Blake  <ebb9@byu.net>
16170
16171         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
16172         random "(cached)" in configure output.
16173
16174 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16175
16176         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
16177         test for conforming inttypes.h is both announced and cached.
16178
16179         * MODULES.html.sh (seen_modules, seen_files): New variables.
16180         (func_module): Rewrite to use a few less gnulib-tool and sed
16181         invocations.  Avoid a couple of quadratic algorithms for ...
16182         (missed_modules, missed_files): ... these, with ...
16183         (func_append, func_tmpdir): ... these new functions, from
16184         gnulib-tool.  Analogously, install traps for cleanup.
16185
16186         * tests/test-gc.c (main): Remove unused variables.
16187         * tests/test-read-file.c: Include stdlib.h, for 'free'.
16188
16189 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
16190
16191         * modules/inttostr (License): Change to LGPL.
16192
16193 2006-11-14  Eric Blake  <ebb9@byu.net>
16194
16195         * modules/tempname (License): Change to LGPL.
16196
16197 2006-11-14  Eric Blake  <ebb9@byu.net>
16198
16199         * doc/functions.texi (Function Portability): *printf functions on
16200         Cygwin now understand all POSIX size specifiers.
16201
16202 2006-11-14  Bruno Haible  <bruno@clisp.org>
16203
16204         * modules/c-ctype (License): Change to LGPL.
16205
16206 2006-11-12  Bruno Haible  <bruno@clisp.org>
16207
16208         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
16209         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
16210         for GNOME libraries, for which the include files are installed in
16211         subdirectories of $prefix/include.
16212
16213 2006-11-12  Bruno Haible  <bruno@clisp.org>
16214
16215         * m4/lib-link.m4: Require at least autoconf-2.54.
16216         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
16217         name to underscores for the --with option.
16218
16219 2006-11-13  Bruno Haible  <bruno@clisp.org>
16220
16221         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
16222         the tests directory.
16223         Reported by Ralf Wildenhues.
16224
16225 2006-11-13  Bruno Haible  <bruno@clisp.org>
16226
16227         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
16228         (func_emit_initmacro_end): Undo the override here.
16229         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
16230         Works around the famous automake error in coreutils.
16231
16232 2006-11-13  Eric Blake  <ebb9@byu.net>
16233
16234         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
16235         element, not its node.
16236
16237 2006-11-12  Bruno Haible  <bruno@clisp.org>
16238
16239         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
16240         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
16241
16242 2006-11-12  Bruno Haible  <bruno@clisp.org>
16243
16244         * gnulib-tool: New option --local-symlink.
16245         (func_usage): Document it.
16246         (lsymbolic): New variable.
16247         (func_import, func_create_testdir): If --symlink was not specified,
16248         test whether --local-symlink was specified and the file comes from
16249         the local_gnulib_dir.
16250
16251 2006-11-12  Bruno Haible  <bruno@clisp.org>
16252
16253         * gnulib-tool (func_ln): New function.
16254         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
16255
16256 2006-11-12  Bruno Haible  <bruno@clisp.org>
16257
16258         Finish support for source files in subdirectories.
16259         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
16260         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
16261         AUTOMAKE_OPTIONS.
16262         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
16263
16264 2006-11-12  Bruno Haible  <bruno@clisp.org>
16265
16266         * gnulib-tool (func_get_automake_snippet): Synthesize also an
16267         EXTRA_lib_SOURCES augmentation.
16268         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
16269
16270 2006-11-12  Jim Meyering  <jim@meyering.net>
16271
16272         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
16273         file descriptors.  This also averts a failure on systems with
16274         native openat support when a traversed directory lacks "x" access.
16275         * lib/fts_.h: Include "i-ring.h"
16276         (struct FTS) [fts_fd_ring]: New member.
16277         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
16278         (FCHDIR): Add parentheses.
16279         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
16280         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
16281         When descending, rather than simply closing the previous
16282         fts_cwd_fd value, push that file descriptor onto the ring.
16283         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
16284         (fts_open): Initialize the new fd_ring member.
16285         (fts_close): Clear the ring.
16286         (fts_safe_changedir): When possible, use our new fd_ring to skip
16287         the diropen and fstat and dev/ino comparison that would normally
16288         accompany a virtual `chdir ("..")'.
16289
16290         * modules/fts (Depends-on): Add i-ring.
16291         * modules/i-ring: New module.
16292         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
16293         * m4/i-ring.m4: New file.
16294
16295 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16296
16297         * gnulib-tool (func_create_testdir): Fix replacement of
16298         `build-aux' in configure.ac.  Run autotools in gltests
16299         subdirectory.
16300         (func_create_testdir, func_create_megatestdir, test): There is
16301         no need for '--force' in most autotool invocations in a new
16302         tree.  Actually fail the whole test if any of the tools, or the
16303         configure or make stages fail.
16304
16305         Sync from Automake.
16306         * build-aux/gnupload: Revert last change.  Add pointer to upload
16307         instructions of the GNU Maintenance Instructions.
16308         Suggestion by Karl Berry.
16309
16310 2006-11-10  Jim Meyering  <jim@meyering.net>
16311
16312         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
16313
16314 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16315
16316         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
16317         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
16318         (bind_textdomain_codeset) [! ENABLE_NLS]:
16319         Evaluate all the arguments.  That way, callers get compatible behavior
16320         if the arguments have side effects.  Also, it avoids some GCC
16321         diagnostics in some cases; Joel E. Denny reported problems when Bison
16322         was configured with --enable-gcc-warnigs.
16323
16324 2006-11-10  Jim Meyering  <jim@meyering.net>
16325
16326         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
16327         relevant options in CFLAGS (like -O, -fno-inline) are taken into
16328         account.
16329
16330 2006-11-10  Jim Meyering  <jim@meyering.net>
16331
16332         * modules/inline: New file/module.
16333         * modules/xalloc (Files): Remove m4/inline.m4.
16334         (Depends-on): Add inline, instead.
16335         * modules/oset: Likewise.
16336         * modules/list: Likewise.
16337
16338 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16339
16340         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
16341         Problem reported by Matthew Woehlke.
16342
16343 2006-11-09  Bruno Haible  <bruno@clisp.org>
16344
16345         * lib/tempname.c (gen_tempname): Remove variant that invokes
16346         __gen_tempname.
16347         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
16348         __gen_tempname.
16349
16350 2006-11-08  Bruno Haible  <bruno@clisp.org>
16351
16352         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
16353         to 'yes' instead of 'cross-compiling'.
16354
16355 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
16356
16357         * lib/quotearg.h (quotearg_free): New decl.
16358         * lib/quotearg.c (quotearg_free): New function.
16359         (slot0, nslots, slotvec0, slotvec):
16360         Now file-scope so that quotearg_free can get at them.
16361
16362 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16363
16364         Sync from Automake.
16365         * build-aux/gnupload: Add missing 'gnu' to example URL.
16366         Report by Karl Berry.
16367
16368 2006-11-08  Bruno Haible  <bruno@clisp.org>
16369
16370         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
16371         Suggested by Paul Eggert.
16372
16373 2006-11-08  Jim Meyering  <jim@meyering.net>
16374
16375         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
16376         It's already included if !_LIBC.
16377         (fts_safe_changedir): Add a comment.
16378
16379 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
16380
16381         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
16382         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
16383         Matthew Woehlke.
16384
16385         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
16386         definitions up, to avoid colliding with change below.
16387         (static_inline) [HAVE_INLINE]: New macro.
16388         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
16389         Provide extern decls when !HAVE_INLINE.  Do not define unless
16390         static_inline is defined, either by us or by xmalloc.c.  Use
16391         static_inline rather than static inline.
16392         (XCALLOC): Optimize sizeof(T) = 1 case.
16393         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
16394
16395 2006-11-07  Bruno Haible  <bruno@clisp.org>
16396
16397         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
16398         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
16399         AC_C_INLINE.
16400         * modules/xalloc (Files): Add m4/inline.m4.
16401
16402 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16403
16404         * README: Fix typo.
16405         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
16406         (Miscellanous Notes): ...from this.
16407
16408 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
16409
16410         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
16411         Mention that offsetof should be used instead of sizeof.
16412         From Bruno Haible.
16413
16414 2006-11-07  Bruno Haible  <bruno@clisp.org>
16415
16416         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
16417
16418 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
16419
16420         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
16421         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
16422         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
16423         (gl_tree_add_before, gl_tree_add_after):
16424         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
16425         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
16426         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
16427         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
16428         (gl_linked_add_after, gl_linked_add_at): Likewise.
16429         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
16430         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
16431         (gl_tree_add_before, gl_tree_add_after): Likewise.
16432         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
16433         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
16434         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
16435
16436 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16437
16438         * lib/gl_oset.h: Use C comment style, not C++ comment style.
16439
16440 2006-11-06  Bruno Haible  <bruno@clisp.org>
16441
16442         * m4/inline.m4: New file.
16443         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
16444         * modules/list (Files): Add m4/inline.m4.
16445         * modules/oset (Files): Likewise.
16446
16447 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
16448
16449         * lib/idcache.c: Include <stddef.h>, for offsetof.
16450         (struct userid.name): Change from char * to a flexible array member.
16451         All uses changed.
16452         * modules/idcache (Depends-on): Add flexmember.
16453
16454         * MODULES.html.sh (Core language properties): New module flexmember.
16455         * modules/flexmember, m4/flexmember.m4: New files.
16456
16457         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
16458         inline functions that are identical with the old xnmalloc_inline,
16459         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
16460         that we can avoid some unnecessary integer multiplications and
16461         divisions in the common case where the element size is known at
16462         compile time.
16463         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
16464         needed.
16465         (xnboundedmalloc): Remove.
16466         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
16467         arguments, for consistency with rest of this header.
16468         (xcharalloc): Rewrite using XNMALLOC.
16469         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
16470         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
16471         versions have been moved to lib/xalloc.h and renamed to be the
16472         non-*_inline versions.
16473         (xmalloc, xrealloc): Implement without reference to the xnmalloc
16474         and xnrealloc functions, since those functions are now inline and
16475         now call us.
16476         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
16477         renaming described above.
16478         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
16479         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
16480         captures the dependency in AC_C_INLINE.
16481
16482         New module canonicalize-lgpl, proposed by Charles Wilson in
16483         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
16484         with a few small changes afterwards.
16485         * MODULES.html.sh (File system functions): New module
16486         canonicalize-lgpl.
16487         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
16488         and canonicalize_file_name.
16489         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
16490         * modules/canonicalize-lgpl: New files.
16491
16492 2006-11-05  Bruno Haible  <bruno@clisp.org>
16493
16494         * gnulib-tool (func_import, func_create_testdir): Create directories
16495         also for files in subdirectories of lib/.
16496
16497 2006-11-05  Bruno Haible  <bruno@clisp.org>
16498
16499         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
16500         ANSI C compliant.
16501
16502 2006-11-03  Bruno Haible  <bruno@clisp.org>
16503
16504         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
16505         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
16506         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
16507         (xnboundedmalloc): New inline function.
16508         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
16509         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
16510         xmalloc.
16511         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
16512         xmalloc.
16513         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
16514         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
16515         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
16516         xmalloc.
16517         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
16518         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
16519         xmalloc.
16520         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
16521         gl_tree_add_after): Use XMALLOC instead of xmalloc.
16522         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
16523         xmalloc.
16524         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
16525         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
16526         gl_tree_add_after): Use XMALLOC instead of xmalloc.
16527         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
16528         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
16529         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
16530         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
16531
16532 2006-11-03  Bruno Haible  <bruno@clisp.org>
16533
16534         * lib/c-ctype.h [C++]: Define functions without name mangling.
16535         * lib/fwriteerror.h [C++]: Likewise.
16536         * lib/gcd.h [C++]: Likewise.
16537         * lib/linebreak.h [C++]: Likewise.
16538
16539 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16540
16541         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
16542         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
16543         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
16544         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
16545         Check for functions and headers just once.
16546         Check for declaration of canonicalize_file_name.
16547         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
16548
16549 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
16550
16551         * gnulib-tool (func_import): Fix typo in actioncmd.
16552
16553 2006-11-02  Bruno Haible  <bruno@clisp.org>
16554
16555         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
16556         newline sequence in the Makefile.am snippet as a space, like "make"
16557         does.
16558         Reported by Roger Persson <perrog@gmail.com>.
16559
16560 2006-11-01  Bruno Haible  <bruno@clisp.org>
16561
16562         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
16563         already declared in <string.h>.
16564         * lib/strcase.h (strncasecmp): Don't declare it if yes.
16565
16566 2006-11-01  Bruno Haible  <bruno@clisp.org>
16567
16568         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
16569         * lib/strcase.h: Include <string.h>.
16570         (strcasecmp): Define to rpl_strcasecmp here.
16571
16572 2006-11-01  Bruno Haible  <bruno@clisp.org>
16573
16574         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
16575
16576 2006-11-01  Eric Blake  <ebb9@byu.net>
16577
16578         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
16579
16580         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
16581
16582 2006-10-29  Bruno Haible  <bruno@clisp.org>
16583
16584         Make it compile in C++ mode.
16585         * lib/full-write.c (full_rw): Add a cast.
16586
16587 2006-11-01  Bruno Haible  <bruno@clisp.org>
16588
16589         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
16590         be POSIX compliant.
16591         Reported by Roger Persson <perrog@gmail.com>.
16592
16593 2006-11-01  Eric Blake  <ebb9@byu.net>
16594
16595         * lib/getopt_.h: Fix comments.
16596
16597 2006-10-31  Eric Blake  <ebb9@byu.net>
16598
16599         * modules/tmpdir (Depends-on): Add sys_stat.
16600         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
16601         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
16602         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
16603         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
16604         tempname.
16605
16606 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
16607
16608         Avoid some C++ diagnostics reported by Bruno Haible.
16609         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
16610         xmalloc.
16611         (quotearg_alloc): Use xcharalloc rather than xmalloc.
16612         (struct slotvec): Move to top level.
16613         (quotearg_n_options): Rewrite to avoid xmalloc.
16614         * lib/xalloc.h (xcharalloc): New function.
16615         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
16616         [defined __cplusplus]: Add function template that provides result
16617         type propagation.  This part of the change is from Bruno Haible.
16618
16619 2006-10-29  Bruno Haible  <bruno@clisp.org>
16620
16621         Make it compile in C++ mode.
16622         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
16623         * lib/strnlen1.c (strnlen1): Cast memchr result.
16624         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
16625         * lib/clean-temp.c (string_equals, string_hash): Add casts.
16626         (create_temp_dir): Rename local variable 'template'.
16627         (compile_csharp_using_sscli): Add cast.
16628         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
16629         * lib/findprog.c (find_in_path): Likewise.
16630         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
16631         * lib/wait-process.c (register_slave_subprocess): Likewise.
16632
16633 2006-10-22  Bruno Haible  <bruno@clisp.org>
16634
16635         * modules/tsearch: New file.
16636         * lib/tsearch.h: New file.
16637         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
16638         * m4/tsearch.m4: New file.
16639         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
16640
16641 2006-10-29  Eric Blake  <ebb9@byu.net>
16642
16643         * lib/arcfour.c: Assume config.h.
16644         * lib/arctwo.c: Likewise.
16645         * lib/base64.c: Likewise.
16646         * lib/check-version.c: Likewise.
16647         * lib/crc.c: Likewise.
16648         * lib/des.c: Likewise.
16649         * lib/gc-gnulib.c: Likewise.
16650         * lib/gc-libgcrypt.c: Likewise.
16651         * lib/gc-pbkdf2-sha1.c: Likewise.
16652         * lib/getaddrinfo.c: Likewise.
16653         * lib/getdelim.c: Likewise.
16654         * lib/getline.c: Likewise.
16655         * lib/hmac-md5.c: Likewise.
16656         * lib/hmac-sha1.c: Likewise.
16657         * lib/iconvme.c: Likewise.
16658         * lib/md2.c: Likewise.
16659         * lib/md4.c: Likewise.
16660         * lib/memxor.c: Likewise.
16661         * lib/read-file.c: Likewise.
16662         * lib/readline.c: Likewise.
16663         * lib/rijndael-alg-fst.c: Likewise.
16664         * lib/rijndael-api-fst.c: Likewise.
16665         * lib/xgetdomainname.c: Likewise.
16666
16667 2006-10-28  Eric Blake  <ebb9@byu.net>
16668
16669         * lib/xstrndup.c: Assume config.h.
16670
16671 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
16672
16673         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
16674         stat-macros.h is now for our own macros, whereas stat_h is for
16675         macros in the <sys/stat.h> name space.
16676         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
16677         (STAT_MACROS_H): Remove.
16678         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
16679         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
16680         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
16681         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
16682         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
16683         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
16684         Move these macros to ...
16685         * lib/stat_.h: here.  Don't include stat-macros.h.
16686         * lib/canonicalize.c: Don't include stat-macros.h.
16687         * lib/chown.c: Likewise.
16688         * lib/euidaccess.c: Likewise.
16689         * lib/file-type.c: Likewise.
16690         * lib/filemode.c: Likewise.
16691         * lib/glob.c: Likewise.
16692         * lib/isapipe.c: Likewise.
16693         * lib/lchown.c: Likewise.
16694         * lib/lstat.c: Likewise.
16695         * lib/mkdir-p.c: Likewise.
16696         * lib/rmdir.c: Likewise.
16697         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
16698         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
16699         unless mkdir isn't declared, to speed up 'configure'.
16700         Always create sys/stat.h, since it's unlikely any real sys/stat.h
16701         would define all the S_* symbols.
16702         * modules/canonicalize (Depends-on):
16703         Depend on sys_stat, not stat-macros.
16704         * modules/chown: Likewise.
16705         * modules/euidaccess: Likewise.
16706         * modules/filemode: Likewise.
16707         * modules/file-type: Likewise.
16708         * modules/glob: Likewise.
16709         * modules/isapipe: Likewise.
16710         * modules/lchown: Likewise.
16711         * modules/lstat: Likewise.
16712         * modules/mkancesdirs: Likewise.
16713         * modules/rmdir: Likewise.
16714         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
16715         * modules/modechange: Likewise.
16716         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
16717         (configure.ac): Remove gl_STAT_MACROS.
16718         * modules/sys_stat (Depends-on): Remove stat-macros.
16719
16720 2006-10-27  Bruno Haible  <bruno@clisp.org>
16721
16722         * m4/signed.m4: Remove file.
16723         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
16724         invocation.
16725         * modules/vasnprintf (Files): Remove m4/signed.m4.
16726
16727 2006-10-27  Bruno Haible  <bruno@clisp.org>
16728
16729         Update to GNU gettext 0.16.
16730         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
16731         m4/inttypes-h.m4, m4/signed.m4.
16732         * m4/gettext.m4: Update to GNU gettext 0.16.
16733         * m4/intl.m4: New file, from GNU gettext.
16734         * m4/intldir.m4: New file, from GNU gettext.
16735         * config/srclist.txt: Update
16736
16737 2006-10-27  Eric Blake  <ebb9@byu.net>
16738
16739         * MODULES.html.sh: Document tempname.
16740         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
16741         dependencies.
16742         (Files): Move lib/tempname.c...
16743         * modules/tempname: ...to this new module.
16744         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
16745         (gl_PREREQ_TEMPNAME): Move...
16746         * m4/tempname.m4: ...to this new file.
16747         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
16748         * modules/sys_stat (Depends-on): Add stat-macros.
16749         * lib/stat_.h (includes): Pick up stat macros.
16750         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
16751         if stat macros are broken.
16752         * lib/tempname.c (includes): No need to include "stat-macros.h".
16753         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
16754         (direxists, __path_search) [!_LIBC]: Don't compile these in
16755         gnulib; the tmpdir module covers that.
16756         * lib/tempname.h: New file.
16757
16758 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
16759
16760         * COPYING: Explain how gnulib-tool converts licence headers.
16761         Almost all wording by Eric Blake.
16762
16763 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
16764
16765         * lib/mbchar.h (is_basic_table): Make read-only.
16766         * lib/mbchar.c (is_basic_table): Likewise.
16767         Reported by John Darrington.
16768
16769 2006-10-25  Bruno Haible  <bruno@clisp.org>
16770
16771         * lib/progname.h (set_program_name): Undefine before defining.
16772
16773 2006-10-25  Bruno Haible  <bruno@clisp.org>
16774
16775         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
16776         false for non-gcc C++ compilers.
16777         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
16778
16779 2006-10-24  Bruno Haible  <bruno@clisp.org>
16780
16781         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
16782         iconv implementations like Irix iconv.
16783
16784 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16785
16786         * modules/vararrays: New file.
16787         * m4/vararrays.m4: New file, taken from diffutils.
16788         * MODULES.html.sh: New module vararrays.
16789
16790 2006-10-24  Karl Berry  <karl@gnu.org>
16791
16792         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
16793         Don't call GNU Unix.
16794
16795 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16796
16797         * users.txt: Add Libtool.
16798
16799         Sync from Libtool:
16800
16801         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16802
16803         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
16804         to gnulib's policy of including config.h unconditionally.
16805
16806 2006-10-24  Bruno Haible  <bruno@clisp.org>
16807
16808         * modules/wcwidth (Files): Add m4/wint_t.m4.
16809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
16810         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
16811
16812 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16813
16814         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
16815         to pacify GCC with some -W flags enabled.  Problem reported by
16816         Bruno Haible.
16817
16818 2006-10-24  Jim Meyering  <jim@meyering.net>
16819
16820         * MODULES.html.sh: Remove uinttostr.  It's not a module.
16821         Reported by Karl Berry.
16822
16823 2006-10-23  Bruno Haible  <bruno@clisp.org>
16824
16825         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
16826
16827 2006-10-24  Bruno Haible  <bruno@clisp.org>
16828
16829         * lib/gl_list.h: Use C comment style, not C++ comment style.
16830
16831 2006-10-23  Eric Blake  <ebb9@byu.net>
16832
16833         * lib/getaddrinfo.c (includes): Add missing include.
16834
16835 2006-10-23  Bruno Haible  <bruno@clisp.org>
16836             Paul Eggert  <eggert@cs.ucla.edu>
16837
16838         Ability to rename obstack_free.
16839         * lib/obstack.h (__obstack_free): New macro. Declare instead of
16840         obstack_free.
16841         (obstack_free): Invoke the __obstack_free macro.
16842         * lib/obstack.c (obstack_free): Use __obstack_free macro.
16843
16844 2006-10-23  Bruno Haible  <bruno@clisp.org>
16845             Paul Eggert  <eggert@cs.ucla.edu>
16846
16847         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
16848         __argc, __argv from the declaration. (They are defined as macros on
16849         mingw.)
16850
16851 2006-10-22  Bruno Haible  <bruno@clisp.org>
16852
16853         * doc/gnulib-intro.texi: New file.
16854         * doc/gnulib.texi: Include it.
16855
16856 2006-10-21  Bruno Haible  <bruno@clisp.org>
16857
16858         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
16859         "Introduction", "Miscellanous Notes", "Particular Modules".
16860
16861 2006-10-21  Bruno Haible  <bruno@clisp.org>
16862
16863         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16864         Change mostlyclean-local rule to avoid sh syntax error from bash
16865         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
16866
16867 2006-10-23  Jim Meyering  <jim@meyering.net>
16868
16869         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
16870         in place of snprintf.
16871
16872         * modules/inttostr (Files): Add lib/uinttostr.c.
16873         * lib/uinttostr.c (inttostr): New file/function.
16874         * lib/inttostr.h (uinttostr): Declare.
16875         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
16876         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
16877         Add uinttostr.
16878         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
16879
16880 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
16881
16882         * lib/canonicalize.c (ELOOP): Define if not already defined.
16883         Problem reported by Bruno Haible in
16884         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
16885
16886 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
16887
16888         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
16889         Problem reported by Perry Smith and Ville Laurikari.
16890
16891         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
16892         uses.
16893
16894 2006-10-19  Bruno Haible  <bruno@clisp.org>
16895
16896         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
16897         for mingw.
16898
16899 2006-10-19  Bruno Haible  <bruno@clisp.org>
16900
16901         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
16902         Needed for mingw.
16903
16904 2006-10-19  Bruno Haible  <bruno@clisp.org>
16905
16906         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
16907
16908 2006-10-19  Bruno Haible  <bruno@clisp.org>
16909
16910         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
16911         it.
16912
16913 2006-10-19  Bruno Haible  <bruno@clisp.org>
16914
16915         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
16916         invocation.
16917
16918 2006-10-19  Bruno Haible  <bruno@clisp.org>
16919
16920         * gnulib-tool (func_create_testdir): Don't include ftruncate and
16921         mountlist by default.
16922
16923 2006-10-16  Bruno Haible  <bruno@clisp.org>
16924
16925         * lib/c-strstr.c: Include c-strstr.h.
16926
16927 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
16928
16929         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
16930         in a slash.
16931
16932 2006-10-18  Bruno Haible  <bruno@clisp.org>
16933
16934         * lib/lock.h [C++]: Wrap definitions in extern "C".
16935
16936 2006-10-18  Bruno Haible  <bruno@clisp.org>
16937
16938         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
16939         gl_LIBOBJS list.
16940
16941 2006-10-18  Bruno Haible  <bruno@clisp.org>
16942
16943         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
16944
16945 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
16946
16947         * lib/xstrtol.h: Include gettext.h.
16948         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
16949         Problem reported by Eric Blake.
16950         * modules/xstrtol (Depends-on): Add gettext-h.
16951
16952 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
16953
16954         * lib/strftime.c (advance): New macro.
16955         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
16956         incomplete type, so you can't add 0 to it.  Problem and patch
16957         reported by Eelco Dolstra for dietlibc.
16958
16959 2006-10-18  Jim Meyering  <jim@meyering.net>
16960
16961         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
16962         type for a local, and rename it: s/up/user_proc/.
16963
16964 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
16965
16966         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
16967         READ_UTMP_USER_PROCESS.
16968         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
16969
16970 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16971
16972         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
16973         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
16974
16975 2006-10-17  Eric Blake  <ebb9@byu.net>
16976
16977         * lib/sigprocmask.c (sigprocmask): Fix typo.
16978
16979         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
16980
16981         * modules/clean-temp (Makefile.am): Don't add to make output...
16982         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
16983         config.h.
16984
16985 2006-10-17  Bruno Haible  <bruno@clisp.org>
16986
16987         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
16988         differently if DEFAULT_TEXT_DOMAIN is set.
16989
16990 2006-10-16  Bruno Haible  <bruno@clisp.org>
16991
16992         * lib/clean-temp.c: Include fwriteerror.h.
16993
16994 2006-10-16  Bruno Haible  <bruno@clisp.org>
16995
16996         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
16997
16998 2006-10-16  Bruno Haible  <bruno@clisp.org>
16999
17000         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
17001         * lib/sigprocmask.h: Include <sys/types.h>.
17002         (sigset_t): Use the system's definition if present.
17003
17004 2006-10-17  Eric Blake  <ebb9@byu.net>
17005
17006         * lib/xvasprintf.c (includes): Assume config.h.
17007         * lib/xasprintf.c (includes): Likewise.
17008
17009 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17010
17011         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
17012         at least as wide as intmax_t.
17013
17014 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
17015
17016         (Imported from Automake.)
17017         * build-aux/gnupload: Update to version 1.1 of directive file.
17018
17019 2006-10-16  Eric Blake  <ebb9@byu.net>
17020
17021         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
17022         match Automake 1.10a.
17023
17024 2006-10-14  Bruno Haible  <bruno@clisp.org>
17025
17026         * modules/sigprocmask: New file.
17027         * lib/sigprocmask.h: New file.
17028         * lib/sigprocmask.c: New file.
17029         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
17030         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
17031         request sigprocmask.o.
17032         (gl_PREREQ_SIGPROCMASK): New macro.
17033         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
17034         (Depends-on): Add sigprocmask.
17035         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
17036         gt_SIGNALBLOCKING. Test for 'raise' only once.
17037         * lib/fatal-signal.c: Include sigprocmask.h.
17038         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
17039         unblock_fatal_signals): Define always.
17040         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17041         sigprocmask.
17042
17043 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17044
17045         Sync from Automake.
17046         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
17047         which incorrectly sets the mode of an existing destination
17048         directory.  In some cases the unpatched install-sh could do the
17049         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
17050         system.  We hope this is rare in practice, but it's clearly worth
17051         fixing.  Problem reported by Alex Unleashed in
17052         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
17053         Also, don't bother to check for -m bugs unless we're using -m;
17054         suggested by Stepan Kasal.
17055
17056 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17057
17058         Sync from Automake.
17059         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
17060         `-c' flag, so they appear at the same position as in %FASTDEP%
17061         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
17062         which ignores unknown options only after the first non-option.
17063         Bug report against M4 by Nelson H. F. Beebe.
17064
17065 2006-10-13  Jim Meyering  <jim@meyering.net>
17066
17067         Fix a bug in yesterday's change.
17068         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
17069         p->fts_statp->st_dev would be used uninitialized.
17070         Ensures that we always call fts_stat on the very first entry.
17071         Miklos Szeredi reported that find -xdev stopped working.
17072
17073 2006-10-12  Bruno Haible  <bruno@clisp.org>
17074
17075         * gnulib-tool (func_get_automake_snippet): Append an automatically
17076         computed EXTRA_DIST augmentation.
17077         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
17078         * modules/alloca-opt (Makefile.am): Likewise.
17079         * modules/allocsa (Makefile.am): Likewise.
17080         * modules/arcfour (Makefile.am): Likewise.
17081         * modules/arctwo (Makefile.am): Likewise.
17082         * modules/argmatch (Makefile.am): Likewise.
17083         * modules/argz (Makefile.am): Likewise.
17084         * modules/atexit (Makefile.am): Likewise.
17085         * modules/backupfile (Makefile.am): Likewise.
17086         * modules/byteswap (Makefile.am): Likewise.
17087         * modules/c-strtod (Makefile.am): Likewise.
17088         * modules/c-strtold (Makefile.am): Likewise.
17089         * modules/calloc (Makefile.am): Likewise.
17090         * modules/canon-host (Makefile.am): Likewise.
17091         * modules/canonicalize (Makefile.am): Likewise.
17092         * modules/chdir-long (Makefile.am): Likewise.
17093         * modules/chdir-safer (Makefile.am): Likewise.
17094         * modules/check-version (Makefile.am): Likewise.
17095         * modules/chown (Makefile.am): Likewise.
17096         * modules/cloexec (Makefile.am): Likewise.
17097         * modules/close-stream (Makefile.am): Likewise.
17098         * modules/closeout (Makefile.am): Likewise.
17099         * modules/crc (Makefile.am): Likewise.
17100         * modules/csharpexec (Makefile.am): Likewise.
17101         * modules/cycle-check (Makefile.am): Likewise.
17102         * modules/des (Makefile.am): Likewise.
17103         * modules/dev-ino (Makefile.am): Likewise.
17104         * modules/dirfd (Makefile.am): Likewise.
17105         * modules/dirname (Makefile.am): Likewise.
17106         * modules/dup2 (Makefile.am): Likewise.
17107         * modules/eealloc (Makefile.am): Likewise.
17108         * modules/error (Makefile.am): Likewise.
17109         * modules/euidaccess (Makefile.am): Likewise.
17110         * modules/exclude (Makefile.am): Likewise.
17111         * modules/exitfail (Makefile.am): Likewise.
17112         * modules/fcntl-safer (Makefile.am): Likewise.
17113         * modules/fcntl (Makefile.am): Likewise.
17114         * modules/file-type (Makefile.am): Likewise.
17115         * modules/fileblocks (Makefile.am): Likewise.
17116         * modules/filemode (Makefile.am): Likewise.
17117         * modules/filenamecat (Makefile.am): Likewise.
17118         * modules/fnmatch (Makefile.am): Likewise.
17119         * modules/fopen-safer (Makefile.am): Likewise.
17120         * modules/fpending (Makefile.am): Likewise.
17121         * modules/fprintftime (Makefile.am): Likewise.
17122         * modules/free (Makefile.am): Likewise.
17123         * modules/fsusage (Makefile.am): Likewise.
17124         * modules/ftruncate (Makefile.am): Likewise.
17125         * modules/fts (Makefile.am): Likewise.
17126         * modules/gc-arcfour (Makefile.am): Likewise.
17127         * modules/gc-des (Makefile.am): Likewise.
17128         * modules/gc-hmac-md5 (Makefile.am): Likewise.
17129         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
17130         * modules/gc-md4 (Makefile.am): Likewise.
17131         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
17132         * modules/gc-sha1 (Makefile.am): Likewise.
17133         * modules/gc (Makefile.am): Likewise.
17134         * modules/getaddrinfo (Makefile.am): Likewise.
17135         * modules/getcwd (Makefile.am): Likewise.
17136         * modules/getdelim (Makefile.am): Likewise.
17137         * modules/getdomainname (Makefile.am): Likewise.
17138         * modules/getgroups (Makefile.am): Likewise.
17139         * modules/gethostname (Makefile.am): Likewise.
17140         * modules/gethrxtime (Makefile.am): Likewise.
17141         * modules/getline (Makefile.am): Likewise.
17142         * modules/getloadavg (Makefile.am): Likewise.
17143         * modules/getlogin_r (Makefile.am): Likewise.
17144         * modules/getndelim2 (Makefile.am): Likewise.
17145         * modules/getopt (Makefile.am): Likewise.
17146         * modules/getpagesize (Makefile.am): Likewise.
17147         * modules/getpass-gnu (Makefile.am): Likewise.
17148         * modules/getpass (Makefile.am): Likewise.
17149         * modules/getsubopt (Makefile.am): Likewise.
17150         * modules/gettime (Makefile.am): Likewise.
17151         * modules/gettimeofday (Makefile.am): Likewise.
17152         * modules/getugroups (Makefile.am): Likewise.
17153         * modules/getusershell (Makefile.am): Likewise.
17154         * modules/glob (Makefile.am): Likewise.
17155         * modules/group-member (Makefile.am): Likewise.
17156         * modules/hard-locale (Makefile.am): Likewise.
17157         * modules/hash (Makefile.am): Likewise.
17158         * modules/hmac-md5 (Makefile.am): Likewise.
17159         * modules/hmac-sha1 (Makefile.am): Likewise.
17160         * modules/human (Makefile.am): Likewise.
17161         * modules/idcache (Makefile.am): Likewise.
17162         * modules/imaxabs (Makefile.am): Likewise.
17163         * modules/imaxdiv (Makefile.am): Likewise.
17164         * modules/inet_ntop (Makefile.am): Likewise.
17165         * modules/inet_pton (Makefile.am): Likewise.
17166         * modules/intprops (Makefile.am): Likewise.
17167         * modules/inttostr (Makefile.am): Likewise.
17168         * modules/inttypes (Makefile.am): Likewise.
17169         * modules/isapipe (Makefile.am): Likewise.
17170         * modules/javaversion (Makefile.am): Likewise.
17171         * modules/lchmod (Makefile.am): Likewise.
17172         * modules/lchown (Makefile.am): Likewise.
17173         * modules/localcharset (Makefile.am): Likewise.
17174         * modules/long-options (Makefile.am): Likewise.
17175         * modules/lstat (Makefile.am): Likewise.
17176         * modules/malloc (Makefile.am): Likewise.
17177         * modules/mathl (Makefile.am): Likewise.
17178         * modules/mbchar (Makefile.am): Likewise.
17179         * modules/md2 (Makefile.am): Likewise.
17180         * modules/md4 (Makefile.am): Likewise.
17181         * modules/md5 (Makefile.am): Likewise.
17182         * modules/memcasecmp (Makefile.am): Likewise.
17183         * modules/memchr (Makefile.am): Likewise.
17184         * modules/memcmp (Makefile.am): Likewise.
17185         * modules/memcoll (Makefile.am): Likewise.
17186         * modules/memcpy (Makefile.am): Likewise.
17187         * modules/memmem (Makefile.am): Likewise.
17188         * modules/memmove (Makefile.am): Likewise.
17189         * modules/mempcpy (Makefile.am): Likewise.
17190         * modules/memrchr (Makefile.am): Likewise.
17191         * modules/memset (Makefile.am): Likewise.
17192         * modules/memxor (Makefile.am): Likewise.
17193         * modules/mkancesdirs (Makefile.am): Likewise.
17194         * modules/mkdir-p (Makefile.am): Likewise.
17195         * modules/mkdir (Makefile.am): Likewise.
17196         * modules/mkdtemp (Makefile.am): Likewise.
17197         * modules/mkstemp (Makefile.am): Likewise.
17198         * modules/mktime (Makefile.am): Likewise.
17199         * modules/modechange (Makefile.am): Likewise.
17200         * modules/mountlist (Makefile.am): Likewise.
17201         * modules/nanosleep (Makefile.am): Likewise.
17202         * modules/obstack (Makefile.am): Likewise.
17203         * modules/openat (Makefile.am): Likewise.
17204         * modules/pagealign_alloc (Makefile.am): Likewise.
17205         * modules/pathmax (Makefile.am): Likewise.
17206         * modules/physmem (Makefile.am): Likewise.
17207         * modules/poll (Makefile.am): Likewise.
17208         * modules/posixtm (Makefile.am): Likewise.
17209         * modules/posixver (Makefile.am): Likewise.
17210         * modules/putenv (Makefile.am): Likewise.
17211         * modules/quote (Makefile.am): Likewise.
17212         * modules/quotearg (Makefile.am): Likewise.
17213         * modules/raise (Makefile.am): Likewise.
17214         * modules/read-file (Makefile.am): Likewise.
17215         * modules/readline (Makefile.am): Likewise.
17216         * modules/readlink (Makefile.am): Likewise.
17217         * modules/readtokens (Makefile.am): Likewise.
17218         * modules/readutmp (Makefile.am): Likewise.
17219         * modules/realloc (Makefile.am): Likewise.
17220         * modules/regex (Makefile.am): Likewise.
17221         * modules/rename-dest-slash (Makefile.am): Likewise.
17222         * modules/rename (Makefile.am): Likewise.
17223         * modules/rijndael (Makefile.am): Likewise.
17224         * modules/rmdir (Makefile.am): Likewise.
17225         * modules/rpmatch (Makefile.am): Likewise.
17226         * modules/safe-read (Makefile.am): Likewise.
17227         * modules/safe-write (Makefile.am): Likewise.
17228         * modules/same-inode (Makefile.am): Likewise.
17229         * modules/same (Makefile.am): Likewise.
17230         * modules/save-cwd (Makefile.am): Likewise.
17231         * modules/savedir (Makefile.am): Likewise.
17232         * modules/setenv (Makefile.am): Likewise.
17233         * modules/settime (Makefile.am): Likewise.
17234         * modules/sha1 (Makefile.am): Likewise.
17235         * modules/sig2str (Makefile.am): Likewise.
17236         * modules/snprintf (Makefile.am): Likewise.
17237         * modules/stat-macros (Makefile.am): Likewise.
17238         * modules/stat-time (Makefile.am): Likewise.
17239         * modules/stdbool (Makefile.am): Likewise.
17240         * modules/stdint (Makefile.am): Likewise.
17241         * modules/stdlib-safer (Makefile.am): Likewise.
17242         * modules/stpcpy (Makefile.am): Likewise.
17243         * modules/stpncpy (Makefile.am): Likewise.
17244         * modules/strcase (Makefile.am): Likewise.
17245         * modules/strcasestr (Makefile.am): Likewise.
17246         * modules/strchrnul (Makefile.am): Likewise.
17247         * modules/strcspn (Makefile.am): Likewise.
17248         * modules/strdup (Makefile.am): Likewise.
17249         * modules/strerror (Makefile.am): Likewise.
17250         * modules/strftime (Makefile.am): Likewise.
17251         * modules/strndup (Makefile.am): Likewise.
17252         * modules/strnlen (Makefile.am): Likewise.
17253         * modules/strpbrk (Makefile.am): Likewise.
17254         * modules/strsep (Makefile.am): Likewise.
17255         * modules/strstr (Makefile.am): Likewise.
17256         * modules/strtod (Makefile.am): Likewise.
17257         * modules/strtoimax (Makefile.am): Likewise.
17258         * modules/strtok_r (Makefile.am): Likewise.
17259         * modules/strtol (Makefile.am): Likewise.
17260         * modules/strtoll (Makefile.am): Likewise.
17261         * modules/strtoul (Makefile.am): Likewise.
17262         * modules/strtoull (Makefile.am): Likewise.
17263         * modules/strtoumax (Makefile.am): Likewise.
17264         * modules/strverscmp (Makefile.am): Likewise.
17265         * modules/sys_socket (Makefile.am): Likewise.
17266         * modules/sys_stat (Makefile.am): Likewise.
17267         * modules/sysexits (Makefile.am): Likewise.
17268         * modules/time_r (Makefile.am): Likewise.
17269         * modules/timegm (Makefile.am): Likewise.
17270         * modules/timespec (Makefile.am): Likewise.
17271         * modules/tmpfile-safer (Makefile.am): Likewise.
17272         * modules/trim (Makefile.am): Likewise.
17273         * modules/unistd-safer (Makefile.am): Likewise.
17274         * modules/unlinkdir (Makefile.am): Likewise.
17275         * modules/unlocked-io (Makefile.am): Likewise.
17276         * modules/userspec (Makefile.am): Likewise.
17277         * modules/utime (Makefile.am): Likewise.
17278         * modules/utimecmp (Makefile.am): Likewise.
17279         * modules/utimens (Makefile.am): Likewise.
17280         * modules/vasnprintf (Makefile.am): Likewise.
17281         * modules/vasprintf (Makefile.am): Likewise.
17282         * modules/vsnprintf (Makefile.am): Likewise.
17283         * modules/xalloc (Makefile.am): Likewise.
17284         * modules/xgetcwd (Makefile.am): Likewise.
17285         * modules/xnanosleep (Makefile.am): Likewise.
17286         * modules/xreadlink (Makefile.am): Likewise.
17287         * modules/xstrtod (Makefile.am): Likewise.
17288         * modules/xstrtol (Makefile.am): Likewise.
17289         * modules/xstrtold (Makefile.am): Likewise.
17290         * modules/yesno (Makefile.am): Likewise.
17291         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
17292
17293 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17294
17295         * modules/error (Makefile.am): Distribute files through
17296         EXTRA_DIST, not lib_SOURCES.
17297
17298 2006-10-12  Eric Blake  <ebb9@byu.net>
17299
17300         * modules/error (Makefile.am): Distribute files in /lib.
17301         * modules/obstack (Makefile.am): Likewise.
17302
17303 2006-10-12  Bruno Haible  <bruno@clisp.org>
17304
17305         * modules/acl (Makefile.am): Distribute all files in lib/ through
17306         EXTRA_DIST.
17307         * modules/arcfour (Makefile.am): Likewise.
17308         * modules/arctwo (Makefile.am): Likewise.
17309         * modules/argmatch (Makefile.am): Likewise.
17310         * modules/argz (Makefile.am): Likewise.
17311         * modules/atexit (Makefile.am): Likewise.
17312         * modules/backupfile (Makefile.am): Likewise.
17313         * modules/c-strtod (Makefile.am): Likewise.
17314         * modules/c-strtold (Makefile.am): Likewise.
17315         * modules/calloc (Makefile.am): Likewise.
17316         * modules/canon-host (Makefile.am): Likewise.
17317         * modules/canonicalize (Makefile.am): Likewise.
17318         * modules/chdir-long (Makefile.am): Likewise.
17319         * modules/chdir-safer (Makefile.am): Likewise.
17320         * modules/check-version (Makefile.am): Likewise.
17321         * modules/chown (Makefile.am): Likewise.
17322         * modules/cloexec (Makefile.am): Likewise.
17323         * modules/close-stream (Makefile.am): Likewise.
17324         * modules/closeout (Makefile.am): Likewise.
17325         * modules/crc (Makefile.am): Likewise.
17326         * modules/cycle-check (Makefile.am): Likewise.
17327         * modules/des (Makefile.am): Likewise.
17328         * modules/dirfd (Makefile.am): Likewise.
17329         * modules/dirname (Makefile.am): Likewise.
17330         * modules/dup2 (Makefile.am): Likewise.
17331         * modules/euidaccess (Makefile.am): Likewise.
17332         * modules/exclude (Makefile.am): Likewise.
17333         * modules/exitfail (Makefile.am): Likewise.
17334         * modules/fcntl-safer (Makefile.am): Likewise.
17335         * modules/file-type (Makefile.am): Likewise.
17336         * modules/fileblocks (Makefile.am): Likewise.
17337         * modules/filemode (Makefile.am): Likewise.
17338         * modules/filenamecat (Makefile.am): Likewise.
17339         * modules/fnmatch (Makefile.am): Likewise.
17340         * modules/fopen-safer (Makefile.am): Likewise.
17341         * modules/fpending (Makefile.am): Likewise.
17342         * modules/fprintftime (Makefile.am): Likewise.
17343         * modules/free (Makefile.am): Likewise.
17344         * modules/fsusage (Makefile.am): Likewise.
17345         * modules/ftruncate (Makefile.am): Likewise.
17346         * modules/fts (Makefile.am): Likewise.
17347         * modules/gc (Makefile.am): Likewise.
17348         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
17349         * modules/getaddrinfo (Makefile.am): Likewise.
17350         * modules/getcwd (Makefile.am): Likewise.
17351         * modules/getdelim (Makefile.am): Likewise.
17352         * modules/getdomainname (Makefile.am): Likewise.
17353         * modules/getgroups (Makefile.am): Likewise.
17354         * modules/gethostname (Makefile.am): Likewise.
17355         * modules/gethrxtime (Makefile.am): Likewise.
17356         * modules/getline (Makefile.am): Likewise.
17357         * modules/getloadavg (Makefile.am): Likewise.
17358         * modules/getlogin_r (Makefile.am): Likewise.
17359         * modules/getopt (Makefile.am): Likewise.
17360         * modules/getpass (Makefile.am): Likewise.
17361         * modules/getpass-gnu (Makefile.am): Likewise.
17362         * modules/getsubopt (Makefile.am): Likewise.
17363         * modules/gettime (Makefile.am): Likewise.
17364         * modules/gettimeofday (Makefile.am): Likewise.
17365         * modules/getugroups (Makefile.am): Likewise.
17366         * modules/getusershell (Makefile.am): Likewise.
17367         * modules/glob (Makefile.am): Likewise.
17368         * modules/group-member (Makefile.am): Likewise.
17369         * modules/hard-locale (Makefile.am): Likewise.
17370         * modules/hash (Makefile.am): Likewise.
17371         * modules/hmac-md5 (Makefile.am): Likewise.
17372         * modules/hmac-sha1 (Makefile.am): Likewise.
17373         * modules/human (Makefile.am): Likewise.
17374         * modules/idcache (Makefile.am): Likewise.
17375         * modules/imaxabs (Makefile.am): Likewise.
17376         * modules/imaxdiv (Makefile.am): Likewise.
17377         * modules/inet_ntop (Makefile.am): Likewise.
17378         * modules/inet_pton (Makefile.am): Likewise.
17379         * modules/inttostr (Makefile.am): Likewise.
17380         * modules/isapipe (Makefile.am): Likewise.
17381         * modules/lchown (Makefile.am): Likewise.
17382         * modules/long-options (Makefile.am): Likewise.
17383         * modules/lstat (Makefile.am): Likewise.
17384         * modules/malloc (Makefile.am): Likewise.
17385         * modules/mathl (Makefile.am): Likewise.
17386         * modules/mbchar (Makefile.am): Likewise.
17387         * modules/md2 (Makefile.am): Likewise.
17388         * modules/md4 (Makefile.am): Likewise.
17389         * modules/md5 (Makefile.am): Likewise.
17390         * modules/memcasecmp (Makefile.am): Likewise.
17391         * modules/memchr (Makefile.am): Likewise.
17392         * modules/memcmp (Makefile.am): Likewise.
17393         * modules/memcoll (Makefile.am): Likewise.
17394         * modules/memcpy (Makefile.am): Likewise.
17395         * modules/memmem (Makefile.am): Likewise.
17396         * modules/memmove (Makefile.am): Likewise.
17397         * modules/mempcpy (Makefile.am): Likewise.
17398         * modules/memrchr (Makefile.am): Likewise.
17399         * modules/memset (Makefile.am): Likewise.
17400         * modules/memxor (Makefile.am): Likewise.
17401         * modules/mkancesdirs (Makefile.am): Likewise.
17402         * modules/mkdir (Makefile.am): Likewise.
17403         * modules/mkdir-p (Makefile.am): Likewise.
17404         * modules/mkdtemp (Makefile.am): Likewise.
17405         * modules/mkstemp (Makefile.am): Likewise.
17406         * modules/mktime (Makefile.am): Likewise.
17407         * modules/modechange (Makefile.am): Likewise.
17408         * modules/mountlist (Makefile.am): Likewise.
17409         * modules/nanosleep (Makefile.am): Likewise.
17410         * modules/openat (Makefile.am): Likewise.
17411         * modules/pagealign_alloc (Makefile.am): Likewise.
17412         * modules/physmem (Makefile.am): Likewise.
17413         * modules/poll (Makefile.am): Likewise.
17414         * modules/posixtm (Makefile.am): Likewise.
17415         * modules/posixver (Makefile.am): Likewise.
17416         * modules/putenv (Makefile.am): Likewise.
17417         * modules/quote (Makefile.am): Likewise.
17418         * modules/quotearg (Makefile.am): Likewise.
17419         * modules/raise (Makefile.am): Likewise.
17420         * modules/read-file (Makefile.am): Likewise.
17421         * modules/readline (Makefile.am): Likewise.
17422         * modules/readlink (Makefile.am): Likewise.
17423         * modules/readtokens (Makefile.am): Likewise.
17424         * modules/readutmp (Makefile.am): Likewise.
17425         * modules/realloc (Makefile.am): Likewise.
17426         * modules/regex (Makefile.am): Likewise.
17427         * modules/rename (Makefile.am): Likewise.
17428         * modules/rename-dest-slash (Makefile.am): Likewise.
17429         * modules/rijndael (Makefile.am): Likewise.
17430         * modules/rmdir (Makefile.am): Likewise.
17431         * modules/rpmatch (Makefile.am): Likewise.
17432         * modules/safe-read (Makefile.am): Likewise.
17433         * modules/safe-write (Makefile.am): Likewise.
17434         * modules/same (Makefile.am): Likewise.
17435         * modules/save-cwd (Makefile.am): Likewise.
17436         * modules/savedir (Makefile.am): Likewise.
17437         * modules/setenv (Makefile.am): Likewise.
17438         * modules/settime (Makefile.am): Likewise.
17439         * modules/sha1 (Makefile.am): Likewise.
17440         * modules/sig2str (Makefile.am): Likewise.
17441         * modules/snprintf (Makefile.am): Likewise.
17442         * modules/stdlib-safer (Makefile.am): Likewise.
17443         * modules/stpcpy (Makefile.am): Likewise.
17444         * modules/stpncpy (Makefile.am): Likewise.
17445         * modules/strcase (Makefile.am): Likewise.
17446         * modules/strcasestr (Makefile.am): Likewise.
17447         * modules/strchrnul (Makefile.am): Likewise.
17448         * modules/strcspn (Makefile.am): Likewise.
17449         * modules/strdup (Makefile.am): Likewise.
17450         * modules/strerror (Makefile.am): Likewise.
17451         * modules/strftime (Makefile.am): Likewise.
17452         * modules/strndup (Makefile.am): Likewise.
17453         * modules/strnlen (Makefile.am): Likewise.
17454         * modules/strpbrk (Makefile.am): Likewise.
17455         * modules/strsep (Makefile.am): Likewise.
17456         * modules/strstr (Makefile.am): Likewise.
17457         * modules/strtod (Makefile.am): Likewise.
17458         * modules/strtoimax (Makefile.am): Likewise.
17459         * modules/strtok_r (Makefile.am): Likewise.
17460         * modules/strtol (Makefile.am): Likewise.
17461         * modules/strtoll (Makefile.am): Likewise.
17462         * modules/strtoul (Makefile.am): Likewise.
17463         * modules/strtoull (Makefile.am): Likewise.
17464         * modules/strtoumax (Makefile.am): Likewise.
17465         * modules/strverscmp (Makefile.am): Likewise.
17466         * modules/time_r (Makefile.am): Likewise.
17467         * modules/timegm (Makefile.am): Likewise.
17468         * modules/tmpfile-safer (Makefile.am): Likewise.
17469         * modules/unistd-safer (Makefile.am): Likewise.
17470         * modules/unlinkdir (Makefile.am): Likewise.
17471         * modules/userspec (Makefile.am): Likewise.
17472         * modules/utime (Makefile.am): Likewise.
17473         * modules/utimecmp (Makefile.am): Likewise.
17474         * modules/utimens (Makefile.am): Likewise.
17475         * modules/vasnprintf (Makefile.am): Likewise.
17476         * modules/vasprintf (Makefile.am): Likewise.
17477         * modules/vsnprintf (Makefile.am): Likewise.
17478         * modules/xalloc (Makefile.am): Likewise.
17479         * modules/xgetcwd (Makefile.am): Likewise.
17480         * modules/xnanosleep (Makefile.am): Likewise.
17481         * modules/xreadlink (Makefile.am): Likewise.
17482         * modules/xstrtod (Makefile.am): Likewise.
17483         * modules/xstrtol (Makefile.am): Likewise.
17484         * modules/xstrtold (Makefile.am): Likewise.
17485         * modules/yesno (Makefile.am): Likewise.
17486
17487 2006-10-12  Jim Meyering  <jim@meyering.net>
17488
17489         * m4/getloadavg.m4: Revert the change below.
17490
17491         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
17492         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
17493         fail with a symlink, which is what coreutils' ./bootstrap now
17494         creates by default.
17495
17496 2006-10-12  Bruno Haible  <bruno@clisp.org>
17497
17498         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
17499         mingw.
17500         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
17501         MSVC and mingw explicitly.
17502
17503 2006-10-11  Simon Josefsson  <jas@extundo.com>
17504             Bruno Haible  <bruno@clisp.org>
17505
17506         Add support for multiple gnulib-tool invocations in the scope of a
17507         single configure.ac file.
17508         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
17509         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
17510         with the same contents as the _LIBADD variable.
17511         (func_emit_initmacro_start, func_emit_initmacro_end,
17512         func_emit_initmacro_done): New functions.
17513         (func_import, func_create_testdir): Invoke them. Allow the identifiers
17514         gl_LIBOBJS and gl_LTLIBOBJS.
17515
17516 2006-10-11  Bruno Haible  <bruno@clisp.org>
17517
17518         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
17519         (func_create_testdir): Don't create po/Makefile.am, don't invoke
17520         autoreconf. Instead, invoke autopoint explicitly but move back the
17521         *.m4 files from gnulib.
17522
17523 2006-10-11  Bruno Haible  <bruno@clisp.org>
17524
17525         * gnulib-tool (func_usage): Make module names after --create-testdir
17526         optional.
17527         (func_create_testdir): If no module was specified, use nearly all
17528         modules.
17529
17530 2006-10-12  Jim Meyering  <jim@meyering.net>
17531
17532         Big performance improvement for fts-based tools that use FTS_NOSTAT.
17533         Avoid spurious inode-mismatch problems on non-POSIX file systems.
17534         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
17535         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
17536         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
17537         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
17538         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
17539         (fts_set_stat_required): New function.
17540         (fts_open): Defer the calls to fts_stat, if possible or requested.
17541         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
17542         into fts_stat itself.
17543         (fts_read): Perform any required (deferred) fts_stat call.
17544         (fts_build): Likewise, for the directory we're about to open and read.
17545         In the readdir loop, carefully decide whether each entry will require
17546         an eventual call to fts_stat, using dirent.d_type info if available.
17547         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
17548         a command line argument into this function.  Update all callers.
17549         Map a return value of FTS_DOT to FTS_D for a command line argument.
17550         * modules/fts (Depends-on): Add d-type.  Alphabetize.
17551         Thanks to Miklos Szeredi for his tenacity and for the initial
17552         bug report about "find" failing on a FUSE-based file system.
17553
17554         * lib/fts.c (fts_open): Use consistent indentation.
17555
17556 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17557
17558         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
17559         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
17560         reported by Jim Meyering.  All uses of cache variables renamed
17561         to match Autoconf's.
17562         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
17563         the other one.
17564
17565         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
17566         Fix misspelling in diagnostic.
17567
17568 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
17569
17570         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
17571         defined.  Problem reported by Matthew Woehlke.
17572
17573         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
17574         Add support for Tandem NonStop R series.
17575         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
17576         Use new macro.
17577
17578         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
17579         (has_trailing_slash): Omit size arg; all callers changed.
17580         Omit 'inline', since it doesn't help performance and we'd
17581         need to configure it.
17582         Don't count //, ///, etc. as having a trailing slash.
17583         As a side effect, this removes a C99ism reported by Matthew Woehlke.
17584         (rpl_rename_dest_slash): On failure, use rename's errno rather
17585         than (in some cases) an incorrect or junk errno.
17586         Simplify code by removing need to compute length; this does
17587         cause it to make two passes instead of one over the file name,
17588         but it's worth it.
17589
17590         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
17591         change, since Autoconf's version may no longer be appropriate now
17592         that we are using CVS Autoconf's version.  Add support for Tandem.
17593
17594 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
17595             Bruno Haible  <bruno@clisp.org>
17596
17597         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
17598         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
17599         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
17600         gl_AC_TYPE_LONG_LONG.
17601
17602         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
17603         instead of HAVE_LONG_LONG.
17604         * lib/printf-args.c (printf_fetchargs): Likewise.
17605         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17606         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17607         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
17608         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
17609         gl_AC_TYPE_LONG_LONG.
17610
17611 2006-10-11  Bruno Haible  <bruno@clisp.org>
17612
17613         * m4/longlong.m4: Add comments.
17614         * m4/ulonglong.m4: Likewise.
17615
17616 2006-10-10  Bruno Haible  <bruno@clisp.org>
17617
17618         Make it possible to #define stpcpy, strdup to aliases.
17619         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
17620         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
17621
17622 2006-10-10  Bruno Haible  <bruno@clisp.org>
17623
17624         Make it possible to #define gcd to an alias.
17625         * lib/gcd.c: Include config.h.
17626
17627 2006-10-10  Bruno Haible  <bruno@clisp.org>
17628
17629         Make it possible to #define c_isascii to an alias.
17630         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
17631         defined. Undefine the macros before defining them, to avoid gcc
17632         warnings.
17633         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
17634         define NO_C_CTYPE_MACROS early.
17635
17636 2006-10-10  Bruno Haible  <bruno@clisp.org>
17637
17638         Make it possible to #define set_program_name to an alias.
17639         * lib/progname.c: Don't undefine set_program_name; instead, undefine
17640         ENABLE_RELOCATABLE early.
17641
17642 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17643
17644         Port to Tandem NSK OSS, which has 64-bit signed int but at most
17645         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
17646         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
17647         More generally, don't assume that 64-bit signed int is available
17648         if unsigned int is, and vice versa.
17649         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
17650         unsigned symbols, not on their signed counterparts.
17651         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
17652         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
17653         (UINT64_C, UINTMAX_C):
17654         Likewise.
17655         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
17656         unsigned counterparts.
17657         (Have_long_long, Unsigned): New macros.
17658         (Int): Renamed from INT.
17659         (strtoimax): Use the new macros.
17660         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
17661         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
17662         * modules/inttypes (inttypes.h): Substitute
17663         HAVE_UNSIGNED_LONG_LONG_INT.
17664         * modules/stdint (stdint.h): Likewise.
17665         (Files): Add m4/ulonglong.m4.
17666
17667 2006-10-10  Bruno Haible  <bruno@clisp.org>
17668
17669         Fix a gcc -Wshadow warning.
17670         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
17671         to 'bucket'.
17672         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
17673         gl_linked_indexof_from_to): Likewise.
17674         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
17675         Likewise.
17676         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
17677         Likewise.
17678         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
17679         Reported by Eric Blake.
17680
17681 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17682
17683         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
17684         for NetBSD.  Problem reported by Bruno Haible.
17685
17686 2006-10-09  Jim Meyering  <jim@meyering.net>
17687
17688         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
17689         Patch from Bruno Haible.
17690
17691 2006-10-09  Jim Meyering  <jim@meyering.net>
17692
17693         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
17694         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
17695         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
17696
17697 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17698
17699         Don't include <config.h> twice; this doesn't work in some cases,
17700         e.g., when config.h has "#define intmax_t long long int" and
17701         we include <config.h>, <inttypes.h>, <config.h> in that order.
17702         Problem reported by Matthew Woehlke in:
17703         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
17704         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
17705         * lib/fts-cycle.c: Don't include config.h.
17706         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
17707         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
17708         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
17709         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
17710         inttypes.h.
17711         * lib/xstrtoumax.c: Likewise.
17712         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
17713         __strtol and the like, so that this module is more like its siblings.
17714         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
17715         Remove; no longer needed now that we assume gnulib inttypes.h.
17716
17717 2006-10-08  Bruno Haible  <bruno@clisp.org>
17718
17719         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
17720         option.
17721
17722 2006-10-07  Jim Meyering  <jim@meyering.net>
17723
17724         * modules/inttypes (inttypes.h): Revert what seems to have been
17725         an inadvertent part of today's change: use "|", not "/" in the
17726         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
17727
17728 2006-10-07  Bruno Haible  <bruno@clisp.org>
17729
17730         * modules/sublist: New file.
17731
17732 2006-10-07  Bruno Haible  <bruno@clisp.org>
17733
17734         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
17735         * modules/argz (argz.h): Likewise.
17736         * modules/arpa_inet (arpa/inet.h): Likewise.
17737         * modules/byteswap (byteswap.h): Likewise.
17738         * modules/configmake (configmake.h): Likewise.
17739         * modules/fcntl (fcntl.h): Likewise.
17740         * modules/fnmatch (fnmatch.h): Likewise.
17741         * modules/getopt (getopt.h): Likewise.
17742         * modules/glob (glob.h): Likewise.
17743         * modules/inttypes (inttypes.h): Likewise.
17744         * modules/netinet_in (netinet/in.h): Likewise.
17745         * modules/poll (poll.h): Likewise.
17746         * modules/stdbool (stdbool.h): Likewise.
17747         * modules/stdint (stdint.h): Likewise.
17748         * modules/sys_select (sys/select.h): Likewise.
17749         * modules/sys_socket (sys/socket.h): Likewise.
17750         * modules/sys_stat (sys/stat.h): Likewise.
17751         * modules/sysexits (sysexits.h): Likewise.
17752         * modules/unistd (unistd.h): Likewise.
17753         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17754         Add a "DO NOT EDIT" comment to the generated file.
17755         (func_import): Likewise for gnulib-comp.m4.
17756
17757 2006-10-07  Bruno Haible  <bruno@clisp.org>
17758
17759         * lib/gl_sublist.h: New file.
17760         * lib/gl_sublist.c: New file.
17761
17762 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17763
17764         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
17765         name (relative to the original working directory) and the file
17766         name component (relative to the temporary working directory).  All
17767         callers changed.
17768         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
17769         * lib/mkdir-p.c (make_dir_parents): Likewise.
17770         * lib/mkdir-p.h (make_dir_parents): Likewise.
17771
17772 2006-10-06  Eric Blake  <ebb9@byu.net>
17773
17774         Define several macros for use by the clean-temp module.
17775         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
17776         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
17777         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
17778
17779         * lib/clean-temp.h (close_stream_temp): New declaration.
17780         * lib/clean-temp.c (includes): Pull in headers according to what
17781         other modules are in use.
17782         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
17783
17784 2006-10-06  Bruno Haible  <bruno@clisp.org>
17785
17786         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
17787         instead of fopen, fwriteerror.
17788
17789 2006-10-06  Bruno Haible  <bruno@clisp.org>
17790
17791         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
17792         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
17793         int.
17794         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
17795         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
17796         Return an error indicator.
17797         Suggested by Eric Blake.
17798
17799 2006-10-06  Bruno Haible  <bruno@clisp.org>
17800
17801         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
17802         Reported by Eric Blake.
17803
17804 2006-10-06  Bruno Haible  <bruno@clisp.org>
17805
17806         * modules/closeout (Description): Mention stderr too.
17807
17808 2006-10-06  Bruno Haible  <bruno@clisp.org>
17809         and Paul Eggert  <eggert@cs.ucla.edu>
17810
17811         * lib/closeout.c (close_stdout): Also close stderr.
17812         * lib/closeout.h: Update comment.
17813
17814 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17815
17816         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
17817         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
17818         * lib/dirchownmod.c: Include lchown.h.
17819         * lib/lchown.c: Don't include files that lchown.h now includes.
17820         Don't declare chown, since lchown.h now does that.
17821         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
17822         (lchown): Define to rpl_chown if lchown is declared but
17823         does not exist.  Declare using a prototype if lchown is not
17824         declared.  Add a copyright notice.
17825         * lib/mkstemp.h: Include <unistd.h>.
17826         * lib/openat.c: Include lchown.h.
17827
17828         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
17829         we now test for that separately.
17830         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
17831         rather than O_NOFOLLOW, when testing whether it's possible to
17832         avoid a race condition reliably.
17833         * lib/savewd.c (savewd_chdir): Likewise.
17834
17835         Remove macros that are no longer needed now that stdint.h is
17836         reliable.
17837         * lib/fsusage.c (UINTMAX_MAX): Remove.
17838         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
17839         * lib/utimecmp.c (SIZE_MAX): Remove.
17840
17841         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
17842
17843         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
17844         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
17845         O_NOATIME works.
17846
17847 2006-10-05  Bruno Haible  <bruno@clisp.org>
17848
17849         * lib/gl_list.h (gl_sortedlist_search_from_to,
17850         gl_sortedlist_indexof_from_to): New declarations.
17851         (gl_list_implementation): New fields sortedlist_search_from_to,
17852         sortedlist_indexof_from_to.
17853         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
17854         inline functions.
17855         * lib/gl_list.c (gl_sortedlist_search_from_to,
17856         gl_sortedlist_indexof_from_to): New functions.
17857         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
17858         function.
17859         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
17860         (gl_array_sortedlist_search_from_to): New function.
17861         (gl_array_list_implementation): Update.
17862         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
17863         function.
17864         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
17865         (gl_carray_sortedlist_search_from_to): New function.
17866         (gl_carray_list_implementation): Update.
17867         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
17868         gl_linked_sortedlist_indexof_from_to): New functions.
17869         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
17870         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
17871         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
17872         gl_tree_sortedlist_indexof_from_to): New functions.
17873         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
17874         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
17875         Update.
17876         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
17877         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
17878         Update.
17879
17880 2006-10-05  Bruno Haible  <bruno@clisp.org>
17881
17882         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
17883         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
17884         (struct gl_list_implementation): Add fields search_from_to,
17885         indexof_from_to. Remove fields search, indexof.
17886         (gl_list_search): Use the search_from_to method.
17887         (gl_list_search_from, gl_list_search_from_to): New functions.
17888         (gl_list_indexof): Use the indexof_from_to method.
17889         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
17890         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
17891         (gl_list_search_from, gl_list_search_from_to): New functions.
17892         (gl_list_indexof): Use the indexof_from_to method.
17893         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
17894         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
17895         gl_array_indexof. Add start_index, end_index arguments.
17896         (gl_array_search_from_to): Renamed from gl_array_search. Add
17897         start_index, end_index arguments.
17898         (gl_array_remove, gl_array_list_implementation): Update.
17899         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
17900         gl_carray_indexof. Add start_index, end_index arguments.
17901         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
17902         start_index, end_index arguments.
17903         (gl_carray_remove, gl_carray_list_implementation): Update.
17904         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
17905         gl_linked_search. Add start_index, end_index arguments.
17906         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
17907         start_index, end_index arguments.
17908         (gl_linked_remove): Update.
17909         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
17910         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
17911         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
17912         field to 'size_t'.
17913         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
17914         gl_tree_search. Add start_index, end_index arguments.
17915         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
17916         start_index, end_index arguments.
17917         (gl_tree_remove): Update.
17918         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
17919         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
17920         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
17921         function.
17922         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
17923         gl_tree_search. Add start_index, end_index arguments.
17924         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
17925         start_index, end_index arguments.
17926         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
17927         Update.
17928         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
17929
17930 2006-10-05  Bruno Haible  <bruno@clisp.org>
17931
17932         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
17933
17934         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
17935         fwriteerror_temp): New declarations.
17936         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
17937         (descriptors): New variable.
17938         (cleanup): First, close the descriptors.
17939         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
17940         fclose_temp, fwriteerror_temp): New functions.
17941
17942 2006-10-04  Jim Meyering  <jim@meyering.net>
17943
17944         * lib/fts.c (fts_open): Tiny comment change.
17945
17946 2006-10-04  Bruno Haible  <bruno@clisp.org>
17947
17948         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
17949         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
17950         gl_LOCK_BODY.
17951         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
17952         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
17953         gl_LOCK_EARLY_BODY.
17954         (gl_LOCK): Require gl_LOCK_BODY.
17955
17956 2006-10-04  Bruno Haible  <bruno@clisp.org>
17957
17958         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
17959         (gl_oset_search_atleast): New declaration.
17960         (struct gl_oset_implementation): Add field 'search_atleast'.
17961         (gl_oset_search_atleast): New inline function.
17962         * lib/gl_oset.c (gl_oset_search_atleast): New function.
17963         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
17964         (gl_array_oset_implementation): Update.
17965         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
17966         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
17967         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
17968
17969 2006-10-04  Bruno Haible  <bruno@clisp.org>
17970
17971         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
17972
17973 2006-10-03  Bruno Haible  <bruno@clisp.org>
17974
17975         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
17976         from gl_avltreehash_list_implementation.
17977
17978 2006-10-03  Bruno Haible  <bruno@clisp.org>
17979
17980         * lib/gl_oset.c (gl_oset_add): Fix return type.
17981
17982 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
17983
17984         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
17985
17986 2006-10-02  Eric Blake  <ebb9@byu.net>
17987
17988         * modules/strnlen (Depends-on): Add extensions.
17989
17990 2006-10-02  Eric Blake  <ebb9@byu.net>
17991
17992         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
17993         definition in 2.60+.
17994
17995 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
17996
17997         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
17998         checks.
17999
18000 2006-10-02  Bruno Haible  <bruno@clisp.org>
18001
18002         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
18003         to the AUTOMAKE_OPTIONS.
18004         Reported by Jim Meyering.
18005
18006 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
18007
18008         Work around bug in Solaris 10 /proc file system:
18009         /proc/self/fd/NNN/.. isn't the parent directory of
18010         the directory whose file descriptor is NNN.  This needs to
18011         be worked around at run time, not compile time, since a
18012         program might be built on Solaris 8, where things work, and
18013         run on Solaris 10.
18014         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
18015         to use the following interface instead:
18016         (OPENAT_BUFFER_SIZE): New macro.
18017         (openat_proc_name): New function.
18018         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
18019         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
18020         Likewise.
18021         * lib/openat-proc.c: New file.
18022         * modules/openat (Files): Add lib/openat-proc.c.
18023         (Depends-on): Add same-inode, stdbool.
18024         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
18025
18026 2006-09-29  Bruno Haible  <bruno@clisp.org>
18027
18028         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
18029         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
18030         argument. Set stdout_closed before testing for ferror, not after.
18031         (fwriteerror, fwriteerror_no_ebadf): New functions.
18032
18033 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18034
18035         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
18036
18037 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
18038
18039         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
18040         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
18041
18042 2006-09-28  Jim Meyering  <jim@meyering.net>
18043
18044         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
18045         Include <unistd.h>.
18046
18047 2006-09-28  Bruno Haible  <bruno@clisp.org>
18048
18049         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
18050         * modules/linkedhash-list (Depends-on): Likewise.
18051         * modules/rbtreehash-list (Depends-on): Likewise.
18052
18053 2006-09-28  Bruno Haible  <bruno@clisp.org>
18054
18055         * lib/strndup.h: Simplify the redefinition of strndup.
18056         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
18057         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
18058
18059 2006-09-28  Bruno Haible  <bruno@clisp.org>
18060
18061         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
18062         * lib/gl_linkedhash_list.c: Likewise.
18063         * lib/gl_rbtreehash_list.c: Likewise.
18064
18065 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
18066
18067         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
18068         getaddrinfo.
18069
18070         * lib/__fpending.h: Don't include <stdio_ext.h> unless
18071         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
18072         it causes <stdio_ext.h> to cause a compile-time error.
18073         Problem reported by Nelson H. F. Beebe.
18074         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
18075         of HAVE_DECL___PENDING.
18076
18077         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
18078         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
18079         declaration.
18080
18081 2006-09-27  Jim Meyering  <jim@meyering.net>
18082
18083         This file could end up with a definition for a function
18084         named __strndup, rather than rpl_strndup on a system with
18085         incomplete weak_alias support.
18086         * lib/strndup.c (strndup): Rename from __strndup.
18087         Remove #defines that used to map __strndup to strndup.
18088         Don't use K&R prototypes.
18089         Remove LIBC-related code, since this file is not sync'd with glibc.
18090         * lib/strndup.h: Revamp, accordingly.
18091         * m4/strndup.m4: Modernize.
18092
18093 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
18094
18095         * modules/savewd (Depends-on): Add 'raise'.
18096         * lib/savewd.c: Include <signal.h>, for 'raise'.
18097
18098 2006-09-26  Jim Meyering  <jim@meyering.net>
18099
18100         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
18101         when we detect Darwin 8.7.0's acl_get_file bug.
18102         Rearrange to perform the new (below) run-test while $LIBS
18103         contains any acl-related library.  Set USE_ACL at the end.
18104         (gl_ACL_GET_FILE): New function.
18105
18106 2006-09-26  Eric Blake  <ebb9@byu.net>
18107
18108         * lib/verror.c: Include <config.h> unconditionally.
18109
18110 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
18111
18112         * modules/clock-time (Maintainer): Add self.
18113         * modules/getlogin_r (Depends-on): Add extensions.
18114
18115 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18116
18117         * modules/clock-time: New module.
18118         * modules/nanosleep (Depends-on): Add clock-time.
18119         * modules/gethrxtime (Depends-on): Likewise.
18120         * modules/gettime (Depends-on): Likewise.
18121         * modules/settime (Depends-on): Likewise.
18122
18123         * modules/fts-lgpl: Depend on openat.
18124         * modules/mkancesdirs: Depend on savewd.
18125         * modules/mkdir-p: Likewise.
18126
18127 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18128
18129         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
18130
18131         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
18132         `gl_have_arbitrary_file_name_length_limit' to
18133         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
18134         actually works between configure runs.
18135
18136 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18137             Bruno Haible  <bruno@clisp.org>
18138
18139         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
18140
18141 2006-09-25  Jim Meyering  <jim@meyering.net>
18142
18143         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
18144         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
18145
18146 2006-09-25  Eric Blake  <ebb9@byu.net>
18147
18148         * gnulib-tool (func_import, func_create_testdir): Fix typos in
18149         exec's in 2006-09-18 patch when shuffling fds.
18150
18151 2006-09-25  Bruno Haible  <bruno@clisp.org>
18152
18153         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
18154         Reported by Jim Meyering.
18155
18156 2006-09-24  Jim Meyering  <jim@meyering.net>
18157
18158         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
18159         compare a pointer against a literal "0".  That caused failures with
18160         at least HP-UX's hpcc.
18161
18162 2006-09-22  Simon Josefsson  <jas@extundo.com>
18163
18164         * modules/gc-sha1:
18165         * modules/gc-md4:
18166         * modules/gc-hmac-sha1:
18167         * modules/gc-hmac-md5:
18168         * modules/gc-des:
18169         * modules/gc-arcfour: Distribute more files.
18170
18171 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18172
18173         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
18174         (gl_linked_iterator_from_to): Initialize struct completely.
18175         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
18176         (gl_tree_iterator_from_to): Likewise
18177         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
18178         * lib/gl_array_list.c [lint] (gl_array_iterator)
18179         (gl_array_iterator_from_to): Likewise.
18180         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
18181         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
18182         (gl_carray_iterator_from_to): Likewise.
18183
18184         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
18185         * lib/md4.c (md4_process_block): Remove unused variable.
18186         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
18187         parentheses for clarity.
18188
18189 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18190
18191         * modules/bison-i18n (Depends-on): Add gettext.
18192
18193 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18194
18195         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
18196         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
18197         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
18198         also add missing comma that caused broken test.
18199         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
18200         stdlib.h, for `abort'.
18201         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
18202         variables.
18203         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
18204         include unistd.h if present, for `rmdir'.
18205         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
18206         variables.
18207         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
18208         in the process include standard headers for prototypes.
18209         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
18210         gets declared on GNU/Linux.
18211         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
18212         unistd.h, for `rmdir'.
18213         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
18214
18215         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
18216         always true.
18217         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
18218
18219         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
18220
18221 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18222
18223         * gnulib-tool (func_version): Create output all at once.  This
18224         may help avoid triggering unnecessary SIGPIPEs, and at any
18225         rate it doesn't hurt.
18226
18227 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18228             Bruno Haible  <bruno@clisp.org>
18229
18230         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
18231         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
18232         * m4/signed.m4 (bh_C_SIGNED): Likewise.
18233
18234         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
18235         (gl_FUNC_VASPRINTF): Invoke it.
18236
18237 2006-09-22  Bruno Haible  <bruno@clisp.org>
18238
18239         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
18240         getloadavg.c as first argument.
18241
18242 2006-09-22  Bruno Haible  <bruno@clisp.org>
18243
18244         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
18245         at the beginning of the gl_INIT macro.
18246         * modules/getloadavg (configure.ac): Pass $gl_source_base to
18247         gl_GETLOADAVG.
18248
18249 2006-09-22  Bruno Haible  <bruno@clisp.org>
18250
18251         * gnulib-tool (func_create_megatestdir): Don't include the config-h
18252         module.
18253         Suggested by Ralf Wildenhues.
18254
18255 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
18256
18257         Import this patch from libc:
18258
18259         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
18260
18261         * lib/regex_internal.c (re_string_reconstruct): Handle
18262         offset < pstr->valid_raw_len && pstr->offsets_needed case.
18263         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
18264         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
18265         re_string_context_at.
18266
18267         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
18268         now requires it.
18269         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
18270         gl_REGEX now does it for us.
18271         (gl_REGEX): Add test taken from
18272         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
18273
18274         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
18275         Check that large offsets work.  Modernize Autoconf usages.
18276         Prefer "yes" to mean a good thing rather than a bad.
18277         Don't put "#define mkstemp" in config.h, as this might interfere
18278         with standard system headers that "#define mkstemp mkstemp64".
18279
18280         * modules/mkstemp (Depends-on): Add extensions, so that
18281         mkstemp is visible on some platforms.
18282         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
18283         (Include): Change to "mkstemp.h" from <stdlib.h>.
18284         (Files): Add mkstemp.h.
18285
18286         * lib/mkstemp.h: New file, since some standard headers
18287         #define mkstemp.
18288         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
18289         Include "mkstemp.h".
18290         Make the _LIBC code resemble glibc original more,
18291         e.g., use K&R style.
18292         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
18293         (mkstemp): Remove, since mkstemp.h does this for us.
18294         * lib/stdlib--.h: Include mkstemp.h.
18295
18296         Import this patch from libc:
18297
18298         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
18299
18300         * lib/tempname.c (__gen_tempname): Change attempts_min
18301         into a macro.  Use preprocessor to decide how to initialize
18302         attempts [Coverity CID 67].
18303
18304 2006-09-20  Bruno Haible  <bruno@clisp.org>
18305
18306         * lib/mkdtemp.c: Import from libc.
18307         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
18308                 * sysdeps/posix/tempname.c (__gen_tempname): Change
18309                 attempts_min into a macro.  Use preprocessor to decide how to
18310                 initialize attempts [Coverity CID 67].
18311         2001-11-27  Paul Eggert  <eggert@twinsun.com>
18312                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
18313                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
18314
18315 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18316
18317         * gnulib-tool (func_exit): New function, to allow to pass the
18318         exit status portably through the trap.  Use everywhere.
18319         (--help, --version): Signal a write error.
18320         (trap): catch SIGPIPE, for write errors.
18321         Exit at the end of the trap, with the correct exit status.
18322
18323 2006-09-19  Karl Berry  <karl@gnu.org>
18324
18325         * doc/gnulib.texi: note about the license texinfo files.
18326
18327 2006-09-19  Eric Blake  <ebb9@byu.net>
18328
18329         * gnulib-tool: Avoid space-tab.
18330
18331 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18332
18333         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
18334         that prevented coreutils 6.1 from building.  Problem reported
18335         by Petter Reinholdtsen.
18336
18337 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18338
18339         * gnulib-tool (avoidlist): Fix typo that broke options like
18340         --avoid=lock that are used by coreutils bootstrap.
18341
18342 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
18343
18344         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
18345         more systematically.
18346
18347 2006-09-18  Jim Meyering  <jim@meyering.net>
18348
18349         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
18350
18351 2006-09-18  Bruno Haible  <bruno@clisp.org>
18352
18353         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
18354
18355 2006-09-18  Bruno Haible  <bruno@clisp.org>
18356
18357         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
18358         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
18359         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
18360         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
18361         * m4/gettext.m4: Require autoconf >= 2.52.
18362         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
18363         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
18364         of gl_cv_header_inttypes_h.
18365
18366 2006-09-18  Bruno Haible  <bruno@clisp.org>
18367
18368         * lib/javaversion.c: Include configmake.h.
18369
18370 2006-09-18  Bruno Haible  <bruno@clisp.org>
18371
18372         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
18373         avoid that the while loops be executed in a subshell.
18374
18375 2006-09-18  Bruno Haible  <bruno@clisp.org>
18376
18377         * MODULES.html.sh (func_module): Break long lines.
18378         Suggested by Bruce Korb <bkorb@gnu.org>.
18379
18380 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18381
18382         Speed up by a factor of 1.12.
18383         * gnulib-tool (nl): New variable.
18384         (func_import): Rewrite include directive extraction to only read each
18385         directive once.
18386
18387 2006-09-17  Bruno Haible  <bruno@clisp.org>
18388
18389         * modules/javaversion (Makefile.am): Remove DEFS setting.
18390         (Depends-on): Add configmake, for PKGDATADIR definition.
18391
18392 2006-09-17  Bruno Haible  <bruno@clisp.org>
18393
18394         * gnulib-tool (func_create_testdir): Rewrite all files at once.
18395
18396 2006-09-17  Bruno Haible  <bruno@clisp.org>
18397
18398         * gnulib-tool (func_append): New function, stolen from libtool.m4.
18399         (func_modules_transitive_closure, func_modules_add_dummy,
18400         func_modules_to_filelist, func_import, func_create_testdir,
18401         func_create_megatestdir, ...): Use it wherever possible.
18402         Suggested by Ralf Wildenhues.
18403
18404 2006-09-16  Karl Berry  <karl@gnu.org>
18405
18406         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
18407         to avoid sectioning errors.
18408         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
18409         [ifinfo]: blank line after @center-ed titles.
18410         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
18411         Spell FSF address consistently with others.
18412         (These changes approved by rms.)
18413
18414 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18415
18416         Speed up by a factor of 1.61.
18417         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
18418         already checked module names again.
18419
18420 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18421
18422         Speed up by a factor of 1.13.
18423         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
18424         for new_files, and the input to func_add_or_update.
18425
18426 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18427
18428         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
18429         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
18430
18431 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18432
18433         * modules/mkancesdirs (Depends-on): Add fcntl.
18434         * modules/savewd: New file.
18435         * MODULES.html.sh (File system functions): Add savewd.
18436
18437         * modules/configmake (Makefile.am): Add support for the
18438         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
18439
18440 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18441
18442         * m4/savewd.m4: New file.
18443
18444 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18445
18446         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
18447         (dirchownmod): New arg FD.  All callers changed.
18448         Use FD rather than opening the directory ourself, as opening is
18449         now the caller's responsibility.
18450         * lib/dirchownmod.h: Likewise.
18451         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
18452         hosts that require <sys/types.h> before <sys/stat.h>.  Include
18453         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
18454         (test_dir): Remove.
18455         (mkancesdirs): Return length of prefix of FILE that has already
18456         been made, or -2 if there is a child doing the work.  Redo
18457         algorithm so that it is O(N) rather than O(N**2).  Optimize away
18458         ".", and treat ".." specially since it might stray back into
18459         already-created areas.  Use a subprocess if necessary.  New arg
18460         WD; all users changed.  MAKE_DIR function should now return 1
18461         if it creates a directory that is not readable.  Return -2 if
18462         a child process is spun off.
18463         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
18464         Adjust signature to match code.
18465         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
18466         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
18467         all users changed.
18468         * lib/savewd.c, lib/savewd.h: New files.
18469
18470 2006-09-15  Jim Meyering  <jim@meyering.net>
18471
18472         * modules/rename-dest-slash: New module.
18473         * MODULES.html.sh (posix_compat): Add it here.
18474
18475         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
18476
18477 2006-09-15  Jim Meyering  <jim@meyering.net>
18478
18479         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
18480         file.
18481
18482         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
18483
18484 2006-09-15  Jim Meyering  <jim@meyering.net>
18485
18486         * lib/rename-dest-slash.c (has_trailing_slash): Use
18487         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
18488         (rpl_rename_dest_slash): Perform the cheaper trailing slash
18489         test before testing whether SRC is a directory.
18490         Suggestions from Bruno Haible.
18491
18492         Avoid a warning about an unused variable.
18493         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
18494         into the #ifdef block where it's used.
18495
18496         * lib/rename-dest-slash.c: New file.
18497
18498 2006-09-14  Bruno Haible  <bruno@clisp.org>
18499
18500         * lib/allocsa.c: Include <config.h> unconditionally.
18501         * lib/asnprintf.c: Likewise.
18502         * lib/asprintf.c: Likewise.
18503         * lib/c-strcasecmp.c: Likewise.
18504         * lib/c-strcasestr.c: Likewise.
18505         * lib/c-strncasecmp.c: Likewise.
18506         * lib/c-strstr.c: Likewise.
18507         * lib/classpath.c: Likewise.
18508         * lib/clean-temp.c: Likewise.
18509         * lib/concatpath.c: Likewise.
18510         * lib/copy-file.c: Likewise.
18511         * lib/csharpcomp.c: Likewise.
18512         * lib/csharpexec.c: Likewise.
18513         * lib/execute.c: Likewise.
18514         * lib/fatal-signal.c: Likewise.
18515         * lib/findprog.c: Likewise.
18516         * lib/fwriteerror.c: Likewise.
18517         * lib/gl_array_list.c: Likewise.
18518         * lib/gl_array_oset.c: Likewise.
18519         * lib/gl_avltree_list.c: Likewise.
18520         * lib/gl_avltree_oset.c: Likewise.
18521         * lib/gl_avltreehash_list.c: Likewise.
18522         * lib/gl_carray_list.c: Likewise.
18523         * lib/gl_linked_list.c: Likewise.
18524         * lib/gl_linkedhash_list.c: Likewise.
18525         * lib/gl_list.c: Likewise.
18526         * lib/gl_oset.c: Likewise.
18527         * lib/gl_rbtree_list.c: Likewise.
18528         * lib/gl_rbtree_oset.c: Likewise.
18529         * lib/gl_rbtreehash_list.c: Likewise.
18530         * lib/imaxabs.c: Likewise.
18531         * lib/imaxdiv.c: Likewise.
18532         * lib/javacomp.c: Likewise.
18533         * lib/javaexec.c: Likewise.
18534         * lib/javaversion.c: Likewise.
18535         * lib/linebreak.c: Likewise.
18536         * lib/localcharset.c: Likewise.
18537         * lib/lock.c: Likewise.
18538         * lib/mbchar.c: Likewise.
18539         * lib/mbswidth.c: Likewise.
18540         * lib/mkdtemp.c: Likewise.
18541         * lib/pipe.c: Likewise.
18542         * lib/printf-args.c: Likewise.
18543         * lib/printf-parse.c: Likewise.
18544         * lib/progname.c: Likewise.
18545         * lib/progreloc.c: Likewise.
18546         * lib/readlink.c: Likewise.
18547         * lib/sh-quote.c: Likewise.
18548         * lib/stpcpy.c: Likewise.
18549         * lib/stpncpy.c: Likewise.
18550         * lib/strcasecmp.c: Likewise.
18551         * lib/strcasestr.c: Likewise.
18552         * lib/strcspn.c: Likewise.
18553         * lib/striconv.c: Likewise.
18554         * lib/strncasecmp.c: Likewise.
18555         * lib/strnlen1.c: Likewise.
18556         * lib/strstr.c: Likewise.
18557         * lib/strtok_r.c: Likewise.
18558         * lib/tls.c: Likewise.
18559         * lib/tmpdir.c: Likewise.
18560         * lib/unicodeio.c: Likewise.
18561         * lib/unsetenv.c: Likewise.
18562         * lib/vasnprintf.c: Likewise.
18563         * lib/vasprintf.c: Likewise.
18564         * lib/wait-process.c: Likewise.
18565         * lib/xallocsa.c: Likewise.
18566         * lib/xsetenv.c: Likewise.
18567         * lib/xstriconv.c: Likewise.
18568
18569 2006-09-13  Simon Josefsson  <jas@extundo.com>
18570
18571         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
18572         that internally, suggested by Ralf Wildenhues
18573         <Ralf.Wildenhues@gmx.de>.
18574
18575 2006-09-13  Simon Josefsson  <jas@extundo.com>
18576
18577         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
18578         @LIBOBJS@.
18579         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18580
18581 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
18582
18583         * lib/_fpending.c: Include <config.h> unconditionally, since we no
18584         longer worry about uses that don't define HAVE_CONFIG_H.
18585         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
18586         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
18587         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
18588         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
18589         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
18590         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
18591         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
18592         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
18593         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
18594         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
18595         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
18596         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
18597         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
18598         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
18599         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
18600         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
18601         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
18602         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
18603         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
18604         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
18605         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
18606         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
18607         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
18608         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
18609         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
18610         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
18611         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
18612         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
18613         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
18614         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
18615         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
18616         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
18617         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
18618         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
18619         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
18620         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
18621         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
18622         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
18623         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
18624         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
18625         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
18626         Likewise.
18627
18628 2006-09-13  Eric Blake  <ebb9@byu.net>
18629
18630         * lib/getopt.c: Fix typo in last commit.
18631
18632 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18633
18634         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
18635         dgettext.
18636
18637 2006-09-12  Jim Meyering  <jim@meyering.net>
18638
18639         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
18640         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
18641         Reported by Nelson H. F. Beebe.
18642
18643 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18644
18645         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
18646         program_invocation_name and program_invocation_short_name are
18647         initialized.
18648         * lib/argp-namefrob.h: Move declarations of program_invocation_name
18649         and program_invocation_short_name to argp.h, so they are visible
18650         to user programs.
18651         * lib/argp.h: Likewise
18652
18653 2006-09-10  Bruno Haible  <bruno@clisp.org>
18654
18655         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
18656         m4/inttypes_h.m4, m4/uintmax_t.m4.
18657
18658 2006-09-10  Bruno Haible  <bruno@clisp.org>
18659
18660         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
18661         gl_AC_TYPE_UINTMAX_T.
18662
18663 2006-09-10  Bruno Haible  <bruno@clisp.org>
18664
18665         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
18666
18667 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18668
18669         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
18670         convention.  Text proposed by Bruno Haible.
18671         (struct argp_option): Document the use of N_() wrappers.
18672
18673         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
18674         '\v', and translate the two parts separately, instead of feeding
18675         the whole string to gettext.  This allows to exclude
18676         '\v' from the strings visible to the translator by writing doc
18677         strings as N_("..") "\v" N_("..").
18678
18679 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18680
18681         * config/srclist.txt: Undo latest change; the bug was fixed.
18682
18683 2006-09-09  Bruno Haible  <bruno@clisp.org>
18684
18685         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
18686         assignments if building a library without libtool.
18687         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
18688         in func_emit_lib_Makefile_am.
18689         (func_import): When building a static library libfoo.a, arrange to
18690         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
18691         (func_create_testdir): Likewise.
18692         * modules/gc (configure.ac, Makefile.am): If building statically,
18693         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
18694         * modules/iconvme (configure.ac, Makefile.am): Likewise.
18695         * modules/striconv (configure.ac, Makefile.am): Likewise.
18696         Based on a suggestion by Ralf Wildenhues.
18697
18698 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18699
18700         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
18701         Check for unistd.h too, since Autoconf doesn't assume POSIX.
18702         Also:
18703
18704         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18705         Add year_2050_test to catch glibc bug 2821
18706         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
18707
18708         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18709         Prefer #ifdef to #if.
18710
18711         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
18712         Return from 'main' instead of calling 'exit'.
18713
18714 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18715
18716         * lib/mktime.c (guess_time_tm): Fix bug where mktime
18717         returned the maximum time_t value rather than (time_t) -1.
18718         Problem originally reported by William Bardwell
18719         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
18720
18721         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
18722         Moved to here ...
18723         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
18724         ... from here.
18725
18726 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18727
18728         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
18729         2821 is fixed.
18730
18731 2006-09-08  Jim Meyering  <jim@meyering.net>
18732
18733         Don't make generated files read-only.  That would bother too many
18734         people.  However, do retain the ability to work when targets are
18735         read-only: remove the destination and temporary files before writing
18736         them (when generated via sed or echo), or by using the -f option for
18737         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
18738         * modules/alloca-opt, modules/argz, modules/arpa_inet:
18739         * modules/byteswap, modules/configmake, modules/fcntl:
18740         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
18741         * modules/localcharset, modules/netinet_in, modules/poll:
18742         * modules/stdbool, modules/stdint, modules/sys_select:
18743         * modules/sys_socket, modules/sys_stat, modules/sysexits:
18744
18745 2006-09-08  Jim Meyering  <jim@meyering.net>
18746
18747         Avoid new build failure on FreeBSD 6.0.
18748         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
18749         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
18750         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
18751
18752 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18753
18754         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
18755
18756 2006-09-07  Jim Meyering  <jim@meyering.net>
18757
18758         Fix global typo in last change: use chmod u-w, not chmod u-x.
18759         Spotted by Paul Eggert and Bruce Korb.
18760         * modules/alloca-opt, modules/argz, modules/arpa_inet:
18761         * modules/byteswap, modules/configmake, modules/fcntl:
18762         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
18763         * modules/localcharset, modules/netinet_in, modules/poll:
18764         * modules/stdbool, modules/stdint, modules/sys_select:
18765         * modules/sys_socket, modules/sys_stat, modules/sysexits:
18766
18767 2006-09-06  Jim Meyering  <jim@meyering.net>
18768
18769         Make generated files be read-only.
18770         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
18771         Ensure that each generated file is now read-only.
18772         * modules/argz: Likewise.
18773         * modules/arpa_inet: Likewise.
18774         * modules/byteswap: Likewise.
18775         * modules/configmake: Likewise.
18776         * modules/fcntl: Likewise.
18777         * modules/fnmatch: Likewise.
18778         * modules/getopt: Likewise.
18779         * modules/glob: Likewise.
18780         * modules/inttypes: Likewise.
18781         * modules/netinet_in: Likewise.
18782         * modules/poll: Likewise.
18783         * modules/stdbool: Likewise.
18784         * modules/stdint: Likewise.
18785         * modules/sys_select: Likewise.
18786         * modules/sys_socket: Likewise.
18787         * modules/sys_stat: Likewise.
18788         * modules/sysexits: Likewise.
18789         * modules/localcharset: Same as above, but continue using temporary
18790         file named "t-$@" (why different?) rather than the "$@-t" used
18791         everywhere else.
18792
18793         * modules/sysexits (Makefile.am): Replace literal occurrences
18794         of "sysexit.h" more readable, and more consistent, "$@".
18795
18796 2006-09-06  Bruno Haible  <bruno@clisp.org>
18797
18798         * modules/striconv: New file.
18799         * modules/xstriconv: New file.
18800         * MODULES.html.sh (Internationalization functions): Add striconv,
18801         xstriconv.
18802
18803 2006-09-06  Bruno Haible  <bruno@clisp.org>
18804
18805         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
18806         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
18807         not using libtool correctly.
18808
18809 2006-09-06  Bruno Haible  <bruno@clisp.org>
18810
18811         * lib/striconv.h: New file.
18812         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
18813         iconvstring.c.
18814         * lib/xstriconv.h: New file.
18815         * lib/xstriconv.c: New file.
18816
18817 2006-09-06  Bruno Haible  <bruno@clisp.org>
18818
18819         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
18820         lib_..._LDFLAGS.
18821
18822 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18823
18824         * lib/argz_.h: Sync from Libtool.
18825
18826         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
18827                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18828
18829         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
18830
18831 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
18832
18833         * modules/trim: New file.
18834
18835 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
18836
18837         * lib/trim.h: New file.
18838         * lib/trim.c: New file.
18839
18840 2006-09-05  Bruno Haible  <bruno@clisp.org>
18841
18842         * MODULES.html.sh (String handling): Add trim.
18843
18844 2006-09-04  Karl Berry  <karl@gnu.org>
18845
18846         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
18847         until next release.
18848
18849 2006-09-03  Bruno Haible  <bruno@clisp.org>
18850
18851         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
18852         correctly.
18853
18854 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18855
18856         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
18857         not gl_GETLOADAVG.  Omit unneeded semicolons.
18858         Problems reported by Ralf Wildenhues in
18859         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
18860         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
18861         at the end, which is the usual gnulib style.
18862
18863         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
18864         of doing all the work ourselves.
18865         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
18866         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
18867
18868 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18869
18870         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
18871         Problem reported by Ralf Wildenhues in
18872         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
18873
18874         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
18875         HAVE_STRUCT_STATFS_F_FSTYPENAME.
18876
18877 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18878
18879         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
18880         yesterday's patch by changing test -n to test -z.
18881
18882 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18883
18884         * modules/getloadavg (Files): Add m4/getloadavg.m4.
18885         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
18886         the former is now obsolescent.
18887
18888         * modules/chdir-long (Depends-on): Add fcntl.
18889
18890 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18891
18892         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
18893         obsolescent, and programs should use gnulib instead.
18894         * m4/getloadavg.m4: New file, with contents taken from Autoconf
18895         but with prefixes changed.
18896
18897 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18898
18899         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
18900         or stdbool.h, because they might not exist while configuring.
18901
18902         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
18903         Don't include unistd.h or limits.h; not needed, since chdir-long.h
18904         does that for us.
18905         (O_DIRECTORY): Remove.
18906
18907 2006-08-31  Eric Blake  <ebb9@byu.net>
18908
18909         * gnulib-tool: Don't let emacs change spaces to TAB.
18910
18911 2006-08-31  Bruno Haible  <bruno@clisp.org>
18912
18913         * gnulib-tool: When calling func_import more than once, do it in a
18914         subshell.
18915         Reported by Eric Blake <ebb9@byu.net>.
18916
18917 2006-08-31  Bruno Haible  <bruno@clisp.org>
18918
18919         * gnulib-tool (nl): Remove variable.
18920         (sed_transform_lib_file): Use more robust test for config-h module.
18921         (func_import): Fix typo in 2006-08-25 patch.
18922
18923 2006-08-31  Bruno Haible  <bruno@clisp.org>
18924
18925         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
18926         specified, augment Makefile.am variables instead of assigning them.
18927
18928 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18929
18930         Work around a bug in both the Linux and SunOS 64-bit kernels:
18931         nanosleep mishandles sleeps for longer than 2**31 seconds.
18932         Problem reported by Frank v Waveren in
18933         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
18934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
18935         Check for nanosleep bug.
18936         (LIB_NANOSLEEP): Append clock_gettime library if needed.
18937
18938 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18939
18940         Work around a bug in both the Linux and SunOS 64-bit kernels:
18941         nanosleep mishandles sleeps for longer than 2**31 seconds.
18942         Problem reported by Frank v Waveren in
18943         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
18944         * lib/nanosleep.c (BILLION): New constant.
18945         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
18946         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
18947         implementation.
18948
18949 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18950
18951         * modules/nanosleep (Depends-on): Add gettime.
18952
18953 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18954         and Simon Josefsson  <jas@extundo.com>
18955         and Oskar Liljeblad  <oskar@osk.mine.nu>
18956
18957         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
18958         * gnulib-tool (func_import): New license type 'unmodifiable license
18959         text'.
18960         * modules/fdl: Use it.  Longer description.
18961         * module/gpl, module/lgpl: New files.
18962
18963 2006-08-30  Jim Meyering  <jim@meyering.net>
18964
18965         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
18966         shadowing the parameter.
18967
18968 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18969
18970         Sync from Libtool:
18971
18972         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18973
18974         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
18975         sharing with gnulib.  Report by Eric Blake.
18976
18977 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18978
18979         * modules/isapipe: New file.
18980         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
18981
18982 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18983
18984         * modules/configmake (Makefile.am): Add a comment, and omit
18985         the CONFIGMAKE_ prefix from generated macro names.  Suggested
18986         by Bruno Haible.
18987
18988 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18989
18990         * m4/isapipe.m4: New file.
18991
18992 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18993
18994         * lib/isapipe.c, lib/isapipe.h: New files.
18995
18996 2006-08-29  Jim Meyering  <jim@meyering.net>
18997
18998         * modules/configmake (Makefile.am): Make configmake.h depend on
18999         Makefile.  Otherwise, a stale configmake.h could hang around.
19000
19001 2006-08-29  Eric Blake  <ebb9@byu.net>
19002
19003         * lib/error.c (error_at_line, print_errno_message): Match libc, after
19004         resolution of upstream bug 3044.
19005
19006 2006-08-29  Bruno Haible  <bruno@clisp.org>
19007
19008         * modules/localcharset (Depends-on): Add configmake.
19009         (Makefile.am): Remove setting of LIBDIR through DEFS.
19010
19011 2006-08-29  Bruno Haible  <bruno@clisp.org>
19012
19013         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
19014         defined.
19015
19016 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19017
19018         * modules/fcntl: New file.
19019         * modules/chdir-safer (Depends-on): Add fcntl.
19020         * modules/fts: Likewise.
19021         * modules/mkdir-p: Likewise.
19022
19023         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
19024         This undoes the most recent change, since we're now addressing the
19025         problem in a different way.
19026
19027         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
19028         into output, since the output might be called Makefile.am even
19029         if $makefile_name is something different.
19030         (func_import): Use $makefile_am rather than
19031         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
19032         empty.
19033
19034         * modules/inttypes (Files): Add m4/inttypes-h.m4.
19035
19036 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19037
19038         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
19039         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
19040         recent change to stdint.m4, since we're now addressing the problem in a
19041         different way.
19042
19043 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19044
19045         * m4/fcntl_h.m4: New file.
19046
19047 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19048
19049         * lib/fcntl_.h: New file.
19050         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
19051         the fcntl module.
19052         * lib/dirchownmod.c: Likewise.
19053         * lib/fts.c: Likewise.
19054
19055         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
19056         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
19057         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
19058         just before including <inttypes.h>, to avoid circular inclusion.
19059
19060 2006-08-28  Jim Meyering  <jim@meyering.net>
19061
19062         * doc/visibility.texi: Actually read and correct the grammar of the
19063         sentence affected by yesterday's change.
19064
19065 2006-08-28  Eric Blake  <ebb9@byu.net>
19066
19067         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
19068         needs wrapper.
19069
19070 2006-08-28  Eric Blake  <ebb9@byu.net>
19071
19072         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
19073
19074 2006-08-28  Eric Blake  <ebb9@byu.net>
19075
19076         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
19077
19078 2006-08-28  Bruno Haible  <bruno@clisp.org>
19079
19080         * modules/c-strstr: New file, from GNU gettext.
19081         * MODULES.html.sh (String handling): Add c-strstr.
19082
19083 2006-08-28  Bruno Haible  <bruno@clisp.org>
19084
19085         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
19086         macros.
19087         Reported by Eric Blake.
19088
19089 2006-08-28  Bruno Haible  <bruno@clisp.org>
19090
19091         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
19092         (VASNPRINTF): Return a string of length > INT_MAX without failing.
19093         * lib/vasprintf.c: Include errno.h, limits.h.
19094         (EOVERFLOW): New fallback definition.
19095         (vasprintf): Test here whether the string length is > INT_MAX.
19096         * lib/vsnprintf.c: Include errno.h, limits.h.
19097         (EOVERFLOW): New fallback definition.
19098         (vsnprintf): Fix bug when generated string was too long for the buffer.
19099         Test here whether the string length is > INT_MAX.
19100
19101 2006-08-28  Bruno Haible  <bruno@clisp.org>
19102
19103         * lib/inttypes_.h (SCNX*): Remove definitions.
19104         Reported by Eric Blake.
19105
19106 2006-08-28  Bruno Haible  <bruno@clisp.org>
19107
19108         * lib/c-strstr.h: New file, from GNU gettext.
19109         * lib/c-strstr.c: New file, from GNU gettext.
19110
19111 2006-08-28  Bruno Haible  <bruno@clisp.org>
19112
19113         * gnulib-tool: Reorder some statements.
19114
19115 2006-08-28  Bruno Haible  <bruno@clisp.org>
19116
19117         * gnulib-tool: New option --makefile-name.
19118         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
19119         $makefile_name.
19120         (func_import): Write $makefile_name to the cache file, and read it from
19121         there unless explicitly specified. Use $makefile_name as file name
19122         instead of Makefile.am. Adjust the recommendations accordingly.
19123
19124 2006-08-28  Bruno Haible  <bruno@clisp.org>
19125
19126         * gnulib-tool (func_verify_module): Check against misapplying patch.
19127
19128 2006-08-28  Bruno Haible  <bruno@clisp.org>
19129
19130         * gnulib-tool (func_relativize, func_relconcat): New functions.
19131         Give an error if --local-dir is given with --update.
19132         Remove trailing slashes from $local_gnulib_dir.
19133         (func_import): Store the relativized $local_gnulib_dir in
19134         gnulib-cache.m4, and read it from there if not specified explicitly.
19135
19136 2006-08-28  Bruno Haible  <bruno@clisp.org>
19137
19138         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
19139         is the current directory. Respect also $local_gnulib_dir.
19140
19141 2006-08-28  Bruno Haible  <bruno@clisp.org>
19142             Simon Josefsson  <jas@extundo.com>
19143
19144         BeOS portability.
19145         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
19146
19147 2006-08-27  Jim Meyering  <jim@meyering.net>
19148
19149         * doc/visibility.texi: Remove duplicate word: "pointer".
19150
19151 2006-08-26  Bruno Haible  <bruno@clisp.org>
19152
19153         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
19154         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
19155         (Makefile.am): Create inttypes.h from inttypes_.h.
19156         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
19157
19158         * modules/imaxabs: New file.
19159
19160         * modules/imaxdiv: New file.
19161
19162 2006-08-26  Bruno Haible  <bruno@clisp.org>
19163
19164         * m4/inttypes.m4: New file.
19165         * m4/_inttypes_h.m4: Remove file.
19166         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
19167         PRI_MACROS_BROKEN.
19168         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
19169
19170         * m4/imaxabs.m4: New file.
19171
19172         * m4/imaxdiv.m4: New file.
19173
19174 2006-08-26  Bruno Haible  <bruno@clisp.org>
19175
19176         * lib/inttypes_.h: New file.
19177         * lib/inttypes.h: Remove file.
19178         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
19179
19180         * lib/imaxabs.c: New file.
19181
19182         * lib/imaxdiv.c: New file.
19183
19184 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
19185
19186         New config-h module, so that "make" output needn't be cluttered
19187         by -DHAVE_CONFIG_H.
19188         * MODULES.html.sh (Support for building libraries and executables):
19189         Add config-h.
19190         * modules/config-h: New file.
19191         * gnulib-tool (nl, sed_transform_lib_file): New vars.
19192         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
19193         the config-h module is used.
19194
19195         New configmake module, so that "make" output needn't be cluttered
19196         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
19197         * MODULES.html.sh (Support for building libraries and executables):
19198         Add configmake.
19199         * modules/configmake: New file.
19200
19201 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
19202
19203         * m4/config-h.m4: New file.
19204
19205 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19206
19207         * config/srclist.txt: Add elisp-comp.
19208
19209 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19210
19211         * MODULES.html.sh (Support for building libraries and executables):
19212         Add elisp-comp.
19213         * build-aux/elisp-comp: New file.
19214         * modules/elisp-comp: New file.
19215
19216 2006-08-24  Bruno Haible  <bruno@clisp.org>
19217
19218         * gnulib-tool (func_create_testdir): Use non-default values of
19219         sourcebase and m4base.
19220
19221 2006-08-24  Bruno Haible  <bruno@clisp.org>
19222
19223         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
19224         HTML structure.
19225
19226 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19227
19228         * modules/openat (Depends-on): Add lchown.
19229
19230 2006-08-23  Bruno Haible  <bruno@clisp.org>
19231
19232         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
19233         of gl_LOCK_EARLY instead of gl_LOCK.
19234
19235 2006-08-23  Bruno Haible  <bruno@clisp.org>
19236
19237         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
19238         on OSF/1 to no.
19239         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
19240
19241 2006-08-23  Bruno Haible  <bruno@clisp.org>
19242
19243         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
19244         as unusable.
19245
19246         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
19247         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
19248         (gl_LOCK): New macro.
19249
19250 2006-08-22  Simon Josefsson  <jas@extundo.com>
19251
19252         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
19253         to md5 module.
19254
19255 2006-08-22  Simon Josefsson  <jas@extundo.com>
19256
19257         * MODULES.html.sh: Add "Support for maintaining and release
19258         projects".
19259
19260         * build-aux/gnupload: New file, from coreutils.
19261
19262 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
19263
19264         Avoid the need for AC_LIBSOURCES in m4 macros.
19265         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
19266         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
19267         * modules/check-version (EXTRA_DIST): Add check-version.h.
19268         * modules/crc (EXTRA_DIST): Add crc.h.
19269         * modules/des (EXTRA_DIST): Add des.h.
19270         * modules/gc (EXTRA_DIST): Add gc.h.
19271         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
19272         * modules/getline (EXTRA_DIST): Add getline.h.
19273         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
19274         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
19275         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
19276         * modules/md2 (EXTRA_DIST): Add md2.h.
19277         * modules/md4 (EXTRA_DIST): Add md4.h.
19278         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
19279         * modules/read-file (EXTRA_DIST): Add read-file.h.
19280         * modules/readline (EXTRA_DIST): Add readline.h.
19281         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
19282         rijndael-api-fst.h.
19283
19284 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
19285
19286         * m4/rijndael.m4 (gl_ARCFOUR):
19287         * m4/arctwo.m4 (gl_ARCTWO):
19288         * m4/check-version.m4 (gl_CHECK_VERSION):
19289         * m4/crc.m4 (gl_CRC):
19290         * m4/des.m4 (gl_DES):
19291         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
19292         * m4/gc.m4 (gl_GC):
19293         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
19294         * m4/getline.m4 (gl_FUNC_GETLINE):
19295         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
19296         * m4/hmac-md5.m4 (gl_HMAC_MD5):
19297         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
19298         * m4/md2.m4 (gl_MD2):
19299         * m4/md4.m4 (gl_MD4):
19300         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
19301         * m4/read-file.m4 (gl_FUNC_READ_FILE):
19302         * m4/readline.m4 (gl_FUNC_READLINE):
19303         * m4/rijndael.m4 (gl_RIJNDAEL):
19304         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
19305         to get the necessary .h files and whatnot.
19306
19307 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
19308
19309         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
19310         gnulib rather than the other way around.
19311         * config/srclistvars.sh (COREUTILS): Remove.
19312
19313 2006-08-22  Jim Meyering  <jim@meyering.net>
19314
19315         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
19316
19317         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
19318
19319 2006-08-22  Eric Blake  <ebb9@byu.net>
19320
19321         * modules/regexprops-generic: New file.
19322         * MODULES.html.sh (Support for building documentation): List it.
19323
19324 2006-08-22  Eric Blake  <ebb9@byu.net>
19325
19326         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
19327         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
19328         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
19329         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
19330
19331 2006-08-22  Bruno Haible  <bruno@clisp.org>
19332
19333         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
19334         and lib_LTLIBRARIES like the other lib_* variables.
19335
19336 2006-08-22  Bruno Haible  <bruno@clisp.org>
19337
19338         * build-aux/x-to-1.in: New file, from GNU gettext.
19339
19340 2006-08-22  Bruno Haible  <bruno@clisp.org>
19341
19342         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
19343         <utmpx.h> exists.
19344
19345 2006-08-22  Bruno Haible  <bruno@clisp.org>
19346
19347         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
19348         <utmpx.h> exists.
19349
19350 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19351
19352         BeOS portability.
19353         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
19354         exist.
19355         Problem reported by Bruno Haible.
19356
19357 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19358
19359         Avoid the need for AC_LIBSOURCES in m4 macros.
19360         * modules/acl (EXTRA_DIST): Add acl.h.
19361         * modules/argmatch (Files): Add m4/argmatch.m4.
19362         (configure.ac): Add gl_ARGMATCH.
19363         (EXTRA_DIST): Renamed from lib_SOURCES, for
19364         consistency with the other modules.  Remove argmatch.c.
19365         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
19366         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
19367         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
19368         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
19369         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
19370         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
19371         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
19372         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
19373         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
19374         * modules/closeout (EXTRA_DIST): Add closeout.h.
19375         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
19376         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
19377         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
19378         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
19379         dirname.h; remove basename.c and stripslash.c.
19380         * modules/exclude (EXTRA_DIST): Add exclude.h.
19381         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
19382         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
19383         * modules/file-type (EXTRA_DIST): Add file-type.h.
19384         * modules/filemode (EXTRA_DIST): Add filemode.h.
19385         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
19386         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
19387         * modules/fpending (EXTRA_DIST): Add __fpending.h.
19388         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
19389         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
19390         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
19391         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
19392         * modules/getdate (EXTRA_DIST): Add getdate.c.
19393         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
19394         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
19395         * modules/getpass (EXTRA_DIST): Add getpass.h.
19396         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
19397         * modules/group-member (EXTRA_DIST): Add group-member.h.
19398         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
19399         * modules/hash (EXTRA_DIST): Add hash.h.
19400         * modules/human (EXTRA_DIST): Add human.h.
19401         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
19402         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
19403         * modules/lchown (EXTRA_DIST): Add lchown.h.
19404         * modules/long-options (EXTRA_DIST): Add long-options.h.
19405         * modules/lstat (EXTRA_DIST): Add lstat.h.
19406         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
19407         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
19408         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
19409         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
19410         * modules/memxor (EXTRA_DIST): Add memxor.h.
19411         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
19412         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
19413         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
19414         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
19415         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
19416         * modules/physmem (EXTRA_DIST): Add physmem.h.
19417         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
19418         * modules/posixver (EXTRA_DIST): Add posixver.h.
19419         * modules/quote (EXTRA_DIST): Add quote.h.
19420         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
19421         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
19422         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
19423         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
19424         regex_internal.h regexec.c.
19425         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
19426         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
19427         * modules/same (EXTRA_DIST): Add same.h.
19428         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
19429         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
19430         * modules/savedir (EXTRA_DIST): Add savedir.h.
19431         * modules/sha1 (EXTRA_DIST): Add sha1.h.
19432         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
19433         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
19434         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
19435         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
19436         * modules/strdup (EXTRA_DIST): Add strdup.h.
19437         * modules/strftime (EXTRA_DIST): Add strftime.h.
19438         * modules/strndup (EXTRA_DIST): Add strndup.h.
19439         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
19440         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
19441         * modules/time_r (EXTRA_DIST): Add time_r.h.
19442         * modules/timespec (EXTRA_DIST): Add timespec.h.
19443         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
19444         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
19445         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
19446         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
19447         * modules/userspec (EXTRA_DIST): Add userspec.h.
19448         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
19449         * modules/utimens (EXTRA_DIST): Add utimens.h.
19450         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
19451         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
19452         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
19453         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
19454         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
19455         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
19456         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
19457         * modules/yesno (EXTRA_DIST): Add yesno.h.
19458
19459 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19460
19461         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
19462
19463         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
19464         * m4/dev-ino.m4, same-inode.m4: Remove.
19465
19466         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
19467         * m4/acl.m4 (AC_FUNC_ACL):
19468         * m4/backupfile.m4 (gl_BACKUPFILE):
19469         * m4/c-strtod.m4 (gl_C99_STRTOLD):
19470         * m4/canon-host.m4 (gl_CANON_HOST):
19471         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
19472         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
19473         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
19474         * m4/cloexec.m4 (gl_CLOEXEC):
19475         * m4/close-stream.m4 (gl_CLOSE_STREAM):
19476         * m4/closeout.m4 (gl_CLOSEOUT):
19477         * m4/dirfd.m4 (gl_FUNC_DIRFD):
19478         * m4/dirname.m4 (gl_DIRNAME):
19479         * m4/exclude.m4 (gl_EXCLUDE):
19480         * m4/exitfail.m4 (gl_EXITFAIL):
19481         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
19482         * m4/file-type.m4 (gl_FILE_TYPE):
19483         * m4/filemode.m4 (gl_FILEMODE):
19484         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
19485         * m4/fpending.m4 (gl_FUNC_FPENDING):
19486         * m4/fprintftime.m4 (gl_FPRINTFTIME):
19487         * m4/fts.m4 (gl_FUNC_FTS):
19488         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
19489         * m4/getdate.m4 (gl_GETDATE):
19490         * m4/gethrxtime.m4 (gl_GETHRXTIME):
19491         * m4/getpagesize.m4 (gl_GETPAGESIZE):
19492         * m4/getpass.m4 (gl_FUNC_GETPASS):
19493         * m4/gettime.m4 (gl_GETTIME):
19494         * m4/getugroups.m4 (gl_GETUGROUPS):
19495         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
19496         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
19497         * m4/hard-locale.m4 (gl_HARD_LOCALE):
19498         * m4/hash.m4 (gl_HASH):
19499         * m4/idcache.m4 (gl_IDCACHE):
19500         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
19501         * m4/lchown.m4 (gl_FUNC_LCHOWN):
19502         * m4/long-options.m4 (gl_LONG_OPTIONS):
19503         * m4/lstat.m4 (gl_FUNC_LSTAT):
19504         * m4/md5.m4 (gl_MD5):
19505         * m4/memcasecmp.m4 (gl_MEMCASECMP):
19506         * m4/memcoll.m4 (gl_MEMCOLL):
19507         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
19508         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
19509         * m4/memxor.m4 (gl_MEMXOR):
19510         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
19511         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
19512         * m4/modechange.m4 (gl_MODECHANGE):
19513         * m4/mountlist.m4 (gl_MOUNTLIST):
19514         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
19515         * m4/openat.m4 (gl_FUNC_OPENAT):
19516         * m4/pathmax.m4 (gl_PATHMAX):
19517         * m4/physmem.m4 (gl_PHYSMEM):
19518         * m4/posixtm.m4 (gl_POSIXTM):
19519         * m4/posixver.m4 (gl_POSIXVER):
19520         * m4/quote.m4 (gl_QUOTE):
19521         * m4/quotearg.m4 (gl_QUOTEARG):
19522         * m4/readtokens.m4 (gl_READTOKENS):
19523         * m4/readutmp.m4 (gl_READUTMP):
19524         * m4/regex.m4 (gl_REGEX):
19525         * m4/safe-read.m4 (gl_SAFE_READ):
19526         * m4/safe-write.m4 (gl_SAFE_WRITE):
19527         * m4/same.m4 (gl_SAME):
19528         * m4/save-cwd.m4 (gl_SAVE_CWD):
19529         * m4/savedir.m4 (gl_SAVEDIR):
19530         * m4/settime.m4 (gl_SETTIME):
19531         * m4/sha1.m4 (gl_SHA1):
19532         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
19533         * m4/stat-macros.m4 (gl_STAT_MACROS):
19534         * m4/stat-time.m4 (gl_STAT_TIME):
19535         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
19536         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
19537         * m4/strdup.m4 (gl_FUNC_STRDUP):
19538         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
19539         * m4/strndup.m4 (gl_FUNC_STRNDUP):
19540         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
19541         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
19542         * m4/time_r.m4 (gl_TIME_R):
19543         * m4/timespec.m4 (gl_TIMESPEC):
19544         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
19545         * m4/unlinkdir.m4 (gl_UNLINKDIR):
19546         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
19547         * m4/userspec.m4 (gl_USERSPEC):
19548         * m4/utimecmp.m4 (gl_UTIMECMP):
19549         * m4/utimens.m4 (gl_UTIMENS):
19550         * m4/xalloc.m4 (gl_XALLOC):
19551         * m4/xgetcwd.m4 (gl_XGETCWD):
19552         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
19553         * m4/xreadlink.m4 (gl_XREADLINK):
19554         * m4/xstrtod.m4 (gl_XSTRTOD):
19555         * m4/yesno.m4 (gl_YESNO):
19556         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
19557         to get the necessary .h files and whatnot.
19558
19559 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
19560             Bruno Haible  <bruno@clisp.org>
19561
19562         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
19563         /bin/sh understanding of '!' conditional negation.
19564
19565 2006-08-21  Jim Meyering  <jim@meyering.net>
19566
19567         * modules/openat (Depends-on): Really alphabetize.
19568
19569         * modules/acl (Depends-on): Add error and quote.
19570
19571         * check-module (find_included_lib_files): Add at-func.c to the
19572         ok-to-include-more-than-once white list.
19573
19574         * modules/openat (Depends-on): Add lstat.  Alphabetize.
19575
19576 2006-08-21  Bruno Haible  <bruno@clisp.org>
19577
19578         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19579         Emit a pkgdata_DATA variable only if some snippets add contents to it.
19580         Reported by Martin Lambers <marlam@marlam.de>.
19581
19582 2006-08-21  Bruno Haible  <bruno@clisp.org>
19583
19584         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
19585         specify an installation location, don't emit a noinst_LIBRARIES or
19586         noinst_LTLIBRARIES assignment.
19587
19588 2006-08-21  Bruno Haible  <bruno@clisp.org>
19589
19590         BeOS portability.
19591         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
19592         BeOS has mbrtowc() but no <wctype.h>.
19593
19594 2006-08-21  Bruno Haible  <bruno@clisp.org>
19595
19596         BeOS portability.
19597         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
19598         exist.
19599
19600 2006-08-21  Bruno Haible  <bruno@clisp.org>
19601
19602         BeOS portability.
19603         * lib/mbchar.h: Include <wctype.h> only if it exists.
19604
19605 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19606
19607         Remove files that are no longer needed by their respective modules.
19608         * m4/obstack.m4: Remove.
19609         * m4/strerror_r.m4: Remove.
19610         * m4/uint32_t.m4: Remove.
19611         * m4/uintptr_t.m4: Remove.
19612         * m4/ullong_max.m4: Remove.
19613         * m4/xstrtoimax.m4: Remove.
19614         * m4/xstrtoumax.m4: Remove.
19615
19616         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
19617         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
19618         dependencies now capture this.
19619
19620         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19621         Do not use AC_LIBSOURCES, since gnulib modules now do this.
19622         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
19623         * m4/human.m4 (gl_HUMAN): Likewise.
19624         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
19625         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
19626
19627         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
19628
19629         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
19630         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
19631         stdint.
19632         * m4/human.m4 (gl_HUMAN): Likewise.
19633         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
19634         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
19635         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
19636         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
19637         * m4/xstrtol (gl_XSTRTOL): Likewise.
19638
19639         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
19640         AC_TYPE_LONG_LONG_INT.
19641         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
19642         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
19643         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
19644         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
19645
19646         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
19647         on stdbool.
19648
19649         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
19650         (gl_PREREQ_XSTRTOUL): Remove.
19651
19652         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
19653
19654         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
19655         mode.
19656
19657 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19658
19659         Add and change modules to make it easier for coreutils to use
19660         gnulib-tool.
19661         * modules/backupfile (Files): Remove m4/d-ino.m4.
19662         (Depends-on): Add d-ino.
19663         * modules/cycle-check (Depends-on): Add stdint.
19664         (lib_SOURCES): Add cycle-check.h.
19665         * modules/d-ino: New module.
19666         * modules/d-type: New module.
19667         * modules/error (Files): Remove m4/strerror_r.m4.
19668         * modules/filemode (Files): Add m4/st_dm_mode.m4.
19669         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
19670         m4/inttypes_h.m4, m4/uintmax_t.m4.
19671         (Depends-on): Add stdint.
19672         (lib_SOURCES): Add fsusage.h.
19673         * modules/getcwd (Files): Remove d-ino.m4.
19674         (Depends-on): Add d-ino.
19675         * modules/getndelim2 (Depends-on): Add stdint.
19676         * modules/glob (Files): Remove m4/d-type.m4.
19677         (Depends-on): Add d-type.
19678         * modules/host-os: New module.
19679         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
19680         m4/inttypes_h.m4, m4/uintmax_t.m4.
19681         * Depends-on: Add stdint.
19682         (lib_SOURCES): Add human.h.
19683         * modules/inttostr (Files): Remove m4/intmax_t.m4,
19684         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
19685         m4/uintmax_t.m4, m4/ulonglong.m4.
19686         (Depends-on): Add stdint.
19687         (EXTRA_DIST): Add inttostr.h.
19688         * modules/lchmod: New module.
19689         * modules/link-follow: New module.
19690         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
19691         (Depends-on): Add lchmod.
19692         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
19693         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
19694         (Depends-on): Add stdint.
19695         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
19696         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
19697         (Depends-on): Add stdint.
19698         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
19699         * modules/perl: New module.
19700         * modules/regex (Depends-on): Add stdint.
19701         * modules/rmdir-errno: New module.
19702         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
19703         m4/intmax_t.m4.
19704         (Depends-on): Add stdint.
19705         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
19706         m4/uintmax_t.m4.
19707         (Depends-on): Add stdint.
19708         * modules/unlink-busy: New module.
19709         * modules/utimecmp (Depends-on): Add stdint.
19710         * modules/uptime: New module.
19711         * modules/winsz-ioctl: New module.
19712         * modules/winsz-termios: New module.
19713         * modules/xnanosleep (Depends-on): Add nanosleep.
19714         * modules/ullong_max: Remove.
19715         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
19716         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
19717         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
19718         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
19719         (Depends-on): Add inttypes.
19720         (lib_SOURCES): Add xstrtol.h.
19721         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
19722         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
19723         * MODULES.html.sh: Move 'assert' into the assert section.
19724         Move 'dummy' into the linking section.
19725         Remove ullong_max.
19726         Add section for compatibility checks for POSIX:2001 functions,
19727         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
19728         winsz-ioctl, and winsz-termios into it.
19729         Add lchmod.
19730         Add top-level Misc section and put host-os, perl, and uptime
19731         into it.
19732
19733 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19734
19735         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
19736         now assume the stdint module.  Do not include inttypes.h.
19737         * lib/fsusage.h: Likewise.
19738         * lib/getndelim2.c: Likewise.
19739         * lib/human.h: Likewise.
19740         * lib/inttostr.h: Likewise.
19741         * lib/obstack.c: Likewise.
19742         * lib/regex_internal.h: Likewise.
19743         * lib/tempname.c: Likewise.
19744         * lib/utimecmp.c: Likewise.
19745         * lib/xstrtol.h: Likewise.
19746
19747         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
19748
19749         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
19750         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
19751         * lib/xtime.h: Likewise.
19752
19753 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19754
19755         * modules/openat (Files): Add lib/fchmodat.c.
19756         Fixes problem reported by Jay Youngman.
19757
19758 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19759
19760         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
19761         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
19762
19763 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19764             Bruno Haible  <bruno@clisp.org>
19765
19766         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
19767         and is a script that invokes bison. Tighten the code. Add comments.
19768
19769 2006-08-18  Jim Meyering  <jim@meyering.net>
19770
19771         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
19772         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
19773         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
19774         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
19775
19776 2006-08-18  Bruno Haible  <bruno@clisp.org>
19777
19778         * modules/bison-i18n: New file.
19779         * MODULES.html.sh (Internationalization functions): Add it.
19780
19781 2006-08-18  Bruno Haible  <bruno@clisp.org>
19782
19783         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
19784         sys/statvfs.h. When getmntinfo was found, check its declaration and
19785         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
19786
19787 2006-08-18  Bruno Haible  <bruno@clisp.org>
19788
19789         * m4/bison-i18n.m4: New file, from bison.
19790
19791 2006-08-18  Bruno Haible  <bruno@clisp.org>
19792
19793         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
19794         (ME_DUMMY): Treat "kernfs" as a dummy.
19795         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
19796
19797 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19798
19799         Update from coreutils.
19800
19801         2006-08-15  Jim Meyering  <jim@meyering.net>
19802
19803         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
19804
19805         2006-01-17  Jim Meyering  <jim@meyering.net>
19806
19807         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
19808
19809         2006-01-11  Jim Meyering  <jim@meyering.net>
19810
19811         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
19812         Check for the lchmod function.
19813
19814 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19815
19816         Update from coreutils.
19817
19818         * lib/__fpending.h: Add copyright notice.
19819         * lib/fprintftime.h: Likewise.
19820         * lib/savedir.c: Use (C) in copyright notice.
19821         * lib/savedir.h: Likewise.
19822
19823         2006-08-15  Jim Meyering  <jim@meyering.net>
19824
19825         * lib/at-func.c: New file, with the logic of all emulated at-functions.
19826         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
19827         in support of the EXPECTED_ERRNO macro.
19828         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
19829         definitions.  Instead, define the appropriate symbols and include
19830         "at-func.c".
19831         * lib/mkdirat.c (mkdirat): Likewise.
19832         * lib/fchmodat.c (fchmodat): Likewise.
19833         (ENOSYS): Remove definition.
19834         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
19835         it.  Don't include "unistd--.h" -- it wasn't ever used.
19836
19837         2006-01-17  Jim Meyering  <jim@meyering.net>
19838
19839         Rewrite fts.c not to change the current working directory,
19840         by using openat, fstatat, fdopendir, etc..
19841
19842         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
19843         (HAVE_OPENAT_SUPPORT): Define.
19844         [_LIBC] (fchdir): Don't undef or define; no longer used.
19845         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
19846         Now, this `function' always succeeds, and consumes its file descriptor
19847         parameter -- so callers must not close such FDs.  Update callers.
19848         (diropen_fd, opendirat, cwd_advance_fd): New functions.
19849         (diropen): Add parameter, SP.  Adjust all callers.
19850         Implement using diropen_fd, rather than open.
19851         (fts_open): Initialize new member, fts_cwd_fd.
19852         Remove fts_rft-setting code.
19853         (fts_close): Close fts_cwd_fd, if necessary.
19854         (__opendir2): Define in terms of opendir or opendirat,
19855         depending on whether the FST_NOCHDIR flag is set.
19856         (fts_build): Since fts_safe_changedir consumes its FD, and since
19857         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
19858         and close the dup'd file descriptor upon failure.
19859         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
19860         (fts_safe_changedir): Tweak semantics to reflect that this function
19861         now calls cwd_advance_fd and hence consumes its FD argument.
19862         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
19863         [struct FTS] (fts_rft): Remove now-unused member.
19864         [struct FTS] (fts_cycle.state): Improve comment.
19865
19866         * lib/openat.c (openat_needs_fchdir): New function.
19867         * lib/openat.h (openat_needs_fchdir): Declare it.
19868
19869 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
19870
19871         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
19872         Problem and fix reported by Pádraig Brady in
19873         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
19874
19875 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19876
19877         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
19878
19879 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19880
19881         * lib/memcoll.c (memcoll): Optimize for the common case where the
19882         arguments are bytewise equal.
19883
19884 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19885
19886         * doc/regexprops-generic.texi: Add a copyright notice.
19887
19888 2006-08-15  Bruno Haible  <bruno@clisp.org>
19889
19890         * modules/tmpdir (License): Change to LGPL.
19891
19892 2006-08-15  Bruno Haible  <bruno@clisp.org>
19893
19894         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
19895         module.
19896
19897 2006-08-14  Simon Josefsson  <jas@extundo.com>
19898
19899         * config/srclist.txt: Add gnupload.
19900
19901 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
19902
19903         Change copyright notice from LGPL 2 to GPL 2, since that's the
19904         standard form used in the gnulib repository.
19905         * tests/test-lock.c: Likewise.
19906         * tests/test-stdint.c: Likewise.
19907         * tests/test-tls.c: Likewise.
19908
19909         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
19910         prelude-manager.  User shorter URLs for GNU projects, without '?'.
19911         Add copyright notice.
19912
19913         * check-module: Add copyright notice.  Output a copyright
19914         notice if "--version" is specified.
19915         * modules/COPYING: New file.
19916         * tests/test-getaddrinfo.c: Add copyright notice.
19917         * tests/test-verify.c: Likewise.
19918
19919 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
19920
19921         Change copyright notice from LGPL 2 to GPL 2, since that's the
19922         standard form used in the gnulib repository.
19923         * lib/lock.c: LGPL -> GPL.
19924         * lib/lock.h: Likewise.
19925         * lib/strnlen1.c: Likewise.
19926         * lib/strnlen1.h: Likewise.
19927         * lib/tls.c: Likewise.
19928         * lib/tls.h: Likewise.
19929         * lib/tmpdir.c: Likewise.
19930
19931         * lib/TODO: Remove; this belongs only in coreutils.
19932
19933 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
19934
19935         Add copyright notices to long-enough files that lack them, since
19936         otherwise the files aren't clearly free.  Use the same notice that
19937         getdate.texi already uses.
19938         * doc/alloca-opt.texi: Add copyright notice.
19939         * doc/alloca.texi: Likewise.
19940         * doc/ctime.texi: Likewise.
19941         * doc/functions.texi: Likewise.
19942         * doc/gcd.texi: Likewise.
19943         * doc/gnulib-tool.texi: Likewise.
19944         * doc/inet_ntoa.texi: Likewise.
19945         * doc/visibility.texi: Likewise.
19946
19947         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
19948         * doc/quote.texi: Add copyright notice.
19949
19950         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
19951         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
19952         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
19953         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
19954         is now obsolete, and give a pointer to the Sun list.
19955         Add copyright notice.
19956
19957 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
19958
19959         * config/srclistvars.sh: Add copyright notice.
19960
19961 2006-08-14  Eric Blake  <ebb9@byu.net>
19962
19963         Import the following change from libc:
19964
19965         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
19966
19967         Upstream bug 2997.
19968         * lib/misc/error.c: Add space between program name and message if file
19969         name is missing.
19970
19971 2006-08-12  Karl Berry  <karl@gnu.org>
19972
19973         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
19974         remove, these originate in gnulib now.
19975
19976 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19977
19978         * doc/Makefile (standards.info standards.html standards.dvi):
19979         Also depend on make-stds.texi.
19980
19981 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19982
19983         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
19984         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
19985
19986         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
19987         in wchar_t.  Problem reported by Eric Blake.
19988
19989         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
19990         LEN is smaller than SIZE.  Suggested by Bruno Haible.
19991         Also, help the compiler to keep LEN in a register.
19992
19993 2006-08-11  Eric Blake  <ebb9@byu.net>
19994
19995         * users.txt: Sort.  Add tar.
19996
19997 2006-08-11  Bruno Haible  <bruno@clisp.org>
19998
19999         * users.txt: New file.
20000
20001 2006-08-11  Bruno Haible  <bruno@clisp.org>
20002
20003         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
20004         before <wchar.h>. Needed for OSF/1 and BSD/OS.
20005
20006 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20007
20008         * modules/snprintf (Depends-on): Remove minmax.
20009         (Maintainer): Add self and Bruno.
20010
20011 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20012
20013         * lib/.cppi-disable: Add snprintf.h, socket_.h.
20014         * lib/snprintf.c: Include <errno.h> and <limits.h>.
20015         (EOVERFLOW): Define if the system does not.
20016         Do not include "minmax.h"; it wasn't used.
20017         (snprintf): Don't assume size_t promotes to an unsigned type.
20018         Fix bug when generated string was too long for the buffer: the
20019         buffer's contents are supposed to be the initial prefix of the
20020         output.  Don't assume vasnprintf returns EOVERFLOW if the size
20021         exceeds INT_MAX; do the check ourselves.
20022
20023         Import the following changes from libc:
20024
20025         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
20026
20027         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
20028         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
20029         set wc to the byte which couldn't be converted.
20030         (re_string_reconstruct): Don't clear valid_raw_len before calling
20031         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
20032         tip_context using re_string_context_at.
20033
20034         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
20035
20036         * lib/posix/regex.h: g++ still cannot handled [restrict].
20037
20038         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
20039
20040         * lib/posix/regex.h: Remove special handling for VMS.
20041
20042 2006-08-10  Jim Meyering  <jim@meyering.net>
20043
20044         * modules/same-inode: New module.
20045         * modules/dev-ino: New module.
20046         * modules/cycle-check: Depend on these modules, rather than simply
20047         including their .h files.
20048         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
20049         required via m4/cycle-check.m4.
20050         * modules/same: Depend on new same-inode module, rather than
20051         including same-inode.h.
20052         * modules/chdir-safer: New file.
20053
20054         * modules/chown (Depends-on): Add stat-macros.
20055
20056 2006-08-10  Jim Meyering  <jim@meyering.net>
20057
20058         * m4/cycle-check.m4: New file.
20059         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
20060         * m4/dev-ino.m4, m4/same-inode.m4: New files.
20061
20062 2006-08-10  Eric Blake  <ebb9@byu.net>
20063
20064         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
20065         in from original proposal.
20066
20067 2006-08-10  Eric Blake  <ebb9@byu.net>
20068         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20069
20070         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
20071         namespace.
20072
20073 2006-08-10  Bruno Haible  <bruno@clisp.org>
20074
20075         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
20076         as well.
20077
20078 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20079
20080         Sync from coreutils.
20081
20082         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
20083
20084         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
20085         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
20086
20087 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20088
20089         * modules/restrict: Remove; no longer needed now that we assume
20090         Autoconf 2.59 or later.
20091         * MODULES.html.sh: Remove 'restrict'.
20092         * modules/argp (Depends-on): Remove 'restrict'.
20093         * modules/base64 (Depends-on): Likewise.
20094         * modules/gc (Depends-on): Likewise.
20095         * modules/getaddrinfo (Depends-on): Likewise.
20096         * modules/glob (Depends-on): Likewise.
20097         * modules/inet_ntop (Depends-on): Likewise.
20098         * modules/inet_pton (Depends-on): Likewise.
20099         * modules/memxor (Depends-on): Likewise.
20100         * modules/regex (Depends-on): Likewise.
20101         * modules/strtok_r (Depends-on): Likewise.
20102         * modules/time_r (Depends-on): Likewise.
20103
20104 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20105
20106         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
20107         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
20108         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
20109         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
20110         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20111         * m4/memxor.m4 (gl_MEMXOR): Likewise.
20112         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
20113         gl_C_RESTRICT replaced by AC_C_RESTRICT.
20114
20115         Merge from coreutils.
20116         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
20117         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
20118         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
20119         * m4/time_r.m4 (gl_TIME_R): Likewise.
20120
20121 2006-08-09  Karl Berry  <karl@gnu.org>
20122
20123         * config/srclist.txt: no more gettext-tools, per Bruno.
20124
20125 2006-08-08  Eric Blake  <ebb9@byu.net>
20126
20127         * modules/verror: New module.
20128         * MODULES.html.sh: Document it.
20129
20130 2006-08-08  Eric Blake  <ebb9@byu.net>
20131
20132         * lib/verror.h, lib/verror.c: New files.
20133
20134 2006-08-08  Eric Blake  <ebb9@byu.net>
20135
20136         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
20137         verror_at_line output complies with GNU Coding Standards even when
20138         file is NULL.
20139
20140 2006-08-07  Bruno Haible  <bruno@clisp.org>
20141
20142         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
20143         versions of AIX.
20144         Reported by Ralf Wildenhues.
20145
20146 2006-08-07  Bruno Haible  <bruno@clisp.org>
20147
20148         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
20149         in an AC_DEFUN. Needed so that the autoconf snippets can use
20150         AC_REQUIRE.
20151
20152 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20153
20154         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20155         Initialize pkgdata_DATA.
20156         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
20157         overriding it.
20158
20159 2006-08-06  Eric Blake  <ebb9@byu.net>
20160
20161         * lib/error.h: Fold in some upstream changes from glibc.
20162         * lib/error.c: Likewise.
20163
20164 2006-08-04  Bruno Haible  <bruno@clisp.org>
20165
20166         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20167         Make the mostlyclean-local rule depend on mostlyclean-generic.
20168         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
20169
20170 2006-07-31  Bruno Haible  <bruno@clisp.org>
20171
20172         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
20173         <stdlib.h>, <string.h>.
20174
20175 2006-07-30  Bruno Haible  <bruno@clisp.org>
20176
20177         * modules/readlink (License): Change to LGPL.
20178
20179 2006-07-30  Bruno Haible  <bruno@clisp.org>
20180
20181         * modules/javaversion (Makefile.am): Distribute javaversion.java and
20182         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
20183         set PKGDATADIR to point to it.
20184
20185 2006-07-30  Bruno Haible  <bruno@clisp.org>
20186
20187         * modules/csharpexec (configure.ac): Comment out macro invocation.
20188         * modules/javaexec (configure.ac): Likewise.
20189         * modules/javacomp-script (configure.ac): Likewise.
20190
20191         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
20192
20193 2006-07-30  Bruno Haible  <bruno@clisp.org>
20194
20195         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
20196         linked-list.
20197
20198 2006-07-30  Bruno Haible  <bruno@clisp.org>
20199
20200         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
20201
20202 2006-07-30  Bruno Haible  <bruno@clisp.org>
20203
20204         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20205         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
20206         get removed.
20207
20208 2006-07-29  Bruno Haible  <bruno@clisp.org>
20209
20210         Make it possible for gnulib-tool to work with locally modified or
20211         augmented gnulib repositories.
20212         * gnulib-tool (func_usage): Document --local-dir option.
20213         (local_gnulib_dir): New variable.
20214         Handle --local-dir option.
20215         (func_lookup_file): New function.
20216         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
20217         (func_get_description, func_get_filelist, func_get_description,
20218         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
20219         func_get_automake_snippet, func_get_include_directive,
20220         func_get_license, func_get_maintainer): Use func_lookup_file.
20221         (func_import, func_create_testdir): Use func_lookup_file.
20222
20223 2006-07-29  Bruno Haible  <bruno@clisp.org>
20224
20225         * modules/setenv (Depends-on): Add unistd.
20226
20227 2006-07-29  Bruno Haible  <bruno@clisp.org>
20228
20229         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
20230
20231 2006-07-29  Bruno Haible  <bruno@clisp.org>
20232
20233         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
20234
20235 2006-07-29  Bruno Haible  <bruno@clisp.org>
20236
20237         * gnulib-tool (import, update): If there is no Makefile.am, look at
20238         aclocal.m4, instead of bailing out.
20239
20240 2006-07-29  Bruno Haible  <bruno@clisp.org>
20241
20242         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
20243         Categorize the options by when they are useful.
20244
20245 2006-07-29  Bruno Haible  <bruno@clisp.org>
20246
20247         * gnulib-tool (func_usage): Document option --no-libtool.
20248         Handle option --no-libtool.
20249         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
20250         for changed semantics of $libtool variable.
20251         (func_import): Likewise. If libtool is not used, show this through
20252         an option --no-libtool.
20253         (func_create_testdir): Update.
20254
20255 2006-07-29  Bruno Haible  <bruno@clisp.org>
20256
20257         * gnulib-tool (func_import): Extend error message about missing
20258         --doc-base.
20259
20260 2006-07-29  Bruno Haible  <bruno@clisp.org>
20261
20262         * gnulib-tool (func_import): Don't create the $docbase directory if
20263         there is no file to store there.
20264
20265 2006-07-29  Bruno Haible  <bruno@clisp.org>
20266
20267         * gnulib-tool (autoconf_minversion): If a --dir option is given and
20268         relevant, look for configure.ac there, not in the current directory.
20269         Also use a simple search for AC_PREREQ, not "autoconf --trace".
20270
20271 2006-07-29  Bruno Haible  <bruno@clisp.org>
20272
20273         * gnulib-tool (SORT): New variable.
20274         (func_usage): Undocument --assume-autoconf option.
20275         Remove --assume-autoconf option handling.
20276         (autoconf_minversion): Determine from the contents of configure.ac.
20277         (func_import): Remove autoconf_minversion handling.
20278         Suggested by Eric Blake.
20279
20280 2006-07-29  Bruno Haible  <bruno@clisp.org>
20281
20282         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
20283
20284 2006-07-29  Bruno Haible  <bruno@clisp.org>
20285
20286         * config/srclist.txt (*setenv.[ch]): Remove rules.
20287
20288 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20289
20290         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
20291
20292 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20293
20294         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
20295         arpa/inet.h.
20296
20297 2006-07-28  Simon Josefsson  <jas@extundo.com>
20298
20299         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
20300         * modules/inet_pton (Depends-on): Likewise.
20301
20302 2006-07-28  Simon Josefsson  <jas@extundo.com>
20303
20304         * m4/netinet_in_h.m4: New file.
20305
20306 2006-07-28  Simon Josefsson  <jas@extundo.com>
20307
20308         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
20309         #include's.
20310
20311 2006-07-28  Simon Josefsson  <jas@extundo.com>
20312
20313         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
20314         #include's.
20315
20316 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
20317
20318         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
20319         setgid on directories only if they set these bits.
20320         * lib/modechange.h: Remove obsolete comment about masks.
20321
20322 2006-07-28  Eric Blake  <ebb9@byu.net>
20323
20324         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
20325         macro expansion.
20326
20327 2006-07-28  Bruno Haible  <bruno@clisp.org>
20328
20329         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
20330
20331 2006-07-28  Bruno Haible  <bruno@clisp.org>
20332
20333         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
20334
20335 2006-07-28  Bruno Haible  <bruno@clisp.org>
20336
20337         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20338         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
20339         Define fallbacks.
20340         Avoids link error on FreeBSD 4.x.
20341         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20342
20343         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
20344         encoding.
20345         * lib/mbswidth.c (iswcntrl): Likewise.
20346
20347 2006-07-27  Bruno Haible  <bruno@clisp.org>
20348
20349         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
20350         test.
20351
20352 2006-07-27  Bruno Haible  <bruno@clisp.org>
20353
20354         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
20355         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
20356         defined.
20357
20358 2006-07-26  Eric Blake  <ebb9@byu.net>
20359
20360         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
20361
20362 2006-07-26  Eric Blake  <ebb9@byu.net>
20363
20364         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
20365         like mingw that lack mkstemp.
20366         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
20367         avoid compilation warning on mingw.
20368
20369 2006-07-26  Bruno Haible  <bruno@clisp.org>
20370
20371         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
20372         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
20373         INT_FAST*_MIN, INTPTR_MIN.
20374
20375 2006-07-25  Bruno Haible  <bruno@clisp.org>
20376
20377         * modules/version-etc (Depends-on): Add stdarg.
20378
20379 2006-07-25  Bruno Haible  <bruno@clisp.org>
20380
20381         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
20382         complex commands.
20383
20384 2006-07-25  Bruno Haible  <bruno@clisp.org>
20385
20386         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
20387         defined in <stdarg.h> or config.h.
20388
20389 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
20390
20391         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
20392         (gl_STDIO_SAFER): Remove.
20393
20394 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
20395
20396         * MODULES.html.sh (File stream based Input/Output):
20397         Add fopen-safer, tmpfile-safer; remove stdio-safer.
20398         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
20399         * modules/fopen-safer, modules/tmpfile-safer: New files.
20400         * modules/stdio-safer: Remove.
20401
20402 2006-07-24  Bruno Haible  <bruno@clisp.org>
20403
20404         * modules/tmpdir: New file.
20405         * MODULES.html.sh (File system functions): Add it.
20406
20407 2006-07-24  Bruno Haible  <bruno@clisp.org>
20408
20409         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
20410         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
20411
20412 2006-07-24  Bruno Haible  <bruno@clisp.org>
20413
20414         * modules/clean-temp: New file.
20415
20416 2006-07-24  Bruno Haible  <bruno@clisp.org>
20417
20418         * m4/tmpdir.m4: New file, from GNU gettext.
20419
20420 2006-07-24  Bruno Haible  <bruno@clisp.org>
20421
20422         * lib/tmpdir.h: New file, from GNU gettext.
20423         * lib/tmpdir.c: New file, from GNU gettext.
20424
20425 2006-07-24  Bruno Haible  <bruno@clisp.org>
20426
20427         * lib/clean-temp.h: New file, from GNU gettext.
20428         * lib/clean-temp.c: New file, from GNU gettext.
20429
20430 2006-07-23  Eric Blake  <ebb9@byu.net>
20431
20432         * modules/stdio-safer (Files): Add tmpfile-safer.c.
20433         (Depends-on): Add binary-io.
20434
20435 2006-07-23  Eric Blake  <ebb9@byu.net>
20436
20437         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
20438
20439 2006-07-23  Eric Blake  <ebb9@byu.net>
20440
20441         * lib/tmpfile-safer.c: New file.
20442         * lib/stdio-safer.h (fopen_safer): Add prototype.
20443         * lib/stdio--.h (tmpfile): Make safer.
20444
20445 2006-07-23  Bruno Haible  <bruno@clisp.org>
20446
20447         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
20448         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
20449         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
20450         gl_linked_remove_at): Use it.
20451
20452 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20453         and Simon Josefsson <jas@extundo.com>
20454
20455         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
20456
20457         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
20458
20459 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
20460
20461         * modules/close-stream: New file.
20462         * modules/closeout (Description): Make it clear that it exits
20463         with a diagnostic on error.
20464         (Depends-on): Add close-stream.  Remove fpending, stdbool.
20465         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
20466
20467 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
20468
20469         * m4/close-stream.m4: New file.
20470
20471 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
20472
20473         * lib/close-stream.c, lib/close-stream.h: New files.
20474
20475 2006-07-22  Bruno Haible  <bruno@clisp.org>
20476
20477         Merge from GNU gettext 0.15.
20478
20479         2006-05-01  Bruno Haible  <bruno@clisp.org>
20480
20481                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
20482
20483         2006-07-22  Bruno Haible  <bruno@clisp.org>
20484
20485                 * modules/javaversion: New file.
20486                 * MODULES.html.sh (Java): Add javaversion.
20487
20488         2006-03-12  Bruno Haible  <bruno@clisp.org>
20489
20490                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
20491
20492         2005-12-04  Bruno Haible  <bruno@clisp.org>
20493
20494                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
20495                 (untested).
20496
20497         2006-06-21  Bruno Haible  <bruno@clisp.org>
20498
20499                 Avoid warnings from recent versions of mcs.
20500                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
20501                 -o, -L, -r any more. Use options documented since mcs-1.0
20502                 instead. Similarly for -g.
20503
20504         2005-12-04  Bruno Haible  <bruno@clisp.org>
20505
20506                 * build-aux/csharpcomp.sh.in: Suffix for resources is
20507                 .resources, not .resource.
20508
20509         2005-07-09  Bruno Haible  <bruno@clisp.org>
20510
20511                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
20512                 add a .dll suffix.
20513                 Reported by Mark Junker <mjscod@gmx.de>.
20514
20515         2006-07-22  Bruno Haible  <bruno@clisp.org>
20516
20517                 * modules/gettext: Upgrade to gettext-0.15.
20518                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
20519                 m4/visibility.m4.
20520                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
20521
20522 2006-07-22  Bruno Haible  <bruno@clisp.org>
20523
20524         Merge from GNU gettext 0.15.
20525
20526         2006-03-25  Bruno Haible  <bruno@clisp.org>
20527
20528                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
20529
20530         2006-07-21  Bruno Haible  <bruno@clisp.org>
20531
20532                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
20533                 "1.1".
20534
20535         2006-05-09  Bruno Haible  <bruno@clisp.org>
20536
20537                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
20538                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
20539                 for the conftestver execution.
20540
20541         2006-05-01  Bruno Haible  <bruno@clisp.org>
20542
20543                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
20544                 optional target-version argument. Verify that the compiler
20545                 groks source of the specified source-version, or add -source
20546                 option as necessary. Verify that the compiler produces
20547                 bytecode in the specified target-version, or add -target and
20548                 -source options as necessary. Make the result of the test
20549                 available as variable CONF_JAVAC. Also log error output in
20550                 config.log.
20551
20552         2006-03-11  Bruno Haible  <bruno@clisp.org>
20553
20554                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
20555
20556         2006-05-09  Bruno Haible  <bruno@clisp.org>
20557
20558                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
20559                 CLASSPATH_SEPARATOR to a semicolon.
20560
20561         2006-03-12  Bruno Haible  <bruno@clisp.org>
20562
20563                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
20564                 available as variable CONF_JAVA, for subsequent autoconf
20565                 tests. Also log error output in config.log.
20566
20567         2006-07-19  Bruno Haible  <bruno@clisp.org>
20568
20569                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
20570                 that getline works on glibc2 systems. Needed to avoid trouble
20571                 in relocatable.c.
20572                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
20573
20574         2005-12-04  Bruno Haible  <bruno@clisp.org>
20575
20576                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
20577                 launcher (untested).
20578
20579         2005-12-04  Bruno Haible  <bruno@clisp.org>
20580
20581                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
20582
20583         2006-07-22  Bruno Haible  <bruno@clisp.org>
20584
20585                 * gettext.m4: Update from GNU gettext-0.15.
20586                 * nls.m4: Likewise.
20587                 * po.m4: Likewise.
20588                 * inttypes-pri.m4: Likewise.
20589                 * inttypes-h.m4: Renamed from inttypes.m4.
20590                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
20591
20592 2006-07-22  Bruno Haible  <bruno@clisp.org>
20593
20594         Merge from GNU gettext 0.15.
20595
20596         2005-07-05  Bruno Haible  <bruno@clisp.org>
20597
20598                 * printf-args.c (printf_fetchargs): Work around broken
20599                 definition of wint_t on mingw.
20600
20601         2005-02-12  Bruno Haible  <bruno@clisp.org>
20602
20603                 * xallocsa.h: Add extern "C" for C++.
20604
20605         2006-05-17  Bruno Haible  <bruno@clisp.org>
20606
20607                 Cygwin portability.
20608                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
20609
20610         2006-04-30  Bruno Haible  <bruno@clisp.org>
20611
20612                 * progreloc.c: Include <mach-o/dyld.h> if available.
20613                 (find_executable): Use _NSGetExecutablePath when possible.
20614
20615         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
20616
20617                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
20618                 function.
20619
20620         2005-12-29  Bruno Haible  <bruno@clisp.org>
20621
20622                 * progreloc.c (set_program_name_and_installdir): Fix
20623                 compilation error.
20624
20625         2005-12-04  Bruno Haible  <bruno@clisp.org>
20626
20627                 Cygwin portability.
20628                 * progreloc.c: Include <windows.h> also on Cygwin.
20629                 (find_executable): Add support for Cygwin.
20630                 (set_program_name_and_installdir): Handle also platforms with
20631                 nonempty EXEEXT.
20632
20633         2006-07-11  Bruno Haible  <bruno@clisp.org>
20634
20635                 * javacomp.c: Fix a comment.
20636                 Reported by Jim Meyering.
20637
20638         2006-04-30  Bruno Haible  <bruno@clisp.org>
20639
20640                 * javacomp.h (compile_java_class): Add source_version,
20641                 target_version arguments.
20642                 * javacomp.c: Rewritten to choose only a compiler that
20643                 respects the specified source_version and target_version.
20644
20645         2006-06-27  Bruno Haible  <bruno@clisp.org>
20646
20647                 Assume correct S_ISDIR macro.
20648                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
20649
20650         2006-07-22  Bruno Haible  <bruno@clisp.org>
20651
20652                 * javaversion.h: New file, from GNU gettext.
20653                 * javaversion.c: New file, from GNU gettext.
20654                 * javaversion.java: New file, from GNU gettext.
20655                 * javaversion.class: New file, from GNU gettext.
20656
20657         2006-05-17  Bruno Haible  <bruno@clisp.org>
20658
20659                 Cygwin portability.
20660                 * javaexec.c (execute_java_class): Test for jview program
20661                 also on Cygwin.
20662
20663         2006-04-09  Bruno Haible  <bruno@clisp.org>
20664
20665                 * fatal-signal.c: Don't include string.h.
20666                 (at_fatal_signal): Use a copying loop instead of memcpy.
20667
20668         2005-12-04  Bruno Haible  <bruno@clisp.org>
20669
20670                 * csharpexec.c: Add support for 'clix' launcher (untested).
20671                 (execute_csharp_using_sscli): New function.
20672                 (execute_csharp_program): Call it.
20673
20674         2006-06-21  Bruno Haible  <bruno@clisp.org>
20675
20676                 Avoid warnings from recent versions of mcs.
20677                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
20678                 -o, -L, -r any more. Use options documented since mcs-1.0
20679                 instead. Similarly for -g.
20680
20681         2005-07-09  Bruno Haible  <bruno@clisp.org>
20682
20683                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
20684                 add a .dll suffix.
20685                 Reported by Mark Junker <mjscod@gmx.de>.
20686
20687         2006-06-17  Bruno Haible  <bruno@clisp.org>
20688
20689                 * config.charset: Update for NetBSD 3.0.
20690
20691         2006-05-17  Bruno Haible  <bruno@clisp.org>
20692
20693                 Cygwin portability.
20694                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
20695
20696         2006-05-16  Bruno Haible  <bruno@clisp.org>
20697
20698                 * localcharset.c [CYGWIN]: Include <windows.h>.
20699                 (get_charset_aliases): For Cygwin, return the same CPxxx
20700                 aliases list as under WIN32.
20701                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
20702                 the environment variables. Fall back to GetACP().
20703
20704         2006-04-05  Bruno Haible  <bruno@clisp.org>
20705
20706                 * config.charset: Update Juan Manuel Guerrero's address.
20707
20708         2005-02-12  Bruno Haible  <bruno@clisp.org>
20709
20710                 * allocsa.h: Add extern "C" for C++.
20711
20712         2005-02-10  Bruno Haible  <bruno@clisp.org>
20713
20714                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
20715                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
20716
20717         2006-07-22  Bruno Haible  <bruno@clisp.org>
20718
20719                 * gettext.h: Update to GNU gettext-0.15.
20720
20721 2006-07-22  Bruno Haible  <bruno@clisp.org>
20722
20723         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
20724         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
20725         lib-prefix.m4, longdouble.m4, ssize_t.m4.
20726
20727 2006-07-21  Eric Blake  <ebb9@byu.net>
20728
20729         * modules/stdlib-safer: New file.
20730         * MODULES.html.sh (File stream based Input/Output): Add
20731         stdlib-safer.
20732
20733 2006-07-21  Eric Blake  <ebb9@byu.net>
20734
20735         * lib/stdlib-safer.h: New file from coreutils, required by
20736         stdlib--.h.
20737
20738 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
20739
20740         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
20741
20742 2006-07-20  Bruno Haible  <bruno@clisp.org>
20743
20744         * gnulib-tool: Recognize new option --assume-autoconf.
20745         (autoconf_minversion): New variable.
20746         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
20747
20748 2006-07-20  Bruno Haible  <bruno@clisp.org>
20749
20750         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
20751
20752 2006-07-19  Derek R. Price  <derek@ximbiot.com>
20753
20754         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
20755         Reindent and repaginate.
20756
20757 2006-07-19  Derek Price  <derek@ximbiot.com>
20758
20759         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
20760         Correct grammar.
20761
20762 2006-07-17  Bruno Haible  <bruno@clisp.org>
20763
20764         * modules/list: New file.
20765         * modules/array-list: New file.
20766         * modules/carray-list, modules/carray-list-tests: New files.
20767         * modules/linked-list, modules/linked-list-tests: New files.
20768         * modules/avltree-list, modules/avltree-list-tests: New files.
20769         * modules/rbtree-list, modules/rbtree-list-tests: New files.
20770         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
20771         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
20772         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
20773         * modules/oset: New file.
20774         * modules/array-oset: New file.
20775         * modules/avltree-oset, modules/avltree-oset-tests: New files.
20776         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
20777         * tests/test-carray_list.c: New file.
20778         * tests/test-linked_list.c: New file.
20779         * tests/test-avltree_list.c: New file.
20780         * tests/test-rbtree_list.c: New file.
20781         * tests/test-linkedhash_list.c: New file.
20782         * tests/test-avltreehash_list.c: New file.
20783         * tests/test-rbtreehash_list.c: New file.
20784         * tests/test-avltree_oset.c: New file.
20785         * tests/test-rbtree_oset.c: New file.
20786         * MODULES.html.sh (Container data structures): New section.
20787
20788 2006-07-17  Bruno Haible  <bruno@clisp.org>
20789
20790         * m4/gl_list.m4: New file.
20791
20792 2006-07-17  Bruno Haible  <bruno@clisp.org>
20793
20794         * lib/gl_list.h: New file.
20795         * lib/gl_list.c: New file.
20796         * lib/gl_array_list.h: New file.
20797         * lib/gl_array_list.c: New file.
20798         * lib/gl_carray_list.h: New file.
20799         * lib/gl_carray_list.c: New file.
20800         * lib/gl_linked_list.h: New file.
20801         * lib/gl_linked_list.c: New file.
20802         * lib/gl_anylinked_list1.h: New file.
20803         * lib/gl_anylinked_list2.h: New file.
20804         * lib/gl_avltree_list.h: New file.
20805         * lib/gl_avltree_list.c: New file.
20806         * lib/gl_anyavltree_list1.h: New file.
20807         * lib/gl_anyavltree_list2.h: New file.
20808         * lib/gl_rbtree_list.h: New file.
20809         * lib/gl_rbtree_list.c: New file.
20810         * lib/gl_anyrbtree_list1.h: New file.
20811         * lib/gl_anyrbtree_list2.h: New file.
20812         * lib/gl_anytree_list1.h: New file.
20813         * lib/gl_anytree_list2.h: New file.
20814         * lib/gl_linkedhash_list.h: New file.
20815         * lib/gl_linkedhash_list.c: New file.
20816         * lib/gl_anyhash_list1.h: New file.
20817         * lib/gl_anyhash_list2.h: New file.
20818         * lib/gl_avltreehash_list.h: New file.
20819         * lib/gl_avltreehash_list.c: New file.
20820         * lib/gl_rbtreehash_list.h: New file.
20821         * lib/gl_rbtreehash_list.c: New file.
20822         * lib/gl_anytreehash_list1.h: New file.
20823         * lib/gl_anytreehash_list2.h: New file.
20824
20825         * lib/gl_oset.h: New file.
20826         * lib/gl_oset.c: New file.
20827         * lib/gl_array_oset.h: New file.
20828         * lib/gl_array_oset.c: New file.
20829         * lib/gl_avltree_oset.h: New file.
20830         * lib/gl_avltree_oset.c: New file.
20831         * lib/gl_rbtree_oset.h: New file.
20832         * lib/gl_rbtree_oset.c: New file.
20833         * lib/gl_anytree_oset.h: New file.
20834
20835 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
20836
20837         * m4/mkancesdirs.m4: New file.
20838         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
20839         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
20840         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
20841         it.
20842
20843 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
20844
20845         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
20846         * lib/mkancesdirs.h: New files.
20847         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
20848         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
20849         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
20850         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
20851         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
20852         callers changed.  Revamp internals significantly, by not
20853         attempting to create directories that are temporarily more
20854         permissive than the final results.  Do not attempt to use
20855         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
20856         This removes some race conditions, fixes some bugs, and simplifies
20857         things.  Use new dirchownmod function to do owner and mode changes.
20858         * lib/mkdir-p.h: Likewise.
20859         * lib/modechange.c (octal_to_mode): New function.
20860         (struct mode_change): New member mentioned.
20861         (make_node_op_equals): New arg mentioned.  All callers changed.
20862         (mode_compile): Keep track of which mode bits the user has explicitly
20863         mentioned.
20864         (mode_adjust): New arg DIR, so that we implement the X op correctly.
20865         New arg PMODE_BITS, to keep track of which mode bits the user
20866         mentioned; it treats S_ISUID and S_ISGID speciall.
20867         All callers changed.
20868         * lib/modechange.h: Likewise.
20869
20870 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
20871
20872         * MODULES.html.sh: Add mkancestors.
20873         * modules/mkancesdirs: New module.
20874         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
20875         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
20876         The chdir-safer and afs files are now orphans; I'll remove them
20877         unless someone speaks up.
20878         Add lib/dirchownmod.c, lib/dirchownmod.h.
20879         (Depends-on): Remove alloca, chown, save-cwd, dirname.
20880         Add lchown, mkancesdirs.
20881         (Maintainer): Add self.
20882
20883 2006-07-15  Karl Berry  <karl@gnu.org>
20884
20885         * gnulib-tool: help message wording/arrangement.
20886
20887 2006-07-14  Simon Josefsson  <jas@extundo.com>
20888
20889         * doc/gnulib.texi (Libtool and Windows): New section.
20890
20891 2006-07-12  Simon Josefsson  <jas@extundo.com>
20892
20893         * modules/gendocs (License): Fix license, approved by Karl.
20894
20895 2006-07-12  Eric Blake  <ebb9@byu.net>
20896
20897         * MODULES.html.sh: Add gendocs.
20898
20899 2006-07-11  Eric Blake  <ebb9@byu.net>
20900
20901         * modules/fdl: New module, to install doc/fdl.texi.
20902         * MODULES.html.sh: Add new section for documentation modules.
20903         * gnulib-tool: Avoid space-tab.
20904         (--doc-base): New option, to manage files from doc.
20905
20906 2006-07-11  Eric Blake  <ebb9@byu.net>
20907
20908         * m4/absolute-header.m4: Fix comments to match recent change.
20909
20910 2006-07-11  Eric Blake  <ebb9@byu.net>
20911
20912         * gnulib-tool: List --doc-base before --tests-base.
20913
20914 2006-07-11  Derek R. Price  <derek@ximbiot.com>
20915
20916         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
20917
20918 2006-07-11  Bruno Haible  <bruno@clisp.org>
20919
20920         * README: Mention where to put documentation.
20921
20922 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20923
20924         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
20925
20926 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
20927
20928         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
20929         to stdint.m4.
20930
20931 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
20932
20933         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
20934         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
20935         "no/such/file/stdint.h" when there is no such file, so that
20936         the resulting C code can be parsed by dodgy compilers.
20937         Problems reported by Bob Proulx.
20938
20939 2006-07-10  Derek R. Price  <derek@ximbiot.com>
20940
20941         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
20942         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
20943         macros into the GNU _D_EXACT_NAMLEN.
20944         * lib/savedir.c:  Likewise.
20945         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
20946
20947 2006-07-10  Derek R. Price  <derek@ximbiot.com>
20948         and Paul Eggert  <eggert@cs.ucla.edu>
20949
20950         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
20951         * m4/savedir.m4:
20952         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
20953         macros into the GNU _D_EXACT_NAMLEN.
20954
20955 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20956
20957         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
20958         around the absolute name, to work around a problem with the HP-UX
20959         11.23 native C compiler, reported by Bob Proulx.
20960
20961 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20962
20963         * doc/maintain.texi, make-stds.texi: Sync from
20964         <http://savannah.gnu.org/projects/gnustandards>.
20965
20966 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20967
20968         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
20969
20970 2006-07-09  Jim Meyering  <jim@meyering.net>
20971
20972         * m4/glob.m4: Remove a doubled word in a comment.
20973
20974 2006-07-09  Jim Meyering  <jim@meyering.net>
20975
20976         * lib/argp-pv.c: Remove a doubled word in a comment.
20977         * lib/check-version.c (check_version): Likewise.
20978         * lib/javacomp.c (compile_java_class): Likewise.
20979
20980 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
20981
20982         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
20983         for the benefit of people using Autoconf 2.60.  If you want to
20984         support older Autoconf versions you can copy m4/onceonly_2_57.m4
20985         (or m4/onceonly.m4, if pre-2.57) manually.
20986
20987 2006-07-08  Jim Meyering  <jim@meyering.net>
20988
20989         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
20990         comment.
20991         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
20992         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
20993         comment.
20994
20995 2006-07-08  Jim Meyering  <jim@meyering.net>
20996
20997         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
20998
20999 2006-07-07  Simon Josefsson  <jas@extundo.com>
21000
21001         * tests/test-crc.c: Change expected crc value, the test vector
21002         were probably computed using the old broken crc.c?
21003
21004 2006-07-06  Simon Josefsson  <jas@extundo.com>
21005
21006         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
21007         now the canonical place for the M4 file).
21008
21009         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
21010         from the sys_socket dependency now.
21011
21012         * modules/inet_pton (Files): Ditto.
21013
21014         * modules/inet_ntop (Files): Ditto.
21015
21016 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
21017
21018         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
21019         not gl_PREREQ_GETUSERSHELL.
21020
21021 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21022
21023         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
21024         with only one argument, for Autoconf 2.60.
21025         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
21026         expand to nothing, so add a shell command to avoid syntax error.
21027         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
21028
21029 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21030
21031         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
21032
21033 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21034
21035         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
21036         no longer needed.  Check for isblank decl.
21037         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
21038         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
21039         of existence.
21040
21041 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21042
21043         * lib/getloadavg.c: Use __VMS, not VMS.
21044         * lib/getopt.c: Likewise.
21045         * lib/getpagesize.h: Likewise.
21046         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
21047         and probably does not work.
21048
21049 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21050
21051         * lib/.cppi-disable: Add wcwidth.
21052         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
21053         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
21054         (ISGRAPH): Remove.  All uses changed to isgraph.
21055         (FOLD) [!defined _LIBC]: Remove special case.
21056         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
21057         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
21058         HAVE_ISBLANK.
21059         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
21060         case.
21061
21062 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
21063
21064         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
21065         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
21066         brackets.  Other minor changes to suppress some compiler
21067         warnings.
21068
21069 2006-07-06  Derek R. Price  <derek@ximbiot.com>
21070         and Paul Eggert  <eggert@cs.ucla.edu>
21071
21072         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
21073         of invoking obsolescent AC_HEADER_DIRENT macro.
21074         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21075         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
21076         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21077         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
21078         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
21079         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
21080         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
21081         * m4/readdir.m4: Remove; no longer needed.
21082
21083 2006-07-06  Derek R. Price  <derek@ximbiot.com>
21084         and Paul Eggert  <eggert@cs.ucla.edu>
21085
21086         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
21087         Don't worry about this obsolete case any more.
21088         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
21089         directories.
21090         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
21091         worry about this obsolete case any more.
21092         * lib/fts.c: Likewise.
21093         * lib/getcwd.c: Likewise.
21094         * lib/glob.h: Likewise.
21095         * lib/savedir.c: Likewise.
21096
21097 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21098
21099         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
21100         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
21101         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
21102         needed.
21103         All uses removed.
21104         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
21105         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
21106         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
21107         needed.
21108         * m4/getdate.m4 (gl_GETDATE): Likewise.
21109         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
21110         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
21111         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21112         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
21113         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
21114         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21115         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
21116         needed.
21117
21118 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21119
21120         * lib/memcasecmp.c: Include <limits.h>.
21121         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
21122         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
21123         Don't assume isdigit succeeds only on '0' through '9'.
21124
21125 2006-07-05  Eric Blake  <ebb9@byu.net>
21126
21127         * modules/getaddrinfo (Depends-on): Add snprintf.
21128
21129 2006-07-05  Eric Blake  <ebb9@byu.net>
21130
21131         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
21132         to avoid 'header present but could not be compiled' on cygwin.
21133
21134 2006-07-05  Eric Blake  <ebb9@byu.net>
21135
21136         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
21137         missing from netdb.h.
21138         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
21139
21140 2006-07-05  Derek R. Price  <derek@ximbiot.com>
21141
21142         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
21143         no longer needed.
21144         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
21145         * m4/getdate.m4 (gl_GETDATE): Likewise.
21146         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
21147         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
21148         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21149         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
21150         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21151
21152 2006-07-05  Derek R. Price  <derek@ximbiot.com>
21153
21154         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
21155         All uses of is_space replaced by isspace.
21156         * lib/exit.h: Don't talk about STDC_HEADERS.
21157         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
21158         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
21159         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
21160         replaced by isprint etc.
21161         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
21162         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
21163         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
21164         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
21165         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
21166         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
21167
21168 2006-07-05  Bruno Haible  <bruno@clisp.org>
21169
21170         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
21171         the function exists, before testing against AIX.
21172         Reported by Martin Lambers <marlam@marlam.de>.
21173
21174 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21175
21176         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
21177         From Mark D. Baushke.
21178
21179 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21180
21181         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
21182         to the absolute name, not just one, to bypass Sun C 5.8's
21183         "warning: #include of /usr/include/... may be non-portable".
21184
21185 2006-07-04  Eric Blake  <ebb9@byu.net>
21186
21187         * modules/dirname-tests: New test module.
21188         * tests/test-dirname.c: New file, replacing dirname.c
21189         TEST_DIRNAME section that was recently deleted.
21190
21191 2006-07-04  Bruno Haible  <bruno@clisp.org>
21192
21193         Assume ANSI C header files and <ctype.h> functions.
21194         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
21195         (mbsnwidth): Use isprint, iscntrl instead.
21196
21197 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21198
21199         Merge from coreutils.
21200         * MODULES.html.sh: Add xstrtold.
21201         * modules/xstrtold: New file.
21202         * modules/cycle-check (Files): Add lib/same-inode.h.
21203         * modules/dirname (Files): Add m4/double-slash-root.m4.
21204         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
21205         * modules/mkdir-p (Files): Add lib/same-inode.h.
21206         * modules/same (Files): Add lib/same-inode.h.
21207
21208 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21209
21210         * m4/absolute-header.m4: Renamed from full-header-path.m4.
21211         This is to keep the terminology clean; POSIX talks about
21212         "absolute pathnames", not "full pathnames", but the GNU
21213         Coding Standards say to use "path" for something else;
21214         so use "absolute" to keep both sides happy.
21215         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
21216         Set gl_absolute_header, not gl_full_header_path.
21217         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
21218         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
21219         All uses changed.
21220
21221         Merge from coreutils.
21222
21223         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
21224
21225         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
21226         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
21227         want to require the building of c-strtod.o.
21228         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
21229         needs -lm directly.
21230         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
21231
21232         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
21233
21234         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
21235         --as-needed option if available.  Problem reported by Albert Chin in
21236         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
21237         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
21238         cc merely issues a bunch of annoying warnings for --as-needed
21239         (this problem was reported by Bob Proulx).  Also, try linking with
21240         -lm to detect a bug in binutils 2.16 (this problem was reported
21241         by Ralf Wildenhues).
21242
21243         2006-06-18  Jim Meyering  <jim@meyering.net>
21244
21245         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
21246         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
21247         macro.
21248         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
21249         also check for glibc-2.4's abort-inducing bug.
21250
21251         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
21252         Low-probability clean-up should be to use rmdir to get rid of
21253         the just-created directory, not unlink.
21254
21255         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
21256         configure fail, and request a bug report to inform us about it.
21257         Add a comment that, barring reports to the contrary, in 2007 we'll
21258         assume ftruncate is universally available.
21259
21260         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21261
21262         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
21263
21264         2006-03-12  Jim Meyering  <jim@meyering.net>
21265
21266         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
21267         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
21268         * m4/same.m4 (gl_SAME): Likewise.
21269         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
21270
21271         2006-03-11  Eric Blake  <ebb9@byu.net>
21272
21273         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
21274         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
21275         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
21276         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
21277
21278 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21279
21280         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
21281         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
21282         reported by Mark D. Baushke, one in
21283         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
21284
21285         Merge from coreutils.
21286
21287         * lib/.cppi-disable: Add stdint_.h.
21288         * lib/.cvsignore: Add stdint.h.
21289
21290         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
21291
21292         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
21293         both double and long double versions.
21294         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
21295         * lib/xstrtold.c: New file.
21296         * lib/xstrtod.h (xstrtold): New decl.
21297
21298         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
21299
21300         * lib/filemode.c (setst): Remove.
21301         (strmode): Rewrite to avoid setst.  This makes the code shorter,
21302         (arguably) clearer, and the generated code is a bit smaller on my
21303         Debian GNU/Linux stable x86 host.
21304
21305         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21306
21307         * lib/filemode.c: Include "filemode.h" first, to test the interface.
21308         Assume that filemode.h includes sys/types.h and sys/stat.h.
21309         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
21310         (ftypelet): Reorder to put common cases first, for efficiency.
21311         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
21312         to do 'M'.
21313         (strmode): Renamed from mode_string, and now stores 12 bytes instead
21314         of 10, for compatibility with FreeBSD.  All callers changed.
21315         (filemodestring): Now stores 12 bytes instead of 10, and sets file
21316         types that can't be deduced solely from st_mode.  First arg is now a
21317         const pointer.
21318         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
21319         (strmode): Renamed from mode_string.
21320         (filemodestring): New decl.
21321         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
21322         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
21323         needed.
21324         (S_ISPORT, S_ISWHT): New macros, if not already defined.
21325
21326         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
21327
21328         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
21329         fsusage.h now does that.  Include fsusage.h first, to test interface.
21330         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
21331         at most one method (the old code could have generated decls that
21332         didn't conform to C89, not that this was ever exercised).
21333         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
21334
21335         2006-03-19  Jim Meyering  <jim@meyering.net>
21336
21337         Work even in a chroot where d_ino values for entries in "/"
21338         don't match the stat.st_ino values for the same names.
21339         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
21340         number, iterate through all entries again, using lstat instead.
21341         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
21342         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
21343
21344         * lib/getcwd.c (__getcwd): Clarify a comment.
21345         Use memcpy in place of a call to strcpy.
21346
21347         2006-03-12  Jim Meyering  <jim@meyering.net>
21348
21349         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
21350         matches that of the current directory (which we're about to chdir ".."
21351         out of), then save the dev-ino of the parent, instead.
21352
21353         * lib/same-inode.h (SAME_INODE): New file/macro.
21354         * lib/chdir-safer.c (SAME_INODE): Remove definition.
21355         Include "same-inode.h", instead.
21356         * lib/same.c: Likewise.
21357         * lib/cycle-check.h: Include "same-inode.h".
21358         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
21359         * lib/cycle-check.c (SAME_INODE): Remove definition.
21360         * lib/root-dev-ino.h: Include "same-inode.h".
21361
21362         2006-03-11  Eric Blake  <ebb9@byu.net>
21363
21364         * lib/same.c (same_name): s/base_name/last_component/
21365         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
21366         * lib/filenamecat.c (file_name_concat): Likewise.
21367
21368         2006-03-11  Eric Blake  <ebb9@byu.net>,
21369                     Paul Eggert  <eggert@cs.ucla.edu>
21370
21371         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
21372         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
21373         drive prefix.
21374         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
21375         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
21376         (last_component): New method.
21377         * lib/dirname.c (dir_len): Determine when drive letters need a
21378         subsequent slash.  Preserve // when it is special.
21379         (dir_name): Don't append dot when drive letter is absolute.
21380         [TEST_DIRNAME]: Move into a full-blown gnulib test.
21381         * lib/basename.c (base_name): New semantics - malloc the result.
21382         Preserve // when it is special.  Preserve relative files that look
21383         like drive letters.
21384         (base_len): Preserve // when it is special.
21385         (last_component): New method, similar to old base_name semantics.
21386         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
21387         base_name.  Strip redundant slashes from ///.
21388
21389 2006-07-03  Jim Meyering  <jim@meyering.net>
21390
21391         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
21392         macro is used before the first cycle_check call.
21393
21394 2006-07-03  Eric Blake  <ebb9@byu.net>
21395
21396         * modules/dirname (Depends-on): Add xstrndup.
21397
21398 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21399
21400         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
21401         test cases, so that config.log is a bit easier to follow.
21402
21403 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21404
21405         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
21406         both are 64 bits, since this seems to be the tradition, and this
21407         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
21408         we ever run into a host that prefers long long to long in this
21409         case, we'll need another configure-time test.  Problem reported by
21410         Jim Meyering.
21411
21412 2006-07-02  Eric Blake  <ebb9@byu.net>
21413
21414         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
21415
21416 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
21417
21418         * modules/inttypes (Depends-on): No longer depends on stdint.
21419         * modules/stdint (Description): Say more about assumptions.
21420         Say that the fast types might differ.  Say macros are used.
21421         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
21422         (Makefile.am): Revise list of substituted symbols to match
21423         new stdint.m4.
21424         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
21425         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
21426         * tests/test-stdint.c (verify_same_types)
21427         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
21428         the code conforms to C99/C89.
21429         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
21430         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
21431
21432 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
21433
21434         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
21435         but fix a bug, by requiring at least 64 bits.
21436         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
21437         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
21438         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
21439         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
21440
21441         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
21442         changes.  Make 2.59 a prerequisite.  Check and substitute for
21443         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
21444         inttypes.h.  Do not use special include files; just use the
21445         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
21446         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
21447         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
21448         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
21449         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
21450         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
21451         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
21452         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
21453         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
21454         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
21455         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
21456         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
21457         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
21458         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
21459         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
21460         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
21461         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
21462         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
21463         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
21464         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
21465         WINT_MAX.  Check for C99 conformance more strictly, by detecting
21466         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
21467         not check for things that C99 does not require, e.g., int8_t.  If
21468         a test isn't needed unless <stdint.h> isn't working, and is
21469         unlikely to be needed for any other reason, then don't do it
21470         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
21471         size_t, since we assume C89 freestanding at least.  Do not check
21472         for sig_atomic_t, wchar_t, or wint_t, since the code now does
21473         the right thing even if the types are not defined.  Instead use:
21474         (gl_STDINT_TYPE_PROPERTIES): New macro.
21475         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
21476         testing whether <sys/types.h> clashes, as Autoconf does this for
21477         us now.  All uses removed.
21478         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
21479         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
21480         (gl_CHECK_TYPE_SAME):
21481         Remove; no longer needed.
21482         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
21483         exists, since we'll return 0 anyway in that case.
21484         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
21485
21486 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
21487
21488         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
21489         possible collision with system files.
21490         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
21491         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
21492         WCHAR_MIN and WCHAR_MAX in this case.
21493         (<stddef.h>): Do not include; no longer needed.
21494         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
21495         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
21496         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
21497         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
21498         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
21499         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
21500         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
21501         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
21502         !defined(__c99))]: Include in this case too, since it's harmless
21503         now.
21504         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
21505         dangerous to do so.
21506         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
21507         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
21508         (_STDINT_MIN, _STDINT_MAX): New macros.
21509         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
21510         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
21511         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
21512         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
21513         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
21514         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
21515         macros, not typedefs; this simplifies things quite a bit.
21516         Use long int for all types narrower than int64_t.
21517         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
21518         Define in terms of long long int or int64_t or long int,
21519         not int64_t or int32_t.  This saves some compile-time testing.
21520         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
21521         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
21522         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
21523         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
21524         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
21525         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
21526         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
21527         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
21528         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
21529         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
21530         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
21531         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
21532         undef any previous version and define our own version, for
21533         simplicity and consistency with the new macros for types.
21534         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
21535         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
21536         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
21537         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
21538         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
21539         @WINT_T_SUFFIX@ to keep things simple here.
21540         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
21541         Simplify by assuming typical 8/16/32/64 host, since we're
21542         already doing that elsewhere anyway.
21543         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
21544         and assume long long int is 64 bits if available.  This
21545         speeds up 'configure'.
21546
21547 2006-07-01  Eric Blake  <ebb9@byu.net>
21548
21549         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
21550         Reported by Andreas Buening.
21551
21552 2006-07-01  Eric Blake  <ebb9@byu.net>
21553
21554         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
21555
21556 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
21557
21558         * lib/getaddrinfo.c: fixed typo
21559
21560 2006-06-29  Jim Meyering  <jim@meyering.net>
21561
21562         * modules/strftime (Maintainer): Add my name, since with the
21563         FPRINTFTIME changes strftime.c has forked from glibc.
21564
21565 2006-06-29  Eric Blake  <ebb9@byu.net>
21566
21567         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
21568
21569 2006-06-29  Eric Blake  <ebb9@byu.net>
21570
21571         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
21572
21573 2006-06-29  Eric Blake  <ebb9@byu.net>
21574
21575         * lib/stat_.h: New file.
21576
21577 2006-06-29  Eric Blake  <ebb9@byu.net>
21578
21579         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
21580         unused static function.
21581
21582 2006-06-29  Eric Blake  <ebb9@byu.net>
21583
21584         * doc/functions.texi (Function Portability): Document missing lstat
21585         on mingw.
21586
21587 2006-06-29  Eric Blake  <ebb9@byu.net>
21588
21589         * MODULES.html.sh: Add sys_stat.
21590         * modules/sys_stat: New module.
21591         * modules/mkstemp (Depends-on): Add sys_stat.
21592
21593 2006-06-29  Derek R. Price  <derek@ximbiot.com>
21594
21595         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
21596
21597 2006-06-29  Derek R. Price  <derek@ximbiot.com>
21598
21599         * m4/c-bs-a.m4: Removed.
21600
21601 2006-06-29  Derek R. Price  <derek@ximbiot.com>
21602
21603         * lib/strftime.c: Assume strftime() exists.
21604
21605 2006-06-29  Derek Price  <derek@ximbiot.com>
21606
21607         * modules/c-bs-a: Removed - \a is C89.
21608         * MODULES.html.sh: Remove c-bs-a.
21609
21610 2006-06-29  Bruno Haible  <bruno@clisp.org>
21611
21612         * modules/wcwidth (License): Change to LGPL.
21613
21614 2006-06-28  Simon Josefsson  <jas@extundo.com>
21615
21616         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
21617         on _WIN32.
21618
21619         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
21620         getnameinfo.
21621
21622 2006-06-28  Simon Josefsson  <jas@extundo.com>
21623
21624         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
21625
21626 2006-06-28  Simon Josefsson  <jas@extundo.com>
21627
21628         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
21629         functions there.  It will succeed on Windows XP, but on Windows
21630         2000 and (presumably) earlier, it will fail, and use the internal
21631         re-implementation.
21632         (use_win32_p): New function.
21633         (getaddrinfo): Use strtoul on servname, to support numeric ports.
21634         Support AI_NUMERICSERV to disable getservbyname.
21635         (getnameinfo): New function, only supports
21636         NI_NUMERICHOST|NI_NUMERICSERV for now.
21637
21638         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
21639         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
21640         getnameinfo.
21641
21642 2006-06-28  Eric Blake  <ebb9@byu.net>
21643
21644         * modules/wcwidth: New file.
21645         * modules/mbchar (Depends-on): Add wcwidth.
21646         * modules/mbswidth (Depends-on): Add wcwidth.
21647         * MODULES.html.sh: Add wcwidth.
21648
21649 2006-06-28  Eric Blake  <ebb9@byu.net>
21650
21651         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
21652         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
21653
21654 2006-06-28  Eric Blake  <ebb9@byu.net>
21655
21656         * lib/xvasprintf.h: Fix comments.
21657
21658 2006-06-28  Eric Blake  <ebb9@byu.net>
21659
21660         * lib/mbchar.h (wcwidth): Include wcwidth.h.
21661         * lib/mbswidth.c (wcwidth): Move from here...
21662         * lib/wcwidth.h: ...to this new file.
21663
21664 2006-06-28  Derek R. Price  <derek@ximbiot.com>
21665
21666         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
21667
21668         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
21669         it's obsolete.
21670         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
21671
21672 2006-06-28  Derek R. Price  <derek@ximbiot.com>
21673
21674         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
21675         Autoconf 2.60 says this stuff was obsolete.
21676
21677 2006-06-28  Bruno Haible  <bruno@clisp.org>
21678
21679         * modules/wcwidth (Files): Add m4/wchar_t.m4.
21680
21681 2006-06-28  Bruno Haible  <bruno@clisp.org>
21682
21683         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
21684         gt_TYPE_WCHAR_T.
21685
21686 2006-06-28  Bruno Haible  <bruno@clisp.org>
21687
21688         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
21689         declaration for wcwidth.
21690         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
21691
21692 2006-06-28  Bruno Haible  <bruno@clisp.org>
21693
21694         * lib/mkdtemp.c [MINGW]: Include <io.h>.
21695         (mkdir): Define using _mkdir.
21696
21697 2006-06-28  Bruno Haible  <bruno@clisp.org>
21698
21699         * lib/getaddrinfo.h: Fix POSIX URL.
21700         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
21701         _WIN32.
21702         (use_win32_p): Make static.
21703         (getaddrinfo): Reject service name if it is empty or does not consist
21704         solely of decimal digits, or if its value is > 65535.
21705         (getnameinfo): Remove useless casts.
21706
21707 2006-06-27  Simon Josefsson  <jas@extundo.com>
21708
21709         * modules/sys_select: New file, suggested by Bruno Haible, Paul
21710         Eggert and Martin Lambers.
21711
21712 2006-06-27  Simon Josefsson  <jas@extundo.com>
21713
21714         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
21715         Eggert and Martin Lambers.
21716
21717 2006-06-27  Bruno Haible  <bruno@clisp.org>
21718
21719         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
21720         result to 0, not to empty.
21721         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
21722
21723 2006-06-27  Bruno Haible  <bruno@clisp.org>
21724
21725         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
21726
21727 2006-06-26  Simon Josefsson  <jas@extundo.com>
21728
21729         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
21730         present.
21731
21732 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21733
21734         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
21735         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
21736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
21737
21738 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
21739
21740         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
21741
21742 2006-06-26  Bruno Haible  <bruno@clisp.org>
21743
21744         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
21745
21746 2006-06-26  Bruno Haible  <bruno@clisp.org>
21747
21748         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
21749
21750 2006-06-26  Bruno Haible  <bruno@clisp.org>
21751
21752         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
21753         SGI C compiler in pre-C99 mode.
21754         Suggested by Mark D. Baushke and Larry Jones.
21755
21756 2006-06-26  Bruno Haible  <bruno@clisp.org>
21757
21758         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
21759         WCHAR_MAX.
21760         Reported by Mark D. Baushke and Larry Jones.
21761
21762 2006-06-26  Bruno Haible  <bruno@clisp.org>
21763
21764         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
21765         in pre-C99 mode.
21766         Suggested by Mark D. Baushke and Larry Jones.
21767
21768 2006-06-23  Simon Josefsson  <jas@extundo.com>
21769             Bruno Haible  <bruno@clisp.org>
21770
21771         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
21772         Emit mostlyclean-local rule.
21773         (func_emit_tests_Makefile_am): Likewise.
21774         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
21775
21776 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
21777
21778         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
21779
21780 2006-06-23  Bruno Haible  <bruno@clisp.org>
21781
21782         * tests/test-stdint.c: Update to match ISO C 99 Technical
21783         Corrigendum 1.
21784
21785 2006-06-23  Bruno Haible  <bruno@clisp.org>
21786
21787         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
21788
21789 2006-06-23  Bruno Haible  <bruno@clisp.org>
21790
21791         * lib/stdint_.h: Treat IRIX like OpenBSD.
21792
21793 2006-06-23  Bruno Haible  <bruno@clisp.org>
21794
21795         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
21796         ISO C 99 Technical Corrigendum 1.
21797
21798 2006-06-22  Simon Josefsson  <jas@extundo.com>
21799
21800         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
21801         MinGW.
21802
21803 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21804
21805         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
21806         needed.  Some compiler complained about some of them.  Problem reported
21807         by Larry Jones in
21808         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
21809
21810 2006-06-21  Simon Josefsson  <jas@extundo.com>
21811
21812         * tests/test-getaddrinfo.c: New file.
21813
21814         * modules/getaddrinfo-tests: New file.
21815
21816         * MODULES.html.sh: Add inet_pton.
21817
21818         * modules/inet_pton: New file.
21819
21820 2006-06-21  Simon Josefsson  <jas@extundo.com>
21821
21822         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
21823         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
21824         of using the (limited) gnulib implementation on Windows XP.
21825
21826         * m4/inet_pton.m4: New file.
21827
21828 2006-06-21  Simon Josefsson  <jas@extundo.com>
21829
21830         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
21831         variable.
21832
21833         * lib/socket_.h: Don't define WINVER.
21834
21835         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
21836         slightly modified to work in gnulib.
21837
21838 2006-06-21  Simon Josefsson  <jas@extundo.com>
21839
21840         * doc/gnulib.texi (Windows sockets): Add.
21841
21842 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21843
21844         * lib/read-file.c (fread_file): Start with buffer allocation of
21845         0 bytes rather than 1 byte; this simplifies the code.
21846         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
21847         code to free buffer and save/restore errno.
21848         (internal_read_file): Remove unused local.
21849
21850 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21851
21852         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
21853         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
21854         Problem reported by Denis Excoffier in
21855         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
21856
21857 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21858
21859         * modules/sys_socket, modules/socklen: Include sys/types since
21860         FreeBSD 4.x's sys/socket.h needs it.
21861
21862 2006-06-19  Simon Josefsson  <jas@extundo.com>
21863
21864         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
21865
21866 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
21867
21868         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
21869
21870 2006-06-19  Bruno Haible  <bruno@clisp.org>
21871
21872         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
21873         and FULL_PATH_INTTYPES_H in angle brackets.
21874         Reported by Mark D. Baushke <mdb@gnu.org>.
21875
21876 2006-06-17  Eric Blake  <ebb9@byu.net>
21877
21878         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
21879         errno.
21880
21881 2006-06-17  Bruno Haible  <bruno@clisp.org>
21882
21883         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
21884         <sys/inttypes.h>.
21885
21886 2006-06-17  Bruno Haible  <bruno@clisp.org>
21887
21888         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
21889         whether errno is declared. Assume <errno.h> declares errno.
21890
21891 2006-06-17  Bruno Haible  <bruno@clisp.org>
21892
21893         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
21894
21895 2006-06-17  Bruno Haible  <bruno@clisp.org>
21896
21897         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
21898         problem on Solaris 2.5.1.
21899
21900 2006-06-16  Eric Blake  <ebb9@byu.net>
21901
21902         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
21903         * lib/unicodeio.c [!defined errno]: Likewise.
21904         * lib/strtol.c [!defined errno]: Likewise.
21905         * lib/strtod.c [!defined errno]: Likewise.
21906
21907 2006-06-15  Eric Blake  <ebb9@byu.net>
21908
21909         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
21910
21911 2006-06-15  Eric Blake  <ebb9@byu.net>
21912
21913         * config/srclist.txt (ssize_t.m4): Lose sync.
21914
21915 2006-06-15  Bruno Haible  <bruno@clisp.org>
21916
21917         * modules/stdint (Files): Include m4/full-header-path.m4,
21918         m4/size_max.m4, m4/wchar_t.m4.
21919         (Makefile.am): Many more substitutions.
21920         * modules/stdint-tests: New file.
21921         * tests/test-stdint.c: New file.
21922
21923 2006-06-15  Bruno Haible  <bruno@clisp.org>
21924
21925         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
21926         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
21927         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
21928         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
21929         gl_CHECK_TYPE_SAME): New macros.
21930
21931 2006-06-15  Bruno Haible  <bruno@clisp.org>
21932
21933         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
21934
21935 2006-06-15  Bruno Haible  <bruno@clisp.org>
21936
21937         * lib/stdint_.h: Rewritten to be fully auto-configured.
21938         Fixes bug on HP-UX/IA64.
21939
21940 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21941
21942         * lib/getdate.y (__attribute__): Don't define if already defined.
21943         Problem reported by Larry Jones.
21944         * lib/utimens.c (__attribute__): Likewise.
21945
21946 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
21947
21948         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
21949         reported by Andreas Schwab.
21950
21951 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21952             Bruno Haible  <bruno@clisp.org>
21953
21954         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
21955         check for the declaration of strnlen and a run test that exposes the
21956         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
21957         rpl_strndup.
21958
21959 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21960             Bruno Haible  <bruno@clisp.org>
21961
21962         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
21963
21964 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21965
21966         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
21967         compile test, for Tru64 4.0D.
21968
21969 2006-05-28  Karl Berry  <karl@gnu.org>
21970
21971         * config/srclist.txt (printf-args.c): lose sync.
21972
21973 2006-05-26  Martin Lambers  <marlam@marlam.de>
21974
21975         * lib/getpass.c: Updates the test for the native W32 API, and adds
21976         missing includes, thus fixing compilation warnings.
21977
21978 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21979
21980         * lib/exclude.c (exclude_fnmatch): New function.
21981         (excluded_file_name): Call exclude_fnmatch.
21982         * lib/exclude.h (excluded_file_name): New prototype
21983
21984 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21985
21986         * lib/tempname.c (small_open, large_open): New macros.
21987         (__open, __open64) [!_LIBC]: Remove.
21988         (__gen_tempname): Use small_open and large_open instead of __open
21989         and __open64.  This fixes a portability bug on HP-UX 11.11i
21990         reported by Simon Wing-Tang in
21991         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
21992
21993 2006-05-24  Bruno Haible  <bruno@clisp.org>
21994
21995         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
21996         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
21997         Reported by Thorsten Maerz <torte@netztorte.de> via
21998         Aaron Stone <aaron@serendipity.cx>.
21999
22000 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22001
22002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
22003         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
22004         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
22005         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
22006         not really conditional on the cache.
22007         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
22008
22009 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22010
22011         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
22012         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
22013         (my_usleep): Don't mishandle maximum value.
22014
22015 2006-05-19  Jim Meyering  <jim@meyering.net>
22016
22017         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
22018
22019 2006-05-17  Bruno Haible  <bruno@clisp.org>
22020
22021         Cygwin portability.
22022         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
22023
22024 2006-05-17  Bruno Haible  <bruno@clisp.org>
22025
22026         * lib/stdint_.h: Fix recognition of Cygwin.
22027
22028 2006-05-15  Bruno Haible  <bruno@clisp.org>
22029
22030         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
22031         on libtool patch by Ralf Wildenhues.
22032
22033 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22034
22035         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
22036         test for C99 conformance; (bool) 0.5 is an integer constant
22037         expression, but (bool) -0.5 is not.  Problem reported by Fedor
22038         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
22039
22040 2006-05-11  Simon Josefsson  <jas@extundo.com>
22041
22042         * m4/xvasprintf.m4: Fix obvious typo.
22043
22044 2006-05-11  Jim Meyering  <jim@meyering.net>
22045
22046         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
22047         James Lemley.
22048
22049 2006-05-10  Simon Josefsson  <jas@extundo.com>
22050
22051         * lib/md4.c: Typo fix, update copyright years.
22052         (K1, K2): Don't use L because it turn computations into 64-bit on
22053         64-bit platforms.
22054
22055 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22056
22057         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
22058         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
22059         unwanted sign propagation, e.g., on hosts with 64-bit int.
22060         There still are some problems with reeelly weird theoretical hosts
22061         (e.g., 33-bit int) but it's not worth worrying about now.
22062         * lib/sha1.c (rol): Likewise.
22063         (K1, K2, K3, K4): Remove unnecessary L suffix.
22064
22065 2006-05-10  Bruno Haible  <bruno@clisp.org>
22066
22067         * lib/des.c: Cast to avoid warnings.
22068
22069 2006-05-09  Bruno Haible  <bruno@clisp.org>
22070
22071         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
22072         (Depends-on): Depend also on xsize, stdarg.
22073         (configure.ac): Add gl_XVASPRINTF.
22074
22075 2006-05-09  Bruno Haible  <bruno@clisp.org>
22076
22077         * m4/xvasprintf.m4: New file.
22078
22079 2006-05-09  Bruno Haible  <bruno@clisp.org>
22080
22081         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
22082         (EOVERFLOW): Define fallback value.
22083         (xstrcat): New function.
22084         (xvasprintf): Recognize the special case of a string concatenation.
22085
22086 2006-05-08  Eric Blake  <ebb9@byu.net>
22087
22088         * gnulib-tool (func_version): Base copyright year on CVS date.
22089         (func_emit_copyright_notice): New function.
22090         (func_emit_lib_Makefile_am): Use it.
22091         (func_emit_tests_Makefile_am): Likewise.
22092         (func_import): Likewise.
22093
22094 2006-05-08  Bruno Haible  <bruno@clisp.org>
22095
22096         * modules/stdarg: New file.
22097         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
22098
22099 2006-05-08  Bruno Haible  <bruno@clisp.org>
22100
22101         * m4/stdarg.m4: New file, from GNU gettext.
22102
22103 2006-05-08  Bruno Haible  <bruno@clisp.org>
22104
22105         * config/srclist.txt (build-aux/config.rpath): different from latest
22106         release.
22107
22108 2006-05-08  Bruno Haible  <bruno@clisp.org>
22109
22110         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
22111
22112 2006-05-05  Jim Meyering  <jim@meyering.net>
22113
22114         * m4/warning.m4: New file, derived from bison's file by the same name.
22115
22116 2006-05-03  Bruno Haible  <bruno@clisp.org>
22117
22118         * lib/stdint_.h: Shorter URL.
22119         * lib/inttypes.h: Likewise.
22120
22121 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
22122
22123         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
22124
22125 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
22126
22127         * lib/verify.h: Document the internals better.  Most of this change
22128         was written by Bruno Haible.
22129
22130 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
22131
22132         * doc/verify.texi: New file, partly based on a proposal by
22133         Bruno Haible.
22134
22135 2006-05-02  Bruno Haible  <bruno@clisp.org>
22136
22137         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
22138         test from here...
22139         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
22140
22141 2006-04-29  Bruno Haible  <bruno@clisp.org>
22142
22143         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
22144         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
22145
22146 2006-04-29  Bruno Haible  <bruno@clisp.org>
22147
22148         * gnulib-tool: Make --update option actually work.
22149
22150 2006-04-29  Bruno Haible  <bruno@clisp.org>
22151
22152         * doc/gcd.texi: New file.
22153         * doc/gnulib.texi: Include it.
22154
22155 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
22156
22157         * lib/getdate.y (get_date): When adding relative date, start with the
22158         initial time, not with the result of the first mktime call.
22159
22160 2006-04-25  Bruno Haible  <bruno@clisp.org>
22161
22162         * gnulib-tool (func_import): Output the include directives in three
22163         blocks, sorted separately.
22164         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22165
22166 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22167
22168         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
22169         to define main with arguments, for C++.  Reported by Eric Blake.
22170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
22171         Prefer 'int main ()' to 'int main (void)', for C++.
22172         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22173         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
22174         for 'main', for C99 and C++.
22175
22176 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22177
22178         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
22179         Don't assume that exit status -1 is valid.
22180         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22181         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22182         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22183         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
22184         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
22185         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
22186         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
22187         functions can be used without declaring them, or that you can
22188         exit with status -1.
22189         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
22190
22191 2006-04-24  Karl Berry  <karl@gnu.org>
22192
22193         * config/srclist.txt (longdouble.m4): sync lost.
22194
22195 2006-04-24  Eric Blake  <ebb9@byu.net>
22196
22197         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
22198
22199 2006-04-24  Bruno Haible  <bruno@clisp.org>
22200
22201         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
22202         poll() implementation in AIX.
22203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22204
22205 2006-04-24  Bruno Haible  <bruno@clisp.org>
22206
22207         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
22208         assigned exactly once.
22209
22210 2006-04-23  Claudio Fontana  <claudio@gnu.org>
22211             Bruno Haible  <bruno@clisp.org>
22212
22213         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
22214         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
22215         for AM_CPPFLAGS.
22216
22217 2006-04-23  Bruno Haible  <bruno@clisp.org>
22218
22219         * modules/copy-file: Depend on unistd.
22220         * modules/execute: Likewise.
22221         * modules/fatal-signal: Likewise.
22222         * modules/findprog: Likewise.
22223         * modules/mkdtemp : Likewise.
22224         * modules/pipe: Likewise.
22225         * modules/wait-process: Likewise.
22226
22227 2006-04-23  Bruno Haible  <bruno@clisp.org>
22228
22229         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
22230         condition was already detected.
22231         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22232
22233 2006-04-23  Bruno Haible  <bruno@clisp.org>
22234
22235         * lib/copy-file.c: Include <unistd.h> unconditionally.
22236         * lib/execute.c: Likewise.
22237         * lib/fatal-signal.c: Likewise.
22238         * lib/findprog.c: Likewise.
22239         * lib/mkdtemp.c: Likewise.
22240         * lib/pipe.h: Likewise.
22241         * lib/pipe.c: Likewise.
22242         * lib/wait-process.h: Likewise.
22243
22244 2006-04-23  Bruno Haible  <bruno@clisp.org>
22245
22246         * gnulib-tool (func_usage): Fix --import description. Document
22247         --update.
22248         (func_import): Create temporary file in a temporary directory, if
22249         --dry-run is specified. Silence errors from 'grep' when there are no
22250         m4 files in $m4dir.
22251         (func_create_testdir): Silence errors from 'grep' when there are no
22252         m4 files in $m4dir.
22253         Reported by Karl Berry <karl@freefriends.org>.
22254
22255 2006-04-20  Bruno Haible  <bruno@clisp.org>
22256
22257         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
22258         one argument, so that the code will be portable to Autoconf 2.60.
22259         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
22260         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
22261         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
22262
22263 2006-04-19  Derek Price  <derek@ximbiot.com>
22264             Eric Blake  <ebb9@byu.net>
22265
22266         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
22267         rather than "/full/path.h".  Update comment to match.  Shorten &
22268         generalize m4_translit call via AS_TR_CPP.
22269
22270 2006-04-19  Derek Price  <derek@ximbiot.com>
22271             Eric Blake  <ebb9@byu.net>
22272
22273         * lib/inttypes.h: Correct grammar in comment.
22274
22275 2006-04-18  Derek Price  <derek@ximbiot.com>
22276             Paul Eggert  <eggert@cs.ucla.edu>
22277
22278         * modules/inttypes: New file.
22279         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
22280
22281 2006-04-18  Derek Price  <derek@ximbiot.com>
22282             Paul Eggert  <eggert@cs.ucla.edu>
22283
22284         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
22285         New files.
22286
22287 2006-04-18  Derek Price  <derek@ximbiot.com>
22288             Paul Eggert  <eggert@cs.ucla.edu>
22289
22290         * lib/inttypes.h: New file.
22291         * lib/strtoimax.c: Assume <inttypes.h>.
22292
22293 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
22294
22295         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
22296         isn't mounted.  Problem reported by Kir Kolyshkin.
22297
22298 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
22299
22300         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
22301         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
22302         Derek R. Price.
22303         * lib/regex.h (RE_DUP_MAX): Update comment to match current
22304         implementation.
22305
22306 2006-04-12  Eric Blake  <ebb9@byu.net>
22307
22308         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
22309         is now done automatically by the corresponding Autoconf macro.
22310
22311 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
22312
22313         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
22314         time_r.h.
22315
22316 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22317
22318         Merge regex changes from libc, removing some of our
22319         POSIX-conformance changes that were rejected and redoing them in a
22320         less-intrusive way.
22321
22322         * lib/regcomp.c (re_compile_internal, init_dfa):
22323         Length arg is now size_t, not Idx.  All uses changed.
22324         (peek_token): Forward decl now says internal_function.
22325         (__re_error_msgid, __re_error_msgid_idx):
22326         Now static rather than extern with attribute_hidden.
22327         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
22328         For some reason libc prefers K&R style defns for external functions.
22329         (regerror) [!defined _LIBC]: Likewise.
22330         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
22331         (seek_collating_symbol_entry, lookup_collation_sequence_value):
22332         (build_range_exp, build_collating_symbol):
22333         Use K&R-style defn.
22334         (re_compile_fastmap): Use '\0' to memset, not 0.
22335         (utf8_sb_map): Make the calculations more obvious.
22336         (init_dfa, parse_bracket_exp, build_charclass_op):
22337         Call calloc and cast result, as glibc does.
22338         (init_word_char, fetch_token, peek_token, peek_token_bracket):
22339         (build_range_exp, build_collating_symbol):
22340         Now internal functions.
22341
22342         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
22343
22344         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
22345         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
22346         Don't depend on VMS; depend on __VMS instead, for POSIX
22347         namespace cleanness.
22348         (regoff_t): Define to ssize_t, not long int.
22349
22350         Remove the REG_ macros named below.  Instead, make the old names
22351         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
22352         __USE_GNU_REGEX.
22353         (REG_BACKSLASH_ESCAPE_IN_LISTS):
22354         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
22355         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
22356         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
22357         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
22358         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
22359         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
22360         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
22361         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
22362         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
22363         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
22364         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
22365         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
22366         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
22367         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
22368         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
22369         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
22370         (REG_NREGS):
22371         Remove.  All uses replaced by the old RE_* names.
22372         (RE_BACKSLASH_ESCAPE_IN_LISTS):
22373         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
22374         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
22375         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
22376         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
22377         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
22378         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
22379         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
22380         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
22381         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
22382         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
22383         Don't bother having these macros be independent of each others'
22384         values, since they no longer exist in the POSIX name space.
22385
22386         Rename the following member names back to their old names,
22387         unless !__USE_GNU_REGEX.  All uses changed back.
22388         (buffer): Renamed from re_buffer.
22389         (allocated): Renamed from re_allocated.
22390         (used): Renamed from re_used.
22391         (syntax): Renamed from re_syntax.
22392         (fastmap): Renamed from re_fastmap.
22393         (translate): Renamed from re_translate.
22394         (can_be_null): Renamed from re_can_be_null.
22395         (regs_allocated): Renamed from re_regs_allocated.
22396         (fastmap_accurate): Renamed from re_fastmap_accurate.
22397         (no_sub): Renamed from re_no_sub.
22398         (not_bol): Renamed from re_not_bol.
22399         (not_eol): Renamed from re_not_eol.
22400         (newline_anchor): Renamed from re_newline_anchor.
22401         (num_regs): Renamed from rm_num_regs.
22402         (start): Renamed from rm_start.
22403         (end): Renamed from rm_end.
22404
22405         (free_state): Move up a bit.
22406
22407         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
22408         #define to be empty.
22409         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
22410         when that is what is intended.
22411         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
22412         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
22413         (MAX): New macro.
22414         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
22415         All uses changed back to re_malloc, etc.  It's now the caller's
22416         responsibility to check for overflow; all callers changed.
22417         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
22418         (re_x2nrealloc): Remove.
22419         (free_state): Remove decl.
22420
22421         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
22422         (re_set_registers, re_exec):
22423         Use K&R-style defn.
22424
22425         2006-01-31  Roland McGrath  <roland@redhat.com>
22426
22427         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
22428         Reported by Mike Frysinger <vapier@gentoo.org>.
22429
22430         2006-01-15  Andreas Jaeger  <aj@suse.de>
22431
22432         [BZ #1950]
22433         * lib/regex_internal.c (re_string_reconstruct): Adjust for
22434         build_wcs_upper_buffer change.
22435         (build_wcs_upper_buffer): Change return type.
22436
22437         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
22438
22439         * lib/regex_internal.h: Include <stdint.h> if available.
22440
22441         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
22442
22443         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
22444
22445         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
22446
22447         * lib/regcomp.c: Adjust for changed secondary hash function.
22448
22449         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
22450
22451         * lib/regex.h: Pretty printing.
22452         Clean up namespace a bit.
22453
22454         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
22455
22456         * lib/regexec.c (update_cur_sifted_state, check_arrival,
22457         check_arrival_add_next_nodes): Avoid using uninitialized variable.
22458
22459         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22460                     Ulrich Drepper  <drepper@redhat.com>
22461
22462         [BZ #1302]
22463         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
22464         changed.
22465         (bitset_word_t): Renamed from bitset_word.  All uses changed.
22466
22467         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
22468
22469         [BZ #281]
22470         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
22471         * lib/regcomp.c: Remove unnecessary uses of
22472         unsigned RE_TRANSLATE_TYPE.
22473         * lib/regex_internal.h: Likewise.
22474         * lib/regex_internal.c: Likewise.
22475         * lib/regexec.c: Likewise.
22476         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
22477
22478         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
22479
22480         * lib/regexec.c (find_recover_state): Remove unnecessary
22481         initialization.
22482         (transit_state_bkref): Make DFA a const pointer.
22483         (get_subexp): Likewise.
22484         (check_arrival): Likewise.
22485         (update_cur_sifted_state): Likewise.
22486         (re_search_internal): Likewise.
22487         (prune_impossible_nodes): Likewise.
22488         (acquire_init_state_context): Likewise.
22489         (proceed_next_node): Likewise.
22490         (set_regs): Likewise.
22491         (free_fail_stack_return): Likewise.
22492         (check_arrival_expand_ecl): Mark DFA parameter as const.
22493         (check_arrival_expand_ecl_sub): Likewise.
22494         (check_subexp_limits): Likewise.
22495         (sub_epsilon_src_nodes):  Likewise.
22496         (add_epsilon_src_nodes):  Likewise.
22497         (merge_state_array): Likewise.
22498         (update_regs): Likewise.
22499         (build_trtable): Likewise.
22500         (sift_states_backward): Mark MCTX parameter as const.
22501         (build_sifted_states): Likewise.
22502         (update_cur_sifted_state): Likewise.
22503         (sift_states_mkref): Likewise.
22504         (check_arrival_expand_ecl): Mark eclosure as const.
22505         (check_dst_limits_calc_pos_1): Likewise.
22506         * lib/regex_internal.h (re_match_context_t): Make dfa a const
22507         pointer.
22508
22509         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
22510
22511         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
22512         (transit_state_sb): Likewise.
22513         (transit_state_mb): Likewise.
22514         (sift_states_iter_mb): Likewise.
22515         (check_arrival_add_next_nodes): Likewise.
22516         (check_node_accept_bytes): Change first parameter to pointer-to-const.
22517         [_LIBC] (re_search_2_stub): Use mempcpy.
22518
22519         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
22520         mbrtowc for very simple UTF-8 case.
22521
22522         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
22523         a pointer-to-const.
22524         (re_acquire_state_context): Likewise.
22525         * lib/regex_internal.h: Adjust prototypes.
22526
22527         * lib/regex.c: Prevent using C++ compilers.
22528
22529         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
22530         (re_acquire_state_context): Likewise.
22531
22532 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22533
22534         * modules/regex (Depends-on): Add ssize_t.
22535
22536 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22537
22538         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
22539         translation table.
22540
22541 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22542
22543         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
22544
22545 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
22546             Bruno Haible  <bruno@clisp.org>
22547
22548         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
22549         <sys/types.h> and <inttypes.h>.
22550
22551 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22552
22553         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
22554         `__error_t_defined', so argp.h will not typedef the former.
22555
22556 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
22557
22558         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
22559         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
22560         glibc names.  Even if glibc is changed to conform to POSIX, the
22561         traditional names will be available anyway, since regex depends on
22562         the extensions module.  Also, fix a longstanding typo in the
22563         implementation of Spencer ERE test #75 from grep 2.3.  Problems
22564         reported by Emanuele Giaquinta.  Also, change sense of cached
22565         variable, so that the message makes sense.
22566
22567 2006-03-24  Simon Josefsson  <jas@extundo.com>
22568
22569         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
22570         including some doc fixes.
22571         (base64_encode_alloc): Fix +1 bug on allocation failures.
22572
22573 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22574
22575         * lib/base64.c (base64_encode): Do not read past end of array with
22576         unsanitized input on systems with CHAR_BIT > 8.
22577
22578 2006-03-24  Eric Blake  <ebb9@byu.net>
22579
22580         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
22581
22582 2006-03-22  Karl Berry  <karl@gnu.org>
22583
22584         * config/srclist.txt (*setenv.[ch]): get from coreutils.
22585         * config/srclistvars.sh (COREUTILS): new var.
22586
22587 2006-03-17  Jim Meyering  <jim@meyering.net>
22588
22589         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
22590         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
22591
22592 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22593
22594         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
22595         no longer needs it.  Instead, check that regoff_t is as least
22596         as wide as ptrdiff_t.
22597
22598         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
22599         so that our regex.h stays compatible with the installed regex.
22600         This is helpful for installers who configure --without-included-regex.
22601         Problem reported by Emanuele Giaquinta.
22602
22603 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22604
22605         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
22606         Typedef to long int, not to off_, as POSIX will likely change
22607         in that direction.
22608
22609 2006-03-15  Eric Blake  <ebb9@byu.net>
22610
22611         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
22612
22613 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
22614
22615         * lib/argp-help.c (validate_uparams): Fix typo
22616         * lib/argp-parse.c (argp_default_options): Consistently begin help
22617         messages with a lowercase letter.
22618
22619 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
22620
22621         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
22622         overrun buffers and shouldn't be used (much as gets shouldn't be
22623         used).
22624         * lib/time_r.c (asctime_r, ctime_r): Likewise.
22625
22626 2006-03-08  Simon Josefsson  <jas@extundo.com>
22627
22628         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
22629         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22630
22631 2006-03-08  Simon Josefsson  <jas@extundo.com>
22632
22633         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
22634         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22635
22636 2006-03-08  Simon Josefsson  <jas@extundo.com>
22637
22638         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
22639         signal that configure disabled the device.
22640
22641 2006-03-08  Simon Josefsson  <jas@extundo.com>
22642
22643         * build-aux/maint.mk: Fix refresh-po, to handle no translated
22644         languages.
22645
22646 2006-03-07  Simon Josefsson  <jas@extundo.com>
22647
22648         * modules/getopt (Depends-on): Add unistd.
22649
22650         * modules/unistd: New file.
22651
22652 2006-03-07  Simon Josefsson  <jas@extundo.com>
22653
22654         * modules/gc-random: New file.
22655
22656 2006-03-07  Simon Josefsson  <jas@extundo.com>
22657
22658         * m4/unistd_h.m4: New file.
22659
22660 2006-03-07  Simon Josefsson  <jas@extundo.com>
22661
22662         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
22663         test to be side-effect free by storing the result in the cache
22664         variable gl_cv_lib_readline, and moving the assignment of
22665         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
22666         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22667
22668 2006-03-07  Simon Josefsson  <jas@extundo.com>
22669
22670         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
22671         error on missing devices (the functions will return an error).
22672
22673         * m4/gc.m4: Move random stuff to gc-random.m4
22674
22675 2006-03-07  Simon Josefsson  <jas@extundo.com>
22676
22677         * lib/unistd_.h: New file.
22678
22679 2006-03-07  Simon Josefsson  <jas@extundo.com>
22680
22681         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
22682
22683 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
22684
22685         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
22686         Problem reported by Juan Manuel Guerrero.
22687
22688 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
22689
22690         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
22691         the unistd module.
22692         * lib/getlogin_r.c: Likewise.
22693         * lib/getlogin_r.h: Likewise.
22694         * lib/glob.c: Likewise.
22695         * lib/pagealign_alloc.c: Likewise.
22696         * lib/unistd_.h: Remove; no longer needed.
22697
22698 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
22699
22700         * MODULES.html.sh (Support for systems lacking POSIX:2001):
22701         Add unistd.
22702         * modules/c-stack (Depends-on): Add unistd.
22703         * modules/getlogin_r: Likewise.
22704         * modules/glob: Likewise.
22705         * modules/pagealign_alloc: Likewise.
22706         * modules/unistd (Files): Remove lib/unistd_.h.
22707         (EXTRA_DIST): Remove.
22708         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
22709         need unistd_.h.
22710         (MOSTLYCLEANFILES): Remove unistd.h-t.
22711
22712 2006-03-03  Simon Josefsson  <jas@extundo.com>
22713
22714         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
22715
22716 2006-03-03  Simon Josefsson  <jas@extundo.com>
22717
22718         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
22719         libidn and bison.
22720
22721 2006-03-03  Simon Josefsson  <jas@extundo.com>
22722
22723         * build-aux/maint.mk: Add indent target.
22724
22725 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
22726
22727         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
22728         our replacement poll.h in any case, to avoid a differing
22729         declaration from a system header.  Seen on AIX.
22730
22731 2006-03-01  Simon Josefsson  <jas@extundo.com>
22732
22733         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
22734         <kasal@ucw.cz>.
22735
22736 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
22737
22738         * modules/gettime (Depends-on): Add extensions module.
22739         * modules/nanosleep (Depends-on): Likewise.
22740         * modules/settime (Depends-on): Likewise.
22741
22742 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
22743
22744         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
22745         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
22746         pedantically.
22747         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22748         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
22749
22750         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
22751         not "==".  Reported by Ralf Wildenhues.
22752
22753 2006-03-01  Karl Berry  <karl@gnu.org>
22754
22755         * doc/Copyright/request-*: new files, synced from gnuorg.
22756
22757 2006-03-01  Karl Berry  <karl@gnu.org>
22758
22759         * config/srclist.txt (Copyright/*): new entries.
22760
22761 2006-02-28  Simon Josefsson  <jas@extundo.com>
22762
22763         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
22764
22765 2006-02-27  Simon Josefsson  <jas@extundo.com>
22766
22767         * lib/base64.h: Indent #define's.  From Jim Meyering
22768         <jim@meyering.net>.
22769
22770 2006-02-27  Jim Meyering  <jim@meyering.net>
22771
22772         Revert the change of 2006-02-24, so these files can continue
22773         to be sync'd from gettext.
22774         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
22775         of `config.h'.
22776
22777 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
22778
22779         * modules/intprops: New file.
22780         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
22781         Add intprops.
22782         * modules/getloadavg (Files): Remove lib/intprops.h.
22783         (Depends-on): Add intprops.
22784         * modules/human: Likewise.
22785         * modules/inttostr: Likewise.
22786         * modules/openat: Likewise.
22787         * modules/sig2str: Likewise.
22788         * modules/userspec: Likewise.
22789         * modules/utimecmp: Likewise.
22790         * modules/xnanosleep: Likewise.
22791         * modules/xstrtol: Likewise.
22792
22793 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
22794
22795         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
22796         * modules/lock-tests (TESTS): Use $(EXEEXT).
22797         * modules/tls-tests: Likewise.
22798         * modules/argp-tests: Likewise.
22799         (check_PROGRAMS): New var, replacing...
22800         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
22801
22802 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22803
22804         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
22805         `config.h'.
22806
22807 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
22808
22809         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
22810
22811 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22812
22813         Sync from coreutils.
22814         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
22815         gl_CHDIR_SAFER.
22816
22817 2006-02-22  Jim Meyering  <jim@meyering.net>
22818
22819         Sync from coreutils.
22820         * m4/chdir-safer.m4: New file.
22821
22822 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
22823
22824         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
22825         AT_FDCWD exceeds INT_MAX.
22826         * lib/openat.h (AT_FDCWD): Likewise.
22827
22828 2006-02-17  Eric Blake  <address@hidden>
22829
22830         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
22831
22832 2006-02-16  Simon Josefsson  <jas@extundo.com>
22833
22834         * modules/getaddrinfo (Depends-on): Add sys_socket.
22835
22836 2006-02-15  Simon Josefsson  <jas@extundo.com>
22837
22838         * build-aux/maint.mk: Add dsyntax-check rule.
22839
22840 2006-02-15  Eric Blake  <ebb9@byu.net>
22841
22842         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
22843         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
22844         'present but cannot compile' warnings on cygwin.
22845         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
22846         use ws2tcpip.h if sys/socket.h works.
22847         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
22848         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
22849
22850 2006-02-14  Simon Josefsson  <jas@extundo.com>
22851
22852         * modules/maintainer-makefile (Files): Rename.
22853
22854         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
22855         and (the local) Makefile.cfg to maint-cfg.mk.
22856
22857         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
22858         to the latter.
22859
22860         * modules/maintainer-makefile: New module.
22861
22862         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
22863         severaly stripped to make it possible to build it up from scratch
22864         with reliable tests.
22865
22866         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
22867         fixes to permit overriding the default actions when configure and
22868         makefile are not available.
22869
22870 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
22871
22872         Sync from coreutils.
22873         * modules/lstat (Depends-on): Don't depend on xalloc.
22874         (License): Change from GPL to LGPL, since this is now simply a
22875         replacement for a libc function.
22876
22877 2006-02-14  Jim Meyering  <jim@meyering.net>
22878
22879         Sync from coreutils.
22880
22881         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
22882         failure on deficient systems, and simplify gnulib lgpl dependencies.
22883         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
22884         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
22885
22886         * lib/xalloc-die.c: Remove unused definition of N_.
22887
22888 2006-02-14  Jim Meyering  <jim@meyering.net>
22889
22890         Sync from coreutils.
22891         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
22892         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
22893         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
22894         double-quote uses of that variable, to accommodate the rare case in
22895         which getmntent is available in none of the libraries checked.  This
22896         happens at least on FreeBSD 5.0.
22897
22898 2006-02-13  Simon Josefsson  <jas@extundo.com>
22899
22900         * gnulib-tool (Usage): Fix --import, from
22901         karl@freefriends.org (Karl Berry).
22902
22903 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
22904
22905         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
22906
22907 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
22908
22909         * lib/argp-namefrob.h: Restore changes accidentally lost during the
22910         "autoupdate" on 2005-12-12.
22911
22912 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22913
22914         * modules/closeout (Depends-on): Remove atexit.
22915
22916 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22917
22918         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
22919         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
22920
22921 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22922
22923         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
22924         __EXTENSIONS__ if this causes compilation to fail.  Problem
22925         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
22926         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
22927
22928 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
22929
22930         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
22931         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
22932         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
22933         All uses changed.
22934
22935 2006-01-26  Simon Josefsson  <jas@extundo.com>
22936
22937         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
22938         prototype is visible on mingw32.
22939
22940         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
22941         for mingw32.
22942
22943         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
22944         mingw32).
22945
22946 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
22947
22948         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
22949         attempt to open for write; this always fails, at least on POSIX
22950         hosts.  This reinstates the 2006-01-09 change, which was
22951         inadvertently removed.
22952
22953 2006-01-26  Bruno Haible  <bruno@clisp.org>
22954
22955         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
22956         Reported by Paul Eggert.
22957
22958 2006-01-26  Bruno Haible  <bruno@clisp.org>
22959             Paul Eggert  <eggert@cs.ucla.edu>
22960
22961         * lib/stdbool_.h (_Bool)
22962         [(! (defined __cplusplus || defined __BEOS__)
22963           && !defined __GNUC__
22964           && !(defined __HP_cc || defined __xlc__
22965                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
22966                || defined __sgi))]:
22967         #define to signed char in these cases too; this simplifies
22968         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
22969         etc., separately) and makes it more conservative.
22970
22971 2006-01-25  Simon Josefsson  <jas@extundo.com>
22972
22973         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
22974         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
22975         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
22976
22977 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
22978
22979         * lib/argp-namefrob.h: Bugfix. Remove stray #
22980
22981 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
22982
22983         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
22984         so that we test the test.
22985         Check for yet another HP-UX cc bug involving *bool |= bool.
22986
22987 2006-01-25  Karl Berry  <karl@gnu.org>
22988
22989         * config/srclist.txt (vasnprintf.c): sync lost.
22990
22991 2006-01-25  Jim Meyering  <jim@meyering.net>
22992
22993         Sync from the stable (b5) branch of coreutils:
22994
22995         * lib/fts.c (fts_children): Don't let close() clobber errno from
22996         failed fchdir().
22997
22998         * lib/fts.c (fts_stat): When following a symlink-to-directory,
22999         don't necessarily interpret stat-fails+lstat-succeeds as indicating
23000         a dangling symlink.  That can also happen at least for ELOOP.
23001         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
23002         FYI, this bug predates the inclusion of fts.c in coreutils.
23003
23004         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
23005         in their own block, so pre-c99 compilers don't object.
23006
23007         Avoid the double-free (first in fts_read, second in fts_close) that
23008         would occur when an `active' directory is made inaccessible (e.g.,
23009         via chmod a-x) during a traversal.
23010         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
23011         before returning.  Reproduce this failure by
23012         mkdir -p a/b; cd a; chmod a-x . b
23013         Reported by Stavros Passas.
23014
23015 2006-01-25  Jim Meyering  <jim@meyering.net>
23016
23017         * lib/fileblocks.c: Remove more useless parentheses.
23018         * lib/readutmp.h: Likewise.
23019
23020 2006-01-25  Bruno Haible  <bruno@clisp.org>
23021
23022         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
23023         warnings.
23024         Reported by Paul Eggert.
23025
23026 2006-01-25  Bruno Haible  <bruno@clisp.org>
23027
23028         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
23029         rid of a trap command. For Solaris sh.
23030         Reported by Mark D. Baushke <mdb@gnu.org>.
23031
23032 2006-01-24  Simon Josefsson  <jas@extundo.com>
23033
23034         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
23035         Bruno.
23036
23037 2006-01-24  Karl Berry  <karl@gnu.org>
23038
23039         * config/srclist.txt (argp-namefrob.h): sync lost.
23040
23041 2006-01-24  Jim Meyering  <jim@meyering.net>
23042
23043         * modules/openat (Files): Add lib/intprops.h.
23044         From Mark D. Baushke.
23045
23046 2006-01-24  Jim Meyering  <jim@meyering.net>
23047
23048         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
23049         Reported by Mark D. Baushke.
23050
23051 2006-01-24  Jim Meyering  <jim@meyering.net>
23052
23053         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
23054
23055 2006-01-24  Bruno Haible  <bruno@clisp.org>
23056
23057         * modules/strnlen (Maintainer): Change from glibc to all.
23058
23059 2006-01-24  Bruno Haible  <bruno@clisp.org>
23060
23061         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
23062         Patch by Paul Eggert.
23063
23064 2006-01-24  Bruno Haible  <bruno@clisp.org>
23065
23066         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
23067         already has it.
23068         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
23069         2005-11-26.
23070
23071         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
23072         'signed char' to avoid problems with the built-in _Bool type.
23073         Reported by Paul Eggert on 2005-11-26.
23074
23075 2006-01-24  Bruno Haible  <bruno@clisp.org>
23076
23077         * gnulib-tool (func_import): Avoid constructing complicated sed
23078         expressions inside backquote.
23079         Report and solution by Mark D. Baushke <mdb@gnu.org>.
23080
23081 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
23082
23083         These changes imported from libc.
23084         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
23085         test and two separate function calls.
23086         * lib/strndup.c (__strndup): Add libc_hidden_def.
23087
23088 2006-01-23  Simon Josefsson  <jas@extundo.com>
23089
23090         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
23091         Remove the test_*_SOURCES variable: automake infers it by default.
23092         * modules/tls-tests: Likewise.
23093
23094 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23095
23096         Work around porting bugs reported by Dieter in
23097         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
23098         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
23099         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
23100         Include "getopt.h" first, to check interface.
23101         (getenv): Declare only if defined HAVE_DECL_GETENV &&
23102         !HAVE_DECL_GETENV.
23103         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
23104         (__strndup): Revert to K&R-style function dfns, the glibc style.
23105         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
23106         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
23107         Include strnlen.h first, to get prototype properly.
23108         (strnlen): Renamed from __strnlen.
23109         Remove weak alias.
23110
23111 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23112
23113         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
23114
23115 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23116
23117         * config/srclist.txt: Adjust to reflect glibc reorganization.
23118         This affects only comments.
23119
23120 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
23121
23122          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
23123          Reported by Bruce Korb <bkorb@gnu.org>.
23124
23125 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
23126
23127         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
23128         to pacify gcc -Wswitch-default.
23129
23130 2006-01-22  Bruno Haible  <bruno@clisp.org>
23131
23132         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
23133         temporary buffer for sprintf, take into account the precision also
23134         for 'd', 'i', 'u', 'o', 'x', 'X'.
23135
23136 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
23137
23138         * modules/argp-tests: New module
23139         * tests/test-argp.c: New file
23140         * tests/test-argp-2.sh: New file
23141
23142 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
23143
23144         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
23145         (__argp_base_name): Removed
23146         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
23147         typo.
23148         (__argp_base_name): Provide macro definition or extern declaration
23149         depending on the configuration
23150
23151 2006-01-20  Simon Josefsson  <jas@extundo.com>
23152
23153         * modules/inet_ntop (Depends-on): Depend on sys_socket.
23154
23155 2006-01-20  Simon Josefsson  <jas@extundo.com>
23156
23157         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
23158
23159 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23160
23161         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
23162         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
23163         Suggested by Bruno Haible.
23164
23165 2006-01-20  Karl Berry  <karl@gnu.org>
23166
23167         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
23168         until changes propagate, I guess.
23169
23170 2006-01-19  Simon Josefsson  <jas@extundo.com>
23171
23172         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
23173
23174 2006-01-19  Simon Josefsson  <jas@extundo.com>
23175
23176         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
23177
23178 2006-01-19  Simon Josefsson  <jas@extundo.com>
23179
23180         * gnulib-tool: Set check_PROGRAMS.
23181
23182         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
23183         modules/des-tests, modules/gc-arcfour-tests,
23184         modules/gc-arctwo-tests, modules/gc-des-tests,
23185         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
23186         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
23187         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
23188         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
23189         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
23190         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
23191         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
23192         test_*_SOURCES.
23193
23194 2006-01-18  Simon Josefsson  <jas@extundo.com>
23195
23196         * modules/socklen (Depends-on): Depend on sys_socket.
23197
23198 2006-01-18  Simon Josefsson  <jas@extundo.com>
23199
23200         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
23201         modules/des-tests, modules/gc-arcfour-tests,
23202         modules/gc-arctwo-tests, modules/gc-des-tests,
23203         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
23204         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
23205         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
23206         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
23207         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
23208         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
23209         $(EXEEXT) to automake TESTS variable, for mingw32.
23210
23211 2006-01-17  Simon Josefsson  <jas@extundo.com>
23212
23213         * modules/socklen (Include): Need sys/socket.h.
23214
23215 2006-01-17  Bruno Haible  <bruno@clisp.org>
23216
23217         * modules/ssize_t (Include): Add <sys/types.h>.
23218
23219 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
23220
23221         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
23222         it's not portable and it doesn't work with cross-compiles.
23223         Problem reported by Bruno Haible.  Fix missing-$ typo in
23224         'test "gl_cv_ignore_unused_libraries" ...' that prevented
23225         -zignore from being used with Sun's C compiler.
23226
23227 2006-01-12  Simon Josefsson  <jas@extundo.com>
23228
23229         * lib/base64.c: Fix warning, reported by Bruno Haible
23230         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
23231
23232 2006-01-12  Bruno Haible  <bruno@clisp.org>
23233
23234         * modules/ldd: New file.
23235         * build-aux/ldd.sh.in: New file.
23236         * MODULES.html.sh (Support for building libraries and executables): Add
23237         ldd.
23238
23239 2006-01-12  Bruno Haible  <bruno@clisp.org>
23240
23241         * m4/ldd.m4: New file.
23242
23243 2006-01-12  Bruno Haible  <bruno@clisp.org>
23244
23245         * gnulib-tool (func_import, func_create_testdir): Don't go into an
23246         endless loop while replacing $auxdir with build-aux.
23247
23248 2006-01-11  Simon Josefsson  <jas@extundo.com>
23249
23250         * lib/stdint_.h (SIZE_MAX): Add missing (.
23251
23252 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23253
23254         Sync from coreutils.
23255         * lib/md5.c: Fix commentary typos.
23256         (alignof, UNALIGNED_P): No need for a GCC-specific version.
23257         * lib/md5.h (__attribute__): Remove; unused.
23258         * lib/sha1.c: Fix commentary to match md5 better.
23259         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
23260         so that we don't need to worry about alignment.  All uses changed.
23261         This merges the 2005-10-28 md5 change into sha1.
23262
23263 2006-01-11  Jim Meyering  <jim@meyering.net>
23264
23265         Sync from coreutils.
23266         * lib/md5.c (OP): Fix spacing.
23267
23268 2006-01-11  Bruno Haible  <bruno@clisp.org>
23269
23270         Ensure automatic ordering between gl_LOCK and gl_ARGP.
23271         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
23272         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
23273
23274 2006-01-11  Bruno Haible  <bruno@clisp.org>
23275
23276         Ensure automatic ordering between gl_LOCK and gl_ARGP.
23277         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
23278         the "early" section as well.
23279
23280 2006-01-11  Bruno Haible  <bruno@clisp.org>
23281
23282         Avoid "ar: no archive members specified" error on MacOS X.
23283         * gnulib-tool (func_modules_add_dummy): New function.
23284         (func_import, func_create_testdir): Invoke it.
23285
23286 2006-01-11  Bruno Haible  <bruno@clisp.org>
23287
23288         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
23289         with $auxdir in AC_CONFIG_FILES statements.
23290
23291 2006-01-11  Bruno Haible  <bruno@clisp.org>
23292
23293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23294         Initialize also noinst_HEADERS to empty.
23295
23296 2006-01-11  Bruno Haible  <bruno@clisp.org>
23297
23298         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
23299         variables.
23300         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
23301         autoreconf.
23302
23303 2006-01-11  Bruno Haible  <bruno@clisp.org>
23304
23305         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
23306         overridable by the user.
23307         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23308
23309 2006-01-10  Simon Josefsson  <jas@extundo.com>
23310
23311         * modules/sys_socket: New file.
23312
23313 2006-01-10  Simon Josefsson  <jas@extundo.com>
23314
23315         * m4/sys_socket_h.m4: New file.
23316
23317 2006-01-10  Simon Josefsson  <jas@extundo.com>
23318
23319         * lib/socket_.h: New file.
23320
23321 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
23322
23323         * modules/readutmp (Maintainer): Add myself.
23324
23325 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
23326
23327         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
23328         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
23329         People who are still concerned with buggy memcmp implementations
23330         can invoke gl_FUNC_MEMCMP themselves.
23331
23332 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
23333
23334         * lib/regex_internal.h (BITSET_WORD_BITS):
23335         Work around a bug in 64-bit PGC (before version 6.1-2), where the
23336         preprocessor mishandles large unsigned values as if they were signed.
23337         Problem reported by Claudio Fontana in
23338         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
23339
23340 2006-01-10  Jim Meyering  <jim@meyering.net>
23341
23342         Avoid the double-free (first in fts_read, second in fts_close) that
23343         would occur when an `active' directory is made inaccessible (e.g.,
23344         via chmod a-x) during a traversal.
23345         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
23346         before returning.  Reproduce this failure by
23347         mkdir -p a/b; cd a; chmod a-x . b
23348         Reported by Stavros Passas.
23349
23350         Sync from coreutils.
23351         * lib/sha1.c: Tweak grammar in a comment.
23352
23353 2006-01-10  Jim Meyering  <jim@meyering.net>
23354
23355         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
23356         Patch by Joerg Sonnenberger.
23357
23358 2006-01-10  Bruno Haible  <bruno@clisp.org>
23359
23360         * modules/readutmp: Depend on module free.
23361         * modules/strtok_r: Depend on module restrict.
23362
23363 2006-01-10  Bruno Haible  <bruno@clisp.org>
23364
23365         * modules/gettext (configure.ac): Add an invocation of
23366         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
23367
23368 2006-01-10  Bruno Haible  <bruno@clisp.org>
23369
23370         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
23371         Reported by Werner Lemberg <wl@gnu.org>.
23372
23373 2006-01-10  Bruno Haible  <bruno@clisp.org>
23374
23375         * lib/localcharset.c: Update from GNU gettext.
23376
23377 2006-01-10  Bruno Haible  <bruno@clisp.org>
23378
23379         * lib/argp.h (__const): Remove macro. Use const instead.
23380         * lib/argp-fmtstream.h (__const): Likewise.
23381         * lib/glob_.h (__const): Remove macro.
23382         * lib/glob-libc.h: Use const instead of __const.
23383
23384 2006-01-10  Bruno Haible  <bruno@clisp.org>
23385
23386         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
23387         variable.
23388         Needed to avoid an automake error regarding the 'gettext' module.
23389
23390 2006-01-09  Simon Josefsson  <jas@extundo.com>
23391
23392         * modules/inet_ntop (Depends-on): Add restrict.
23393
23394 2006-01-09  Simon Josefsson  <jas@extundo.com>
23395
23396         * modules/gc-rijndael-tests (License): Put under LGPL.
23397
23398         * modules/gc-des-tests (License): Likewise.
23399
23400         * modules/gc-arcfour-tests (License): Likewise.
23401
23402         * modules/gc-arctwo-tests (License): Likewise.
23403
23404         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
23405
23406         * modules/gc-hmac-sha1-tests (Files): Likewise.
23407
23408         * modules/gc-hmac-md5-tests (License): Likewise.
23409
23410         * modules/gc-sha1-tests (License): Likewise.
23411
23412         * modules/gc-md5-tests (License): Likewise.
23413
23414         * modules/gc-md4-tests (License): Likewise.
23415
23416         * modules/gc-md2-tests (License): Likewise.
23417
23418         * modules/gc-tests (License): Likewise.
23419
23420         * modules/des-tests (License): Likewise.
23421
23422         * modules/md4-tests (License): Likewise.
23423
23424         * modules/md2-tests (License): Likewise.
23425
23426 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23427
23428         Sync from coreutils:
23429
23430         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
23431         * modules/lib-ignore: New file.
23432         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
23433         chdir-safer.m4, lchmod.m4.
23434         * modules/openat: Add mkdirat.c, openat-priv.h.
23435
23436 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23437
23438         Sync from coreutils.
23439         * m4/lib-ignore.m4: New file.
23440         * m4/lchmod.m4: New file.
23441
23442 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23443
23444         Sync from coreutils.
23445         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
23446         for write access: POSIX says that must fail.
23447         * lib/fts.c (diropen): Likewise.
23448         * lib/save-cwd.c (save_cwd): Likewise.
23449         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
23450         well, for minor improvements on hosts that lack O_DIRECTORY.
23451         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
23452         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
23453         Fall back on chown if open failed with EACCES.
23454
23455         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
23456         Report an error at compile-time if only a 1-second nominal clock
23457         resolution is found.
23458
23459         * lib/lchmod.h: New file.
23460         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
23461         (make_dir_parents): Use lchown rather than chown, and
23462         lchmod rather than chmod.
23463
23464         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
23465         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
23466         "proc" reported by n0dalus.
23467
23468         * lib/mountlist.c: Include <limits.h>.
23469         (dev_from_mount_options)
23470         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
23471         New function.  It no longer assumes "dev=" has the System V meaning
23472         on Linux (since it doesn't).  It also parses "dev=" more carefully.
23473         (read_file_system_list)
23474         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
23475         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
23476         dev= in that case.
23477
23478         * lib/posixtm.h (PDS_PRE_2000): New macro.
23479         * lib/posixtm.c (year): Arg is now syntax_bits rather than
23480         allow_century.  All usages changed.  Reject dates outside the range
23481         1969-1999 if PDS_PRE_2000 is used.
23482
23483 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23484
23485         Sync from coreutils.
23486         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
23487         (Time of day items): Mention the possibility of leap seconds.
23488         Problem reported by Dr. David Alan Gilbert.
23489
23490 2006-01-09  Jim Meyering  <jim@meyering.net>
23491
23492         Sync from coreutils.
23493
23494         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
23495
23496         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
23497
23498         * lib/modechange.c (mode_compile): Reject an invalid mode string
23499         that starts with an octal digit.  From Andreas Gruenbacher.
23500
23501         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
23502         and dup to open_safer and dup_safer, respectively.
23503         (openat_permissive): Fix typo in comment.
23504
23505         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
23506         "gettext.h"; either no longer needed or are guaranteed by openat.h.
23507         (_): Remove; no longer needed.
23508         (openat): Renamed from rpl_openat; no need for rpl_openat
23509         since openat.h renames openat for us.
23510         Replace most of the body with a call to openat_permissive,
23511         to avoid duplicate code.
23512         Port to (probably hypothetical) environments were mode_t is
23513         wider than int.
23514         (openat_permissive): Require mode arg, so that we can check
23515         types better.  Put it just after flags.  Change cwd failure
23516         indicator from pointer-to-bool to pointer-to-errno-value.
23517         All callers changed.
23518         Invoke openat_save_fail and/or openat_restore_fail if
23519         cwd_errno is null, so that openat can call us.
23520         (openat_permissive, fdopendir, fstatat, unlinkat):
23521         Simplify errno handling to avoid some duplicate code,
23522         as it's OK to set errno on success.
23523         * lib/openat.h: Revamp code so that function macros depend on
23524         __OPENAT_PREFIX only, not also on AT_FDCWD.
23525         (openat_ro): Remove.  Caller changed to use openat_permissive.
23526         (openat_permissive): Now a macro, if not a function.
23527         (openat_restore_fail, openat_save_fail): Now always functions,
23528         since mkdirat needs them even if __OPENAT_PREFIX is defined.
23529
23530         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
23531         and openat.c.
23532         * lib/mkdirat.c: Include openat-priv.h.
23533         Remove definitions of macros defined therein.
23534         * lib/openat.c: Likewise.
23535
23536         * lib/mkdirat.c (mkdirat): New file and function.
23537         * lib/openat.h (mkdirat): Declare.
23538
23539         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
23540
23541         * lib/openat.h (openat_permissive): Declare.
23542         (openat_ro): Define.
23543
23544         * lib/openat.c (EXPECTED_ERRNO): New macro.
23545         (openat_permissive): New function -- used in remove.c rewrite.
23546         (all functions): Set errno just before returning, only if there
23547         was an actual failure.
23548         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
23549
23550         Emulate openat-family functions using Linux's procfs, if possible.
23551         Idea and some code based on Ulrich Drepper's glibc changes.
23552
23553         * lib/openat.c: (BUILD_PROC_NAME): New macro.
23554         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
23555         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
23556         before falling back on save_cwd and restore_cwd.
23557         (fdopendir, fstatat, unlinkat): Likewise.
23558
23559         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
23560         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
23561
23562         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
23563         as second argument to va_arg.  Otherwise, some versions of gcc
23564         warn that `if this code is reached, the program will abort'.
23565
23566 2006-01-09  Jim Meyering  <jim@meyering.net>
23567
23568         Sync from coreutils.
23569         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
23570         Require openat-priv.h.
23571
23572 2006-01-09  Bruno Haible  <bruno@clisp.org>
23573
23574         * modules/strnlen (Include): Use strnlen.h.
23575
23576 2006-01-09  Bruno Haible  <bruno@clisp.org>
23577
23578         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
23579
23580 2006-01-09  Bruno Haible  <bruno@clisp.org>
23581
23582         * lib/sysexit_.h (EX_OK): New macro.
23583         Suggested by Martin Lambers <marlam@marlam.de>.
23584
23585 2006-01-09  Bruno Haible  <bruno@clisp.org>
23586
23587         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
23588         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
23589
23590 2006-01-09  Bruno Haible  <bruno@clisp.org>
23591
23592         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
23593         numbers.
23594
23595 2006-01-09  Bruno Haible  <bruno@clisp.org>
23596
23597         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
23598         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
23599         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
23600         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
23601
23602 2006-01-09  Bruno Haible  <bruno@clisp.org>
23603
23604         * build-aux/javacomp.sh.in: New file, moved from lib/.
23605         * modules/javacomp-script (Files): Update.
23606         (configure.ac): Add AC_CONFIG_FILES invocation.
23607         (EXTRA_DIST): Remove variable.
23608
23609         * build-aux/javaexec.sh.in: New file, moved from lib/.
23610         * modules/javaexec (Files): Update.
23611         (configure.ac): Add AC_CONFIG_FILES invocation.
23612         (EXTRA_DIST): Remove javaexec.sh.in.
23613
23614         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
23615         * modules/csharpcomp-script (Files): Update.
23616         (configure.ac): Add AC_CONFIG_FILES invocation.
23617         (EXTRA_DIST): Remove variable.
23618
23619         * build-aux/csharpexec.sh.in: New file, moved from lib/.
23620         * modules/csharpexec (Files): Update.
23621         (configure.ac): Add AC_CONFIG_FILES invocation.
23622         (EXTRA_DIST): Remove csharpexec.sh.in.
23623
23624 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
23625
23626         Sync from coreutils.
23627
23628         Add POSIX ACL support
23629         * lib/acl.h (copy_acl, set_acl): Add declarations.
23630         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
23631         systems other than Linux.
23632         (chmod_or_fchmod): New function: use fchmod when possible,
23633         and chmod otherwise.
23634         (file_has_acl): Add a POSIX ACL implementation, with a
23635         Linux-specific subcase.
23636         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
23637         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
23638         acls are unsupported.
23639         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
23640         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
23641         are unsupported.
23642
23643 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
23644
23645         Sync from coreutils.
23646         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
23647
23648 2006-01-07  Bruno Haible  <bruno@clisp.org>
23649
23650         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
23651         gl_EARLY.
23652
23653 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
23654
23655         * lib/strftime.c (tzname): Don't declare if it is already #defined.
23656         Problem reported for Mingw by Mark Junker.
23657
23658 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
23659
23660         * README: Gnulib normally doesn't generate a tarball.
23661
23662 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
23663
23664         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
23665         long int, not int, for nanosecond counts, so that people who are
23666         used to POSIX struct timespec won't be surprised.  Reported by Jim
23667         Meyering.
23668
23669 2005-12-28  Bruno Haible  <bruno@clisp.org>
23670
23671         * build-aux/config.rpath: Update from GNU gettext.
23672
23673 2005-12-16  Jim Meyering  <jim@meyering.net>
23674
23675         * modules/fprintftime: New module.
23676         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
23677
23678 2005-12-16  Jim Meyering  <jim@meyering.net>
23679
23680         * m4/fprintftime.m4: New file.
23681
23682 2005-12-16  Jim Meyering  <jim@meyering.net>
23683
23684         * lib/fprintftime.c, lib/fprintftime.h: New files.
23685
23686 2005-12-15  Simon Josefsson  <jas@extundo.com>
23687
23688         * modules/socklen (configure.ac): Fix M4 macro name, to align with
23689         new m4/socklen.m4.
23690
23691 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
23692
23693         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
23694         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
23695
23696 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
23697
23698         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
23699         * lib/argp-help.c (fill_in_uparams): Check if the constructed
23700         struct uparams is valid. Fall back to the default values if it is
23701         not.
23702
23703 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23704
23705         * modules/argp (Files): Add argp-pin.c
23706         (Depends-on): dirname
23707         (lib_SOURCES): Add argp-pin.c
23708
23709 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23710
23711         * m4/argp.m4:  Check if program_invocation_name and
23712         program_invocation_short_name are declared and define appropriate
23713         macros if they are not.
23714
23715 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23716
23717         * lib/argp-help.c (__argp_base_name): New function
23718         (__argp_short_program_name): Rewrite using __argp_base_name
23719         * lib/argp-namefrob.h: Define program_invocation_name and
23720         program_invocation_short_name if requested
23721         (__argp_base_name): Add prototype
23722         * lib/argp-parse.c (argp_def): Use gettext wrappers
23723         (argp_default_parser): Use __argp_base_name
23724         * lib/argp-pin.c: New file. Defines program_invocation_name and
23725         program_invocation_short_name on systems that lack them.
23726
23727 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
23728
23729         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
23730         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
23731         porting problem reported by Georg Schwarz in
23732         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
23733
23734 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
23735
23736         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
23737         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
23738         porting problem reported by Georg Schwarz in
23739         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
23740
23741 2005-12-05  Bruno Haible  <bruno@clisp.org>
23742
23743         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
23744         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
23745         Reported by Mark Junker <mjscod@gmx.de>.
23746
23747 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
23748
23749         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
23750         Use implementation from Albert Chin, with some
23751         comments/corrections by Stepan Kasal and myself.
23752
23753 2005-12-02  Bruno Haible  <bruno@clisp.org>
23754
23755         * gnulib-tool (func_import): Accept GPLed build tool modules when
23756         --lgpl is given.
23757         * modules/csharpcomp-script: New file.
23758         * modules/csharpcomp: Depend on it.
23759         * modules/javacomp-script: New file.
23760         * modules/javacomp: Depend on it.
23761         Suggested by Simon Josefsson.
23762
23763 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23764
23765         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
23766         statement, to work around an HP-UX 10.20 compiler bug reported by
23767         Peter O'Gorman.
23768
23769 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
23770
23771         * modules/savedir (Depends-on): Add openat.
23772
23773 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
23774
23775         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
23776         (uintmax_t) [defined uintmax_t]: Do not declare.
23777         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
23778         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
23779         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
23780         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
23781         sake of portability to weird hosts that C allows (though we don't
23782         know of any practical examples).
23783
23784         * lib/savedir.h (fdsavedir): New decl.
23785         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
23786         contains most of the former guts of savedir.
23787         (savedir): Use savedirstream.
23788         Include "openat.h".
23789
23790 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23791
23792         * modules/obstack (Files): Add m4/ulonglong.m4.
23793         Problem reported by Davide Angelocola.
23794
23795 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23796
23797         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
23798         coreutils no longer futzes with rounding modes.
23799
23800 2005-11-14  Jim Meyering  <jim@meyering.net>
23801
23802         * lib/mkstemp-safer.c: Include <config.h>, required for possible
23803         replacement of mkstemp.
23804
23805 2005-11-10  Simon Josefsson  <jas@extundo.com>
23806
23807         * lib/readline.c: Remove EOL.
23808
23809 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
23810
23811         * modules/gethrxtime (Depends-on): Add gettime.
23812
23813 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
23814
23815         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
23816         or gettimeofday; no longer needed.
23817
23818 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
23819
23820         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
23821         time business.
23822         (gethrxtime) [! (HAVE_NANOUPTIME
23823         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
23824         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
23825         our own approximation.
23826
23827 2005-11-08  Eric Blake  <ebb9@byu.net>
23828
23829         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
23830
23831 2005-11-08  Eric Blake  <ebb9@byu.net>
23832
23833         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
23834
23835 2005-11-04  Bruno Haible  <bruno@clisp.org>
23836
23837         * gnulib-tool: Implement --update mode.
23838
23839 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23840
23841         Fix porting problem reported by Theodoros V. Kalamatianos.
23842         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
23843         Don't assume that futimes failing means we must fail.
23844
23845 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23846
23847         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
23848         variables to suggest the intended function of the PATH_MAX check.
23849
23850 2005-10-30  Kean Johnston  <jkj@sco.com>
23851
23852         Trivial changes to support SCO systems.
23853         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
23854         as PATH_MAX.
23855         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
23856         where __ptr is null when no I/O is pending.
23857
23858 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
23859
23860         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
23861         leave errno alone.  Problem reported by Dmitry V. Levin.
23862
23863 2005-10-28  Simon Josefsson  <jas@extundo.com>
23864
23865         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
23866         Test more.
23867
23868         * tests/test-gc-md2.c, tests/test-md2.c: New files.
23869
23870         * modules/md2, modules/md2-tests: New files.
23871
23872 2005-10-28  Simon Josefsson  <jas@extundo.com>
23873
23874         * m4/inet_ntop.m4: More tests.
23875
23876         * m4/gc-md2.m4, md2.m4: New file.
23877
23878 2005-10-28  Simon Josefsson  <jas@extundo.com>
23879
23880         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
23881         "restrict" keywords, as per POSIX.  Protect the function
23882         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
23883         Don't use K&R prototypes.  Check the sprintf return values.
23884         Re-define EAFNOSUPPORT if not present.  Indent.
23885
23886         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
23887         suggested by Bruno Haible <bruno@clisp.org>.
23888
23889         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
23890
23891         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
23892
23893         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
23894         libgcrypt).
23895
23896         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
23897
23898         * lib/md2.h, lib/md2.c: New files.
23899
23900 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
23901
23902         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
23903         errno alone.  Problem reported by Frederic Jolliton.
23904
23905 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
23906
23907         * modules/verify (License): Change from GPL to LGPL.  This is a
23908         tiny module and there are apparently near-equivalents that are
23909         under the BSD license.
23910
23911 2005-10-24  Simon Josefsson  <jas@extundo.com>
23912
23913         * modules/sha1: Relicense to LGPL.
23914
23915 2005-10-24  Simon Josefsson  <jas@extundo.com>
23916
23917         * lib/md4.h: Shrink buffer size, now that we changed the type.
23918
23919 2005-10-23  Simon Josefsson  <jas@extundo.com>
23920
23921         * gnulib-tool (func_import): Fix --tests-base.
23922
23923 2005-10-22  Simon Josefsson  <jas@extundo.com>
23924
23925         * modules/arcfour (Depends-on): Need stdint.
23926
23927 2005-10-22  Simon Josefsson  <jas@extundo.com>
23928
23929         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
23930         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
23931
23932 2005-10-22  Simon Josefsson  <jas@extundo.com>
23933
23934         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
23935         suggested by Bruno Haible <bruno@clisp.org>.
23936
23937 2005-10-22  Simon Josefsson  <jas@extundo.com>
23938
23939         * lib/crc.h: Include stddef.h, for size_t.
23940
23941 2005-10-22  Simon Josefsson  <jas@extundo.com>
23942
23943         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
23944         arcfour_context struct (simplify test vector testing in GNU
23945         Shishi).
23946
23947 2005-10-21  Simon Josefsson  <jas@extundo.com>
23948
23949         * modules/des, modules/des-tests: New files.
23950
23951         * modules/gc-des, modules/gc-des-tests: New files.
23952
23953         * tests/test-des.c, tests/test-gc-des.c: New file.
23954
23955 2005-10-21  Simon Josefsson  <jas@extundo.com>
23956
23957         * modules/arctwo, modules/arctwo-tests: New files.
23958
23959         * tests/test-arctwo.c: New file.
23960
23961         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
23962
23963         * tests/test-gc-arctwo.c: New file.
23964
23965 2005-10-21  Simon Josefsson  <jas@extundo.com>
23966
23967         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
23968         Bruno Haible <bruno@clisp.org>.
23969
23970         * m4/gc-des.m4: New file.
23971
23972 2005-10-21  Simon Josefsson  <jas@extundo.com>
23973
23974         * m4/arctwo.m4: New file.
23975
23976         * m4/gc-arctwo.m4: New file.
23977
23978 2005-10-21  Simon Josefsson  <jas@extundo.com>
23979
23980         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
23981         block.
23982
23983 2005-10-21  Simon Josefsson  <jas@extundo.com>
23984
23985         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
23986         <bruno@clisp.org>.
23987
23988         * lib/hmac-sha1.c (hmac_sha1): Likewise.
23989
23990         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
23991         Bruno Haible <bruno@clisp.org>.
23992
23993         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
23994         <bruno@clisp.org>.
23995
23996 2005-10-21  Simon Josefsson  <jas@extundo.com>
23997
23998         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
23999
24000 2005-10-21  Simon Josefsson  <jas@extundo.com>
24001
24002         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
24003
24004 2005-10-21  Simon Josefsson  <jas@extundo.com>
24005
24006         * lib/des.h, lib/des.c: New files.
24007
24008         * lib/gc-gnulib.c: Support DES.c
24009
24010 2005-10-21  Simon Josefsson  <jas@extundo.com>
24011
24012         * lib/arctwo.h, lib/arctwo.c: New files.
24013
24014         * lib/gc-gnulib.c: Support ARCTWO.
24015
24016 2005-10-21  Simon Josefsson  <jas@extundo.com>
24017
24018         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
24019         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24020
24021 2005-10-21  Simon Josefsson  <jas@extundo.com>
24022
24023         * gnulib-tool (func_import, func_create_testdir): Define automake
24024         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
24025         Makefile.am snippet),
24026         suggested by Bruno Haible <bruno@clisp.org>.
24027
24028         * modules/gc (Makefile.am): Use it.
24029
24030 2005-10-21  Bruno Haible  <bruno@clisp.org>
24031
24032         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
24033         patch.
24034
24035 2005-10-19  Simon Josefsson  <jas@extundo.com>
24036
24037         * tests/test-gc-rijndael.c: New file.
24038
24039         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
24040
24041 2005-10-19  Simon Josefsson  <jas@extundo.com>
24042
24043         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
24044         interface too.
24045
24046 2005-10-19  Simon Josefsson  <jas@extundo.com>
24047
24048         * tests/test-gc-arcfour.c: New file.
24049
24050         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
24051
24052 2005-10-19  Simon Josefsson  <jas@extundo.com>
24053
24054         * modules/gc-md4, modules/gc-md4-tests: New file.
24055
24056         * tests/test-gc-md4.c: New file.
24057
24058 2005-10-19  Simon Josefsson  <jas@extundo.com>
24059
24060         * m4/gc-md4.m4: New file.
24061
24062 2005-10-19  Simon Josefsson  <jas@extundo.com>
24063
24064         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
24065         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
24066         <kasal@ucw.cz>.
24067
24068 2005-10-19  Simon Josefsson  <jas@extundo.com>
24069
24070         * m4/gc-arcfour.m4: New file.
24071
24072         * m4/gc-rijndael.m4: New file.
24073
24074 2005-10-19  Simon Josefsson  <jas@extundo.com>
24075
24076         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
24077
24078 2005-10-19  Simon Josefsson  <jas@extundo.com>
24079
24080         * lib/gc-gnulib.c: Support ARCFOUR.
24081
24082 2005-10-19  Simon Josefsson  <jas@extundo.com>
24083
24084         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
24085         support.
24086
24087         * lib/gc.h: Add ECB enum type.
24088
24089         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
24090
24091 2005-10-18  Simon Josefsson  <jas@extundo.com>
24092
24093         * tests/test-md5.c: New file.
24094
24095         * modules/md5-tests: New file.
24096
24097 2005-10-18  Simon Josefsson  <jas@extundo.com>
24098
24099         * tests/test-md4.c: New file.
24100
24101         * modules/md4, modules/md4-tests: New files.
24102
24103 2005-10-18  Simon Josefsson  <jas@extundo.com>
24104
24105         * m4/md4.m4: New file.
24106
24107 2005-10-18  Simon Josefsson  <jas@extundo.com>
24108
24109         * lib/md4.h, lib/md4.c: New files, based on md5.?.
24110
24111 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
24112
24113         * gnulib-tool (func_create_testdir): Omit the second check whether
24114         BUILT_SOURCES in nonempty.
24115
24116 2005-10-17  Simon Josefsson  <jas@extundo.com>
24117
24118         * tests/test-rijndael.c: New file.
24119
24120 2005-10-17  Simon Josefsson  <jas@extundo.com>
24121
24122         * modules/sha1: Depend on stdint instead of md5.
24123
24124         * modules/md5: Depend on stdint, remove uint32_t.
24125
24126 2005-10-17  Simon Josefsson  <jas@extundo.com>
24127
24128         * modules/gc-sha1-tests: New file.
24129
24130         * tests/test-gc-sha1.c: New file.
24131
24132 2005-10-17  Simon Josefsson  <jas@extundo.com>
24133
24134         * m4/md5.m4: Remove call to uint32_t.m4.
24135
24136 2005-10-17  Simon Josefsson  <jas@extundo.com>
24137
24138         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
24139
24140         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
24141         md5.h.
24142
24143         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
24144
24145         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
24146
24147 2005-10-17  Simon Josefsson  <jas@extundo.com>
24148
24149         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
24150
24151 2005-10-17  Simon Josefsson  <jas@extundo.com>
24152
24153         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
24154
24155 2005-10-17  Simon Josefsson  <jas@extundo.com>
24156
24157         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
24158
24159         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
24160
24161 2005-10-17  Bruno Haible  <bruno@clisp.org>
24162
24163         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
24164         that it can also be used in a test.
24165
24166 2005-10-16  Bruno Haible  <bruno@clisp.org>
24167
24168         * gnulib-tool (func_emit_tests_Makefile_am): Also define
24169         TESTS_ENVIRONMENT, so that individual tests can augment it.
24170
24171         * gnulib-tool (func_create_testdir): Use an intermediate target for
24172         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
24173         macros, like $(ALLOCA_H), which cannot be passed through the command
24174         line.
24175
24176 2005-10-15  Simon Josefsson  <jas@extundo.com>
24177
24178         * modules/rijndael-tests: New file.
24179
24180         * modules/rijndael: New file.
24181
24182 2005-10-15  Simon Josefsson  <jas@extundo.com>
24183
24184         * m4/rijndael.m4: New file.
24185
24186 2005-10-15  Simon Josefsson  <jas@extundo.com>
24187
24188         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
24189
24190         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
24191
24192 2005-10-14  Simon Josefsson  <jas@extundo.com>
24193
24194         * tests/test-arcfour.c: New file.
24195
24196         * modules/arcfour, modules/arcfour-tests: New files.
24197
24198 2005-10-14  Simon Josefsson  <jas@extundo.com>
24199
24200         * m4/arcfour.m4: New file.
24201
24202 2005-10-14  Simon Josefsson  <jas@extundo.com>
24203
24204         * lib/arcfour.h, lib/arcfour.c: New files.
24205
24206 2005-10-14  Roland McGrath  <roland@redhat.com>
24207
24208         Import from libc.  [BZ #1331]
24209         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
24210         macro argument.
24211         Reported by Matej Vela <vela@debian.org>.
24212
24213 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
24214
24215         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
24216         include <wchar.h>; no longer needed.
24217
24218 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
24219
24220         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
24221
24222 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
24223         and  Ulrich Drepper  <drepper@redhat.com>
24224
24225         Import from libc.
24226         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
24227         instead of inline stream orientation test and two separate
24228         function calls.  Pay no attention to USE_IN_LIBIO.
24229
24230 2005-10-13  Simon Josefsson  <jas@extundo.com>
24231
24232         * modules/gc-hmac-md5-tests: New file.
24233
24234         * tests/test-gc-hmac-sha1.c: New file.
24235
24236         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
24237
24238         * modules/gc-hmac-md5-tests: New file.
24239
24240         * tests/test-gc-md5.c: New file.
24241
24242         * modules/gc-md5-tests: New file.
24243
24244 2005-10-13  Simon Josefsson  <jas@extundo.com>
24245
24246         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
24247         Move memory allocation outside of loop.
24248
24249 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24250
24251         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
24252         intermediate directory is in a read-only file system.  Problem
24253         reported by Eric Blake.
24254
24255 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
24256
24257         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
24258
24259 2005-10-12  Simon Josefsson  <jas@extundo.com>
24260
24261         * tests/test-hmac-sha1.c: New file.
24262
24263         * modules/hmac-sha1-tests: New file.
24264
24265         * modules/hmac-sha1: New file.
24266
24267 2005-10-12  Simon Josefsson  <jas@extundo.com>
24268
24269         * modules/gc-sha1: New file.
24270
24271 2005-10-12  Simon Josefsson  <jas@extundo.com>
24272
24273         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
24274
24275         * tests/test-gc-pbkdf2-sha1.c: New file.
24276
24277 2005-10-12  Simon Josefsson  <jas@extundo.com>
24278
24279         * modules/gc-md5, modules/gc-hmac-md5: New files.
24280
24281         * modules/gc (Files): Remove md5, memxor and hmac files.
24282
24283 2005-10-12  Simon Josefsson  <jas@extundo.com>
24284
24285         * m4/gc-pbkdf2-sha1.m4: New file.
24286
24287         * m4/gc-hmac-sha1.m4: New file.
24288
24289         * m4/gc-sha1: New file.
24290
24291         * m4/hmac-sha1.m4: New file.
24292
24293 2005-10-12  Simon Josefsson  <jas@extundo.com>
24294
24295         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
24296
24297         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
24298
24299 2005-10-12  Simon Josefsson  <jas@extundo.com>
24300
24301         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
24302         suggested by Bruno Haible <bruno@clisp.org>.
24303
24304 2005-10-12  Simon Josefsson  <jas@extundo.com>
24305
24306         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
24307
24308 2005-10-12  Simon Josefsson  <jas@extundo.com>
24309
24310         * lib/gc-pbkdf2-sha1.c: New file.
24311
24312         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
24313
24314 2005-10-12  Simon Josefsson  <jas@extundo.com>
24315
24316         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
24317
24318         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
24319
24320 2005-10-12  Simon Josefsson  <jas@extundo.com>
24321
24322         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
24323         GC_USE_HMAC_MD5, respectively.
24324
24325         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
24326         (gc_md5): Fix typo.
24327
24328         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
24329
24330         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
24331
24332         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
24333
24334 2005-10-12  Bruno Haible  <bruno@clisp.org>
24335
24336         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
24337         Reported by Stepan Kasal <kasal@ucw.cz>.
24338
24339 2005-10-11  Simon Josefsson  <jas@extundo.com>
24340
24341         * tests/test-crc.c: New file.
24342
24343         * modules/crc, modules/crc-tests: New files.
24344
24345 2005-10-11  Simon Josefsson  <jas@extundo.com>
24346
24347         * m4/crc.m4: New file.
24348
24349 2005-10-11  Simon Josefsson  <jas@extundo.com>
24350
24351         * lib/gc.h: Add gc_hash and gc_hash_buffer.
24352
24353         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
24354
24355         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
24356
24357 2005-10-11  Simon Josefsson  <jas@extundo.com>
24358
24359         * lib/crc.h, lib/crc.c: New files.
24360
24361         * lib/gc.h (gc_hash_buffer): Add doc.
24362
24363 2005-10-11  Bruno Haible  <bruno@clisp.org>
24364
24365         * modules/c-strcasestr: New file.
24366         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
24367
24368 2005-10-11  Bruno Haible  <bruno@clisp.org>
24369
24370         * modules/c-strcase: New file.
24371         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
24372
24373 2005-10-11  Bruno Haible  <bruno@clisp.org>
24374
24375         * lib/strcasecmp.c: Include limits.h.
24376         (strcasecmp): Avoid integer overflow on exotic platforms.
24377         * lib/strncasecmp.c: Include limits.h.
24378         (strncasecmp): Avoid integer overflow on exotic platforms.
24379         Reported by Paul Eggert.
24380
24381 2005-10-11  Bruno Haible  <bruno@clisp.org>
24382
24383         * lib/c-strcasestr.h: New file, from GNU gettext.
24384         * lib/c-strcasestr.c: New file, from GNU gettext.
24385
24386 2005-10-11  Bruno Haible  <bruno@clisp.org>
24387
24388         * lib/c-strcase.h: New file, from GNU gettext.
24389         * lib/c-strcasecmp.c: New file, from GNU gettext.
24390         * lib/c-strncasecmp.c: New file, from GNU gettext.
24391
24392 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24393
24394         * modules/mempcpy (License): GPL -> LGPL.
24395         * modules/strchrnul (License): Likewise.
24396         * modules/sysexits (License): Likewise.
24397
24398 2005-10-08  Simon Josefsson  <jas@extundo.com>
24399
24400         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
24401
24402 2005-10-07  Simon Josefsson  <jas@extundo.com>
24403
24404         * m4/memxor.m4: Remove gl_C_RESTRICT call.
24405
24406 2005-10-06  Simon Josefsson  <jas@extundo.com>
24407
24408         * tests/test-hmac-md5.c: New file.
24409
24410         * modules/hmac-md5-tests: New file.
24411
24412         * modules/hmac-md5: New file.
24413
24414 2005-10-06  Simon Josefsson  <jas@extundo.com>
24415
24416         * m4/hmac-md5.m4: New file.
24417
24418         * m4/memxor.m4: Require gl_C_RESTRICT.
24419
24420 2005-10-06  Simon Josefsson  <jas@extundo.com>
24421
24422         * lib/memxor.c (memxor): Avoid casts and warnings.
24423
24424 2005-10-06  Simon Josefsson  <jas@extundo.com>
24425
24426         * lib/hmac-md5.c: New file.
24427
24428         * lib/hmac.h: New file.
24429
24430 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
24431
24432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
24433         promotes to int, not unsigned int, to catch the AIX 5.3
24434         compiler bug.
24435
24436 2005-10-05  Simon Josefsson  <jas@extundo.com>
24437
24438         * modules/memxor: New file.
24439
24440         * modules/iconv (Files): Move config.rpath to havelib, it is used
24441         there.
24442
24443         * modules/havelib (Files): Add config.rpath.
24444
24445 2005-10-05  Simon Josefsson  <jas@extundo.com>
24446
24447         * m4/memxor.m4: New file.
24448
24449 2005-10-05  Simon Josefsson  <jas@extundo.com>
24450
24451         * lib/memxor.c (memxor): Fix compiler error.
24452
24453         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
24454         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
24455
24456         * lib/memxor.h, lib/memxor.c: New files.
24457
24458         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
24459         we assume all systems have it, suggested by Jim Meyering
24460         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
24461         any systems lack sys/socket.h; mingw32 is known to lack it, but we
24462         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
24463         same reasons.
24464
24465 2005-10-05  Simon Josefsson  <jas@extundo.com>
24466
24467         * config/srclist.txt: Add glibc bug 1423 for md5.h.
24468
24469 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
24470
24471         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
24472         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
24473         needed, since the source code now assumes these .h files.
24474
24475 2005-10-05  Derek Price  <derek@ximbiot.com>
24476
24477         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
24478
24479 2005-10-05  Bruno Haible  <bruno@clisp.org>
24480
24481         * modules/stdint (License): Change to LGPL.
24482
24483 2005-10-04  Simon Josefsson  <jas@extundo.com>
24484
24485         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
24486         D. Baushke" <mdb@gnu.org>.
24487
24488 2005-10-04  Bruno Haible  <bruno@clisp.org>
24489
24490         * lib/verify.h (verify_true): Provide alternative definition for C++.
24491
24492 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
24493
24494         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
24495         (SSIZE_MAX): New macro, if not already defined.
24496         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
24497         than 2 GiB.
24498
24499 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
24500
24501         Sync from coreutils.
24502         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
24503         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
24504         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
24505         ULLONG_MAX doesn't work with 2.7.2.1.
24506
24507 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
24508
24509         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
24510         From Ben Pfaff.
24511
24512         * modules/exclude (Depends-on): Depend on verify.
24513         * modules/strtoimax (Depends-on): Likewise.
24514         * modules/utimecmp (Depends-on): Likewise.
24515
24516 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
24517
24518         * lib/exclude.c: Include verify.h.
24519         (verify): Remove.  All callers changed to use verify.h's version.
24520         * lib/strtoimax.c: Likewise.
24521         * lib/utimecmp.c: Likewis.e
24522
24523         Sync from coreutils.
24524         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
24525         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
24526         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
24527         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
24528         bother returning ENOSYS if settimeofday or stime fails; just let
24529         them return whatever errno they want to return.
24530         * lib/utimens.c: Include unistd.h, for dup2.
24531         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
24532         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
24533
24534 2005-10-02  Jim Meyering  <jim@meyering.net>
24535
24536         Sync from coreutils.
24537         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
24538         from glibc-2.2.5 that fails for read-only files.
24539
24540 2005-10-02  Jim Meyering  <jim@meyering.net>
24541
24542         Sync from coreutils.
24543         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
24544         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
24545         `#if HAVE_CONFIG_H'.
24546         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
24547         Remove AT_FDCWD test.
24548         Do not consume the fd unless successful.
24549         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
24550         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
24551         block, so that we don't even try to compile it if settimeofday is
24552         available.  This works around a compilation failure on OSF1 V5.1,
24553         due to stime requiring a `long int*' while tv_sec is `int'.
24554
24555 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
24556
24557         Sync from coreutils.
24558         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
24559         against `yes', rather than just testing for nonempty.
24560
24561 2005-10-01  Simon Josefsson  <jas@extundo.com>
24562
24563         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
24564         and Darwin.
24565
24566         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
24567         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
24568         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
24569         freeaddrinfo and gai_strerror are declared by the POSIX headers.
24570         Check if struct addrinfo is declared.
24571
24572 2005-10-01  Simon Josefsson  <jas@extundo.com>
24573
24574         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
24575         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
24576         AI_* and EAI_* definitions.  Protect function declarations.
24577
24578 2005-10-01  Jim Meyering  <jim@meyering.net>
24579
24580         Sync from coreutils.
24581
24582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
24583         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
24584         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
24585         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
24586         in the inet and nsl libraries.  Required on Solaris 5.7.
24587
24588 2005-10-01  Jim Meyering  <jim@meyering.net>
24589
24590         Sync from coreutils.
24591         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
24592         in the inet and nsl libraries.  Required on Solaris 5.7.
24593
24594 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
24595
24596         * lib/getdelim.c (getdelim): Remove unused variables.
24597
24598 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
24599
24600         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
24601         so that the code works even with ancient cpp.  Portability problem
24602         with GCC 2.7.2.1 reported by Thomas M.Ott.
24603
24604 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
24605
24606         * modules/regex (Depends-on): Add strcase.
24607
24608         * modules/gethostname (Licence): Change from GPL to LGPL, since
24609         gethostname.c is a trivial implementation of a standard library
24610         function.
24611         * modules/poll (License): Change from GPL to LGPL, since it's
24612         derived from LGPL code.
24613
24614 2005-09-27  Jim Meyering  <jim@meyering.net>
24615
24616         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
24617         HAVE_CONFIG_H.
24618
24619         * lib/intprops.h (signed_type_or_expr__): Define.
24620         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
24621         for unsigned types.
24622
24623 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
24624
24625         * lib/verify.h (verify_expr): Remove, replacing with:
24626         (verify_true): New macro that returns true instead of void.
24627         (verify_type__): Remove.
24628         (verify): Use verify_true rather than verify_type__.
24629
24630 2005-09-26  Bruno Haible  <bruno@clisp.org>
24631
24632         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
24633         is necessary.
24634         (lib_SOURCES): Remove mbchar.c.
24635         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
24636         (Files): Add m4/mbrtowc.m4.
24637         * modules/mbiter: Likewise.
24638         * modules/mbuiter: Likewise.
24639
24640 2005-09-26  Bruno Haible  <bruno@clisp.org>
24641
24642         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
24643         compile mbchar.c if they are not both present.
24644         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
24645         * m4/mbiter.m4 (gl_MBITER): Likewise.
24646         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
24647         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
24648         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
24649
24650 2005-09-25  Jim Meyering  <jim@meyering.net>
24651
24652         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
24653         also uses socklen_t.
24654
24655 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
24656
24657         * lib/utimens.c (ENOSYS): Define if not already defined.
24658         (futimens): Support having a null PATH if the file descriptor
24659         is nonnegative.
24660
24661         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
24662         Remove.
24663         (__attribute): Define to empty unless GCC 3.1 or later.
24664         This works around a core dump on OpenBSD 3.4, which has GCC
24665         2.95.3, which dumps core when given __attribute__(()).  It also
24666         simplifies other tests, since we really don't want to bother with
24667         worrying about which ancient version of GCC supported what.
24668         Original problem reported by Yoann Vandoorselaere, with part of
24669         the fix suggested by Derek Price.
24670
24671 2005-09-24  Jim Meyering  <jim@meyering.net>
24672
24673         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
24674         so we can once again use a positive bitfield width of 1 -- now we
24675         don't have to explain why we were using a bitfield width of 2.
24676
24677 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
24678
24679         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
24680         and similarly for the other external symbols.  Problem reported
24681         by James Gallager.
24682
24683         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
24684         bug reported by Jim Meyering.
24685
24686         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
24687         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
24688         not needed, since socklen is a prerequisite module.
24689
24690 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
24691
24692         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
24693         Problem reported by Eric Blake.
24694         (getaddrinfo): Initialize se so that it's not garbage.
24695         Redo internal storage allocation so that it doesn't make unportable
24696         assumptions about alignment.
24697         Fix a memory leak.
24698
24699         * lib/utimens.c (futimens): Use futimesat if available.
24700         Prefer it to futimes since it doesn't have the futimes bug.
24701
24702         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
24703         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
24704         Instead, declare a function that returns a pointer to an array,
24705         and use verify_type__ to declare the size of the array.
24706         Problem and germ of a solution reported by Bruno Haible.
24707         (verify_type__): Use 2, not 1, for bitfield size, to avoid
24708         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
24709
24710 2005-09-23  Jim Meyering  <jim@meyering.net>
24711
24712         Sync from coreutils.
24713         Correct build failure (socklen_t not defined) on at least
24714         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
24715         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
24716
24717 2005-09-23  Jim Meyering  <jim@meyering.net>
24718
24719         * modules/getaddrinfo (Depends-on): Add socklen.
24720
24721 2005-09-23  Bruno Haible  <bruno@clisp.org>
24722
24723         * tests/test-verify.c: New file.
24724
24725 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24726
24727         Sync from coreutils.
24728
24729         * modules/argmatch (Depends-on): Add verify.
24730         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
24731         unistd-safer.
24732         * modules/save-cwd (Depends-on): Likewise.
24733
24734         * modules/openat (Files): Add lib/openat-die.c.
24735         (Depends-on): Remove error, exitfail.
24736         Add dirname.
24737
24738         * modules/verify: New file.
24739         * MODULES.html.sh (Diagnostics <assert.h>): New section,
24740         with "verify" module.
24741
24742 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24743
24744         Sync from coreutils.
24745
24746         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
24747         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
24748         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
24749         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
24750         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
24751         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
24752         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
24753         Don't bother checking for string.h, stdlib.h, unistd.h.
24754         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
24755         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
24756         module's job.
24757         * m4/jm-macros.m4 (gl_MACROS): Likewise.
24758         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
24759
24760         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
24761         (gl_GETDATE): Use it.
24762
24763         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
24764
24765 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24766
24767         Sync from coreutils.
24768
24769         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
24770         stat-time.h.
24771         * lib/argmatch.h: Include verify.h
24772         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
24773         (ARGMATCH_ASSERT): Remove; unused.
24774         * lib/canonicalize.c: Assume STDC_HEADERS.
24775         * lib/exclude.c: Include "strcase.h".
24776         * lib/regex_internal.h [!defined _LIBC]: Likewise.
24777         * lib/getusershell.c: Include stdio--.h rather than stdio.h
24778         and stdio-safer.h.
24779         (getusershell): Call fopen, not fopen_safer.
24780         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
24781         Do not include unistd-safer.h.
24782         (save_cwd): Don't call fd_safer; no longer needed
24783         now that we include fcntl--.h.
24784
24785         * lib/getdate.y (relative_time): New type.
24786         (RELATIVE_TIME_0): New constant.
24787         (parser_control): Use relative_time instead of doing it ourselves.
24788         (%union): Add new relative_time rel member.
24789         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
24790         Now typeless.
24791         (relunit, relunit_snumber): Now of type rel.
24792         (zone, rel, relunit, get_date): Adjust to above changes.
24793
24794         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
24795         Do not include unistd-safer.h.
24796         (getloadavg): Don't call fd_safer; no longer needed
24797         now that we include fcntl--.h.
24798
24799         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
24800         (make_dir_parents): Treat ENOSYS like EEXIST.
24801
24802         Improve quality of diagnostics on restore_cwd failure.
24803         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
24804         (make_dir_parents): Last arg is now int * (for errno), not bool *.
24805         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
24806         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
24807         each time through the loop.  Do not diagnose restore_cwd failure;
24808         that is the caller's job (and perhaps the caller does not care).
24809
24810         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
24811         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
24812         If the file already exists but is not a directory, don't bother
24813         to try to make its parents.
24814         Close potential file descriptor leak if we can't chdir("/") (!).
24815         Don't always return true if chdir($PWD) fails; return true only
24816         if the requested action was done successfully (except for the
24817         chdir($PWD)).
24818         Don't log final directory unless we actually made it.
24819         Refactor to avoid duplicate code to fix up permissions.
24820         Don't attempt to fix up parent permissions if chdir($PWD) fails.
24821
24822         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
24823         to make it a bit faster and (I hope) clearer.
24824         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
24825         Fix bug in formats like %2N.
24826
24827         * lib/verify.h: New file.
24828
24829 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24830
24831         Sync from coreutils.
24832         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
24833
24834 2005-09-22  Jim Meyering  <jim@meyering.net>
24835
24836         Sync from coreutils.
24837
24838         * m4/lstat.m4 (gl_FUNC_LSTAT):
24839         Use AC_LIBSOURCES to require lstat.c and lstat.h.
24840         Remove obsolete comment.
24841         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
24842         * m4/xstrtod.m4: Likewise.
24843
24844         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
24845
24846 2005-09-22  Jim Meyering  <jim@meyering.net>
24847
24848         Sync from coreutils.
24849
24850         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
24851
24852         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
24853         the .tm_year member, since otherwise gcc-4.0 would now warn about
24854         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
24855
24856         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
24857         order to avoid an unsuppressible warning from gcc on 64-bit systems.
24858
24859         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
24860         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
24861         when run in a time zone for which daylight savings time is in effect
24862         for the starting date.
24863
24864         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
24865         stop us from restricting permissions of just-created absolute-named
24866         directories.
24867         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
24868         to restore initial working directory.
24869         * lib/mkdir-p.c (make_dir_parents): New parameter:
24870         different_working_dir, to tell caller if/when we change the working
24871         directory and are unable to return to the initial one.
24872         * lib/mkdir-p.h (make_dir_parents): Update prototype.
24873         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
24874         `return false'.  This fixes a bug introduced on 2004-07-30.
24875
24876         * lib/openat.c (fdopendir): Be sure to close the supplied
24877         file descriptor before returning.  This makes our replacement
24878         implementation a little closer to Solaris's, where fdopendir
24879         ties the file descriptor to the returned DIR* pointer.
24880         * lib/openat.c (unlinkat): New function.
24881         * lib/openat.h (unlinkat): Add prototype.
24882         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
24883         (openat_restore_fail): Rename from openat_restore_die.
24884         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
24885
24886         Provide an alternative to exiting immediately upon save_cwd or
24887         restore_cwd failure.  Now, an application can arrange e.g.,
24888         to perform a longjump in that case.
24889         * lib/openat.c: Include dirname.h.
24890         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
24891         (rpl_openat, fdopendir, fstatat): Call openat_save_die
24892         and openat_restore_die rather than calling error directly.
24893         Don't include "error.h" or "exitfail.h"; they're no longer needed.
24894
24895         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
24896         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
24897         define.
24898
24899         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
24900         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
24901                             int utc, int nanoseconds);
24902         Background:
24903         date should not have to allocate a megabyte of virtual memory to
24904         handle a format argument like +%1048575T.  When implemented with
24905         strftime, it must allocate such a buffer, use strftime to fill it
24906         in, print it, then free it.
24907         With fprintftime, it simply prints everything and exits.
24908         With no need for memory allocation, that's one fewer way to fail.
24909         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
24910         optional field width, not before, so we accept %9:z, not %:9z.
24911         (my_strftime): Be sure to use L_('x') for literals.
24912
24913         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
24914         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
24915         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
24916         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
24917         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
24918         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
24919         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
24920         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
24921         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
24922         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
24923         * lib/xgethostname.c, lib/xreadlink.c:
24924         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
24925
24926         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
24927         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
24928         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
24929         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
24930         and don't include <sys/file.h>).
24931
24932 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
24933
24934         Sync from coreutils.
24935
24936         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
24937         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
24938         [!LDAV_DONE]: Avoid unused variable warning.
24939
24940 2005-09-21  Bruno Haible  <bruno@clisp.org>
24941
24942         * lib/unicodeio.h (unicode_to_mb): New declaration.
24943
24944 2005-09-20  Derek Price  <derek@ximbiot.com>
24945
24946         * lib/getaddrinfo.c: Don't include <netdb.h> included from
24947         getaddrinfo.h.
24948
24949 2005-09-20  Bruno Haible  <bruno@clisp.org>
24950
24951         * gnulib-tool: Remove trailing slashes from the values specified for
24952         --source-base, --m4-base, --tests-base, --aux-dir.
24953         Suggested by Simon Josefsson <jas@extundo.com>.
24954
24955 2005-09-20  Bruno Haible  <bruno@clisp.org>
24956
24957         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
24958         func_modules_to_filelist, func_import, func_create_testdir): Make all
24959         sorting results locale-independent, so that gnulib-cache.m4 doesn't
24960         change when gnulib-tool is invoked in a different locale.
24961
24962 2005-09-19  Simon Josefsson  <jas@extundo.com>
24963
24964         * m4/socklen.m4: Fix typo.
24965
24966 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24967
24968         Use a consistent style for including <config.h>.
24969         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
24970         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
24971         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
24972         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
24973         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
24974         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
24975         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
24976         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
24977         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
24978         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
24979         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
24980         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
24981         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
24982         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
24983         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
24984         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
24985         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
24986         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
24987         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
24988         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
24989         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
24990         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
24991         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
24992         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
24993         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
24994         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
24995         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
24996         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
24997         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
24998         lib/xstrtoumax.c, lib/yesno.c:
24999         Standardize inclusion of config.h.
25000         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
25001         lib/inttostr.h:  Removed inclusion of config.h from header files.
25002         * lib/inttostr.c:  Adjusted in-tree users.
25003         * lib/timespec.h: Remove superfluous warning to include config.h.
25004         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
25005         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
25006         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
25007         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
25008         config.h with HAVE_CONFIG_H.
25009
25010 2005-09-19  Jim Meyering  <jim@meyering.net>
25011
25012         * modules/pathmax (License): Change to LGPL.
25013
25014 2005-09-19  Derek Price  <derek@ximbiot.com>
25015
25016         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
25017
25018 2005-09-19  Bruno Haible  <bruno@clisp.org>
25019
25020         * gnulib-tool (import): Provide default for --tests-base.
25021
25022 2005-09-19  Bruno Haible  <bruno@clisp.org>
25023
25024         * doc/quote.texi: New file, extracted from gnulib.texi.
25025         * doc/ctime.texi: New file, extracted from gnulib.texi.
25026         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
25027         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
25028         * doc/gnulib.texi: Include them.
25029
25030 2005-09-18  Bruno Haible  <bruno@clisp.org>
25031
25032         Portability fix.
25033         * gnulib-tool (func_readlink): New function.
25034         (func_ln_if_changed): Use it.
25035
25036 2005-09-18  Bruno Haible  <bruno@clisp.org>
25037
25038         * gnulib-tool: Support --with-tests also with --import.
25039         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
25040         (func_import): Use variables $testsbase and $inctests. Emit a
25041         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
25042         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
25043         SUBDIRS += $testsdir.
25044         (func_create_testdir): Update.
25045
25046 2005-09-18  Bruno Haible  <bruno@clisp.org>
25047
25048         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
25049         instead of $dry_run.
25050         (func_cp_if_changed, func_mv_if_changed): Remove functions.
25051         (func_ln_if_changed): Don't handle dry-run here.
25052         (func_import): In dry-run mode, detect more precisely which actions
25053         would be performed, and don't use "...ing" verbs.
25054
25055 2005-09-18  Bruno Haible  <bruno@clisp.org>
25056
25057         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
25058         (func_import): Use join on two temporary files instead of three nested
25059         loops, in order to determine which files are new or old.
25060
25061 2005-09-18  Bruno Haible  <bruno@clisp.org>
25062
25063         * gnulib-tool (func_import): Comment out code that spits out the
25064         new files with --dry-run.
25065
25066 2005-09-18  Bruno Haible  <bruno@clisp.org>
25067
25068         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
25069
25070 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
25071
25072         * lib/stat-time.h: New file.
25073         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
25074         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
25075         in a different way.
25076         (timespec_cmp): New function.
25077         * lib/utimecmp.c: Include stat-time.h.
25078         (SYSCALL_RESOLUTION): Depend on whether various struct stat
25079         members exist, not on the obsolescent ST_MTIM_NSEC.
25080         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
25081
25082 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
25083
25084         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
25085
25086 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
25087
25088         * MODULES.html.sh (File system functions): Add stat-time.
25089         * modules/stat-time: New file.
25090         * modules/timespec (Files): Remove m4/st_mtim.m4; this
25091         is now done in a different way, by the stat-time module.
25092         * modules/utimecmp (Depends-on): Add stat-time.
25093
25094 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
25095
25096         * m4/st_mtim.m4: Remove.  Superseded by...
25097         * m4/stat-time.m4: New file.
25098         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
25099         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
25100
25101 2005-09-15  Derek Price  <derek@ximbiot.com>
25102
25103         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
25104
25105 2005-09-15  Derek Price  <derek@ximbiot.com>
25106
25107         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
25108         * lib/regex_internal.c: Ditto, using this...
25109         (__GNUC_PREREQ): ...new macro.
25110         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
25111         using...
25112         (__GNUC_PREREQ): ...this new macro.
25113
25114         * lib/strstr.h: Include string.h. Define strstr as a macro here.
25115
25116 2005-09-15  Derek Price  <derek@ximbiot.com>
25117             Paul Eggert  <eggert@cs.ucla.edu>
25118
25119         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
25120         changes, consolidating in...
25121         * lib/regex_internal.h: ...this file.
25122
25123 2005-09-13  Jim Meyering  <jim@meyering.net>
25124
25125         * lib/canon-host.c: Filter through gnu indent and reword comments
25126         slightly.
25127         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
25128
25129 2005-09-13  Derek Price  <derek@ximbiot.com>
25130
25131         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
25132         failure.
25133         Reported by Jim Meyering  <jim@meyering.net>.
25134
25135 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
25136
25137         * lib/base64.c: Typo.
25138         (base64_encode): Put b64str in initialized data section.
25139
25140 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25141
25142         Merge glibc and coreutils changes into gnulib, plus a few
25143         extra fixes.
25144         * lib/md5.c: Use #error rather than a string.
25145         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
25146         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
25147         (__attribute__): Define to empty for non recent-GCC.
25148         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
25149         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
25150         Renamed from their non-__ counterparts, with new macros replacing
25151         them if not _LIBC.  Add __THROW attribute.
25152         (rol): Remove.
25153         (struct md5_ctx): Align buffer if using GCC.
25154         * lib/sha1.h (struct sha1_ctx): Likewise.
25155         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
25156         The old name was backwards.
25157         (NOTSWAP): Remove; not used.
25158         (rol): New macro, moved here from md5.h.
25159         (sha1_process_block): Remove a FIXME that doesn't make sense.
25160
25161 2005-09-12  Derek Price  <derek@ximbiot.com>
25162
25163         Return usable errors from canon-host.
25164         * lib/canon-host.h: New file.
25165         * lib/canon-host.c (canon_host): Wrap...
25166         (canon_host_r): ...this new function, which now relies exclusively on
25167         getaddrinfo.
25168         (ch_strerror): New function.
25169         (last_cherror): New global.
25170         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
25171         interface.
25172         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
25173         void *.
25174         (freeaddrinfo): Free ai->ai_canonname when set.
25175
25176 2005-09-12  Derek Price  <derek@ximbiot.com>
25177
25178         Make canon-host require getaddrinfo.
25179         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
25180         AC_LIBSOURCE canon-host.h.  Call...
25181         (gl_PREREQ_CANON_HOST): ...this new function, which requires
25182         gl_GETADDRINFO.
25183         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
25184
25185 2005-09-12  Derek Price  <derek@ximbiot.com>
25186
25187         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
25188         LGPL.
25189         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
25190
25191 2005-09-12  Derek Price  <derek@ximbiot.com>
25192
25193         * lib/gai_strerror.c: Include config.h when available.  Include
25194         getaddrinfo.h before other headers to test interface.
25195         Reported by Larry Jones <lawrence.jones@ugs.com>.
25196
25197 2005-09-12  Derek Price  <derek@ximbiot.com>
25198             Paul Eggert  <eggert@cs.ucla.edu>
25199
25200         * modules/glob (Files): Add glob-libc.h.
25201
25202 2005-09-12  Derek Price  <derek@ximbiot.com>
25203             Paul Eggert  <eggert@cs.ucla.edu>
25204
25205         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
25206         glob_.h, glob-libc.h.
25207         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
25208
25209 2005-09-12  Derek Price  <derek@ximbiot.com>
25210             Paul Eggert  <eggert@cs.ucla.edu>
25211
25212         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
25213         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
25214         protecting things that should be done only in gnulib contexts.
25215         * lib/glob_.h: New file, containing only the glob things needed for
25216         gnulib.
25217         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
25218         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
25219         (glob, globfree, glob_pattern_p): Now defined simply in terms of
25220         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
25221         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
25222         and to respect the namespace rules better.
25223
25224 2005-09-08  Simon Josefsson  <jas@extundo.com>
25225
25226         * modules/socklen: New file.
25227
25228 2005-09-08  Simon Josefsson  <jas@extundo.com>
25229
25230         * m4/socklen.m4: New file.
25231
25232 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
25233
25234         * modules/utimens (Files): Add m4/utimbuf.m4, since
25235         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
25236         Reported by Sergey Poznyakoff.
25237
25238 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
25239
25240         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
25241         definitions, since that's the preferred style in glibc.
25242         Fix a minor spacing issue, and update copyright notice to match
25243         glibc's.
25244
25245 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
25246
25247         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
25248
25249 2005-09-06  Simon Josefsson  <jas@extundo.com>
25250
25251         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
25252         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
25253
25254 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
25255
25256         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
25257         warning.
25258
25259 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
25260
25261         * config/srclist.txt: Add glibc bug 1302.
25262
25263 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
25264
25265         Change bitset word type from unsigned int to unsigned long int,
25266         as this has better performance on typical 64-bit hosts.
25267         Port bitset code to hosts with unusual word sizes.
25268         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
25269         (build_collating_symbol):
25270         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
25271         argument is a bitset.  This is merely a style issue, but it makes
25272         it clearer that an entire array is expected.
25273         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
25274         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
25275         Port to the case where bitset_word is not the same as unsigned int.
25276         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
25277         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
25278         Likewise.
25279         * lib/regexec.c (check_dst_limits_calc_pos_1,
25280         check_subexp_matching_top):
25281         (build_trtable, group_nodes_into_DFAstates):
25282         Likewise.
25283         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
25284         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
25285         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
25286         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
25287         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
25288         * lib/regcomp.c (optimize_subexps, lower_subexp):
25289         Work even if bitset_word has holes in its bitwise representation.
25290         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
25291         * lib/regexec.c (check_dst_limits_calc_pos_1,
25292         check_subexp_matching_top):
25293         Likewise.
25294         * lib/regex_internal.c (re_string_reconstruct):
25295         Don't assume UCHAR_MAX == 255.
25296         * lib/regex_internal.h (bitset_set_all): Likewise.
25297         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
25298         All uses changed.
25299         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
25300         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
25301         All uses changed.
25302         (BITSET_WORD_MAX): New macro.
25303         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
25304         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
25305         (bitset_empty, bitset_copy):
25306         Prefer sizeof (bitset) to multiplying it out ourselves.
25307         (bitset_not_merge): Remove; unused.
25308         (bitset_contain): Return bool, not unsigned int with one bit on.
25309         All callers changed.
25310         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
25311         alignment than re_node_set; do this by defining a new internal
25312         type struct dests_alloc and using it to allocate memory.
25313
25314 2005-09-05  Bruno Haible  <bruno@clisp.org>
25315
25316         * gnulib-tool (func_import): Fix comparison in handling of symbolic
25317         links.
25318
25319 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
25320
25321         * modules/size_max (Makefile.am): Add size_max.h
25322
25323 2005-09-04  Derek Price  <derek@ximbiot.com>
25324
25325         * gnulib-tool (func_import): Fix reversed $symbolic logic.
25326
25327 2005-09-03  Simon Josefsson  <jas@extundo.com>
25328
25329         * gnulib-tool: Fix typo.
25330
25331 2005-09-03  Simon Josefsson  <jas@extundo.com>
25332
25333         * config/srclist.txt: Add glibc bug 1293.
25334
25335 2005-09-03  Derek Price  <derek@ximbiot.com>
25336
25337         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
25338         From Larry Jones <lawrence.jones@ugs.com>.
25339
25340 2005-09-02  Simon Josefsson  <jas@extundo.com>
25341
25342         * modules/socklen: New file.
25343
25344 2005-09-02  Simon Josefsson  <jas@extundo.com>
25345
25346         * modules/havelib: New module.
25347
25348         * modules/gettext, modules/iconv, modules/lock, modules/readline:
25349         Use havelib.
25350
25351 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
25352
25353         Check for arithmetic overflow when calculating sizes, to prevent
25354         some buffer-overflow issues.  These patches are conservative, in the
25355         sense that when I couldn't determine whether an overflow was possible,
25356         I inserted a run-time check.
25357         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
25358         macros.
25359         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
25360         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
25361         (re_xnrealloc, re_x2nrealloc): New inline functions.
25362         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
25363         parse_bracket_exp):
25364         (build_equiv_class, build_charclass): Check for arithmetic overflow
25365         in size expression calculations.
25366         * lib/regex_internal.c (re_string_realloc_buffers):
25367         (build_wcs_upper_buffer, re_node_set_add_intersect):
25368         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
25369         (re_dfa_add_node, register_state): Likewise.
25370         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
25371         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
25372         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
25373         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
25374
25375 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
25376
25377         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
25378         m4/ulonglong.m4.  Problem reported by Martin Lambers.
25379
25380 2005-09-02  Bruno Haible  <bruno@clisp.org>
25381
25382         Support for lib vs. lib64 distinction on biarch platforms.
25383         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
25384         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
25385         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
25386
25387 2005-09-02  Bruno Haible  <bruno@clisp.org>
25388
25389         * gnulib-tool (import): In the other first-use case, provide defaults
25390         as well.
25391
25392 2005-09-02  Bruno Haible  <bruno@clisp.org>
25393
25394         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
25395         patches not yet found in the latest gettext release.
25396
25397 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
25398
25399         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
25400         to avoid a collision with bits/local_lim.h in glibc.
25401         All uses changed.  Problem reported by Dmitry V. Levin in
25402         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
25403
25404         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
25405         bugs in int versus size_t comparisons.
25406         (re_string_context_at): Fix bug where the code assumed that
25407         Idx is signed.
25408
25409         Use bool where appropriate.
25410         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
25411         All callers changed.
25412         (calc_eclosure_iter): Likewise, for ROOT arg.
25413         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
25414         (build_charclass_op): Likewise, for NON_MATCH arg.
25415         * lib/regex_internal.c (re_string_allocate, re_string_construct):
25416         (re_string_construct_common): Likewise, for ICASE arg.
25417         * lib/regexec.c (re_search_2_stub, re_search_stub):
25418         Likewise, for RET_LEN arg.
25419         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
25420         (set_regs): Likewise, for FL_BACKTRACK arg.
25421         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
25422         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
25423         (calc_eclosure_iter, parse_bracket_exp):
25424         Use bool for internal variables that are booleans.
25425         * lib/regexec.c (re_search_internal, check_matching,
25426         proceed_next_node):
25427         (set_regs, build_sifted_states, sift_states_bkref):
25428         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
25429         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
25430         (find_collation_sequence_value):
25431         Likewise.
25432         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
25433         (re_node_set_compare):
25434         Return bool, not int. All callers changed.
25435         * lib/regexec.c (check_halt_node_context, check_dst_limits):
25436         (build_trtable, check_node_accept): Likewise.
25437         * lib/regex_internal.h: Include stdbool.h.
25438
25439         Fix bugs uncovered when converting to bool.
25440         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
25441         failure instead of charging ahead blindly.
25442         * lib/regex_internal.c (register_state): Likewise.
25443         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
25444         for freeing internal storage.
25445         (group_nodes_into_DFA_states): Use unsigned int, not int, for
25446         bitset pieces used as boolean, to avoid undefined behavior
25447         on hosts that do int overflow checking.
25448
25449 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
25450
25451         * config/srclist.txt: Add glibc bugs 1285-1287.
25452
25453 2005-09-01  Jim Meyering  <jim@meyering.net>
25454
25455         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
25456         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
25457         Require gl_STAT_MACROS, too.
25458
25459 2005-09-01  Bruno Haible  <bruno@clisp.org>
25460
25461         * gnulib-tool (import): In the first-use case, provide defaults.
25462
25463 2005-09-01  Bruno Haible  <bruno@clisp.org>
25464
25465         * gnulib-tool (func_import): Remove the .tmp files.
25466
25467 2005-09-01  Bruno Haible  <bruno@clisp.org>
25468
25469         * gnulib-tool (func_import): Fix handling of symbolic links.
25470
25471 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
25472
25473         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
25474         old glibc regex code mishandles strings longer than 2**31 bytes.
25475         This patch fixes this when the regex code is used in gnulib
25476         (i.e., outside glibc).
25477
25478         This patch should not affect the use of the regex code inside
25479         glibc.  No doubt this problem also needs to be handled for glibc
25480         as well, but the result will be an incompatible change to the
25481         glibc ABI, and the old ABI will have to be supported too.  That
25482         can be the the subject for another patch.
25483
25484         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
25485         governing whether the rest of this patch is active.  By default,
25486         the macro is disabled and the patch has no effect.
25487         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
25488         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
25489         (struct re_pattern_buffer, re_search, re_search_2, re_match):
25490         (re_match_2, re_set_registers): Use the new types.
25491         * lib/regex_internal.h (Idx, re_hashval_t): New types.
25492         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
25493         New macros.
25494         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
25495         (re_string_context_at, bin_tree_t, re_dfastate_t):
25496         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
25497         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
25498         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
25499         (re_string_char_size_at, re_string_wchar_at):
25500         (re_string_elem_size_at):
25501         Use the new types and macros to port to 64-bit hosts.
25502         Use unsigned types for internal values, so that the code
25503         mostly works even for arrays larger than SSIZE_MAX.
25504         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
25505         (search_duplicated_node, calc_eclosure_iter, fetch_number):
25506         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
25507         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
25508         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
25509         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
25510         (calc_inveclosure, parse_dup_op, build_range_exp):
25511         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
25512         (fetch_number, create_token_tree, mark_opt_subexp):
25513         Likewise.
25514         * lib/regex_internal.c (re_string_construct_common,
25515         create_ci_newstate):
25516         (create_cd_newstate, re_string_allocate, re_string_construct):
25517         (re_string_realloc_buffers, build_wcs_upper_buffer):
25518         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
25519         (re_string_reconstruct, re_string_peek_byte_case):
25520         (re_string_fetch_byte_case, re_string_context_at):
25521         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
25522         (re_node_set_init_copy, re_node_set_add_intersect):
25523         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
25524         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
25525         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
25526         (re_acquire_state, re_acquire_state_context, register_state):
25527         Likewise.
25528         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
25529         search_cur_bkref_entry):
25530         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
25531         (re_search_internal, re_search_2_stub, re_search_stub)
25532         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
25533         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
25534         (update_cur_sifted_state, check_dst_limits):
25535         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
25536         (check_subexp_limits, sift_states_bkref, merge_state_array):
25537         (check_subexp_matching_top, get_subexp, get_subexp_sub):
25538         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
25539         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
25540         (expand_bkref_cache, check_node_accept_bytes):
25541         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
25542         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
25543         (acquire_init_state_context, check_halt_node_context):
25544         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
25545         (sift_states_backward, clean_state_log_if_needed):
25546         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
25547         (find_recover_state, transit_state_sb, transit_state_mb):
25548         (transit_state_bkref, build_trtable, match_ctx_clean):
25549         Likewise.
25550         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
25551         to work around an assumption that REG_MISSING is negative.
25552
25553         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
25554         (seek_collating_symbol_entry) [defined _LIBC]:
25555         (lookup_collation_sequence_value) [defined _LIBC]:
25556         (build_range_exp, build_collating_symbol) [defined _LIBC]:
25557         Use prototypes rather than old-style function definitions.
25558         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
25559         (transit_state_sb) [0]:
25560         (find_collation_sequence_value) [defined _LIBC]: Likewise.
25561
25562         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
25563         rm_eo.
25564
25565         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
25566         (optimize_subexps, lower_subexp):
25567         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
25568         since the signed shift might overflow.  Use 1u<<31 instead.
25569         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
25570         Likewise.
25571         * lib/regexec.c (check_dst_limits_calc_pos_1,
25572         check_subexp_matching_top): Likewise.
25573
25574         * lib/regcomp.c (optimize_subexps, lower_subexp):
25575         Use CHAR_BIT rather than 8, for clarity.
25576         * lib/regexec.c (check_dst_limits_calc_pos_1):
25577         (check_subexp_matching_top): Likewise.
25578         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
25579         have to worry about portability issues when shifting it left.
25580         Remove no-longer-needed test for table_size > 0.
25581         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
25582         in a word, as the resulting behavior is undefined.
25583         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
25584         in one case, a <= should have been an <, and in another case the
25585         whole test was missing.
25586         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
25587         the standard name CHAR_BIT.
25588         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
25589         this is not true on one's complement and signed-magnitude hosts.
25590
25591         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
25592         next_last_offset.
25593         (struct re_dfa_t): Remove unused member states_alloc.
25594         * lib/regcomp.c (init_dfa): Don't initialize unused members.
25595
25596 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
25597
25598         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
25599         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
25600         and large-file glibc and in 32-bit large-file Solaris.
25601
25602 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
25603
25604         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
25605         lengths fit in regoff_t; this isn't true if regoff_t is the same
25606         width as size_t.
25607         * lib/regex.c (re_search_internal): 5th arg is LAST_START
25608         (= START + RANGE) instead of RANGE.  This avoids overflow
25609         problems when regoff_t is the same width as size_t.
25610         All callers changed.
25611         (re_search_2_stub): Check for overflow when adding the
25612         sizes of the two strings.
25613         (re_search_stub): Check for overflow when adding START
25614         to RANGE; if it occurs, substitute the extreme value.
25615
25616 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
25617
25618         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
25619
25620 2005-08-31  Jim Meyering  <jim@meyering.net>
25621
25622         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
25623         a pointer-to-const.
25624         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
25625         (register_state): Likewise.
25626         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
25627         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
25628         (group_nodes_into_DFAstates): Likewise.
25629
25630 2005-08-31  Jim Meyering  <jim@meyering.net>
25631
25632         * check-module: Add a FIXME comment.
25633
25634 2005-08-31  Eric Blake  <ebb9@byu.net>
25635
25636         * modules/unistd-safer (Files): Add unistd--.h.
25637         * modules/stdio-safer (Files): Add stdio--.h.
25638
25639 2005-08-31  Derek Price  <derek@ximbiot.com>
25640
25641         * lib/getdelim.c (getdelim): Return EOF on EOF.
25642         Reported by Larry Jones <lawrence.jones@ugs.com>.
25643
25644 2005-08-31  Bruno Haible  <bruno@clisp.org>
25645
25646         Avoid unnecessary diffs in the generated lib/Makefile.am.
25647         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
25648         the generated files.
25649         (func_import): Don't set cmd.
25650
25651 2005-08-31  Bruno Haible  <bruno@clisp.org>
25652
25653         * lib/strstr.c: Include <stddef.h>, for NULL.
25654         * lib/strcasestr.c: Likewise.
25655         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25656
25657 2005-08-31  Bruno Haible  <bruno@clisp.org>
25658
25659         * gnulib-tool: New option --macro-prefix.
25660         (func_import): Use macro_prefix.
25661         (import): Handle option --macro-prefix.
25662
25663 2005-08-31  Bruno Haible  <bruno@clisp.org>
25664
25665         * gnulib-tool (import): Rename most ac_* variables to cached_*.
25666         Also use new variables cached_lgpl, cached_libtool.
25667
25668 2005-08-31  Bruno Haible  <bruno@clisp.org>
25669
25670         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
25671         always instantiating them.
25672
25673 2005-08-31  Bruno Haible  <bruno@clisp.org>
25674
25675         * gnulib-tool (func_import): Read the previous cached settings
25676         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
25677         earlier added by gnulib but are now dropped. Warn when a gnulib file
25678         overwrites a non-gnulib file.
25679
25680 2005-08-31  Bruno Haible  <bruno@clisp.org>
25681
25682         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
25683         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
25684         projects that don't keep autogenerated files in CVS. Put into
25685         actioncmd only the specified modules, not the transitive closure.
25686
25687 2005-08-31  Bruno Haible  <bruno@clisp.org>
25688
25689         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
25690         Create directories that shall be filled.
25691         (import): Don't look for gl_* macros in configure.ac. Recurse across
25692         all directories containing a gnulib-cache.m4 files, if meaningful.
25693
25694 2005-08-31  Bruno Haible  <bruno@clisp.org>
25695
25696         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
25697         (import): Set seen_libtool when we see gl_LIBTOOL.
25698
25699 2005-08-31  Bruno Haible  <bruno@clisp.org>
25700
25701         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
25702         declaration macro definitions from generated gnulib.m4.
25703
25704 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
25705
25706         * lib/iconvme.h: Add prototype for iconv_alloc.
25707
25708 2005-08-29  Simon Josefsson  <jas@extundo.com>
25709
25710         * lib/iconvme.c: Fix errno.
25711
25712 2005-08-29  Bruno Haible  <bruno@clisp.org>
25713
25714         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
25715         that it works when the directory contains spaces.
25716
25717 2005-08-29  Bruno Haible  <bruno@clisp.org>
25718
25719         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
25720
25721 2005-08-29  Bruno Haible  <bruno@clisp.org>
25722
25723         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
25724         Emit more advice.
25725
25726 2005-08-29  Bruno Haible  <bruno@clisp.org>
25727         and Stepan Kasal  <kasal@ucw.cz>
25728
25729         * check-module: If more parameters are given, check each of them
25730         separately; add more exceptions, as noted by Jim Meyering.
25731         (check_module): New procedure.
25732         (%exempt_header): Now contains all exceptions.
25733
25734 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
25735
25736         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
25737
25738 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
25739
25740         * lib/iconvme.c: Split iconv_string into iconv_alloc.
25741
25742 2005-08-28  Bruno Haible  <bruno@clisp.org>
25743
25744         * m4/gnulib-tool.m4: New file.
25745
25746 2005-08-27  Jim Meyering  <jim@meyering.net>
25747
25748         * modules/unistd-safer (Files): Add pipe-safer.c.
25749         * modules/fcntl-safer (Files): Add creat-safer.c.
25750
25751 2005-08-27  Jim Meyering  <jim@meyering.net>
25752
25753         * m4/stdlib-safer.m4: New file.  From coreutils.
25754         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
25755         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
25756         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
25757         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
25758         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
25759
25760 2005-08-27  Jim Meyering  <jim@meyering.net>
25761
25762         * lib/fopen-safer.c: Merge minor changes from coreutils.
25763         * lib/dup-safer.c: Likewise.
25764         * lib/fd-safer.c: Likewise.
25765
25766         Merge from coreutils.
25767         * lib/stdio--.h: New file.
25768         * lib/stdlib--.h: New file.
25769         * lib/mkstemp-safer.c: New file.
25770
25771         GNU tar needs these.
25772         * lib/pipe-safer.c: New file.
25773         * lib/creat-safer.c: New file.
25774         * lib/fcntl--.h (creat): Define to creat_safer.
25775         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
25776         * lib/unistd--.h (pipe): Define to pipe_safer.
25777         * lib/unistd-safer.h: Declare pipe_safer.
25778
25779 2005-08-26  Simon Josefsson  <jas@extundo.com>
25780
25781         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
25782         Haible <bruno@clisp.org>.
25783
25784 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
25785
25786         * lib/regex_internal.h: Remove all references to
25787         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
25788         or better.
25789         (bitset_not, bitset_merge, bitset_not_merge):
25790         (bitset_mask, re_string_allocate, re_string_construct):
25791         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
25792         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
25793         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
25794         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
25795         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
25796         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
25797         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
25798         (re_acquire_state_context):
25799         Remove unnecessary forward decls.
25800         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
25801         Put __attribute at function definition,
25802         now that the function decl has been removed.
25803         * lib/regex_internal.c (re_string_peek_byte_case):
25804         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
25805         Likewise.
25806
25807 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
25808
25809         * m4/regex.m4: Add AC_PREREQ(2.50).
25810         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
25811
25812 2005-08-25  Simon Josefsson  <jas@extundo.com>
25813
25814         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
25815         __fsetlocking.
25816
25817 2005-08-25  Simon Josefsson  <jas@extundo.com>
25818
25819         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
25820         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
25821         GLIBC specific code.
25822
25823 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
25824
25825         Make regex safe for g++.  This fixes one real bug (an "err"
25826         that should have been "*err").  g++ problem reported by
25827         Sam Steingold.
25828         * lib/regex_internal.h (re_calloc): New macro, consistent with
25829         re_malloc etc.  All callers of calloc changed to use re_calloc.
25830         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
25831         not int.  All callers changed.
25832         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
25833         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
25834         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
25835         (find_recover_state): Change "err" to "*err"; this fixes what
25836         appears to be a real bug.
25837         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
25838         versus int.
25839
25840 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
25841
25842         * modules/regex (Depends-on): Add malloc, since the code
25843         assumes that !malloc(0) means failure.
25844
25845 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
25846
25847         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
25848
25849         alloca modernization/simplification for regex.
25850         * lib/regex.c: Remove portability cruft for alloca.  This no longer
25851         needs to be at the start of the file, and can be moved into
25852         regex_internal.h and simplified.
25853         * lib/regex_internal.h: Include <alloca.h>.
25854         (__libc_use_alloca) [!defined _LIBC]: New macro.
25855         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
25856         now works outside glibc.
25857
25858 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
25859
25860         * config/srclist.txt: Add glibc bugs 1241, 1245.
25861
25862 2005-08-25  Jim Meyering  <jim@meyering.net>
25863
25864         * lib/open-safer.c: Include <config.h>.
25865         Otherwise, we'd lose LARGEFILE support in any file using
25866         e.g. "fcntl--.h"
25867
25868 2005-08-25  Bruno Haible  <bruno@clisp.org>
25869
25870         * m4/minmax.m4: Require autoconf 2.52.
25871         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
25872         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
25873         alternatives of translit over the alphabet.
25874         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
25875
25876 2005-08-24  Simon Josefsson  <jas@extundo.com>
25877
25878         * tests/test-getpass.c: New file.
25879
25880 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25881
25882         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
25883         for GNU regex features.
25884
25885 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25886
25887         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
25888         * lib/regex.h (regerror): Likewise.
25889
25890         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
25891         requires this.  (The code never needed it.)
25892
25893         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
25894         All uses of recently-renamed identifiers changed to use the new,
25895         POSIX-compliant names.  The code will build and run just fine
25896         without these changes, but it's better to eat our own dog food
25897         and use the standard-conforming names.
25898
25899         * lib/regex.h: Fix a multitude of POSIX name space violations.
25900         These changes have an effect only for programs that define
25901         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
25902         do not change anything for programs compiled in the normal way.
25903         Also, there is no effect on the ABI.
25904
25905         (_REGEX_SOURCE): New macro.
25906         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
25907         defined and _GNU_SOURCE is not; this fixes a name space violation.
25908
25909         Rename the following macros to obey POSIX requirements.
25910         The old names are still visible as macros if _REGEX_SOURCE is defined.
25911         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
25912         RE_BACKSLASH_ESCAPE_IN_LISTS.
25913         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
25914         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
25915         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
25916         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
25917         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
25918         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
25919         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
25920         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
25921         (REG_INTERVALS): renamed from RE_INTERVALS.
25922         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
25923         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
25924         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
25925         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
25926         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
25927         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
25928         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
25929         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
25930         RE_UNMATCHED_RIGHT_PAREN_ORD.
25931         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
25932         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
25933         (REG_DEBUG): renamed from RE_DEBUG.
25934         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
25935         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
25936         unusual, since we can't clash with the POSIX REG_ICASE.
25937         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
25938         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
25939         (REG_NO_SUB): renamed from RE_NO_SUB.
25940         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
25941         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
25942         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
25943         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
25944         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
25945         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
25946         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
25947         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
25948         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
25949         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
25950         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
25951         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
25952         RE_SYNTAX_POSIX_MINIMAL_BASIC.
25953         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
25954         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
25955         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
25956         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
25957         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
25958         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
25959         (REG_FIXED): Renamed from REGS_FIXED.
25960         (REG_NREGS): Renamed from RE_NREGS.
25961
25962         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
25963         of other REG_* macros, since POSIX says the user is allowed to
25964         #undef these macros selectively.
25965
25966         (reg_errcode_t): Update comment stating what other tables need
25967         to be consistent.
25968
25969         Rename the following enum values to obey POSIX requirements.
25970         The old names are still visible as macros.
25971         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
25972         is not defined, since GNU is supposed to be a superset of POSIX as
25973         much as possible, and since we want reg_errcode_t to be a signed
25974         type for implementation consistency.
25975         (_REG_NOERROR): Renamed from REG_NOERROR.
25976         (_REG_NOMATCH): Renamed from REG_NOMATCH.
25977         (_REG_BADPAT): Renamed from REG_BADPAT.
25978         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
25979         (_REG_ECTYPE): Renamed from REG_ECTYPE.
25980         (_REG_EESCAPE): Renamed from REG_EESCAPE.
25981         (_REG_ESUBREG): Renamed from REG_ESUBREG.
25982         (_REG_EBRACK): Renamed from REG_EBRACK.
25983         (_REG_EPAREN): Renamed from REG_EPAREN.
25984         (_REG_EBRACE): Renamed from REG_EBRACE.
25985         (_REG_BADBR): Renamed from REG_BADBR.
25986         (_REG_ERANGE): Renamed from REG_ERANGE.
25987         (_REG_ESPACE): Renamed from REG_ESPACE.
25988         (_REG_BADRPT): Renamed from REG_BADRPT.
25989         (_REG_EEND): Renamed from REG_EEND.
25990         (_REG_ESIZE): Renamed from REG_ESIZE.
25991         (_REG_ERPAREN): Renamed from REG_ERPAREN.
25992         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
25993         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
25994         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
25995         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
25996
25997         (_REG_RE_NAME, _REG_RM_NAME): New macros.
25998         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
25999         changed.  But support the old name if the new one is not defined
26000         and if _REGEX_SOURCE.
26001
26002         Change the following member names in struct re_pattern_buffer.
26003         The old names are still supported if !_REGEX_SOURCE.
26004         The new names are always supported, regardless of _REGEX_SOURCE.
26005         (re_buffer): Renamed from buffer.
26006         (re_allocated): Renamed from allocated.
26007         (re_used): Renamed from used.
26008         (re_syntax): Renamed from syntax.
26009         (re_fastmap): Renamed from fastmap.
26010         (re_translate): Renamed from translate.
26011         (re_can_be_null): Renamed from can_be_null.
26012         (re_regs_allocated): Renamed from regs_allocated.
26013         (re_fastmap_accurate): Renamed from fastmap_accurate.
26014         (re_no_sub): Renamed from no_sub.
26015         (re_not_bol): Renamed from not_bol.
26016         (re_not_eol): Renamed from not_eol.
26017         (re_newline_anchor): Renamed from newline_anchor.
26018
26019         Change the following member names in struct re_registers.
26020         The old names are still supported if !_REGEX_SOURCE.
26021         The new names are always supported, regardless of _REGEX_SOURCE.
26022         (rm_num_regs): Renamed from num_regs.
26023         (rm_start): Renamed from start.
26024         (rm_end): Renamed from end.
26025
26026         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
26027         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
26028         Prepend __ to parameter names.
26029
26030         Undo yesterday's changes.
26031
26032 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26033
26034         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
26035         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
26036         lib/regex.c.
26037
26038 2005-08-24  Jim Meyering  <jim@meyering.net>
26039
26040         Sync from coreutils.
26041         * m4/fcntl-safer.m4: New file.
26042
26043         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
26044         and object files for this module.
26045
26046 2005-08-24  Jim Meyering  <jim@meyering.net>
26047
26048         Sync from coreutils.
26049         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
26050
26051 2005-08-24  Jim Meyering  <jim@meyering.net>
26052
26053         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
26054         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
26055
26056 2005-08-24  Jim Meyering  <jim@meyering.net>
26057
26058         * modules/fcntl-safer: New module.
26059         * modules/fts (Depends-on): Add fcntl-safer.
26060         * MODULES.html.sh (File descriptor based Input/Output):
26061         Add fcntl-safer.
26062
26063 2005-08-24  Bruno Haible  <bruno@clisp.org>
26064
26065         Support for unit test modules.
26066         * modules/README: Mention tests modules.
26067         * modules/TEMPLATE-TESTS: New file.
26068         * gnulib-tool: New options --extract-tests-module, --with-tests and
26069         --tests-base (unused for the moment).
26070         (testsbase, inctests): New variables.
26071         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
26072         (func_verify_module): Exclude TEMPLATE-TESTS.
26073         (func_verify_nontests_module, func_verify_tests_module): New functions.
26074         (func_get_dependencies): Add implicit dependency for tests modules.
26075         (func_get_tests_module): New function.
26076         (func_modules_transitive_closure): When --with-tests was specified,
26077         include the unit tests as well, unless explicitly avoided.
26078         (func_emit_lib_Makefile_am): Ignore the tests modules here.
26079         (func_emit_tests_Makefile_am): New function.
26080         (func_create_testdir): When --with-tests was specified, emit a
26081         tests/ directory.
26082         * MODULES.html.sh (Future developments): Update.
26083
26084 2005-08-24  Bruno Haible  <bruno@clisp.org>
26085
26086         * modules/tls-tests: New file.
26087         * tests/test-tls.c: New file, from GNU gettext.
26088
26089 2005-08-24  Bruno Haible  <bruno@clisp.org>
26090
26091         * modules/lock-tests: New file.
26092         * tests/test-lock.c: New file, from GNU gettext.
26093
26094 2005-08-24  Bruno Haible  <bruno@clisp.org>
26095
26096         * lib/lock.h: Add multiple inclusion guard.
26097         * lib/tls.h: Add multiple inclusion guard.
26098
26099 2005-08-24  Bruno Haible  <bruno@clisp.org>
26100
26101         * gnulib-tool: Add support for the --aux-dir option to
26102         --create-testdir, --create-megatestdir, --test, --megatest.
26103         (func_create_testdir, func_create_megatestdir): Optionally emit a
26104         AC_CONFIG_AUX_DIR directive.
26105         (create-testdir, create-megatestdir, test, megatest): Provide a
26106         default value for $auxdir.
26107
26108 2005-08-24  Bruno Haible  <bruno@clisp.org>
26109
26110         * gnulib-tool (import): Use compound statement instead of subshell
26111         where possible.
26112
26113 2005-08-24  Bruno Haible  <bruno@clisp.org>
26114
26115         * gnulib-tool (import): Change --aux-dir default to "build-aux".
26116
26117 2005-08-24  Bruno Haible  <bruno@clisp.org>
26118
26119         * gnulib-tool (func_version): Update.
26120
26121 2005-08-24  Bruno Haible  <bruno@clisp.org>
26122
26123         * gnulib-tool (func_import, func_create_testdir,
26124         func_create_megatestdir): Quote all autoconf macro arguments.
26125
26126 2005-08-24  Bruno Haible  <bruno@clisp.org>
26127
26128         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
26129         option --force, because --force causes the aclocal.m4 of each
26130         subdirectory to be newer than the corresponding config.h.in.
26131
26132 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26133
26134         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
26135         All contents moved to gl_REGEX.
26136         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
26137         assume that it does.
26138
26139 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26140
26141         * lib/regex.h (REG_NOSYS)
26142         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
26143         Define, since POSIX requires it as of 2001.
26144         (_REG_ENOSYS)
26145         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
26146         New private symbol, used to keep the enum signed in all cases.
26147         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
26148         Youngman in
26149         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
26150
26151         * lib/regex_internal.c (re_string_skip_chars, register_state):
26152         (calc_state_hash):
26153         Remove forward decls; no longer needed now that we use prototypes.
26154         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
26155         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
26156         (clean_state_log_if_needed): Likewise.
26157
26158 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26159
26160         * config/srclist.txt: Add glibc bugs 1231-1233.
26161
26162 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
26163
26164         Fix problems reported by Sam Steingold in
26165         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
26166         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
26167         assumed that reg_errcode_t is a signed type, which is not
26168         necessarily true if _XOPEN_SOURCE is not defined.
26169         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
26170         since some compilers warn about it otherwise.
26171
26172 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
26173
26174         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
26175         (init_word_char, create_initial_state, duplicate_node_closure):
26176         (fetch_token, peek_token_bracket, build_range_exp):
26177         (build_collating_symbol): Remove forward decls; no longer needed
26178         now that we use prototypes.
26179
26180         * lib/regcomp.c:
26181         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
26182         (re_compile_fastmap_iter, regcomp, regerror, regfree):
26183         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
26184         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
26185         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
26186         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
26187         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
26188         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
26189         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
26190         (build_range_exp, build_collating_symbol, parse_bracket_exp):
26191         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
26192         (build_charclass, build_charclass_op, fetch_number, create_tree):
26193         (create_token_tree, mark_opt_subexp, duplicate_tree):
26194         Use prototypes rather than old-style definitions.
26195
26196         * lib/regex_internal.c:
26197         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
26198         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
26199         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
26200         (re_string_reconstruct, re_string_peek_byte_case):
26201         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
26202         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
26203         (re_node_set_init_copy, re_node_set_add_intersect):
26204         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
26205         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
26206         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
26207         (re_acquire_state, re_acquire_state_context, register_state):
26208         (create_ci_newstate, create_cd_newstate, free_state):
26209         Likewise.
26210         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
26211         re_search_2):
26212         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
26213         (re_search_internal, prune_impossible_nodes):
26214         (acquire_init_state_context, check_matching, static):
26215         (check_halt_node_context, check_halt_state_context, proceed_next_node):
26216         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
26217         (update_regs, sift_states_backward, build_sifted_states):
26218         (clean_state_log_if_needed, merge_state_array):
26219         (update_cur_sifted_state, add_epsilon_src_nodes):
26220         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
26221         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
26222         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
26223         (find_recover_state, check_subexp_matching_top, transit_state_mb):
26224         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
26225         (check_arrival, check_arrival_add_next_nodes):
26226         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
26227         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
26228         (check_node_accept_bytes, check_node_accept, extend_buffers):
26229         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
26230         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
26231         (sift_ctx_init):
26232         Likewise.
26233
26234         * lib/regex_internal.h:
26235         (re_string_allocate, re_string_construct, re_string_reconstruct):
26236         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
26237         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
26238         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
26239         (re_string_context_at, re_string_peek_byte_case):
26240         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
26241         is defined, since we now use prototypes always.
26242
26243         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
26244         C89 or better.  All uses removed.
26245
26246 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
26247
26248         * config/srclist.txt: Add glibc bugs 1220-1227.
26249
26250 2005-08-20  Jim Meyering  <jim@meyering.net>
26251
26252         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
26253         of unused local, dfa.
26254
26255 2005-08-20  Bruno Haible  <bruno@clisp.org>
26256
26257         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
26258
26259 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26260
26261         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
26262         (re_node_set_insert_last, re_dfa_add_node):
26263         Rename local variables to avoid GCC shadowing warnings.
26264
26265 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26266
26267         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
26268         [defined lint]: Suppress bogus uninitialized-variable warnings.
26269
26270         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
26271         and let the caller return REG_ESPACE if out of space.  This
26272         removes an uninitialied-variable warning with GCC 4.0.1, and also
26273         avoids taking the address of a local variable.  All callers
26274         changed.
26275
26276 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26277
26278         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
26279         $LIBCSRC/posix/regexec.c.
26280         Add glibc bug 1217 for regcomp.c.
26281
26282 2005-08-19  Jim Meyering  <jim@meyering.net>
26283
26284         * lib/regexec.c (proceed_next_node): Redo local variables to
26285         avoid GCC shadowing warnings.
26286
26287 2005-08-18  Bruno Haible  <bruno@clisp.org>
26288
26289         * lib/strstr.c (strstr): Fix return value in multibyte case.
26290         * lib/strcasestr.c (strcasestr): Likewise.
26291
26292 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26293
26294         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
26295
26296 2005-08-17  Jim Meyering  <jim@meyering.net>
26297
26298         Make the %s format (seconds since the epoch) work for a negative
26299         number and when used with a zero-padded field width, e.g. %015s.
26300
26301         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
26302         label so that it precedes the code to set `digits'.  Otherwise,
26303         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
26304         print `00-22'.  Now, it prints `-0022', as it should.
26305
26306 2005-08-17  Bruno Haible  <bruno@clisp.org>
26307
26308         * modules/strstr (Files): Add m4/mbrtowc.m4.
26309         (Depends-on): Add mbuiter.
26310
26311 2005-08-17  Bruno Haible  <bruno@clisp.org>
26312
26313         * modules/strcasestr: New file.
26314         * MODULES.html.sh (String handling, based on ANSI C 89): Add
26315         strcasestr.
26316
26317 2005-08-17  Bruno Haible  <bruno@clisp.org>
26318
26319         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
26320
26321 2005-08-17  Bruno Haible  <bruno@clisp.org>
26322
26323         * modules/mbuiter: New file.
26324         * MODULES.html.sh (Extended multibyte and wide character utilities):
26325         Add mbuiter.
26326
26327 2005-08-17  Bruno Haible  <bruno@clisp.org>
26328
26329         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
26330         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
26331
26332 2005-08-17  Bruno Haible  <bruno@clisp.org>
26333
26334         * m4/strcasestr.m4: New file.
26335
26336 2005-08-17  Bruno Haible  <bruno@clisp.org>
26337
26338         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
26339         * lib/strstr.c: Completely rewritten, with multibyte locale support.
26340
26341 2005-08-17  Bruno Haible  <bruno@clisp.org>
26342
26343         * lib/strcasestr.h: New file.
26344         * lib/strcasestr.c: New file.
26345
26346 2005-08-17  Bruno Haible  <bruno@clisp.org>
26347
26348         * lib/strcasecmp.c: Use mbuiter.h.
26349
26350 2005-08-17  Bruno Haible  <bruno@clisp.org>
26351
26352         * lib/mbuiter.h: New file.
26353
26354 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
26355
26356         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
26357         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
26358         and gl_GETOPT are both invoked via different paths (as happens
26359         with GNU tar CVS because it uses both argp and getopt), the former
26360         wins.
26361
26362 2005-08-16  Bruno Haible  <bruno@clisp.org>
26363
26364         * modules/tls: New file.
26365         * MODULES.html.sh (Multithreading): Add tls.
26366
26367 2005-08-16  Bruno Haible  <bruno@clisp.org>
26368
26369         * modules/strnlen1: New file.
26370         * MODULES.html.sh (String handling): Add strnlen1.
26371
26372 2005-08-16  Bruno Haible  <bruno@clisp.org>
26373
26374         * modules/strcase (Files): Add m4/mbrtowc.m4.
26375         (Depends-on): Add strnlen1, mbchar.
26376
26377 2005-08-16  Bruno Haible  <bruno@clisp.org>
26378
26379         * modules/mbiter: New file.
26380         * MODULES.html.sh (Extended multibyte and wide character utilities):
26381         Add mbiter.
26382
26383 2005-08-16  Bruno Haible  <bruno@clisp.org>
26384
26385         * modules/mbfile: New file.
26386         * MODULES.html.sh (Extended multibyte and wide character utilities):
26387         Add mbfile.
26388
26389 2005-08-16  Bruno Haible  <bruno@clisp.org>
26390
26391         * modules/mbchar: New file.
26392         * MODULES.html.sh (Extended multibyte and wide character utilities):
26393         New section.
26394
26395 2005-08-16  Bruno Haible  <bruno@clisp.org>
26396
26397         * m4/tls.m4: New file, from GNU gettext.
26398
26399 2005-08-16  Bruno Haible  <bruno@clisp.org>
26400
26401         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
26402         always.
26403         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
26404
26405 2005-08-16  Bruno Haible  <bruno@clisp.org>
26406
26407         * m4/mbiter.m4: New file.
26408
26409 2005-08-16  Bruno Haible  <bruno@clisp.org>
26410
26411         * m4/mbfile.m4: New file.
26412
26413 2005-08-16  Bruno Haible  <bruno@clisp.org>
26414
26415         * m4/mbchar.m4: New file.
26416
26417 2005-08-16  Bruno Haible  <bruno@clisp.org>
26418
26419         * lib/tls.h: New file, from GNU gettext.
26420         * lib/tls.c: New file, from GNU gettext.
26421
26422 2005-08-16  Bruno Haible  <bruno@clisp.org>
26423
26424         * lib/strnlen1.h: New file.
26425         * lib/strnlen1.c: New file.
26426
26427 2005-08-16  Bruno Haible  <bruno@clisp.org>
26428
26429         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
26430         (mbi_init): Update.
26431         (mbi_avail, mbi_advance): Let the iteration end before the terminating
26432         NUL byte, not after it.
26433
26434 2005-08-16  Bruno Haible  <bruno@clisp.org>
26435
26436         * lib/strcase.h (strcasecmp): Add note in comments.
26437         * lib/strncasecmp.c: Use code from strcasecmp.c.
26438         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
26439         (strcasecmp): Work correctly in multibyte locales.
26440
26441 2005-08-16  Bruno Haible  <bruno@clisp.org>
26442
26443         * lib/mbiter.h: New file.
26444
26445 2005-08-16  Bruno Haible  <bruno@clisp.org>
26446
26447         * lib/mbfile.h: New file.
26448
26449 2005-08-16  Bruno Haible  <bruno@clisp.org>
26450
26451         * lib/mbchar.h: New file.
26452         * lib/mbchar.c: New file.
26453
26454 2005-08-16  Bruno Haible  <bruno@clisp.org>
26455
26456         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
26457         the valid ones. Makes the comparison operations transitive:
26458         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
26459         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
26460
26461 2005-08-15  Simon Josefsson  <jas@extundo.com>
26462
26463         * modules/ssize_t (License): Change to 'unlimited'.
26464
26465         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
26466
26467 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
26468
26469         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
26470         Add comments for each pending glibc patch.
26471
26472 2005-08-15  Bruno Haible  <bruno@clisp.org>
26473
26474         * lib/regex.h (__restrict_arr): Don't define to __restrict if
26475         __cplusplus is defined.
26476
26477 2005-08-14  Jim Meyering  <jim@meyering.net>
26478
26479         Sync from coreutils.
26480
26481         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
26482         Use the hash-table-based cycle-detection code not just when
26483         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
26484         Reported by James Youngman in
26485         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
26486         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
26487         FTS_TIGHT_CYCLE_CHECK.
26488         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
26489         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
26490         once again.
26491         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
26492         * lib/fts.c (fd_safer): Remove decl.
26493         Include fcntl--.h rather than unistd-safer.h
26494         (fts_safe_changedir): Don't call fd_safer; no longer needed
26495         now that we include fcntl--.h.
26496
26497 2005-08-12  Simon Josefsson  <jas@extundo.com>
26498
26499         * modules/getndelim2: Use ssize_t module.
26500         * modules/getnline: Likewise.
26501         * modules/safe-read: Likewise.
26502         * modules/xreadlink: Likewise.
26503
26504         * modules/ssize_t: New file.
26505
26506 2005-08-12  Simon Josefsson  <jas@extundo.com>
26507
26508         * m4/readline.m4: Look for termcap, curses or ncurses if required.
26509
26510 2005-08-12  Simon Josefsson  <jas@extundo.com>
26511
26512         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26513         ssize_t.
26514
26515 2005-08-12  Simon Josefsson  <jas@extundo.com>
26516
26517         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
26518         readline, getdelim and check_version.
26519         (Support for systems lacking ISO C 99: Sizes of integer types):
26520         Add size_max.
26521
26522 2005-08-12  Bruno Haible  <bruno@clisp.org>
26523
26524         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
26525
26526 2005-08-11  Simon Josefsson  <jas@extundo.com>
26527
26528         * modules/readline: New file.
26529
26530         * modules/strnlen (Files): Add strnlen.h.
26531
26532 2005-08-11  Simon Josefsson  <jas@extundo.com>
26533
26534         * m4/readline.m4: New file.
26535
26536 2005-08-11  Simon Josefsson  <jas@extundo.com>
26537
26538         * lib/readline.h, readline.c: New file.
26539
26540 2005-08-11  Simon Josefsson  <jas@extundo.com>
26541
26542         * doc/gnulib.texi (Initial import, Finishing touches): Mention
26543         gl_AVOID.
26544
26545 2005-08-11  Bruno Haible  <bruno@clisp.org>
26546
26547         * lib/strnlen.h (strnlen): Change parameter name to match comment.
26548
26549 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
26550
26551         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
26552
26553 2005-08-10  Simon Josefsson  <jas@extundo.com>
26554
26555         * tests/test-iconvme.c: New file.
26556
26557 2005-08-10  Simon Josefsson  <jas@extundo.com>
26558
26559         * m4/strnlen.m4: New file.
26560
26561         * m4/strndup.m4: Don't check for strnlen declaration, done in
26562         strnlen.m4.
26563
26564 2005-08-10  Simon Josefsson  <jas@extundo.com>
26565
26566         * lib/strndup.c: Use strnlen.h.
26567
26568         * lib/strnlen.h: New file.
26569
26570 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
26571
26572         * README: Typos.
26573
26574 2005-08-02  Simon Josefsson  <jas@extundo.com>
26575
26576         * modules/readline: New file.
26577
26578 2005-08-02  Simon Josefsson  <jas@extundo.com>
26579
26580         * modules/getdelim: New file.
26581
26582         * modules/getline: Rewrite, don't use getndelim2.
26583
26584 2005-08-02  Simon Josefsson  <jas@extundo.com>
26585
26586         * m4/getline.m4: Separate out getdelim stuff into separate module.
26587
26588         * m4/getdelim.m4: New file.
26589
26590 2005-08-02  Simon Josefsson  <jas@extundo.com>
26591
26592         * lib/getline.h, getline.c: Rewrite.
26593
26594         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
26595
26596 2005-07-31  Bruno Haible  <bruno@clisp.org>
26597
26598         * lib/lock.h (gl_lock_initializer): New macro.
26599         (gl_lock_define_initialized): Use it.
26600         (gl_rwlock_initializer): New macro.
26601         (gl_rwlock_define_initialized): Use it.
26602         (gl_recursive_lock_initializer): New macro.
26603         (gl_recursive_lock_define_initialized): Use it.
26604
26605 2005-07-30  Karl Berry  <karl@gnu.org>
26606
26607         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
26608         Report from Ben Pfaff, regarding getopt.
26609
26610 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
26611
26612         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
26613         normal way.
26614         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
26615         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
26616         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
26617         (gl_GETOPT): Use the new macros.  Most of the implementation
26618         is moved to the new macros.  This is for programs like Emacs
26619         that don't want all the functionality of gl_GETOPT.
26620
26621 2005-07-26  Bruno Haible  <bruno@clisp.org>
26622
26623         * m4/lock.m4: Update from GNU gettext.
26624
26625 2005-07-26  Bruno Haible  <bruno@clisp.org>
26626
26627         * lib/lock.h: Update from GNU gettext.
26628         * lib/lock.c: Update from GNU gettext.
26629
26630 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
26631
26632         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
26633         obsolescent AC_TRY_RUN.  Include the default includes files, for
26634         'exit'.
26635
26636 2005-07-24  Bruno Haible  <bruno@clisp.org>
26637
26638         * modules/visibility: New file.
26639         * MODULES.html.sh (Misc): Add visibility.
26640
26641 2005-07-24  Bruno Haible  <bruno@clisp.org>
26642
26643         * m4/visibility.m4: New file.
26644
26645 2005-07-24  Bruno Haible  <bruno@clisp.org>
26646
26647         * doc/visibility.texi: New file.
26648
26649 2005-07-22  Bruno Haible  <bruno@clisp.org>
26650
26651         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
26652         $(ALLOCA_H), redundant through BUILT_SOURCES.
26653         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
26654         redundant through BUILT_SOURCES.
26655         * modules/byteswap (Makefile.am): Remove explicit dependency on
26656         $(BYTESWAP_H), redundant through BUILT_SOURCES.
26657         * modules/fnmatch (Makefile.am): Remove explicit dependency on
26658         $(FNMATCH_H), redundant through BUILT_SOURCES.
26659         * modules/getopt (Makefile.am): Remove explicit dependency on
26660         $(GETOPT_H), redundant through BUILT_SOURCES.
26661         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
26662         redundant through BUILT_SOURCES.
26663         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
26664         redundant through BUILT_SOURCES.
26665         * modules/stdbool (Makefile.am): Remove explicit dependency on
26666         $(STDBOOL_H), redundant through BUILT_SOURCES.
26667         * modules/stdint (Makefile.am): Remove explicit dependency on
26668         $(STDINT_H), redundant through BUILT_SOURCES.
26669         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
26670         Remove explicit dependency on $(SYSEXITS_H).
26671         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
26672
26673 2005-07-18  Simon Josefsson  <jas@extundo.com>
26674
26675         * lib/check-version.c (check_version): Accept identical versions too.
26676
26677 2005-07-18  Bruno Haible  <bruno@clisp.org>
26678
26679         * modules/lock: New file.
26680         * MODULES.html.sh (Multithreading): New section.
26681
26682 2005-07-18  Bruno Haible  <bruno@clisp.org>
26683
26684         * m4/lock.m4: New file, from GNU gettext.
26685
26686 2005-07-18  Bruno Haible  <bruno@clisp.org>
26687
26688         * lib/lock.h: New file, from GNU gettext.
26689         * lib/lock.c: New file, from GNU gettext.
26690
26691 2005-07-18  Bruno Haible  <bruno@clisp.org>
26692
26693         * lib/lock.h (gl_once_t): New type.
26694         (gl_once_define, gl_once): New macros.
26695         * lib/lock.c (fresh_once): New variable.
26696         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
26697         functions.
26698
26699 2005-07-16  Simon Josefsson  <jas@extundo.com>
26700
26701         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
26702         workaround, suggested by Bruno.
26703
26704 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
26705
26706         * modules/xalloc (Depends-on): Add xalloc-die.
26707         * modules/xvasprintf (Depends-on): Add xalloc-die.
26708
26709 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
26710
26711         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
26712         with a minor change.
26713
26714 2005-07-15  Bruno Haible  <bruno@clisp.org>
26715
26716         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
26717         When using lib/poll.c, define poll as rpl_poll.
26718
26719 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
26720
26721         * modules/argp (Depends-on): Remove unlocked-io.
26722
26723 2005-07-14  Derek Price  <derek@ximbiot.com>
26724
26725         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
26726         for glob symlink bug.
26727
26728 2005-07-14  Bruno Haible  <bruno@clisp.org>
26729
26730         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
26731         Instead, test for *_unlocked function declarations directly.
26732
26733 2005-07-11  Simon Josefsson  <jas@extundo.com>
26734
26735         * modules/size_max: New file.
26736
26737         * modules/xsize: Depend on size_max module for size_max.m4.
26738
26739 2005-07-11  Simon Josefsson  <jas@extundo.com>
26740
26741         * lib/size_max.h: New file.
26742
26743 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
26744
26745         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
26746         copyright symbol and the year.
26747         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
26748         (version_etc_va): Use parameterized copyright notice.
26749         Reword to conform to the current GNU coding standards.
26750
26751 2005-07-11  Karl Berry  <karl@gnu.org>
26752
26753         * doc/gnulib.texi (Quoting): new node.
26754         (Initial import): more info, from Patrice.
26755
26756 2005-07-11  Bruno Haible  <bruno@clisp.org>
26757
26758         * gnulib-tool (func_usage): Document option --avoid.
26759         (Command line options): Handle --avoid.
26760         (func_acceptable): New function.
26761         (func_modules_transitive_closure): Use it.
26762
26763 2005-07-11  Bruno Haible  <bruno@clisp.org>
26764
26765         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
26766         Reported by Jim Meyering.
26767
26768 2005-07-10  Bruno Haible  <bruno@clisp.org>
26769
26770         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
26771         Needed when size_t is smaller than 'unsigned int'.
26772         Reported by Paul Eggert.
26773
26774 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
26775
26776         * modules/argp (Depends-on): Add unlocked-io
26777
26778 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
26779
26780         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
26781         block of defines.
26782
26783 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26784
26785         * config/srclist.txt: Comment out regcomp.c, since we have a porting
26786         fix now.
26787
26788 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
26789         and Paul Eggert  <eggert@cs.ucla.edu>
26790
26791         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
26792         in wint_t, not wchar_t.  Remove now-unnecessary cast.
26793
26794 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
26795
26796         * modules/regex (Files): Add lib/regex_internal.c,
26797         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
26798         (Depends-on): Add extensions.
26799         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
26800
26801 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
26802
26803         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
26804         pathconf.
26805         * m4/same.m4 (gl_SAME): Likewise.
26806         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
26807
26808         * m4/regex.m4: Adjust to new libc regex implementation.
26809         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
26810         all the .c and .h parts of (the new) regex.
26811         Quote the m4 stuff better.
26812         Check for RE_ICASE bug of old gnulib.
26813         Check for REG_STARTEND of recent libc.
26814         Rename local variables from jm_* to gl_*.
26815         Quote operand of "test -f".
26816         Say "recent enough" version of libc, not "version 2".
26817         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
26818         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
26819         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
26820         Remove check for btowc, isascii.
26821         Require AM_LANGINFO_CODESET.
26822
26823 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
26824
26825         * lib/regex.c, regex.h: Sync from libc.
26826         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
26827         * lib/regexec.c:
26828         New files, synced from libc, except that regex_internal.h
26829         currently has a small porting fix.
26830
26831 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
26832
26833         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
26834         regex_internal.c, regexec.c.
26835         Add regex_internal.h too, but as a comment, since the libc version
26836         is currently broken in gnulib mode.
26837
26838 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
26839
26840         Support programs like Emacs that use gnulib but not gettext.
26841         * MODULES.html.sh (Internationalization functions): Add gettext-h.
26842         * modules/gettext-h: New file.
26843         * modules/gettext (Files): Remove lib/gettext.h.
26844         (Depends-on): Add gettext-h.
26845         (Makefile.am): Remove lib_SOURCES.
26846         * modules/argmatch, modules/c-stack, modules/closeout:
26847         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
26848         * modules/execute, modules/file-type, modules/getaddrinfo:
26849         * modules/getopt, modules/human, modules/javacomp:
26850         * modules/javaexec, modules/mkdir-p, modules/obstack:
26851         * modules/openat, modules/pagealign_alloc, modules/pipe:
26852         * modules/quotearg, modules/regex, modules/rpmatch:
26853         * modules/unicodeio, modules/userspec, modules/version-etc:
26854         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
26855         * modules/xsetenv:
26856         Depend on gettext-h, not gettext.
26857
26858 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
26859
26860         * gnulib-tool (func_import): Add support for 'public domain' license.
26861         * modules/alloca, modules/atexit, modules/memmove:
26862         Now public domain, not GPL.
26863         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
26864         * modules/realloc, modules/strerror, modules/strtod:
26865         Now LGPL, not GPL.
26866
26867 2005-07-05  Bruno Haible  <bruno@clisp.org>
26868
26869         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
26870         autoconf CVS. Needed for mingw.
26871
26872 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
26873
26874         Remove the dependency of the strftime module on the tzset module.
26875         * modules/strftime (Depends-on): Remove dependency on tzset.
26876
26877 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
26878
26879         Remove the dependency of the strftime module on the tzset module.
26880         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
26881         gl_FUNC_TZSET_CLOBBER.
26882
26883 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
26884
26885         Remove the dependency of the strftime module on the tzset module.
26886         * lib/strftime.c (my_strftime)
26887         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
26888         Copy the input structure, to work around some of the bug with
26889         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
26890         Solaris releases, you should also use the tzset module, but we won't
26891         require it as a dependency any more since we don't want LGPLed code
26892         to depend on GPLed code.
26893
26894 2005-07-02  Jim Meyering  <jim@meyering.net>
26895
26896         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
26897         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
26898         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
26899         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
26900
26901 2005-07-02  Jim Meyering  <jim@meyering.net>
26902
26903         * lib/backupfile.c (backup_args): Change a `0' to NULL.
26904
26905 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
26906
26907         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
26908         declares only 'struct timespec;' (!).
26909
26910 2005-07-01  Jim Meyering  <jim@meyering.net>
26911
26912         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
26913         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
26914         * lib/save-cwd.c, tempname.c:
26915         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
26916         and don't include <sys/file.h>).
26917
26918 2005-06-29  Jim Meyering  <jim@meyering.net>
26919
26920         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
26921         type name.  Use the variable name instead.
26922         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
26923         Likewise.
26924
26925 2005-06-28  Simon Josefsson  <jas@extundo.com>
26926
26927         * modules/check-version (Files): Add check-version.m4.
26928
26929 2005-06-28  Simon Josefsson  <jas@extundo.com>
26930
26931         * m4/check-version.m4: New file, suggested by Jim Meyering
26932         <jim@meyering.net>.
26933
26934 2005-06-28  Simon Josefsson  <jas@extundo.com>
26935
26936         * lib/check-version.h, lib/check-version.c: New files.
26937
26938 2005-06-28  Simon Josefsson  <jas@extundo.com>
26939
26940         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
26941         collision with global variable.  Better indentation.  Don't
26942         increment buffer pointer beyond buffer end.  Based on comments
26943         from Paul Eggert <eggert@cs.ucla.edu>.
26944
26945         * lib/base64.h: Indent.
26946
26947 2005-06-28  Simon Josefsson  <jas@extundo.com>
26948
26949         * doc/gnulib.texi (Library version handling): New section.
26950
26951 2005-06-28  Jim Meyering  <jim@meyering.net>
26952
26953         * check-module (find_included_lib_files): Hard-code another
26954         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
26955         but modules/fts-lgpl (correctly) does not list those files.
26956
26957         * modules/canonicalize (Files): Add lib/pathmax.h.
26958
26959 2005-06-25  Simon Josefsson  <jas@extundo.com>
26960
26961         * modules/check-version: New file.
26962
26963 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
26964
26965         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
26966         initializer of struct addrinfo, as an indication that we don't
26967         care how many members the structure has.
26968
26969 2005-06-24  Derek Price  <derek@ximbiot.com>
26970         and Bruno Haible  <bruno@clisp.org>
26971
26972         Remove stat module & update lstat.
26973         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
26974         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26975         * m4/stat.m4: Remove this file.
26976
26977 2005-06-24  Derek Price  <derek@ximbiot.com>
26978         and Bruno Haible  <bruno@clisp.org>
26979
26980         Remove stat module & update lstat.
26981         * lib/stat.c: Remove this file...
26982         (slash_aware_lstat): ...moving this content and its support...
26983         * lib/lstat.c (rpl_lstat): ...into here.
26984         * lib/lstat.h: New file.
26985
26986 2005-06-24  Derek Price  <derek@ximbiot.com>
26987         and Bruno Haible  <bruno@clisp.org>
26988
26989         Remove stat module & update lstat.
26990         * config/srclist.txt (libc sources): Remove stat.
26991
26992 2005-06-24  Derek Price  <derek@ximbiot.com>
26993         and Bruno Haible  <bruno@clisp.org>
26994
26995         Remove stat module & update lstat.
26996         * MODULES.html.sh (stat): Remove.
26997         * MODULES.html: Regenerated.
26998         * modules/lstat (Description): Correct function name.
26999         (Files): Add "lstat.h".
27000         (Depends-on): Remove stat, add xalloc, stat-macros.
27001         * modules/stat: Remove this file.
27002         (Include): Add "lstat.h", remove <sys/stat.h>.
27003
27004 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
27005
27006         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
27007         (ranged_convert): Don't save conversion in a temporary struct.
27008         This causes a warning with GCC 4.0.0, and anyway in the typical
27009         case it's not worth the extra 100 bytes or so of code.
27010         (ranged_convert, __mktime_internal): When calling a function via a
27011         pointer P, use P () rather than (*P) (), as we now assume C89 or
27012         better.
27013
27014 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27015
27016         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
27017         "who -r" failed to give output.  Problem reported by Tim Waugh.
27018
27019         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
27020         (xcalloc): Use it to avoid needless tests.
27021         Problem reported by Jim Meyering.
27022
27023 2005-06-20  Derek Price  <derek@ximbiot.com>
27024
27025         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
27026         unnecessary for Autoconfs > 2.59c.
27027
27028 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
27029
27030         * lib/argp.h (__option_is_short): Check upper limit of
27031         __key. Isprint() requires its argument to have the value
27032         of an unsigned char or EOF.
27033
27034 2005-06-16  Jim Meyering  <jim@meyering.net>
27035
27036         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
27037         when either N or S is zero.
27038
27039 2005-06-16  Derek Price  <derek@ximbiot.com>
27040
27041         * m4/bison.m4: Declare YACC & YFLAGS precious.
27042
27043 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
27044
27045         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
27046         multibyte string or pattern, fall back on unibyte matching.
27047         Problem reported by James Youngman.
27048
27049 2005-06-08  Bruno Haible  <bruno@clisp.org>
27050
27051         * modules/csharpcomp: New file.
27052         * MODULES.html.sh (C#): Add csharpcomp.
27053
27054 2005-06-08  Bruno Haible  <bruno@clisp.org>
27055
27056         * m4/csharpcomp.m4: New file, from GNU gettext.
27057
27058 2005-06-08  Bruno Haible  <bruno@clisp.org>
27059
27060         * lib/csharpcomp.h: New file, from GNU gettext.
27061         * lib/csharpcomp.c: New file, from GNU gettext.
27062         * lib/csharpcomp.sh.in: New file, from GNU gettext.
27063
27064 2005-06-08  Bruno Haible  <bruno@clisp.org>
27065
27066         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
27067         warning on mingw.
27068
27069 2005-06-07  Derek Price  <derek@ximbiot.com>
27070
27071         Sync from CVS.
27072         * lib/glob_.h: Indent nested #ifdef.
27073
27074 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27075
27076         Sync from coreutils.
27077         Use "file name" when talking about file names, instead of "filename"
27078         or "path", as per the GNU coding standards.
27079         * lib/mkdir-p.c: Renamed from makepath.c.
27080         (make_dir_parents): Renamed from make_path.  All callers changed.
27081         * lib/mkdir-p.h: Likewise.  All includers changed.
27082         * lib/filenamecat.c: Renamed from path-concat.c.
27083         (file_name_concat): Renamed from path_concat.  All callers changed.
27084         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
27085         * lib/filenamecat.h: Likewise.  All includers changed.
27086         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
27087         in comments or local variable names.
27088         * lib/basename.c: Likewise.
27089         * lib/canonicalize.c, canonicalize.h: Likewise.
27090         * lib/dirname.c, dirname.h: Likewise.
27091         * lib/euidaccess.c: Likewise.
27092         * lib/exclude.c: Likewise
27093         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
27094         * lib/fsusage.c, fsuage.h: Likewise.
27095         * lib/fts.c, fts_.h: Likewise.
27096         * lib/getcwd.c: Likewise.
27097         * lib/getloadavg.c: Likewise.
27098         * lib/mkstemp.c: Likewise.
27099         * lib/mountlist.c, mountlist.h: Likewise.
27100         * lib/openat.c, openat.h: Likewise.
27101         * lib/readlink-stub.c: Likewise.
27102         * lib/readutmp.c, readutmp.h: Likewise.
27103         * lib/rename.c: Likewise.
27104         * lib/rmdir.c: Likewise.
27105         * lib/same.c: Likewise.
27106         * lib/savedir.c: Likewise.
27107         * lib/stripslash.c: Likewise.
27108         * lib/tempname.c: Likewise.
27109         * lib/xreadlink.c: Likewise.
27110         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
27111         All uses changed.
27112         * lib/exclude.h: Likewise.
27113
27114         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
27115         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
27116         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
27117         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
27118         * lib/pathmax.h: Include <limits.h> unconditionally, since other
27119         files have been getting away with it for years (MORE/BSD 4.3
27120         is extinct now).
27121         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
27122         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
27123
27124         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
27125         Define to 256, not 255, as per modern POSIX.
27126
27127 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27128
27129         Sync from coreutils.
27130         Use "file name" when talking about file names, instead of "filename"
27131         or "path", as per the GNU coding standards.
27132         * MODULES.html.sh: mkdir-p renamed from makepath.
27133         filenamecat renamed from path-concat.
27134         * modules/filenamecat: Renamed from modules/path-concat.
27135         (Files): filenamecat.h and filenamecat.c renamed from
27136         path-concat.h and path-concat.c.
27137         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
27138         (Include): filenamecat.h, not path-concat.h.
27139         * modules/mkdir-p: Renamed from modules/makepath.
27140         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
27141         makepath.c.
27142         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
27143         (Include): mkdir-p.h, not makepath.h.
27144
27145 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27146
27147         Sync from coreutils.
27148         * m4/mkdir-p.m4: Renamed from makepath.m4.
27149         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
27150         Rename files from makepath.c to mkdir-p.c, and from
27151         makepath.h to mkdir-p.h.
27152         * m4/filenamecat.m4: Renamed from path-concat.m4.
27153         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
27154         Rename files from path-concat.c to filenamecat.c,
27155         and from path-concat.h to filenamecat.h.
27156         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
27157         "file name" in local variables or comments.
27158         * m4/rename.m4: Likewise.
27159
27160 2005-06-01  Bruno Haible  <bruno@clisp.org>
27161
27162         * modules/csharpexec: New file.
27163         * MODULES.html.sh (C#): New section.
27164
27165 2005-06-01  Bruno Haible  <bruno@clisp.org>
27166
27167         * m4/csharp.m4: New file, from GNU gettext.
27168         * m4/csharpexec.m4: New file, from GNU gettext.
27169
27170 2005-06-01  Bruno Haible  <bruno@clisp.org>
27171
27172         * lib/csharpexec.h: New file, from GNU gettext.
27173         * lib/csharpexec.c: New file, from GNU gettext.
27174         * lib/csharpexec.sh.in: New file, from GNU gettext.
27175
27176 2005-05-31  Derek Price  <derek@ximbiot.com>
27177             Paul Eggert  <eggert@cs.ucla.edu>
27178
27179         Sync from cvs.
27180         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
27181
27182 2005-05-31  Derek Price  <derek@ximbiot.com>
27183             Paul Eggert  <eggert@cs.ucla.edu>
27184
27185         Sync from cvs.
27186         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
27187
27188 2005-05-29  Derek Price  <derek@ximbiot.com>
27189
27190         * config/srclist.txt (glob_.h, glob.c): Add these files.
27191
27192 2005-05-29  Derek Price  <derek@ximbiot.com>
27193
27194         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
27195         * modules/glob: New file.
27196         * modules/getlogin_r: Add link to POSIX spec in description.
27197
27198 2005-05-29  Derek Price  <derek@ximbiot.com>
27199             Paul Eggert  <eggert@cs.ucla.edu>
27200
27201         * m4/glob.m4: New file.
27202
27203 2005-05-29  Derek Price  <derek@ximbiot.com>
27204             Paul Eggert  <eggert@cs.ucla.edu>
27205
27206         * lib/glob_.h, lib/glob.c: New files.
27207
27208 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27209
27210         * modules/fts (Files): Remove m4/inttypes-pri.m4.
27211         * modules/fts-lgpl (Depends-on): Remove gettext.
27212
27213 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27214
27215         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
27216         and don't require gt_INTTYPES_PRI.
27217
27218 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27219
27220         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
27221
27222         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
27223         the configuration hassle isn't worth it.
27224         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
27225         (LONGEST_MODIFIER, PRIuMAX): Remove.
27226
27227 2005-05-27  Bruno Haible  <bruno@clisp.org>
27228
27229         * lib/getlogin_r.h: Remove second include of <stddef.h>.
27230
27231 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
27232
27233         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
27234         _POSIX_PTHREAD_SEMANTICS for Solaris.
27235
27236 2005-05-25  Derek Price  <derek@ximbiot.com>
27237
27238         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
27239
27240 2005-05-25  Derek Price  <derek@ximbiot.com>
27241             Paul Eggert  <eggert@cs.ucla.edu>
27242
27243         * modules/getlogin_r, m4/getlogin_r.m4: New files.
27244         * lib/getlogin_r.c, getlogin_r.h: New files.
27245
27246 2005-05-25  Bruno Haible  <bruno@clisp.org>
27247             Derek Price  <derek@ximbiot.com>
27248
27249         * lib/getlogin_r.h: Simplify API documentation.
27250
27251 2005-05-23  Derek Price  <derek@ximbiot.com>
27252
27253         * modules/minmax (Files): Add m4/minmax.m4.
27254         (configure.ac): Add gl_MINMAX.
27255
27256 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
27257
27258         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
27259         so that unistd-safer.h (GPL'ed code) need not be included.
27260
27261 2005-05-22  Bruno Haible  <bruno@clisp.org>
27262
27263         * m4/minmax.m4: New file.
27264         Based on a patch by Derek Price <derek@ximbiot.com>.
27265
27266 2005-05-22  Bruno Haible  <bruno@clisp.org>
27267
27268         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
27269         (INT64_MIN): Fix definition.
27270         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
27271
27272         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
27273         NEED_SIGNED_INT_TYPES.
27274
27275         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
27276         HAVE_SYSTEM_INTTYPES.
27277
27278 2005-05-22  Bruno Haible  <bruno@clisp.org>
27279
27280         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
27281         Also include <sys/param.h> if it defines MIN, MAX.
27282         Based on a patch by Derek Price <derek@ximbiot.com>.
27283
27284 2005-05-21  Jim Meyering  <jim@meyering.net>
27285
27286         * modules/fts (Files): Add m4/inttypes-pri.m4.
27287         (Depends-on): Add lstat and remove gettext.  Alphabetize.
27288
27289 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27290
27291         New fts module.
27292         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
27293         (setup_dir, free_dir): New functions.
27294         (enter_dir, leave_dir): Define trivial
27295         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
27296         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
27297         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
27298         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
27299         Move to fts-cycle.c.
27300         (fts_open): Use setup_dir.
27301         (fts_close): Use free_dir.
27302         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
27303         This adds a label and some gotos, but the alternatives were messier.
27304         Check for memory allocation failure when entering a dir.
27305         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
27306         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
27307         (FTS): New member fts_cycle, that is a union that contains the
27308         old active_dir_ht and cycle_state.  All uses changed to mention
27309         fts_cycle.ht and fts_cycle.state.
27310         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
27311         fts.c, with the following changes:
27312         (setup_dir, free_dir): New functions.
27313         (enter_dir): Now returns bool.  Return true if successful, false
27314         if memory exhausted.  All callers changed.
27315         Do not bother partly cleaning up on
27316         memory allocation failure; that is free_dir's job.
27317         However, free ad if hash_insert fails, to avoid memory leak.
27318         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
27319         fts->fts_options to see which union member to use.
27320
27321 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27322
27323         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
27324         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
27325
27326 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27327
27328         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
27329
27330 2005-05-20  Jim Meyering  <jim@meyering.net>
27331
27332         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
27333         Now a macro, to pacify GCC.
27334
27335 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
27336
27337         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
27338         of -1.
27339
27340 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
27341
27342         * lib/chown.c (rpl_chown): Return -1 on failure.
27343
27344 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
27345
27346         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
27347         Don't check for stddef.h.
27348         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
27349         don't use its results.
27350         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
27351         since we include them unconditionally.  Don't require
27352         AM_STDBOOL_H, since stdbool is a prerequisite.
27353         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
27354         since we assume C89 or better.
27355         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
27356         as we don't use their results.
27357         Don't check for fchdir, memmove, memset, strrchr, as we use
27358         them unconditionally.
27359         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
27360         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
27361
27362 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
27363
27364         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
27365         Include <stddef.h> unconditionally, since we assume C89 now.
27366         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
27367         * lib/fts.c: Include fts_.h first, to check interface.
27368         Do not include intprops.h; no longer needed.
27369         Include cycle-check.h and hash.h, since fts_.h no longer does.
27370         Remove unnecessary casts of closedir to void.
27371         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
27372         decide whether to decrement nlinks.
27373         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
27374         (FTS): Use struct hash_table * instead of Hash_table, so that
27375         we no longer need to include hash.h here.
27376
27377 2005-05-18  Jim Meyering  <jim@meyering.net>
27378
27379         * modules/dirfd (License): Change to LGPL.  Most of the code
27380         is already in the public domain.
27381
27382 2005-05-18  Jim Meyering  <jim@meyering.net>
27383
27384         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
27385         Reported by Yoann Vandoorselaere.
27386
27387 2005-05-17  Jim Meyering  <jim@meyering.net>
27388
27389         * m4/fts.m4: New file, from coreutils.
27390
27391 2005-05-17  Jim Meyering  <jim@meyering.net>
27392
27393         * lib/fts.c, lib/fts_.h: New files, from coreutils.
27394
27395 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
27396
27397         Sync from coreutils.
27398         * m4/unlinkdir.m4: New file.
27399
27400 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
27401
27402         Sync from coreutils.
27403         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
27404         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
27405         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
27406         White space changes only.
27407         * lib/makepath.c (make_path): Port to hosts where leading "//" is
27408         special.
27409         * lib/yesno.c: Include getline.h, not ctype.h.
27410         (yesno): Don't remove leading white space; POSIX doesn't allow it.
27411         Use getline to remove arbitrary restriction on response length.
27412
27413 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
27414
27415         * config/srclist-update: Spell out "Street" in FSF postal
27416         mail address; this is the style the FSF seems to prefer.
27417
27418         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
27419         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
27420         this updates FSF postal mail address.
27421
27422         Sync from coreutils.
27423         * modules/unlinkdir: New file.
27424         * modules/yesno (Depends-on): Add getline.
27425         * MODULES.html.sh (File system functions): Add unlinkdir.
27426
27427 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27428
27429         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
27430         lib/strsep.h:
27431         Change the initial comment to refer to GPL, not LGPL.
27432         gnulib-tool will change it to LGPL as needed.
27433
27434         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
27435         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
27436         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
27437         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
27438         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
27439         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
27440         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
27441         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
27442         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
27443         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
27444         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
27445         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
27446         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
27447         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
27448         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
27449         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
27450         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
27451         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
27452         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
27453         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
27454         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
27455         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
27456         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
27457         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
27458         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
27459         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
27460         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
27461         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
27462         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
27463         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
27464         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
27465         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
27466         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
27467         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
27468         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
27469         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
27470         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
27471         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
27472         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
27473         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
27474         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
27475         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
27476         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
27477         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
27478         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
27479         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
27480         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
27481         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
27482         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
27483         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
27484         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
27485         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
27486         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
27487         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
27488         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
27489         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
27490         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
27491         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
27492         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
27493         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
27494         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
27495         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
27496         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
27497         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
27498         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
27499         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
27500         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
27501         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
27502         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
27503         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
27504         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
27505         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
27506         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
27507         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
27508         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
27509         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
27510         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
27511         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
27512         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
27513         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
27514         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
27515         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
27516         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
27517         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
27518         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
27519         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
27520         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
27521         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
27522         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
27523         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
27524         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
27525         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
27526         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
27527         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
27528         lib/yesno.c, lib/yesno.h:
27529         Update FSF postal mail address.
27530
27531 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27532
27533         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
27534         tests/test-memmem.c, tests/test-stpncpy.c:
27535         Update FSF postal mail address.
27536
27537 2005-05-13  Bruno Haible  <bruno@clisp.org>
27538
27539         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
27540         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
27541         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
27542         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
27543         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
27544         Add support for 64-bit integers in the MSVC compiler.
27545
27546 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
27547
27548         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
27549
27550 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
27551
27552         * gnulib-tool (func_import): Sort and uniquify recommended includes.
27553
27554 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
27555
27556         * doc/getdate.texi (General date syntax): Don't say that date
27557         date --iso-8601=ns generates acceptable dates; it doesn't yet.
27558         Problem reported by Nic Ferrier.
27559
27560 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27561
27562         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
27563         specified in ai_socktype. Fix invalid ai_protocol
27564         check. ai_protocol is usually set to 0 or depending on
27565         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
27566         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
27567         ai_socktype / ai_protocol in the returned addrinfo structure.
27568
27569 2005-05-10  Simon Josefsson  <jas@extundo.com>
27570
27571         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
27572         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
27573
27574 2005-05-10  Karl Berry  <karl@gnu.org>
27575
27576         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
27577         (from http://www.gnu.org/licenses).
27578         * doc/COPYING.LIB: also rename to COPYING.LESSER.
27579         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
27580         fdl.texi suffices.
27581
27582 2005-05-10  Karl Berry  <karl@gnu.org>
27583
27584         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
27585         (COPYING.DOC): remove.
27586
27587         * config/srclist-update: new FSF address.
27588
27589 2005-05-10  Derek Price  <derek@ximbiot.com>
27590
27591         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
27592         possible.
27593
27594 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27595             Bruno Haible  <bruno@clisp.org>
27596
27597         * modules/inet_ntop: New file.
27598         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27599         inet_ntop.
27600
27601 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27602             Bruno Haible  <bruno@clisp.org>
27603
27604         * m4/inet_ntop.m4: New file.
27605
27606 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27607             Bruno Haible  <bruno@clisp.org>
27608
27609         * lib/inet_ntop.h: New file.
27610         * lib/inet_ntop.c: New file, from glibc with modifications.
27611
27612 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
27613
27614         * modules/time_r (License): Change to LGPL.
27615         * modules/extensions (License): Change to LGPL.  Actually,
27616         the license is more permissive than that, but currently gnulib-tool
27617         doesn't know how to handle more-permissive licenses.
27618
27619         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
27620         Problem reported by Dave Love.
27621
27622 2005-05-08  Jim Meyering  <jim@meyering.net>
27623
27624         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
27625         blank.
27626
27627 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
27628
27629         * modules/argmatch (Depends-on): Add stdbool.
27630         * modules/backupfile (Depends-on): Likewise.
27631         * modules/chdir-long (Depends-on): Likewise.
27632         * modules/closeout (Depends-on): Likewise.
27633         * modules/cycle-check (Depends-on): Likewise.
27634         * modules/dirname (Depends-on): Likewise.
27635         * modules/fnmatch (Depends-on): Likewise.
27636         * modules/fsusage (Depends-on): Likewise.
27637         * modules/fwriteerror (Depends-on): Likewise.
27638         * modules/getcwd (Depends-on): Likewise.
27639         * modules/getloadavg (Depends-on): Likewise.
27640         * modules/hard-locale (Depends-on): Likewise.
27641         * modules/makepath (Depends-on): Likewise.
27642         * modules/mountlist (Depends-on): Likewise.
27643         * modules/nanosleep (Depends-on): Likewise.
27644         * modules/posixtm (Depends-on): Likewise.
27645         * modules/quotearg (Depends-on): Likewise.
27646         * modules/readtokens (Depends-on): Likewise.
27647         * modules/readtokens0 (Depends-on): Likewise.
27648         * modules/readutmp (Depends-on): Likewise.
27649         * modules/save-cwd (Depends-on): Likewise.
27650         * modules/strftime (Depends-on): Likewise.
27651         * modules/userspec (Depends-on): Likewise.
27652         * modules/utimecmp (Depends-on): Likewise.
27653         * modules/xgetcwd (Depends-on): Likewise.
27654         * modules/xnanosleep (Depends-on): Likewise.
27655         * modules/xstrtod (Depends-on): Likewise.
27656         * modules/yesno (Depends-on): Likewise.
27657
27658 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27659
27660         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
27661         needless checks.
27662
27663 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27664
27665         Merge from coreutils.  Among other things,
27666         add bulletproofing for cases where stdin, stdout, or stderr are closed.
27667         * lib/fd-safer.c: New file.
27668         * lib/fcntl-safer.h, open-safer.c: Remove.
27669         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
27670         * lib/dup-safer.c: Include unistd-safer.h first.
27671         Don't include errno.h.
27672         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
27673         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
27674         * lib/file-type.c: Rely on file-type.h change.
27675         * lib/getloadavg.c: Include unistd-safer.h.
27676         (getloadavg): Use safer open.
27677         * lib/getusershell.c: Include "stdio-safer.h".
27678         (getusershell): Use safer fopen.
27679         * lib/long-options.c (long_options): Use NULL rather than 0.
27680         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
27681         'free'.
27682         * lib/modechange.c: Likewise.
27683         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
27684         (MODE_DONE): New constant.
27685         (struct mode_change): Remove 'next' member.
27686         (make_node_op_equals): New function; like the old one of the
27687         same name, except it allocates an array.
27688         (mode_compile, mode_create_from_ref): Use it.
27689         (mode_compile): Allocate result as an array, not a linked list.
27690         Parse octal string ourself, so that we catch mistakes like "+0".
27691         (mode_adjust): Arg is an array, not a linked list.
27692         * lib/modechange.c: Include stat-macros.h, xalloc.h.
27693         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
27694         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
27695         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
27696         Remove.  This is now stat-macros.h's job.
27697         (talloc): Remove.  All callers replaced by xalloc, so that
27698         our invokers don't have to worry about reporting memory failures.
27699         (make_node_op_equals): Remove.
27700         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
27701         New constants.
27702         (struct mode_change): Moved here from modechange.h.
27703         (mode_append_entry): Remove.
27704         (mode_compile): Remove MASKED_OPS arg, since it encouraged
27705         apps to have incorrect behavior.  Use simpler algorithm for head
27706         and tail.  Don't futz with umask; that's now the job of mode_adjust.
27707         Detect more invalid usages rather than having somewhat-random behavior.
27708         Don't insert an "a=" action, as that leads to incorrect behavior.
27709         (mode_compile, mode_create_from_ref): Return NULL on error instead
27710         of an enum, since now there's only one way to have an error.  All
27711         callers changed.
27712         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
27713         at the correct time.  Simplify calculation of "+u" and its ilk.
27714         Don't mishandle "+X".
27715         (mode_free): Remove "register" and localize decls.
27716         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
27717         (struct mode_change): Move to modechange.c; callers don't
27718         need to see this stuff.
27719         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
27720         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
27721         (mode_change, mode_adjust): Reflect the new signatures noted above.
27722         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
27723         that might redefine system include files.
27724         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
27725         (my_usleep): Use NULL rather than (void *) 0.
27726         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
27727         Use siginterrupt to specify that system calls should be interrupted.
27728         (rpl_nanosleep): Move initialization of suspended closer to call of
27729         my_usleep.
27730         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
27731         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
27732         (desirable_utmp_entry): New function.
27733         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
27734         using x2nrealloc, to simplify logic.
27735         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
27736         size calculation.  Do not assume utmp file is a regular file.
27737         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
27738         (READ_UTMP_CHECK_PIDS): New constant.
27739         * lib/save-cwd.c: Include unistd-safer.h.
27740         (save_cwd): Use fd_safer.
27741         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
27742         [!_LIBC] Include "stat-macros.h" instead.
27743         * lib/unistd-safer.h (fd_safer): New decl.
27744
27745 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27746
27747         * modules/getloadavg (Depends-on): Add unistd-safer.
27748         * modules/getusershell (Depends-on): Add stdio-safer.
27749         * modules/lstat (Depends-on): Remove xalloc.
27750         * modules/mkstemp (Depends-on): Add stat-macros.
27751         * modules/modechange (Depends-on): Remove xstrtol.
27752         Add stat-macros, xalloc.
27753         * modules/save-cwd (Depends-on): Add unistd-safer.
27754         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
27755         * modules/unistd-safer (Files): Add lib/fd-safer.c
27756         (Makefile.am): Remove lib_SOURCES.
27757
27758         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
27759         Remove fcntl-safer; unistd-safer supersedes it.
27760
27761 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27762
27763         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
27764         AC_HEADER_STAT.
27765         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
27766         (gl_PREREQ_CHOWN): Remove.
27767         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
27768         it.  Don't require AC_HEADER_STAT.
27769         (gl_PREREQ_LSTAT): Remove.
27770         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
27771         Don't require AC_HEADER_STAT.
27772         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
27773         (gl_PREREQ_RMDIR): Remove.
27774         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
27775         mention stat-macros.h or AC_HEADER_STAT, since we'll make
27776         the stat-macros module a prerequisite.
27777         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
27778         * m4/filemode.m4 (gl_FILEMODE): Likewise.
27779         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
27780         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
27781         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
27782         variable names.
27783         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
27784         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
27785         variable prefixes.
27786         * m4/fcntl-safer.m4: Remove.
27787         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
27788         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
27789         Invoke gl_PREREQ_FD_SAFER.
27790         (gl_PREREQ_FD_SAFER): New macro.
27791         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
27792         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
27793         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
27794         Remove duplicate call to AC_LIBOBJ(readutmp).
27795         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
27796
27797         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
27798         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
27799
27800 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27801
27802         * MODULES.html.sh (Misc): Add byteswap.
27803
27804 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
27805
27806         * modules/getcwd (Depends-on): Add extensions.
27807         * modules/openat (Depends-on): Likewise.
27808
27809 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
27810
27811         * modules/byteswap: New file.
27812
27813 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
27814
27815         * m4/byteswap.m4: New file.
27816
27817 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
27818
27819         * lib/byteswap_.h: New file.
27820
27821 2005-04-25  Karl Berry  <karl@gnu.org>
27822
27823         * m4/gettext.m4: Update from GNU gettext 0.14.4.
27824
27825 2005-04-25  Albert Chin  <china@thewrittenword.com>
27826
27827         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
27828         Toolkit C bug.
27829
27830 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
27831
27832         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
27833         (func_ln_if_changed) Remove forcibly for no error message
27834         in case file does not exist.
27835
27836 2005-04-19  Simon Josefsson  <jas@extundo.com>
27837
27838         * gnulib-tool (Options): Make --symlink mean --symbolic.
27839
27840 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
27841
27842         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
27843
27844 2005-04-16  Simon Josefsson  <jas@extundo.com>
27845
27846         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
27847
27848 2005-04-15  Simon Josefsson  <jas@extundo.com>
27849
27850         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
27851
27852 2005-04-15  Simon Josefsson  <jas@extundo.com>
27853
27854         * gnulib-tool: Rename --symlink to --symbolic.
27855
27856 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
27857
27858         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
27859         symbolic links to files instead of copying/moving.  Add --aux-dir,
27860         specifying directory relative --dir where auxiliary build tools
27861         are placed.
27862
27863 2005-04-14  Bruno Haible  <bruno@clisp.org>
27864
27865         * modules/allocsa (License): Change to LGPL.
27866         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27867
27868 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27869
27870         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
27871         that "UTC +1 second" continues to work.  Problem reported
27872         by Dmitry V. Levin.
27873         (relunit_snumber): New rule.
27874         (relunit): Use it.
27875
27876 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
27877
27878         * lib/getdate.y (universal_time_zone_table): New constant.
27879         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
27880         universal_time_zone_table.
27881         (lookup_zone): Prefer universal_time_zone_table to
27882         local_time_zone_table, so that "GMT" time stamps are allowed in
27883         London during the summer.  Problem reported by Ian Abbott.
27884
27885 2005-04-12  Jim Meyering  <jim@meyering.net>
27886
27887         * lib/human.c (humblock): Set *options even when returning due to
27888         xstrtoumax conversion failure.  Thanks to a used-uninitialized
27889         warning from gcc-4.
27890
27891 2005-04-09  Jim Meyering  <jim@meyering.net>
27892
27893         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
27894         -Wuninitialized: initialize tm0.tm_year.
27895
27896 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
27897
27898         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
27899         count, since there's no maximum.  All uses changed.
27900         Add member dsts_seen.
27901         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
27902         not being INT_MAX.
27903         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
27904         Use pc_rels_seen to decide whther a date is absolute.
27905
27906         * lib/getdate.y (number): Don't overwrite year.
27907         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
27908         check.
27909
27910 2005-04-02  Simon Josefsson  <jas@extundo.com>
27911
27912         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
27913         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
27914
27915 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
27916
27917         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
27918         where no absolute path name can be longer than PATH_MAX.
27919
27920 2005-03-27  Jim Meyering  <jim@meyering.net>
27921
27922         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
27923
27924 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
27925
27926         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
27927         "one's complement" -> "ones' complement" in comment, as per Knuth.
27928         "value of type" -> "type or expression" in comment.
27929         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
27930
27931 2005-03-26  Jim Meyering  <jim@meyering.net>
27932
27933         Comment nits.
27934         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
27935         Correct typos: s/or/of/.
27936
27937 2005-03-26  Jim Meyering  <jim@meyering.net>
27938
27939         * modules/check-include-files: Move to ../ and rename to...
27940         * check-module: ...this.
27941
27942 2005-03-25  Jim Meyering  <jim@meyering.net>
27943
27944         * modules/xvasprintf (Files): Add xalloc.h.
27945
27946 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
27947
27948         * modules/gettext (Files): config/config.rpath ->
27949         build-aux/config.rpath
27950         * modules/iconv (Files): Likewise.
27951         Problem reported by Oskar Liljeblad.
27952
27953 2005-03-23  Jim Meyering  <jim@meyering.net>
27954
27955         * modules/check-include-files: New script to check for
27956         missing dependencies, multiple includes, etc.
27957
27958         * modules/c-strtold (Depends-on): Add xalloc.
27959         * modules/c-strtod (Depends-on): Add xalloc.
27960         * modules/hash (Depends-on): Add xalloc.
27961         (Files): Remove lib/xalloc.h.
27962
27963         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
27964         * modules/userspec (Files): Add lib/inttostr.h.
27965
27966 2005-03-23  Jim Meyering  <jim@meyering.net>
27967
27968         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
27969
27970 2005-03-22  Jim Meyering  <jim@meyering.net>
27971
27972         * modules/stat-macros: New module.
27973         * modules/canonicalize, modules/euidaccess, modules/file-type,
27974         * modules/filemode, modules/lchown, modules/makepath,
27975         * modules/rmdir, modules/stat: Depend on new stat-macros module
27976         rather than listing lib/stat-macros.h manually.
27977         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
27978
27979 2005-03-22  Jim Meyering  <jim@meyering.net>
27980
27981         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
27982
27983 2005-03-22  Bruno Haible  <bruno@clisp.org>
27984
27985         * config/srclist.txt: Replace target directory 'config' with
27986         'build-aux'.
27987         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
27988         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
27989         ../build-aux/.
27990
27991 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27992
27993         * modules/chdir-long (Depends-on): Add mempcpy.
27994
27995         * modules/acl, modules/backupfile, modules/c-strtod,
27996         modules/c-strtold, modules/canon-host, modules/canonicalize,
27997         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
27998         modules/exclude, modules/exitfail, modules/file-type,
27999         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
28000         modules/getdate, modules/getline, modules/getpagesize,
28001         modules/getpass, modules/getugroups, modules/group-member,
28002         modules/hard-locale, modules/hash, modules/human, modules/idcache,
28003         modules/inttostr, modules/long-options, modules/makepath,
28004         modules/md5, modules/memcasecmp, modules/memcoll,
28005         modules/modechange, modules/mountlist, modules/path-concat,
28006         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
28007         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
28008         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
28009         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
28010         modules/strftime, modules/strndup, modules/strverscmp,
28011         modules/timespec, modules/unlocked-io, modules/userspec,
28012         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
28013         modules/yesno:
28014         Remove lib_SOURCES line from Makefile.am section, as this is now
28015         done automatically by the corresponding Autoconf macro.
28016
28017 2005-03-21  Jim Meyering  <jim@meyering.net>
28018
28019         Changes imported from coreutils.
28020
28021         * lib/cycle-check.c: Don't include xalloc.h.
28022
28023         * lib/path-concat.c: Don't include assert.h.
28024         (path_concat): Remove assertion that would have triggered
28025         for ABASE starting with more than one slash.
28026         Reported by Andreas Schwab.
28027
28028         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
28029         properly when ABASE is an absolute file name.
28030         Correct the description of this function.
28031         Include <assert.h>.
28032         Add an assertion and a test driver.
28033         This fixes a bug introduced on 2004-07-02.
28034         Andreas Schwab reported the resulting failure of cp --parents:
28035         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
28036
28037 2005-03-21  Jim Meyering  <jim@meyering.net>
28038
28039         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
28040         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
28041
28042 2005-03-21  Jim Meyering  <jim@meyering.net>
28043         and  Paul Eggert  <eggert@cs.ucla.edu>
28044
28045         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
28046         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
28047         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
28048         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
28049         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
28050         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
28051         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
28052         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
28053         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
28054         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
28055         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
28056         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
28057         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
28058         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
28059         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
28060         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
28061         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
28062         for these modules.
28063
28064 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
28065
28066         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
28067         (which shouldn't happen), generate nothing instead of returning 0
28068         immediately, so that nstrftime (NULL, ...) doesn't return 0.
28069
28070 2005-03-16  Bruno Haible  <bruno@clisp.org>
28071
28072         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
28073         HAVE_LONGLONG_64BIT.
28074
28075 2005-03-16  Bruno Haible  <bruno@clisp.org>
28076
28077         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
28078         HAVE_LONGLONG_64BIT.
28079
28080 2005-03-16  Bruno Haible  <bruno@clisp.org>
28081
28082         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
28083         HAVE_LONGLONG_64BIT.
28084
28085 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28086
28087         * lib/strftime.c (my_strftime): Prepend space to format so that we can
28088         reliably distinguish strftime failure from empty output on POSIX
28089         hosts.
28090
28091 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28092
28093         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
28094         (iconv_string): Don't guess a size-zero buffer, as that might cause
28095         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
28096         result would be 'too large', where 'too large' is (heuristically)
28097         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
28098         overflow concerns.  This will prevent some unwanted malloc failures
28099         when the inputs are very large.
28100
28101 2005-03-15  Karl Berry  <karl@gnu.org>
28102
28103         * config/srclist.txt (config.rpath): from gettext.
28104         * config/config.rpath: update.
28105
28106 2005-03-15  Bruno Haible  <bruno@clisp.org>
28107
28108         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
28109         to 'negate'.
28110
28111         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
28112         variable.
28113
28114         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
28115         results.
28116
28117 2005-03-14  Simon Josefsson  <jas@extundo.com>
28118
28119         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
28120         <fx@gnu.org>.
28121
28122 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28123
28124         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
28125         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
28126         intprops.h.
28127         * lib/strtol.c: Likewise.
28128
28129 2005-03-14  Jim Meyering  <jim@meyering.net>
28130
28131         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
28132         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
28133         to be nonzero so that we (and caller) can detect the difference
28134         between a valid zero-length expansion and an error return, even
28135         when the underlying strftime fails before writing anything into
28136         that location.
28137
28138 2005-03-14  Bruno Haible  <bruno@clisp.org>
28139
28140         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
28141         Update from GNU gettext 0.14.3.
28142
28143 2005-03-10  Jim Meyering  <jim@meyering.net>
28144
28145         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
28146
28147 2005-03-10  Jim Meyering  <jim@meyering.net>
28148
28149         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
28150         so that this module works on systems without fchdir.
28151
28152 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
28153
28154         Factor int-properties macros into a single file, except for
28155         glibc-related files.
28156         * lib/intprops.h: New file.
28157         * lib/getloadavg.c: Include it instead of limits.h.
28158         (INT_STRLEN_BOUND): Remove.
28159         * lib/human.c: Include intprops.h.
28160         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
28161         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
28162         302/1000.
28163         * lib/inttostr.h: Include intprops.h instead of limits.h.
28164         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
28165         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
28166         for consistency with intprops.h.
28167         (time_t_is_integer, twos_complement_arithmetic): Use them.
28168         * lib/sig2str.h: Include <signal.h>, intprops.h.
28169         (INT_STRLEN_BOUND): Remove.
28170         * lib/strftime.c (TYPE_SIGNED): Remove.
28171         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
28172         * lib/strtol.c: Adjust comments to match intprops.h.
28173         * lib/userspec.c: Include intprops.h.
28174         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
28175         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
28176         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
28177         instead of rolling our own expressions.
28178         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
28179
28180         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
28181         instead of int.
28182         (my_strftime): Do not mishandle years close to INT_MAX, by doing
28183         the right thing even if adding 1900 would overflow.  Similarly
28184         for tm_mon + 1 and tm_yday + 1.
28185         Make %Y always equivalent to %C%y, and similarly for %G and %g.
28186         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
28187         (DO_SIGNED_NUMBER): New macro.
28188         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
28189
28190 2005-03-07  Bruno Haible  <bruno@clisp.org>
28191
28192         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
28193
28194 2005-03-07  Bruno Haible  <bruno@clisp.org>
28195
28196         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
28197
28198 2005-03-04  Derek R. Price  <derek@ximbiot.com>
28199
28200         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
28201         (func_import): Only replace files via --import when they have actually
28202         changed.
28203
28204 2005-03-03  Derek R. Price  <derek@ximbiot.com>
28205
28206         * m4/mmap-anon.m4: New file.
28207         * m4/pagealign_alloc.m4: New file.
28208
28209 2005-03-03  Derek R. Price  <derek@ximbiot.com>
28210             Bruno Haible  <bruno@clisp.org>
28211
28212         * modules/pagealign_alloc: New file.
28213         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
28214
28215 2005-03-03  Derek R. Price  <derek@ximbiot.com>
28216             Bruno Haible  <bruno@clisp.org>
28217
28218         * lib/pagealign_alloc.h: New file.
28219         * lib/pagealign_alloc.c: New file.
28220
28221 2005-03-03  Bruno Haible  <bruno@clisp.org>
28222
28223         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
28224         Use an all-permissive copyright notice, recommended by RMS.
28225
28226 2005-03-02  Bruno Haible  <bruno@clisp.org>
28227
28228         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
28229         of AIX, the replacement has to be done only after <string.h> is
28230         included, therefore not in config.h. stpncpy.h does the replacement,
28231         and stpncpy.c uses it.
28232
28233 2005-03-02  Bruno Haible  <bruno@clisp.org>
28234
28235         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
28236         stpncpy.c uses it.
28237
28238 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28239
28240         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
28241         The workaround isn't strictly needed for POSIX conformance, and
28242         it's too much of a pain to configure and maintain.  We'll ask
28243         people to fix their kernels instead.
28244         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
28245         (NANOSLEEP_BUG_WORKAROUND): Remove.
28246         (xnanosleep): Remove the workaround.
28247
28248 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28249
28250         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
28251         Reported by Derek Price.
28252         (Include): Add "timespec.h".
28253
28254         * modules/xnanosleep (Depends-on): Remove gethrxtime.
28255
28256 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28257
28258         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
28259         to detect nanosleep bug.
28260
28261 2005-03-01  Bruno Haible  <bruno@clisp.org>
28262
28263         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
28264
28265 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
28266
28267         * modules/gethrxtime: New file.
28268         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
28269         (Depends-on): Add gethrxtime.
28270         (configure.ac): Add gl_XNANOSLEEP.
28271         (Makefile.am): Remove lib_SOURCES line.
28272
28273 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
28274
28275         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
28276         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
28277
28278 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
28279
28280         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
28281         * lib/timespec.h (gettime): Return void, since it always
28282         succeeds now.  All uses changed.
28283         * lib/gettime.c (gettime) Likewise.
28284         [HAVE_NANOTIME]: Prefer nanotime.
28285         Assume gettimeofday succeeds, as POSIX requires.
28286         Assime time () succeeds, since other code already does.
28287         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
28288         (timespec_subtract): Remove.
28289         (NANOSLEEP_BUG_WORKAROUND): New constant.
28290         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
28291         things considerably.  Use it only on GNU/Linux hosts, since the
28292         workaround shouldn't be needed elsewhere.
28293
28294 2005-02-24  Bruno Haible  <bruno@clisp.org>
28295
28296         * modules/gettext (Files): Add m4/glibc2.m4.
28297
28298 2005-02-24  Bruno Haible  <bruno@clisp.org>
28299
28300         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
28301         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
28302         * m4/progtest.m4:
28303         Update from GNU gettext 0.14.2.
28304         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
28305
28306 2005-02-24  Bruno Haible  <bruno@clisp.org>
28307
28308         * lib/localcharset.c: Update from GNU gettext 0.14.2.
28309         * lib/config.charset: Update from GNU gettext 0.14.2.
28310
28311 2005-02-24  Bruno Haible  <bruno@clisp.org>
28312
28313         * lib/gettext.h: Update from GNU gettext 0.14.2.
28314
28315 2005-02-23  Simon Josefsson  <jas@extundo.com>
28316
28317         * m4/iconvme.m4: New file.
28318
28319 2005-02-23  Jim Meyering  <jim@meyering.net>
28320
28321         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
28322         change.
28323         Thanks to Bruno Haible for catching it.
28324
28325 2005-02-22  Simon Josefsson  <jas@extundo.com>
28326
28327         * modules/iconvme: New file.
28328
28329         * MODULES.html.sh: Add iconvme.
28330
28331 2005-02-22  Simon Josefsson  <jas@extundo.com>
28332
28333         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
28334
28335 2005-02-22  Simon Josefsson  <jas@extundo.com>
28336
28337         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
28338
28339 2005-02-22  Jim Meyering  <jim@meyering.net>
28340
28341         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
28342         s/ifndef/ifdef/.
28343
28344 2005-02-20  Neil Conway  <neilc@samurai.com>
28345
28346         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
28347         returned by OSX/Darwin if the specified buffer is not large
28348         enough for the hostname.
28349
28350 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28351
28352         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
28353         pass it to _help, otherwise the latter coredumps trying to
28354         dereference state.root_argp.
28355
28356 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
28357
28358         * modules/chdir-long (Depends-on): Add memrchr.
28359         * modules/memrchr (Files): Add lib/memrchr.h.
28360         (Include): "memrchr.h".
28361
28362 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
28363
28364         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
28365
28366 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
28367
28368         * lib/memrchr.h: New file.
28369         * lib/chdir-long.c: Include it.
28370         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
28371         Don't bother including stddef.h.
28372
28373 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
28374
28375         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
28376         inclusion.
28377         Include <sys/types.h>, for dev_t.
28378         (ME_DUMMY, ME_REMOTE): Move from here....
28379         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
28380         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
28381         Dmitry V. Levin.
28382         Include mountlist.h first, to test the interface.
28383
28384 2005-01-29  Bruno Haible  <bruno@clisp.org>
28385
28386         * lib/progname.c (program_name): Initialize.
28387         Needed when linking statically on MacOS X.
28388
28389 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
28390
28391         Sync from coreutils.
28392         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
28393         (Depends-on): Add c-strtod.
28394         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
28395
28396 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
28397
28398         Sync from coreutils.
28399         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
28400
28401         Remove files that are specific to coreutils.
28402         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
28403
28404 2005-01-28  Bruno Haible  <bruno@clisp.org>
28405
28406         * modules/javacomp: New file.
28407         * MODULES.html.sh (Java): Add javacomp.
28408
28409 2005-01-28  Bruno Haible  <bruno@clisp.org>
28410
28411         * m4/javacomp.m4: New file, from GNU gettext.
28412
28413 2005-01-28  Bruno Haible  <bruno@clisp.org>
28414
28415         * lib/javacomp.sh.in: New file, from GNU gettext.
28416         * lib/javacomp.h: New file, from GNU gettext.
28417         * lib/javacomp.c: New file, from GNU gettext.
28418
28419 2005-01-26  Simon Josefsson  <jas@extundo.com>
28420
28421         * lib/gai_strerror.c: Use GPL in header.
28422
28423 2005-01-26  Bruno Haible  <bruno@clisp.org>
28424
28425         * modules/javaexec: New file.
28426         * MODULES.html.sh (Java): Add javaexec.
28427
28428 2005-01-26  Bruno Haible  <bruno@clisp.org>
28429
28430         * m4/javaexec.m4: New file, from GNU gettext.
28431
28432 2005-01-26  Bruno Haible  <bruno@clisp.org>
28433
28434         * lib/javaexec.sh.in: New file, from GNU gettext.
28435         * lib/javaexec.h: New file, from GNU gettext.
28436         * lib/javaexec.c: New file, from GNU gettext.
28437
28438 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28439
28440         * modules/lchown (Depends-on): Remove lchown.h
28441
28442 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28443
28444         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
28445         must be defined if the header file was not found, in order
28446         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
28447
28448 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28449
28450         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
28451         initializers for struct pentry_state.
28452         (__argp_error): Check return value of __asprintf
28453         (__argp_failure): Translate error message
28454
28455         * lib/argp-parse.c: Removed braces around the expansion of N_()
28456
28457 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28458
28459         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
28460         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
28461         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
28462         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
28463         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
28464         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
28465         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
28466         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
28467         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
28468         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
28469         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
28470         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
28471         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
28472         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
28473         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
28474         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
28475         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
28476         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
28477         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
28478         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
28479         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
28480         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
28481         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
28482         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
28483         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
28484         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
28485         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
28486         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
28487         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
28488         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
28489         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
28490         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
28491         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
28492         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
28493         xstrtol.m4, xstrtoumax.m4, yesno.m4:
28494         Use an all-permissive copyright notice, recommended by RMS.
28495
28496 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
28497
28498         * modules/chdir-long (Depends-on): Remove mempcpy.
28499
28500 2005-01-21  Jim Meyering  <jim@meyering.net>
28501
28502         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
28503         same value as for Solaris 9.
28504
28505         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
28506         component length.  This included changing the parameter to be
28507         of type `char *' rather than `char const *'.
28508         * lib/chdir-long.h (chdir_long): Update prototype.
28509
28510         * lib/openat.c (fdopendir, fstatat): New functions.
28511         * lib/openat.h: Include headers required for use of DIR and struct
28512         stat.
28513         [AT_SYMLINK_NOFOLLOW]: Define.
28514         (fdopendir, fstatat): Add prototypes.
28515
28516 2005-01-21  Bruno Haible  <bruno@clisp.org>
28517
28518         * modules/classpath: New file.
28519         * MODULES.html.sh (Java): Add classpath.
28520
28521 2005-01-21  Bruno Haible  <bruno@clisp.org>
28522
28523         * lib/classpath.h: New file, from GNU gettext.
28524         * lib/classpath.c: New file, from GNU gettext.
28525
28526 2005-01-20  Simon Josefsson  <jas@extundo.com>
28527
28528         * modules/version-etc-fsf: New file.
28529
28530 2005-01-20  Simon Josefsson  <jas@extundo.com>
28531
28532         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
28533         * lib/version-etc.c: Remove version_etc_copyright.
28534         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
28535         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
28536
28537 2005-01-20  Simon Josefsson  <jas@extundo.com>
28538
28539         * lib/base64.h (isbase64): Add.
28540
28541         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
28542         using a unsigned prototype, don't inline.
28543         (base64_decode): Use it.
28544
28545 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
28546
28547         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
28548         it.
28549
28550 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
28551
28552         * lib/save-cwd.c (save_cwd): Remove code to support the case
28553         where fchdir is missing or flaky.
28554
28555 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
28556
28557         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
28558
28559 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
28560
28561         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
28562         AC_LIBSOURCES now does this.
28563         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
28564         with new ullong_max module.
28565
28566 2005-01-19  Bruno Haible  <bruno@clisp.org>
28567
28568         * modules/sh-quote: New file.
28569         * MODULES.html.sh (Executing programs): Add sh-quote.
28570
28571 2005-01-19  Bruno Haible  <bruno@clisp.org>
28572
28573         * lib/sh-quote.h: New file, from GNU gettext.
28574         * lib/sh-quote.c: New file, from GNU gettext.
28575
28576 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28577
28578         Merge from coreutils.
28579         * m4/ullong_max.m4: New file.
28580         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
28581         (gl_MACROS): Assume localeconv exists.
28582
28583 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28584
28585         Merge changes from coreutils, as described below in several
28586         changelogs dated today.
28587
28588         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
28589         (O_DIRECTORY): Remove; not needed here, since "." must be
28590         a directory.  All uses removed.
28591         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
28592         universal on Suns, and we also need to test for IRIX.
28593         Revamp code to use 'if' rather than '#if'.
28594         Avoid unnecessary comparison of cwd->desc to 0.
28595
28596         * lib/utimens.c (futimens): Robustify the previous patch, by checking
28597         for known valid error numbers rather than observed invalid ones.
28598
28599 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28600
28601         * modules/ullong_max: New file.
28602
28603         * modules/chdir-long, modules/openat: New files.
28604         * modules/save-cwd (Depends-on): Depend on chdir-long.
28605         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
28606
28607 2005-01-18  Jim Meyering  <jim@meyering.net>
28608
28609         Merge from coreutils.
28610         * m4/chdir-long.m4, m4/openat.m4: New files.
28611         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
28612         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
28613         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
28614         is sane and DOES follow symlinks.  Besides, testing 20 different
28615         systems found no broken chown implementations.
28616         Prompted by a change in rsync's copy of this macro.
28617         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
28618
28619         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
28620
28621         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
28622         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
28623         NULL-means-set-to-current-time semantics.
28624         Remove temporary file immediately, rather than waiting
28625         for configure's at-exit trap code to do it.
28626
28627 2005-01-18  Jim Meyering  <jim@meyering.net>
28628
28629         * lib/version-etc.c (version_etc_copyright): Update copyright date.
28630
28631         * lib/utimens.c (futimens): Account for the fact that futimes
28632         can also fail with errno == ENOSYS or errno == ENOENT.
28633         Patch from Dmitry V. Levin.
28634
28635         Change the name of the robust chdir function from chdir to chdir_long.
28636         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
28637         (restore_cwd): Use chdir_long, not chdir.
28638         * lib/chdir-long.c: Renamed from chdir.c.
28639         * lib/chdir-long.h: Renamed from chdir.h.
28640         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
28641         Hurd.
28642
28643 2005-01-18  Bruno Haible  <bruno@clisp.org>
28644
28645         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
28646         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
28647         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
28648         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
28649         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
28650         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
28651         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
28652         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
28653         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
28654         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
28655         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
28656         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
28657         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
28658         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
28659         Use an all-permissive copyright notice, recommended by RMS.
28660
28661 2005-01-18  Bob Proulx  <bob@proulx.com>
28662
28663         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
28664         simplify offsetof() macro construct to avoid compile failure with
28665         native HP-UX 11.0 ANSI C compiler.
28666
28667 2005-01-17  Bruno Haible  <bruno@clisp.org>
28668
28669         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
28670         redundant because stpncpy.m4 takes care of it.
28671
28672 2005-01-17  Bruno Haible  <bruno@clisp.org>
28673
28674         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
28675
28676 2005-01-17  Bruno Haible  <bruno@clisp.org>
28677
28678         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
28679         used.
28680
28681 2005-01-17  Bruno Haible  <bruno@clisp.org>
28682
28683         * lib/fwriteerror.h (fwriteerror): Change specification to include
28684         fclose.
28685         * lib/fwriteerror.c: Include <stdbool.h>.
28686         (fwriteerror): At the end, close the file stream. Record whether
28687         stdout was already closed.
28688
28689 2005-01-17  Bruno Haible  <bruno@clisp.org>
28690
28691         * lib/execute.c (environ): Declare if needed.
28692         * lib/pipe.c (environ): Likewise.
28693         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
28694
28695 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28696
28697         * modules/argp: Depend on vsnprintf
28698
28699 2005-01-10  Jim Meyering  <jim@meyering.net>
28700
28701         * modules/closeout (Depends-on): Add atexit.
28702
28703 2005-01-06  Bruno Haible  <bruno@clisp.org>
28704
28705         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
28706
28707 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
28708
28709         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
28710         definitions to be after all include files, to avoid collisions.
28711         Problem reported by Bob Proulx.
28712
28713 2005-01-04  Jim Meyering  <jim@meyering.net>
28714
28715         Changes imported from coreutils.
28716         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
28717         as the mkstemp template, use a temporary directory and an
28718         8.3-friendly template to avoid trouble on systems like DJGPP.
28719         Reported by Juan M. Guerrero via Stepan Kasal.
28720         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
28721         close. Remove the temporary directory right away, rather than waiting
28722         for configure's at-exit trap code to do it.
28723         Suggestion from Stepan Kasal.
28724
28725 2005-01-01  Simon Josefsson  <jas@extundo.com>
28726
28727         * gnulib-tool: Print #include directives when --import'ing.
28728
28729 2004-12-28  Simon Josefsson  <jas@extundo.com>
28730
28731         * tests/test-base64.c: Include required header files.  Remove
28732         unused variables.
28733
28734 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
28735
28736         * modules/error (Depends-on): Remove gettext.
28737
28738 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
28739
28740         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
28741         not needed.  This removes a dependency on the gettext module.
28742         [defined _LIBC]: Do not include <libintl.h>; not needed.
28743
28744 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
28745
28746         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
28747         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
28748
28749 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
28750
28751         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
28752         HAVE_DECL_STRTOLD.
28753
28754 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
28755
28756         * modules/getdate (Depends-on): Remove alloca-opt.
28757
28758 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
28759
28760         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
28761
28762 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
28763
28764         * lib/argp-parse.c: Include <stddef.h>.
28765         (alignof, alignto): New macros.
28766         (parser_init): Don't assume that void * is aligned sufficiently
28767         for struct option.
28768
28769         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
28770         need to extend the stack.
28771         (YYINITDEPTH): New macro, so that the initial stack isn't overly
28772         large.
28773
28774 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
28775
28776         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
28777
28778 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
28779
28780         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
28781         (2004-10-24) change.  Apparently this was a false alarm.
28782
28783         * modules/getdate: Depend on alloca-opt, not alloca.
28784
28785 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
28786
28787         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
28788         Remove now-obsolete comment about AIX.
28789         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
28790         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
28791         (YYMAXDEPTH): New macro.
28792
28793 2004-12-18  Simon Josefsson  <jas@extundo.com>
28794
28795         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
28796
28797 2004-12-18  Bruno Haible  <bruno@clisp.org>
28798
28799         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
28800
28801 2004-12-18  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/fatal-signal.c (fatal_signals): Make non-const.
28804         (init_fatal_signals): New function.
28805         (uninstall_handlers, install_handlers): Ignore signals that were set to
28806         SIG_IGN.
28807         (at_fatal_signal): Call init_fatal_signals.
28808         (init_fatal_signal_set): Likewise. Ignore signals that were set to
28809         SIG_IGN.
28810         Reported by Paul Eggert.
28811
28812 2004-12-18  Bruno Haible  <bruno@clisp.org>
28813
28814         * doc/alloca.texi: New file.
28815         * doc/alloca-opt.texi: New file.
28816
28817 2004-12-17  Jim Meyering  <jim@meyering.net>
28818
28819         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
28820         Otherwise, install-sh could exit with improper exit status when
28821         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
28822
28823 2004-12-16  Simon Josefsson  <jas@extundo.com>
28824
28825         * tests/test-base64.c: Add license.
28826
28827 2004-12-15  Stepan Kasal  <address@hidden>
28828
28829         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
28830
28831 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
28832
28833         * modules/getcwd (Files): Add m4/d-ino.m4.
28834         Suggested by Mark D. Baushke.
28835
28836 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
28837
28838         * lib/getdate.y (textint): New member "negative".
28839         (time_zone_hhmm): New function.
28840         Expect 14 shift-reduce conflicts, not 13.
28841         (o_colon_minutes): New rule.
28842         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
28843         (yylex): Set the "negative" member of signed numbers.
28844
28845 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
28846
28847         * doc/getdate.texi (Time of day items, Time zone items):
28848         Describe new formats +00:00, UTC+00:00.
28849
28850 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28851
28852         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
28853         spurious "-l"s.  Problem reported by Stepan Kasal.
28854
28855 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
28856
28857         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
28858         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
28859
28860 2004-12-04  Simon Josefsson  <jas@extundo.com>
28861
28862         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
28863         Vandoorselaere <yoann@prelude-ids.org>.
28864
28865 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
28866
28867         Changes imported from coreutils.
28868         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
28869         exist.
28870         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
28871
28872 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
28873
28874         Changes imported from coreutils.
28875         * lib/hard-locale.c: Assume <locale.h> exists.
28876         Include "strdup.h".
28877         (GLIBC_VERSION): New macro.
28878         (hard_locale): Assume setlocale exists.
28879         Rewrite to avoid #ifdef.
28880         Use strdup rather than malloc + strcpy.
28881         * lib/human.c: Assume <locale.h> exists.
28882         (human_readable): Assume localeconv exists.
28883
28884 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
28885
28886         * modules/hard-locale (Depends-on): Add strdup.
28887
28888 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
28889
28890         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
28891         convert T2, not T.  (Imported from libc.)
28892
28893 2004-11-30  Simon Josefsson  <jas@extundo.com>
28894
28895         * modules/restrict (License): Change to LGPL.
28896
28897 2004-11-30  Simon Josefsson  <jas@extundo.com>
28898
28899         * m4/restrict.m4: Add copyright and copying conditions.
28900
28901 2004-11-30  Simon Josefsson  <jas@extundo.com>
28902
28903         * m4/base64.m4: New file.
28904
28905 2004-11-30  Simon Josefsson  <jas@extundo.com>
28906
28907         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
28908         base64.
28909
28910         * tests/test-base64.c: New file.
28911
28912         * modules/base64: New file.
28913
28914 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
28915
28916         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
28917         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
28918
28919         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
28920
28921 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
28922
28923         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
28924         (__getcwd.c): Don't restore errno; glibc doesn't.
28925         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
28926         first, falling back to our code only if its results look suspicious.
28927         Ensure that the resulting buffer is only as large as necessary.
28928
28929         * lib/readutmp.c: Include readutmp.h first.
28930         Include <errno.h>, since readutmp.h no longer does that.
28931         * lib/readutmp.h: Don't include <errno.h>,
28932         <sys/param.h>, <time.h>; not needed to establish interface.
28933         (errno): Remove decl.
28934         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
28935         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
28936         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
28937
28938 2004-11-28  Simon Josefsson  <jas@extundo.com>
28939
28940         * lib/base64.h, base64.c: New file.
28941
28942 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
28943
28944         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
28945
28946 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
28947
28948         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
28949         (Depends-on): Remove pathmax, same.  Add mempcpy.
28950         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
28951         (Makefile.am): Append getcwd.h to lib_SOURCES.
28952         (Include): Add getcwd.h.
28953         (Maintainer): Change from Jim Meyering to "all, glibc",
28954         since getdate now uses intended-for-glibc code.
28955         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
28956         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
28957
28958 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28959
28960         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
28961         HP's ANSI C compiler.
28962         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
28963         Declaring int functions causes warnings on some modern systems and
28964         shouldn't be needed to compile on ancient ones.
28965         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
28966         defined.
28967
28968         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
28969         with the following changes.
28970         (__set_errno): Parenthesize properly.
28971         Include <stdbool.h>.
28972         (MIN, MAX, MATCHING_INO): New macros.
28973         (__getcwd): Define with prototype, not K&R form.
28974         Use heuristics to allocate default buffer on stack if possible.
28975         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
28976         behavior, and to avoid the PATH_MAX limit when computing
28977         ../../../../...
28978         Use MATCHING_INO to compare inode number to file.
28979         Check for arithmetic overflow in size calculations.
28980         Fix bug in reallocation of dot array that caused getcwd to fail
28981         on directories nested deeper than 75.
28982         Be more careful about saving errno on error.
28983         Do not use realloc; use only free+malloc, as this is a bit
28984         more flexible and avoids a needless copy operation.
28985         Do not inspect st_dev and st_ino for symbolic links; POSIX
28986         doesn't specify the latter.
28987         Check for closedir errors.
28988         Avoid needless casts.
28989         Use "#ifdef weak_alias" around weak_alias, to be like other
28990         glibc code.
28991         The following changes to getcwd.c have effect only when used in
28992         gnulib; they have no effect inside glibc proper.
28993         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
28994         as alloca isn't used.
28995         (alloca, __alloca): Likewise.
28996         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
28997         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
28998         unconditionally, as gnulib assumes C89 or better.
28999         Do not include <sys/param.h>.
29000         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
29001         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
29002         better.
29003         (NULL) [!defined NULL]: Remove; we assume C89 or better.
29004         Include <dirent.h> in a way that is compatible with modern Autoconf.
29005         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
29006         New macros, if not already defined.
29007         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
29008         Use "_LIBC", not "defined _LIBC", for consistency.
29009         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
29010         a mempcpy module.
29011         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
29012         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
29013         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
29014         credit only to Jim Meyering and adjust the copyright dates.
29015         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
29016         <stdlib.h>, <unistd.h>, "pathmax.h".
29017         Instead, include "xgetcwd.h" (first) and "getcwd.h".
29018         (INITIAL_BUFFER_SIZE): Remove.
29019         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
29020
29021 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
29022
29023         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
29024         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
29025         Use the _ONCE methods, for efficiency.
29026         Check for fcntl.h.  In test program, include <errno.h>
29027         and <fcntl.h> if available.  Remove old K&R cruft from
29028         test program.  Check for common errors in GNU/Linux,
29029         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
29030         don't do AC_LIBOBJ, as that's getcwd.m4's job.
29031         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
29032         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
29033         name accordingly.
29034         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
29035         accommodate new getcwd.c.
29036         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
29037         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
29038         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
29039         that's all we need now.
29040
29041 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
29042
29043         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
29044         argp-parse.c depends on getopt internals, that means we should
29045         always use our getopt, to be on the safe side.
29046         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
29047         order not to spoil the result of an eventual previous invocation
29048         of gl_GETOPT_SUBSTITUTE.
29049
29050 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
29051
29052         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
29053         redefinition warnings. To avoid them, include the defines
29054         in `#if !defined __need_getopt ... #endif'. The only place
29055         where __getopt_argv_const is used is in definitions
29056         of getopt_long and getopt_long_only below, which are as well
29057         protected by `#ifndef __need_getopt'.
29058         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
29059         __need_getopt after including <stdio.h> and <unistd.h> These
29060         headers might have defined it.
29061
29062 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
29063
29064         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
29065
29066 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
29067
29068         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
29069         (futimens): New function, which uses futimes if available.
29070         (futimens, utimens): Support timespec==NULL, with same semantics
29071         as utime and utimens.
29072         * lib/utimens.h (futimens): New decl.
29073
29074 2004-11-23  Jim Meyering  <jim@meyering.net>
29075
29076         * lib/getopt_.h: Remove trailing blanks.
29077
29078 2004-11-23  Jim Meyering  <jim@meyering.net>
29079
29080         * lib/__fpending.c: Add comment.
29081
29082 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
29083
29084         * modules/canonicalize (Depends-on): Add xreadlink.
29085         Problem reported by James Youngman.
29086
29087 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29088
29089         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
29090         New macros.
29091         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
29092         optopt): Use them instead of invoking ## directly; otherwise, the
29093         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
29094
29095 2004-11-19  Bruno Haible  <bruno@clisp.org>
29096
29097         * lib/strtok_r.c: Move comments from here...
29098         * lib/strtok_r.h: ... to here.
29099
29100 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29101
29102         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
29103         implementations that mishandle size_t overflow.
29104
29105 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29106
29107         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
29108         might fail.  Problem reported by Yoann Vandoorselaere.
29109         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
29110         implementations that mishandle size_t overflow.
29111
29112 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29113
29114         * modules/canon-host (Depends-on): Add strdup.
29115
29116 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29117
29118         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
29119
29120 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29121
29122         * lib/canon-host.c: Include "strdup.h".
29123         (canon_host): Use getaddrinfo if available, so that IPv6 works.
29124         Use strdup instead of malloc/strcpy to duplicate strings.
29125
29126         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
29127         (human_space_before_unit): New constant.
29128         * lib/human.c (human_readable): Support it.
29129
29130         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
29131         (xgetcwd): Set errno correctly when failing.
29132         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
29133         the failure is actually due to a PATH_MAX problem.
29134
29135         Further getopt changes to make it more likely that glibc will
29136         buy the changes back.
29137         * lib/getopt.c (POSIXLY_CORRECT): New constant.
29138         (getopt): Use it, so to preserve glibc semantic
29139         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
29140         when compiling for libc.
29141         * lib/getopt_.h (__getopt_argv_const): Bring it back.
29142         (getopt_long, getopt_long_only): Use it.
29143
29144         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
29145         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
29146         (getopt): Argv is now char * const *, as per standard.
29147         (_getopt_internal_r, _getopt_internal): Argv is now char **,
29148         not char *__getopt_argv_const *.
29149         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
29150         _getopt_long_only_r): Likewise.
29151         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
29152         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
29153         _getopt_long_r, _getopt_long_only_r): Likewise.
29154         * lib/getopt_.h (__getopt_argv_const): Remove.
29155         (getopt): Argv is now char * const *, as per standard.
29156
29157         * lib/getdate.y (tORDINAL): New token.
29158         (day, relunit): Allow it for relative times.
29159         (relative_time_table): Use tORDINAL for ordinals.
29160
29161 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29162
29163         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
29164         Document that "second" isn't allowed as an ordinal number.
29165
29166 2004-11-16  Jim Meyering  <jim@meyering.net>
29167
29168         * modules/closeout (Depends-on): Add fpending.
29169
29170 2004-11-15  Jim Meyering  <jim@meyering.net>
29171
29172         * lib/closeout.c: Include "__fpending.h" once again.
29173         Include <stdbool.h>.
29174         (close_stdout): Don't fail just because stdout was closed initially,
29175         since some programs don't write to stdout in the normal course of
29176         operation (other than --version and --help), and we don't want this
29177         function to make e.g. `touch file >&-' fail.
29178         But do fail if it was closed and someone has tried to write to it.
29179         E.g., `printf foo >&-' must fail.
29180
29181 2004-11-13  Jim Meyering  <jim@meyering.net>
29182
29183         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
29184
29185 2004-11-12  Simon Josefsson  <jas@extundo.com>
29186
29187         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
29188         small doc fix is still pending.
29189
29190 2004-11-11  Simon Josefsson  <jas@extundo.com>
29191
29192         * modules/strtok_r: New file.
29193
29194         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29195         strtok_r.
29196
29197 2004-11-11  Simon Josefsson  <jas@extundo.com>
29198
29199         * m4/strtok_r.m4: New file.
29200
29201         * m4/getopt.m4: Replace opterr.
29202
29203 2004-11-11  Simon Josefsson  <jas@extundo.com>
29204
29205         * lib/strtok_r.h, strtok_r.c: New file.
29206
29207 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
29208
29209         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
29210         of replacing opterr, getopt, etc.  This should handle the
29211         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
29212
29213 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
29214
29215         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
29216         we can stop lying to compilers about the constness of argv when we
29217         are compiled outside glibc.
29218         (getopt, getopt_long, getopt_long_only): Use it.
29219         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
29220         _getopt_internal, getopt): Likewise.
29221         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
29222         _getopt_long_only_r): Likewise.
29223         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
29224         _getopt_long_r, _getopt_long_only_r): Likewise.
29225
29226         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
29227         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
29228         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
29229         the other external symbols.
29230         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
29231         declaration, since the above renaming now works around collisions.
29232
29233 2004-11-11  Jim Meyering  <jim@meyering.net>
29234
29235         * lib/linebreak.c: Remove trailing blanks.
29236         * lib/alloca_.h: Likewise.
29237         * lib/acosl.c: Likewise.
29238         * lib/euidaccess.c: Likewise.
29239         * lib/allocsa.h: Likewise.
29240
29241 2004-11-10  Simon Josefsson  <jas@extundo.com>
29242
29243         * m4/getaddrinfo.m4: New file.
29244
29245 2004-11-10  Simon Josefsson  <jas@extundo.com>
29246
29247         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
29248
29249 2004-11-10  Simon Josefsson  <jas@extundo.com>
29250
29251         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29252         getaddrinfo.
29253
29254         * modules/getaddrinfo: New file.
29255
29256 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29257
29258         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
29259
29260 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29261
29262         * lib/mktime.c (SHR): New macro, which is a portable
29263         substitute for >> that should work even on Crays.
29264         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
29265         Problem reported by Mark D. Baushke in
29266         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
29267         * lib/getdate.y (SHR): Likewise.
29268         (tm_diff): Use it.
29269         * lib/strftime.c (SHR): Likewise.
29270         (tm_diff): Use it.
29271         * lib/quotearg.c (struct quoting_options): Use unsigned int for
29272         quote_these_too, so that right shifts are well defined.  All uses
29273         changed.
29274
29275 2004-11-10  Jim Meyering  <jim@meyering.net>
29276
29277         Ensure that no close failure goes unreported.
29278         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
29279         return early when it seems there's nothing to flush.
29280         Don't include __fpending.h.
29281
29282 2004-11-10  Jim Meyering  <jim@meyering.net>
29283
29284         * modules/closeout (Depends-on): Remove fpending.
29285
29286 2004-11-10  Jim Meyering  <jim@meyering.net>
29287
29288         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
29289
29290 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
29291
29292         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
29293         gl_FUNC_STRFTIME.
29294         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
29295         and AC_REQUIRE when possible, to avoid duplicate checks.
29296         Check for <wchar.h>.
29297
29298 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
29299
29300         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
29301
29302 2004-11-09  Bruno Haible  <bruno@clisp.org>
29303
29304         * m4/sockpfaf.m4: New file.
29305
29306 2004-11-05  Bruno Haible  <bruno@clisp.org>
29307
29308         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
29309         Reported by Mark D. Baushke <mdb@cvshome.org>.
29310
29311 2004-11-04  Bruno Haible  <bruno@clisp.org>
29312
29313         2004-09-11  Bruno Haible  <bruno@clisp.org>
29314                 * allocsa.valgrind: New file.
29315         2004-02-06  Bruno Haible  <bruno@clisp.org>
29316                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
29317                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
29318                 Reported by Christopher Seip <chris.seip@hp.com>.
29319
29320 2004-11-04  Bruno Haible  <bruno@clisp.org>
29321
29322         * modules/allocsa (Files): Add lib/allocsa.valgrind.
29323         (Makefile.am): Distribute it.
29324
29325 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
29326
29327         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
29328         with errno == ERANGE if the buffer is too small.
29329         Problem reported by Mark D. Baushke.
29330
29331 2004-11-03  Albert Chin  <china@thewrittenword.com>
29332             Paul Eggert  <eggert@cs.ucla.edu>
29333
29334         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
29335         equivalent, substitute $ac_type for equivalent type rather than
29336         blindly using uint32_t *always* which won't work if uint32_t is not
29337         available.  Define _UINT32_T to work around typedef of uint32_t if
29338         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
29339         2.5.1.
29340
29341 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
29342
29343         * m4/jm-macros.m4: Sync from coreutils.
29344         (gl_MACROS): Check for mbrlen, for pathchk.
29345         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
29346
29347 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
29348
29349         * lib/xreadlink.c (MAXSIZE): New macro.
29350         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
29351         size does not exceed MAXSIZE.  Avoid cast.
29352         As suggested by Mark D. Baushke in
29353         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
29354         if readlink fails with buffer size just under MAXSIZE, try again
29355         with MAXSIZE.
29356
29357 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
29358
29359         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
29360
29361 2004-11-02  Derek R. Price  <derek@ximbiot.com>
29362         and  Paul Eggert  <eggert@cs.ucla.edu>
29363
29364         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
29365         (get_date): Overparenthesize to avoid GCC warning.
29366
29367 2004-11-02  Bruno Haible  <bruno@clisp.org>
29368
29369         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
29370         returns void.
29371
29372 2004-11-02  Bruno Haible  <bruno@clisp.org>
29373
29374         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
29375         function returns void.
29376
29377 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29378
29379         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
29380         fflush_unlocked, flockfile, funlockfile, funlockfile,
29381         fputs_unlocked, putc_unlocked.
29382
29383 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29384
29385         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
29386         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
29387         already declared.
29388
29389 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
29390
29391         * modules/getdate (Files): Add doc/getdate.texi.
29392         (Depends-on): Add setenv, xalloc.
29393
29394 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
29395
29396         * lib/getdate.y: Add support for TZ="foo" within a date string.
29397         Fix some bugs near time_t boundaries.  Reject dates with
29398         out-of-range components, e.g., "Sept 31".
29399         Include <stdlib.h>, "setenv.h", "xalloc.h".
29400         (ISDIGIT_LOCALE): Remove; unused.
29401         Note that the TZ and time functions used here are not reentrant.
29402         (mktime_ok, get_tz): New functions.
29403         (TZBUFSIZE): New constant.
29404         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
29405         This requires that we sometimes generate our own TZ="XXX..." setting.
29406
29407 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
29408
29409         * doc/getdate.texi: New file, from coreutils with modifications for
29410         the new TZ parsing.
29411
29412 2004-10-27  Derek R. Price  <derek@ximbiot.com>
29413
29414         * lib/mktime.c (not_equal_tm): Remove redundant check.
29415
29416 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
29417
29418         * modules/regex (lib_SOURCES): Add regex.c.
29419         Reported by James Youngman in
29420         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
29421
29422 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
29423
29424         * lib/getdate.y: Use Bison 1.875 features, and some minor
29425         code cleanups.  This change does not affect semantics.
29426         Don't include <stdlib.h>; no longer needed.
29427         Don't include unlocked-io.h; only the "#if TEST" code uses
29428         stdio, and performance isn't crucial there.
29429         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
29430         Bison 1.875 features as described below.
29431         All uses of "PC." replaced by "pc->".
29432         (YYSTYPE): Add a forward declaration.
29433         (yylex, yyerror): Use full prototypes in forward decls.
29434         Use "%pure-parser" rather than obsolescent "%pure_parser".
29435         Use %parse-param and %lex-param instead of obsolescent
29436         YYPARSE_PARAM and YYLEX_PARAM.
29437         (meridian_table, month_and_day_table, time_units_table,
29438         relative_time_table, time_zone_table, military_table,
29439         lookup_zone, lookup_word, get_date):
29440         Use NULL instead of 0 where appropriate.
29441         (to_hour): Avoid abort (), to avoid a dependency on
29442         stdlib.h.
29443         (yyerror, yylex): Now accepts parser_control * arg.
29444         (main) [TEST]: Use '\0' rather than 0 for char.
29445
29446 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
29447
29448         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
29449
29450 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
29451
29452         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
29453         It's now the caller's responsibility to handle the case where
29454         !HAVE_GETPAGESIZE && !defined getpagesize.
29455
29456         * lib/mktime.c (leapyear): Arg is long int, not int.
29457
29458 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29459
29460         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
29461
29462 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
29463
29464         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
29465         missing.  Problem reported by James Youngman.
29466
29467 2004-10-16  Simon Josefsson  <jas@extundo.com>
29468
29469         * gnulib-tool: Fix comments.  Fix parse problem.
29470         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
29471
29472 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
29473
29474         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
29475         implementation of getopt_long.  Problem reported by Alexander Taler in:
29476         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
29477
29478 2004-10-15  Bruno Haible  <bruno@clisp.org>
29479
29480         * gnulib-tool: Untabify. Initialize supplied_libname.
29481         (func_usage): More homogenous output.
29482         (func_modules_transitive_closure, func_modules_to_filelist,
29483         func_emit_lib_Makefile_am): New functions.
29484         (func_import): New function, extracted from big case statement. Use
29485         func_get_license, func_modules_transitive_closure,
29486         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
29487         opt_lgpl. Don't use test -a, as it's not portable.
29488         (func_create_testdir): Use func_modules_transitive_closure,
29489         func_modules_to_filelist, func_emit_lib_Makefile_am.
29490
29491 2004-10-15  Bruno Haible  <bruno@clisp.org>
29492
29493         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
29494
29495 2004-10-15  Bruno Haible  <bruno@clisp.org>
29496
29497         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
29498         the portions belonging to each module.
29499         Suggested by Derek Robert Price <derek@ximbiot.com>.
29500
29501 2004-10-12  Simon Josefsson  <jas@extundo.com>
29502
29503         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
29504         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
29505         to real functions.
29506
29507 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29508
29509         * modules/vsnprintf: New file.
29510
29511 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29512
29513         * m4/vsnprintf.m4: New file.
29514
29515 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29516
29517         * lib/vsnprintf.h: New file.
29518         * lib/vsnprintf.c: New file.
29519
29520 2004-10-11  Bruno Haible  <bruno@clisp.org>
29521
29522         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
29523         vsnprintf.
29524
29525 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29526
29527         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
29528
29529 2004-10-07  Bruno Haible  <bruno@clisp.org>
29530
29531         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
29532         fits into the provided buffer.
29533
29534 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29535
29536         * lib/diacrit.c, diacrit.h: Add GPL notice.
29537
29538         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
29539         notice.
29540         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
29541         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
29542         This avoids a potential constant-folding bug.
29543
29544 2004-10-05  Bruno Haible  <bruno@clisp.org>
29545
29546         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
29547         for the declaration of strsep.
29548
29549 2004-10-05  Bruno Haible  <bruno@clisp.org>
29550
29551         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
29552
29553 2004-10-04  Simon Josefsson  <jas@extundo.com>
29554
29555         * modules/memmem: New file.
29556         * tests/test-memmem.c: New file.
29557         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
29558
29559 2004-10-04  Simon Josefsson  <jas@extundo.com>
29560
29561         * m4/memmem.m4: New file.
29562
29563 2004-10-04  Simon Josefsson  <jas@extundo.com>
29564
29565         * lib/memmem.h: New file.
29566         * lib/memmem.c: New file, taken from glibc.
29567
29568 2004-10-04  Simon Josefsson  <jas@extundo.com>
29569
29570         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
29571         '#ifdef USE_UNLOCKED_IO'.
29572
29573 2004-10-04  Simon Josefsson  <jas@extundo.com>
29574
29575         * config/srclist.txt: Add memmem from glibc.
29576
29577 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
29578
29579         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
29580
29581         * modules/argmatch, modules/argp, modules/closeout, modules/error,
29582         modules/exclude, modules/getdate, modules/getline,
29583         modules/getndelim2, modules/getpass, modules/getpass-gnu,
29584         modules/getusershell, modules/linebuffer, modules/md5,
29585         modules/mountlist, modules/posixtm, modules/readtokens,
29586         modules/readutmp, modules/regex, modules/sha1,
29587         modules/version-etc, modules/yesno:
29588         Remove dependency on unlocked-io.
29589
29590 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
29591
29592         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
29593
29594         * m4/unlocked-io.m4: Add copyright notice.
29595         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
29596
29597 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
29598
29599         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
29600         * lib/xmalloc.c (xmemdup): Likewise.
29601         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
29602         XFREE): Remove these long-obsolescent macros.
29603         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
29604         * lib/xstrdup.c: Remove.
29605
29606         * lib/regex.c (re_comp): Cast gettext return value to char *,
29607         Problem reported by Martin Neitzel via Mark D. Baushke.
29608
29609 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
29610
29611         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
29612         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
29613         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
29614         regex.c, sha1.c, version-etc.c, yesno.c:
29615         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
29616         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
29617         the includer's responsibility.
29618
29619         Sync from coreutils.
29620
29621         * lib/modechange.c (mode_compile): Don't decrement a pointer that
29622         points to the start of a string, as the C Standard says the
29623         resulting behavior is undefined.
29624
29625         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
29626         simple -> simple_backups, numbered_existing ->
29627         numbered_existing_backups, numbered -> numbered_backups
29628         to avoid shadowing problems.  All uses changed.
29629         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
29630         * lib/backupfile.c (check_extension, numbered_backup):
29631         Rename locals to avoid shadowing 'basename'.
29632         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
29633         once.
29634
29635         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
29636         * lib/.cvsignore: Add getopt.h.
29637
29638 2004-10-04  Bruno Haible  <bruno@clisp.org>
29639
29640         * modules/README: New file.
29641         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
29642         not a module.
29643
29644 2004-10-02  Jim Meyering  <jim@meyering.net>
29645
29646         * lib/dirfd.h, getpagesize.h: Add copyright notice.
29647
29648 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29649
29650         * modules/strsep: New file.
29651
29652 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29653
29654         * m4/strsep.m4: New file.
29655
29656 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29657
29658         * lib/strsep.h: New file.
29659         * lib/strsep.c: New file.
29660
29661 2004-10-01  Simon Josefsson  <jas@extundo.com>
29662
29663         * lib/snprintf.c (snprintf): Handle size==0.
29664
29665 2004-10-01  Simon Josefsson  <jas@extundo.com>
29666             Bruno Haible  <bruno@clisp.org>
29667
29668         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
29669         (snprintf): Declare 'args'.
29670
29671 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
29672
29673         * lib/snprintf.c: Remove comments as to why each header is needed.
29674
29675 2004-10-01  Bruno Haible  <bruno@clisp.org>
29676
29677         * MODULES.html.sh: Add strsep.
29678
29679 2004-09-30  Simon Josefsson  <jas@extundo.com>
29680
29681         * modules/snprintf: New file.
29682
29683 2004-09-30  Simon Josefsson  <jas@extundo.com>
29684
29685         * m4/snprintf.m4: New file.
29686
29687 2004-09-30  Simon Josefsson  <jas@extundo.com>
29688
29689         * lib/snprintf.h, lib/snprintf.c: New files.
29690
29691 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
29692
29693         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
29694         (hol_entry_help): Never translate an empty string.
29695         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
29696         * lib/argp.h (OPTION_NO_TRANS): New option.
29697
29698 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
29699
29700         * modules/argp (Maintainer): Replace Simon Josefsson
29701         by Sergey Poznyakoff.
29702
29703 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
29704
29705         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
29706         changes merged back into glibc.
29707
29708 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
29709
29710         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
29711
29712 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
29713
29714         * lib/xvasprintf.c: Include xalloc.h.
29715         (xvasprintf): Use xalloc_die, not xmalloc_die.
29716
29717 2004-09-29  Bruno Haible  <bruno@clisp.org>
29718
29719         * modules/alloca-opt: New file, derived from modules/alloca.
29720         * modules/allocsa: Depend on alloca-opt instead of alloca.
29721         * modules/setenv: Likewise.
29722         * modules/vasnprintf: Likewise.
29723         * MODULES.html.sh: Add alloca-opt.
29724
29725 2004-09-28  Simon Josefsson  <jas@extundo.com>
29726
29727         * gnulib-tool: New parameter --lgpl, to asseert that modules are
29728         LGPL, and to replace license template from GPL to LGPL.
29729
29730 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
29731
29732         * modules/dummy: Change license to LGPL.
29733
29734 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
29735
29736         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
29737
29738 2004-09-24  Simon Josefsson  <jas@extundo.com>
29739
29740         * modules/minmax (License): Change from GPL to LGPL.
29741
29742 2004-09-23  Simon Josefsson  <jas@extundo.com>
29743
29744         * gnulib-tool (--import): Typo.
29745
29746 2004-09-23  Simon Josefsson  <jas@extundo.com>
29747
29748         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
29749
29750 2004-09-22  Bruno Haible  <bruno@clisp.org>
29751
29752         * modules/*: Add 'License' field.
29753         * gnulib-tool: Accept --extract-license option.
29754         (func_get_license): New function.
29755
29756 2004-09-21  Bruno Haible  <bruno@clisp.org>
29757
29758         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
29759         Reported by Simon Josefsson.
29760
29761 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29762
29763         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
29764         gl_AC_TYPE_LONG_LONG.
29765
29766 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29767
29768         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
29769
29770 2004-09-18  Simon Josefsson  <jas@extundo.com>
29771         and  Paul Eggert  <eggert@cs.ucla.edu>
29772
29773         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
29774         calls with autoreconf.  Define GL_LIB.
29775
29776 2004-09-14  Karl Berry  <karl@gnu.org>
29777
29778         * config/srclist.txt: unsync setenv.c, sigh.
29779
29780 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29781
29782         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
29783         Problem reported by Bruno Haible in:
29784         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
29785
29786 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29787
29788         * config/srclist.txt: Comment out argp-pvh.c.
29789
29790 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
29791
29792         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
29793         in case some system header has #define'd it.  Problem reported by
29794         Soeren D. Schulze in
29795         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
29796
29797 2004-09-09  Karl Berry  <karl@gnu.org>
29798
29799         * regex.[ch]: delete from the root.  These were supposed to be
29800                 synced with emacs cvs, but this has not happened for about
29801                 a year, and anyway nothing else uses emacs regex.[ch].
29802                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
29803                 lib/regex[.ch] is untouched.
29804
29805 2004-09-09  Bruno Haible  <bruno@clisp.org>
29806
29807         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
29808
29809 2004-09-09  Bruno Haible  <bruno@clisp.org>
29810
29811         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
29812         modifications.
29813         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
29814
29815 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
29816
29817         * modules/xvasprintf: New file.
29818         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
29819
29820 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
29821
29822         * lib/xvasprintf.h: New file.
29823         * lib/xvasprintf.c: New file.
29824         * lib/xasprintf.c: New file.
29825
29826 2004-09-08  Bruno Haible  <bruno@clisp.org>
29827
29828         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
29829
29830 2004-09-08  Bruno Haible  <bruno@clisp.org>
29831
29832         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
29833         length is > INT_MAX.
29834         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
29835         more.
29836
29837 2004-09-08  Bruno Haible  <bruno@clisp.org>
29838
29839         * lib/stdint_.h: New file, taken from GNU clisp.
29840
29841 2004-09-08  Bruno Haible  <bruno@clisp.org>
29842             Oskar Liljeblad  <oskar@osk.mine.nu>
29843
29844         * modules/stdint: New file.
29845         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
29846
29847 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
29848
29849         Import from coreutils.
29850         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
29851         strings on unbounded length.  alloca's performance benefits aren't
29852         that important here.
29853         (V_STRDUP): Remove.
29854         (parse_with_separator): New function, with most of the internals
29855         of the old parse_user_spec.  Allow user to omit both user and group,
29856         for compatibility with FreeBSD.
29857         Clone only the user name, not the entire spec.
29858         Do not set *uid, *gid unless entirely successful.
29859         Avoid memory leak in some failing cases.
29860         Fix regression for USER.GROUP reported by Dmitry V. Levin in
29861         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
29862         (parse_user_spec): Rewrite to use parse_with_separator.
29863
29864 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
29865
29866         * modules/userspec: Don't depend on alloca.
29867
29868 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
29869
29870         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
29871
29872 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
29873
29874         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
29875         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
29876         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
29877
29878 2004-08-16  Simon Josefsson  <jas@extundo.com>
29879
29880         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
29881         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
29882         Add --dry-run for --import.
29883         Let user provided command line parameters override configure.ac
29884         settings.
29885
29886 2004-08-12  Simon Josefsson  <jas@extundo.com>
29887
29888         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
29889         as discussed with Paul Eggert in threads rooted at
29890         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
29891         and
29892         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
29893         Before, the test was empty, and relied on ELIDE_CODE in source
29894         code.)
29895         (gl_PREREQ_GETOPT): New macro.
29896         (gl_GETOPT): Use them.
29897
29898 2004-08-12  Simon Josefsson  <jas@extundo.com>
29899
29900         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
29901         * lib/getopt_.h: Renamed from getopt.h.
29902
29903 2004-08-12  Simon Josefsson  <jas@extundo.com>
29904
29905         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
29906         Change default library name from libfoo to libgnu.
29907         Now, if you have a configure.ac that says:
29908                 gl_SOURCE_BASE(gl)
29909                 gl_M4_BASE(gl/m4)
29910                 gl_MODULES(error getopt etcetera)
29911                 gl_INIT
29912         you can import all you need by running:
29913                 ../gnulib/gnulib-tool --import
29914
29915         * modules/getopt (Files): Rename getopt.h to getopt_.h.
29916         (Makefile.am): Rewrite, use logic from argz.
29917         (Include): Use <getopt.h> instead of "getopt.h".
29918
29919 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
29920
29921         * modules/argp (Files): Add m4/unlocked-io.m4.
29922         (Depends-on): Add extensions.
29923
29924 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
29925
29926         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
29927         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
29928         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
29929         Check for program_invocation_name, program_invocation_short_name,
29930         flockfile, funlockfile, features.h, _getopt_long_only_r.
29931
29932 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
29933
29934         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
29935         its complicated substitute.
29936         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
29937         and program_invocation_name.
29938         (__argp_basename) [!_LIBC]: Remove; the only use was
29939         replaced by its body.
29940         (__argp_short_program_name): Change condition from
29941         !defined __argp_short_program_name to
29942         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
29943         to match argp-namefrob.h.
29944         (__argp_failure): Don't assume strerror_r returns char *.
29945         * lib/argp-parse.c (N_): Define unconditionally.
29946         (argp_default_options): Fill out initializers with 0 to avoid
29947         gcc warnings.
29948
29949 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
29950
29951         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
29952         getopt1.c.
29953
29954 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
29955
29956         Merge from coreutils.
29957
29958         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
29959
29960         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
29961         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
29962
29963 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
29964
29965         Merge from coreutils.
29966
29967         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
29968         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
29969         for Reliant Unix 5.43.
29970
29971         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
29972         (union fooround): Use uintmax_t, not long int.
29973         The rest is a merge from libc:
29974         [defined _LIBC]: Include <shlib-compat.h>.
29975         (_obstack) [defined _LIBC]: Remove after 2.3.4.
29976
29977         * lib/settime.c (settime): Recode to avoid warning with
29978         Sun Forte C 6U2.
29979
29980         * lib/strverscmp.c: Convert to UTF-8.
29981
29982 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
29983
29984         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
29985         m4/uintmax_t.m4.
29986
29987 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
29988
29989         * modules/xalloc-die: New file.
29990         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
29991
29992         * modules/md5 (Files): Add m4/uint32_t.m4.
29993         * modules/sha1: Renamed from modules/sha.
29994         (Files):
29995         Rename lib/sha.h to lib/sha1.h.
29996         Rename lib/sha.c to lib/sha1.c.
29997         Rename m4/sha.m4 to m4/sha1.m4.
29998         (lib_SOURCES): Likewise.
29999         (configure.ac): Rename gl_SHA to gl_SHA1.
30000         (Include): sha.h -> sha1.h.
30001
30002 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
30003
30004         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
30005         * m4/sha1.m4: Renamed from sha.m4.
30006         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
30007
30008 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
30009
30010         * lib/obstack.h (obstack_empty_p):
30011         Don't assume that chunk->contents is suitably aligned.
30012         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
30013         Likewise. Problem reported by Benno in
30014         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
30015
30016         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
30017         readable.  This could be improved further but it'd take some work.
30018
30019 2004-08-08  Simon Josefsson  <jas@extundo.com>
30020
30021         * modules/xgethostname (Depends-on): Remove exit and error (not
30022         used).
30023
30024         * modules/getpass-gnu: Add getpass.h.
30025         (Depends-on): Add stdbool.
30026         * modules/getpass: Add getpass.h.
30027
30028 2004-08-08  Simon Josefsson  <jas@extundo.com>
30029
30030         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
30031         Check getpass declaration.
30032
30033 2004-08-08  Simon Josefsson  <jas@extundo.com>
30034
30035         * lib/xgethostname.c: Don't include error.h (not used).
30036
30037         * lib/getpass.h: Add.
30038         * lib/getpass.c: Include getpass.h first.
30039
30040 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
30041
30042         * lib/xalloc-die.c: New file.
30043         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
30044         All uses removed.
30045         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
30046         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
30047         xalloc-die.c.
30048         (_, N_, xalloc_die): Move to xalloc-die.c.
30049         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
30050         so that we needn't mess with xalloc_msg_memory_exhausted.
30051
30052         * lib/sha1.h: Renamed from sha.h.
30053         (SHA1_H): Renamed from _SHA_H.
30054         (sha1_ctx): Renamed from sha_ctx.
30055         (sha1_init_ctx): Renamed from sha_init_ctx.
30056         (sha1_process_block): Renamed from sha_process_block.
30057         (sha1_process_bytes): Renamed from sha_process_bytes.
30058         (sha1_finish_ctx): Renamed from sha_finish_ctx.
30059         (sha1_read_ctx): Renamed from sha_read_ctx.
30060         (sha1_stream): Renamed from sha_stream.
30061         (sha1_buffer): Renamed from sha_buffer.
30062         * lib/sha1.c: Likewise; renamed from sha.c.
30063         Do not include <sys/types.h>.
30064         Include <stddef.h> rather than <stdlib.h>.
30065
30066 2004-08-08  Bruno Haible  <bruno@clisp.org>
30067
30068         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
30069         FILESYSTEM_PREFIX_LEN.
30070         * lib/progreloc.c: Likewise.
30071         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
30072
30073 2004-08-06  Simon Josefsson  <jas@extundo.com>
30074
30075         * modules/progname (Depends-on): Don't depend on stdbool.
30076
30077 2004-08-06  Simon Josefsson  <jas@extundo.com>
30078
30079         * modules/getsubopt: New file.
30080         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30081         getsubopt.
30082
30083 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30084
30085         More merge from coreutils.
30086
30087         * m4/utimens.m4, m4/utimecmp.m4: New files.
30088         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
30089         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
30090         prereq.m4, sha.m4: Import changes from coreutils.
30091
30092 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30093
30094         More merge from coreutils.
30095         * modules/raise, modules/readtokens0, modules/utimens:
30096         * modules/utimecmp, module/xnanosleep: New files.
30097         * modules/strftime: Add lib/strftime.h.
30098         Change include from <time.h> to "strftime.h".
30099         * modules/yesno: Add lib/yesno.h.
30100         * modules/backupfile: Remove lib/addext.c.
30101         * modules/euidaccess: Add stat-macros.h.
30102         * modules/canonicalize, modules/euidaccess,
30103         modules/filemode, modules/lchown, modules/makepath,
30104         modules/rmdir, modules/stat: Likewise.
30105
30106 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30107
30108         Merge from tar.
30109         * lib/argp-help.c (make_hol, hol_append): Don't assume that
30110         SIZE_MAX is a valid preprocessor constant.
30111         (__argp_basename): Change from "#ifndef _LIBC"
30112         to "#ifndef __argp_short_program_name", so that
30113         we don't compile these functions for tar.
30114
30115         More merges from coreutils.
30116         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
30117         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
30118         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
30119         * lib/addext.c: Remove; no longer needed.
30120         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
30121         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
30122         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
30123         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
30124         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
30125         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
30126         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
30127         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
30128         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
30129         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
30130         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
30131         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
30132         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
30133         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
30134         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
30135         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
30136         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
30137         Import changes from coreutils.
30138
30139 2004-08-05  Simon Josefsson  <jas@extundo.com>
30140
30141         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
30142
30143 2004-08-05  Simon Josefsson  <jas@extundo.com>
30144
30145         * m4/getsubopt.m4: New file.
30146
30147 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
30148
30149         Merge from coreutils.
30150
30151         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
30152         * m4/getcwd-path-max.m4: New files.
30153
30154         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
30155         FILESYSTEM_PREFIX_LEN ->
30156         FILE_SYSTEM_PREFIX_LEN.
30157         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
30158         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
30159         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
30160         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
30161
30162         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
30163         prerequisite modules now handle the DOS stuff.
30164         Don't check for unistd.h.
30165
30166 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
30167
30168         Merge from coreutils.
30169
30170         * lib/.gdb-history: Remove; this doesn't belong here.
30171
30172         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
30173         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
30174         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
30175         * lib/getcwd.c: New files.
30176
30177         * lib/dirname.h: Include <stdbool.h>.
30178         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
30179         for consistency with POSIX terminology.  All uses changed.
30180         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
30181         (strip_trailing_slashes): Use bool for booleans.
30182         * lib/stripslash.c (strip_trailing_slashes): Likewise.
30183
30184         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
30185         sometimes returns a positive errno value even when it succeeds.
30186         (print_errno_message) [!LIBC]: Fall back on strerror if
30187         __strerror_r fails.
30188
30189         * lib/path-concat.c (mempcpy): Don't define if a system header defines
30190         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
30191         (longest_relative_suffix): New function.
30192         (path_concat): Use it.  Assume first argument is not NULL.
30193         Port to DOS.  Omit redundant separators.
30194         Report an error instead of returning NULL.
30195         Use mempcpy instead of memcpy.
30196         (xpath_concat): Remove: not declared or used.
30197
30198         * lib/same.h: Include <stdbool.h>
30199         (same_name): Return bool, not int.
30200         * lib/same.c (same_name): Likewise.
30201         (errno): Don't declare; we assume C89 or better now.
30202
30203         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
30204         if not already defined.
30205
30206         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
30207         * lib/dup-safer.c (errno): Likewise.
30208
30209 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
30210
30211         Merge from coreutils.
30212         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
30213         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
30214         * modules/path-concat: Don't depend on strdup.
30215
30216 2004-08-03  Simon Josefsson  <jas@extundo.com>
30217
30218         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
30219         * lib/progname.h: Don't include stdbool.h.
30220
30221 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30222
30223         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
30224         * MODULES.html.sh (func_all_modules): Remove fatal.
30225
30226 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30227
30228         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
30229
30230 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30231
30232         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
30233         working.
30234
30235 2004-08-02  Simon Josefsson  <jas@extundo.com>
30236
30237         * lib/getsubopt.h: New file, with comments from Bruno Haible.
30238         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
30239         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
30240
30241 2004-08-01  Simon Josefsson  <jas@extundo.com>
30242
30243         * lib/xgetdomainname.c: Include stdlib.h, for free().
30244
30245 2004-07-19  Bruno Haible  <bruno@clisp.org>
30246
30247         * MODULES.html.sh (func_all_modules): Add dummy.
30248
30249 2004-07-16  Simon Josefsson  <jas@extundo.com>
30250
30251         * modules/dummy: New file.
30252
30253 2004-07-16  Simon Josefsson  <jas@extundo.com>
30254
30255         * lib/dummy.c: New file.
30256
30257 2004-07-16  Bruno Haible  <bruno@clisp.org>
30258
30259         * lib/backupfile.h: Add extern "C" for C++.
30260         * lib/closeout.h: Likewise.
30261         * lib/copy-file.h: Likewise.
30262         * lib/findprog.h: Likewise.
30263         * lib/full-write.h: Likewise.
30264         * lib/pathname.h: Likewise.
30265         * lib/progname.h: Likewise.
30266         * lib/stpcpy.h: Likewise.
30267         * lib/stpncpy.h: Likewise.
30268         * lib/strcase.h: Likewise.
30269         * lib/strstr.h: Likewise.
30270         * lib/xalloc.h: Likewise.
30271
30272         * lib/mbswidth.h: Add extern "C" for C++.
30273         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
30274
30275 2004-07-13  Robert Millan  <robertmh@gnu.org>
30276
30277         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
30278
30279 2004-07-09  Simon Josefsson  <jas@extundo.com>
30280
30281         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
30282         failed without this.)
30283
30284 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
30285
30286         * modules/chown (Files): Add lib/fchown-stub.c, since
30287         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
30288
30289 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
30290
30291         * lib/fchown-stub.c: New file.
30292
30293 2004-06-24  Jim Meyering  <jim@meyering.net>
30294
30295         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
30296
30297 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
30298
30299         * modules/argz: Omit "#include".
30300
30301         * MODULES.html.sh (func_all_modules): Add calloc, to match
30302         2004-06-01 addition of calloc module.
30303
30304 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
30305
30306         * m4/argz.m4: New file, which is autoupdated from libtool.
30307
30308 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
30309
30310         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
30311         libtool.
30312
30313 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
30314
30315         * config/srclist-update: Don't insist on "USA." before the
30316         close-comment, as libtool omits the period and puts the */ on a
30317         separate line.
30318         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
30319         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
30320
30321 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
30322
30323         * modules/argz: New file.
30324         * MODULES.html.sh (func_all_modules): Add argz.
30325
30326 2004-06-12  Jim Meyering  <jim@meyering.net>
30327         and  Paul Eggert  <eggert@cs.ucla.edu>
30328
30329         * modules/hash (Files): Add lib/xalloc.h.
30330         * modules/pipe (Depends-on): Add wait-process.
30331         * modules/stat (Depends-on): Add xalloc.
30332         * modules/userspec (Files): Add lib/userspec.h.
30333         * modules/xstrto
30334
30335         Upgrade from gettext-0.13.
30336         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
30337         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
30338         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
30339
30340 2004-06-10  Jim Meyering  <jim@meyering.net>
30341
30342         * lib/calloc.c: New file.
30343
30344 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30345
30346         * lib/getdate.y (yylex): Allow space between sign and number.
30347         Problem reported by Dan Jacobson.
30348
30349 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
30350
30351         Merge from coreutils CVS.
30352
30353         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
30354         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
30355         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
30356         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
30357         xstrtol.m4: Fix copyright date and/or serial number.
30358
30359         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
30360         See if we need an fchown replacement.
30361         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
30362         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
30363         and use the replacement function if we detect either defect.
30364
30365         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
30366         gl_UTIMECMP.
30367
30368 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
30369         and  Jim Meyering  <jim@meyering.net>
30370
30371         Merge from coreutils CVS.
30372
30373         * lib/stat-macros.h: New file, with contents from file-type.h
30374         and coreutils' system.h.
30375         * lib/file-type.c: Include "stat-macros.h".
30376         * lib/file-type.h (file_type): Move all macro definitions to new file,
30377         stat-macros.h.
30378
30379         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
30380         Wrap old code with this conditional.
30381         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
30382         function that does not dereference symlinks.
30383         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
30384
30385         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
30386         dependency problems.
30387         (xreadlink): Accept new arg SIZE, for efficiency.
30388         All decls and uses changed.
30389         * lib/xreadlink.h: Include <stddef.h>, for size_t.
30390
30391         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
30392         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
30393
30394         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
30395         sysexits.h.
30396
30397 2004-06-01  Jim Meyering  <jim@meyering.net>
30398
30399         * m4/calloc.m4: New file.
30400
30401 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
30402
30403         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
30404         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
30405         Also, fix a typo in a diagnostic.
30406
30407 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
30408
30409         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
30410         or AC_FUNC_REALLOC.
30411
30412 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
30413
30414         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
30415         macros to be defined.
30416         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
30417         the allocator returns NULL because the requested size is zero.
30418
30419 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
30420
30421         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
30422         var.  Add comment explaining why libc still defines it.  This
30423         merges the following patch from glibc:
30424         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
30425
30426 2004-05-20  Andreas Schwab  <schwab@suse.de>
30427
30428         * m4/free.m4: Replace free if it not known to work, not the other
30429         way round.
30430
30431 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
30432
30433         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
30434         present in glibc since revision 1.1 of this file.
30435         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
30436         obstack_alignment_mask, obstack_alloc, obstack_base,
30437         obstack_blank, obstack_blank_fast, obstack_chunk_size,
30438         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
30439         obstack_grow0, obstack_init, obstack_int_grow,
30440         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
30441         obstack_next_free, obstack_object_size, obstack_ptr_grow,
30442         obstack_ptr_grow_fast, obstack_room): Remove declarations of
30443         nonexistent functions.
30444
30445 2004-05-18  Karl Berry  <karl@gnu.org>
30446
30447         * config/srclist.txt: break link for vasnprintf.c.
30448
30449 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
30450
30451         Port obstack to the AS/400, where pointers are 16 bytes wide and
30452         you cannot cast an integer to a valid pointer.  This patch is
30453         currently waiting to be integrated into glibc; see
30454         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
30455
30456         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
30457         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
30458         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
30459         (struct obstack): temp member is now a union of a pointer and
30460         an integer, instead of an integer.  All integer uses changed.
30461         This does not affect the physical layout of struct obstack,
30462         except on hosts (like the AS/400) where the size or alignment of
30463         void * is greater than that of ptrdiff_t.
30464         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
30465         __STDC__)]: Store temporary in pointer member of union, not
30466         integer member.
30467         * lib/obstack.c: Include <stddef.h>, for offsetof.
30468         (struct fooalign): Remove; it doesn't need a name.
30469         (union fooround): Change double to long double, and add void *.
30470         (DEFAULT_ALIGNMENT): Use offsetof to compute.
30471         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
30472         not a macro.  Hence the values are always int; so remove all
30473         casts-to-int in uses.
30474
30475 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
30476
30477         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
30478         we can get this patch merged into glibc.
30479
30480 2004-05-17  Derek R. Price  <derek@ximbiot.com>
30481             Paul Eggert  <eggert@cs.ucla.edu>
30482
30483         * m4/argp: Depend on alloca.
30484
30485 2004-05-17  Derek R. Price  <derek@ximbiot.com>
30486             Paul Eggert  <eggert@cs.ucla.edu>
30487
30488         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
30489         freecoding.
30490
30491 2004-05-17  Bruno Haible  <bruno@clisp.org>
30492
30493         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
30494         precision that consists of a '.' followed by an empty digit string.
30495         Patch by Tor Lillqvist <tml@iki.fi>.
30496
30497 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
30498
30499         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
30500         for backward compatibility with older code.  We need our own
30501         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
30502         it under some other name, and our alloca.h will define it.
30503
30504 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
30505             Derek Price  <derek@ximbiot.com>
30506
30507         * lib/alloca.c: Include <alloca.h>, to get our interface.
30508         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
30509         include <alloca.h> first.  Use C89 prototype for alloca; this
30510         requires including <stddef.h> for size_t.  Use extern "C" if C++.
30511         Use #elif for simplicity, since we can assume C89 now.
30512         Don't try to source the system alloca.h since it will not be found
30513         and to prevent recursively including its replacement.
30514         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
30515         * lib/regex.c: Likewise.
30516
30517 2004-05-16  Derek Price  <derek@ximbiot.com>
30518             Paul Eggert  <eggert@cs.ucla.edu>
30519
30520         getline cleanup.  This changes the getndelim2 API: both order of
30521         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
30522         no delimiter).
30523
30524         * lib/getline.c: Don't include stddef.h or stdio.h, since our
30525         interface does that.
30526         (getline): Always use getdelim, so that we don't have two
30527         copies of this code.
30528         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
30529         if available.
30530         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
30531         (GETNDELIM2_MAXIMUM): New macro.
30532         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
30533         instead of the old practice of delim2==0.  All callers changed.
30534         Return -1 on overflow, instead of returning junk.
30535         Do not set *linesize unless allocation succeeds.
30536         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
30537         that we include sys/types.h.
30538         * lib/getnline.h: Likewise.
30539         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
30540         (getndelim2): Reorder arguments.
30541         * lib/getnline.c (getnline, getndelim):
30542         Don't discard the NMAX argument.
30543         (getnline): Invoke getndelim, to avoid code duplication.
30544         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
30545         of (size_t) -1 by callers of the getnline family.
30546
30547 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
30548
30549         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
30550         Check for gettimeofday.
30551         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
30552         Check for settimeofday, stime.
30553
30554 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
30555
30556         * lib/nanosleep.c (suspended): Change its type from int to
30557         sig_atomic_t volatile.
30558         (first_call): Make it private to rpl_nanosleep, and have it
30559         be zero initially as that's a bit faster.
30560         (my_usleep): Round up fractional times instead of truncating them,
30561         as this is the usual meaning for 'sleep'.
30562
30563         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
30564         doesn't work.
30565         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
30566         (ENOSYS): Define if not defined.
30567         (settime): Fall back on stime if it exists and settimeofday fails.
30568         But don't bother with fallbacks if a method fails with errno == EPERM.
30569
30570 2004-05-11  Jim Meyering  <jim@meyering.net>
30571
30572         Prior to this change, the save_cwd caller required read access to the
30573         current directory on most systems (ones with the fchdir function).
30574
30575         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
30576         fails, try write-only, and finally, resort to using xgetcwd.
30577
30578 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
30579
30580         * lib/obstack.c, obstack.h: Import changes from libc.
30581
30582 2004-04-28  Bruno Haible  <bruno@clisp.org>
30583
30584         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
30585         also implicitly appends .exe to executables.
30586         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
30587         accepts Windows pathnames.
30588         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
30589         Treat Cygwin like Windows, since it now accepts Windows pathnames.
30590         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
30591         Treat Cygwin like Windows, since it now accepts Windows pathnames.
30592         Reported by Derek Robert Price <derek@ximbiot.com>.
30593
30594 2004-04-21  Karl Berry  <karl@gnu.org>
30595
30596         * config/srclist.txt (localcharset.c): break sync.
30597
30598 2004-04-20  Paul Eggert  <eggert@twinsun.com>
30599
30600         * m4/host-os.m4: Add a copyright notice.
30601
30602 2004-04-20  Jim Meyering  <jim@meyering.net>
30603
30604         Change UTILS_ to gl_ in AC_DEFINE'd names.
30605         Change utils_- and jm_-prefixed variables, too.
30606         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
30607         UTILS_FUNC_MKDIR_TRAILING_SLASH.
30608         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
30609
30610         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
30611         Don't emit trailing blanks.
30612         Also rename jm_-prefixed variables to have gl_ prefix.
30613
30614         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
30615         Also rename jm_-prefixed variables to have gl_ prefix.
30616
30617         * m4/jm-macros.m4: Reflect the renamings.
30618         * m4/prereq.m4: Likewise.
30619
30620 2004-04-20  Jim Meyering  <jim@meyering.net>
30621
30622         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
30623         memory.
30624
30625 2004-04-20  Jim Meyering  <jim@meyering.net>
30626             Bruno Haible  <bruno@clisp.org>
30627
30628         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
30629         memory when realloc fails.
30630
30631 2004-04-19  Jim Meyering  <jim@meyering.net>
30632
30633         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
30634         now that readutmp.c may call `free (0)'.
30635
30636 2004-04-19  Bruno Haible  <bruno@clisp.org>
30637
30638         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
30639         * m4/inttypes_h.m4: Likewise.
30640         * m4/stdint_h.m4: Likewise.
30641         * m4/intmax_t.m4: Likewise.
30642         * m4/uintmax_t.m4: Likewise.
30643
30644 2004-04-18  Jim Meyering  <jim@meyering.net>
30645
30646         * m4/prereq.m4: Don't forbid jm_ prefix.
30647
30648         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
30649         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
30650         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
30651         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
30652         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
30653         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
30654         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
30655         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
30656         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
30657         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
30658         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
30659         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
30660         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
30661         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
30662         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
30663         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
30664         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
30665         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
30666         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
30667
30668 2004-04-18  Jim Meyering  <jim@meyering.net>
30669
30670         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
30671         failure, don't leak memory and do call END_UTMP_ENT.
30672
30673 2004-04-16  Jim Meyering  <jim@meyering.net>
30674
30675         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
30676         coreutils' stat program.
30677         (gl_PREREQ): Don't require jm_PREREQ_STAT.
30678
30679 2004-04-11  Paul Eggert  <eggert@twinsun.com>
30680
30681         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
30682         C89.
30683         (CHAR_BIT): Remove, since we assume C89.
30684         Include <stdint.h> if available, as per current Autoconf CVS advice.
30685
30686 2004-03-31  Jim Meyering  <jim@meyering.net>
30687
30688         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
30689         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
30690         * m4/xalloc.m4: Likewise.
30691
30692 2004-03-30  Paul Eggert  <eggert@twinsun.com>
30693
30694         Merge from coreutils.
30695
30696         * m4/inttostr.m4: New file.
30697         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
30698         Require AM_STDBOOL_H and gl_TIMESPEC instead.
30699         Require gl_CLOCK_TIME.
30700         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
30701
30702 2004-03-30  Paul Eggert  <eggert@twinsun.com>
30703
30704         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
30705         not bool, to be more consistent with Unix conventions.
30706         Suggested by Bruno Haible.
30707
30708         Merge from coreutils.
30709
30710         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
30711         * lib/umaxtostr.c: New files.
30712
30713         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
30714         the usual <time.h> dance.
30715         (get_date): Change signature to support fractional time stamps.
30716         All callers changed.
30717         * lib/getdate.y: Include "getdate.h" first, as we can now
30718         assume C89 and don't need to worry about 'const'.
30719         Similarly, include "unlocked-io.h" near start, not in middle.
30720         Include <limits.h>.
30721         (textint.value): Use long int rather than int.
30722         (textint.digits): Use size_t rather than int.
30723         (BILLION, LOG10_BILLION): New constants.
30724         (parser_control): New member rel_ns.  Members day_ordinal,
30725         time_zone, month, day, hour, minutes, rel_year, rel_month,
30726         rel_day, rel_hour, rel_minutes, rel_seconds
30727         are now long int, not int.  Member seconds is now struct timespec,
30728         not int.  New member timespec_seen.  Members dates_seen, days_seen,
30729         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
30730         not int.
30731         (%union.intval): Now long int, not int.
30732         New member timespec.
30733         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
30734         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
30735         (spec): Now is a timespec or an item list.
30736         (timespec, items): New nonterminals.
30737         (time, rel, relunit, number, get_date):
30738         Add support for fractional seconds.
30739         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
30740         (gmtime, localtime, mktime): Remove decls; not needed with C89.
30741         (to_hour): First arg is now long int, not int.
30742         (to_year): Returns long int, not int.
30743         Don't treat year -70 like 70.
30744         (tm_diff): Returns long int, not int.
30745         (lookup_word): Use bool instead of int when appropriate.
30746         (yylex): Use size_t for count, not int.
30747         Detect overflow when parsing large integer constants.
30748         Add support for fractions.
30749         (get_date): Make pointers 'const' if possible.
30750         Use more-portable code to detect integer overflow.
30751         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
30752         Don't use ctime; it's not reliable if the year has >4 digits.
30753
30754         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
30755         This is for compatibility with BSD.
30756
30757         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
30758         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
30759         From coreutils' system.h.
30760
30761         * lib/userspec.c: Don't include "posixver.h".
30762         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
30763         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
30764         compatible extension.  Simplify code by removing a boolean int
30765         that was always nonzero if a string was nonnull.
30766
30767 2004-03-30  Jim Meyering  <jim@meyering.net>
30768
30769         Merge from coreutils.
30770
30771         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
30772         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
30773         on some systems one must include <grp.h> before it.
30774         Reported by Christian Krackowizer.
30775
30776 2004-03-30  Jim Meyering  <jim@meyering.net>
30777
30778         Merge from coreutils.
30779
30780         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
30781
30782         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
30783         an empty input stream.
30784
30785         * lib/readtokens.c: Include <stdbool.h>.
30786         (readtoken): Use `size_t' rather than int/long.
30787         All callers adjusted.
30788         Use `bool' rather than `int' where appropriate.
30789         Use memset rather than an explicit loop.
30790         Use x2nrealloc rather than xrealloc.
30791         Allow the use of `\0' as a delimiter.
30792         (readtokens): Likewise.
30793         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
30794
30795 2004-03-30  Jim Meyering  <jim@meyering.net>
30796
30797         * m4/realloc.m4: Remove file, since now it does no more than
30798         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
30799         the `configure.ac' section of module/realloc.
30800         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
30801
30802 2004-03-30  Bruno Haible  <bruno@clisp.org>
30803
30804         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
30805         nonnull.
30806
30807 2004-03-29  Paul Eggert  <eggert@twinsun.com>
30808
30809         Merge changes to getloadavg.c from coreutils and Emacs.
30810
30811         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
30812         Define to an expression, not to the empty string.
30813         Include cloexec.h and xalloc.h.
30814         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
30815         Use set_cloexec_flag rather than rolling our own.
30816         * lib/cloexec.c, lib/cloexec.h: New files.
30817
30818 2004-03-29  Paul Eggert  <eggert@twinsun.com>
30819
30820         * m4/cloexec.m4: New file.
30821
30822 2004-03-18  Paul Eggert  <eggert@twinsun.com>
30823
30824         * lib/getopt.h: Sync with libc CVS.
30825
30826 2004-03-18  Paul Eggert  <eggert@twinsun.com>
30827             Bruno Haible  <bruno@clisp.org>
30828
30829         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
30830         mbswidth.
30831
30832 2004-03-18  Paul Eggert  <eggert@twinsun.com>
30833             Bruno Haible  <bruno@clisp.org>
30834
30835         * lib/mbswidth.h: Include <wchar.h> only if
30836         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
30837         <wchar.h>.
30838         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
30839
30840 2004-03-09  Paul Eggert  <eggert@twinsun.com>
30841
30842         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
30843         Sync with libc CVS.
30844         * lib/getopt_int.h: New file, also synced from libc.
30845
30846 2004-03-09  Paul Eggert  <eggert@twinsun.com>
30847
30848         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
30849         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
30850         Bring back getopt.c, getopt.h, getopt1.c.
30851
30852 2004-03-07  Paul Eggert  <eggert@twinsun.com>
30853
30854         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
30855         All uses changed.  Check for sa_sigaction member; this fixes
30856         a bug first reported by Jason Andrade in
30857         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
30858
30859 2004-03-07  Paul Eggert  <eggert@twinsun.com>
30860
30861         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
30862         '#if' expressions.  Unlike the code it replaces, it does not
30863         depend on (defined _SC_PAGESIZE).  However, it does depend on
30864         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
30865         first reported by Jason Andrade in
30866         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
30867
30868 2004-02-25  Simon Josefsson  <jas@extundo.com>
30869
30870         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
30871
30872 2004-02-25  Simon Josefsson  <jas@extundo.com>
30873
30874         * lib/strdup.h: New file.
30875         * lib/strdup.c: Include it.
30876         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
30877         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
30878
30879 2004-02-23  Karl Berry  <karl@gnu.org>
30880
30881         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
30882         (from fencepost.gnu.org:/gd/gnuorg).
30883
30884 2004-02-23  Karl Berry  <karl@gnu.org>
30885
30886         * config/srclistvars.sh (GNUORG) [karl]: redefine.
30887         * config/srclist.txt: add maintain/standards documents.
30888
30889 2004-02-18  Bruno Haible  <bruno@clisp.org>
30890
30891         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
30892         Reported by Derek Robert Price <derek@ximbiot.com>.
30893
30894 2004-02-16  Karl Berry  <karl@gnu.org>
30895
30896         * config/mkinstalldirs, install-sh: update from automake.
30897
30898 2004-02-06  Karl Berry  <karl@gnu.org>
30899
30900         * m4/po.m4: update from gettext 0.14.1.
30901
30902 2004-02-06  Karl Berry  <karl@gnu.org>
30903
30904         * lib/config.charset: update from gettext 0.14.1.
30905
30906 2004-02-05  Paul Eggert  <eggert@twinsun.com>
30907
30908         Add comments and code, prompted by suggestions from Bruno Haible
30909         for sh-quote.
30910         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
30911         describing the enum quoting_style values.
30912         * lib/quotearg.c (quotearg_alloc): New function.
30913         (quotearg_buffer_restyled): Treat lone { and } as special.
30914         Treat = as special.  Work around bug with older shells
30915         that "see" a '\' that is really the 2nd byte of a multibyte char.
30916         Quote empty string with shell_quoting_style.
30917
30918 2004-02-03  Bruno Haible  <bruno@clisp.org>
30919
30920         * m4/pipe.m4: New file, from GNU gettext.
30921
30922 2004-02-03  Bruno Haible  <bruno@clisp.org>
30923
30924         * lib/pipe.h: New file, from GNU gettext.
30925         * lib/pipe.c: New file, from GNU gettext.
30926
30927 2004-01-27  Bruno Haible  <bruno@clisp.org>
30928
30929         * m4/execute.m4: New file, from GNU gettext.
30930
30931 2004-01-27  Bruno Haible  <bruno@clisp.org>
30932
30933         * lib/execute.h: New file, from GNU gettext.
30934         * lib/execute.c: New file, from GNU gettext.
30935         * lib/w32spawn.h: New file, from GNU gettext.
30936
30937 2004-01-24  Paul Eggert  <eggert@twinsun.com>
30938
30939         Merge from diffutils.
30940
30941         * lib/file-type.c (file_type): Add typed memory objects.
30942         * lib/file-type.h (S_TYPEISTMO): New macro.
30943
30944         * lib/c-stack.h (c_stack_action): Remove argv argument.
30945         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
30946         (die): Don't calculate message unless segv_action returns.
30947         (get_stack_location, min_address_from_argv, max_address_from_argv,
30948         volatile stack_base, volatile_stack_size): Remove.
30949         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
30950         that every segmentation violation is a stack overflow.  (Ouch!)
30951         See Debian bug 136249 (still outstanding) for more info about why
30952         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
30953
30954 2004-01-24  Paul Eggert  <eggert@twinsun.com>
30955
30956         Exit-status fix from coreutils.
30957
30958         Use exit_failure consistently in place of EXIT_FAILURE,
30959         so that program exit statuses are consistent on failure.
30960
30961         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
30962         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
30963         * lib/argmatch.h: Comment fix to match the above.
30964         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
30965         Now a macro referring to exit_failure, instead of a separate
30966         variable.  Include "exitfail.h" to get it.
30967         * lib/xstrtol.h: Include "exitfail.h".
30968         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
30969
30970         * lib/long-options.c (parse_long_options): Use prototype
30971         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
30972         for clarity.
30973
30974 2004-01-21  Jim Meyering  <jim@meyering.net>
30975
30976         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
30977         so as not to conflict with a different-sized __mktime_internal
30978         function in GNU libc.
30979         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
30980         Problem building statically-linked `ls' reported by Michael Brunnbauer.
30981
30982 2004-01-20  Karl Berry  <karl@gnu.org>
30983
30984         * config/config.guess: update from config.
30985
30986         * config/srclistvars.sh: GNUWWWLICENSES for karl.
30987
30988 2004-01-20  Bruno Haible  <bruno@clisp.org>
30989
30990         Safer stack allocation.
30991         * lib/setenv.c: Include allocsa.h.
30992         (alloca): Remove fallback definition.
30993         (freea): Remove macro.
30994         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
30995         instead of freea.
30996
30997 2004-01-20  Bruno Haible  <bruno@clisp.org>
30998
30999         * m4/eealloc.m4: New file, from GNU gettext.
31000
31001 2004-01-20  Bruno Haible  <bruno@clisp.org>
31002
31003         * m4/allocsa.m4: New file, from GNU gettext.
31004
31005 2004-01-20  Bruno Haible  <bruno@clisp.org>
31006
31007         * lib/xallocsa.h: New file, from GNU gettext.
31008         * lib/xallocsa.c: New file, from GNU gettext.
31009
31010 2004-01-20  Bruno Haible  <bruno@clisp.org>
31011
31012         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
31013
31014 2004-01-20  Bruno Haible  <bruno@clisp.org>
31015
31016         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
31017         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
31018         specially.
31019
31020 2004-01-20  Bruno Haible  <bruno@clisp.org>
31021
31022         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
31023         patch.
31024
31025 2004-01-20  Bruno Haible  <bruno@clisp.org>
31026
31027         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
31028
31029 2004-01-20  Bruno Haible  <bruno@clisp.org>
31030
31031         * lib/eealloc.h: New file.
31032
31033 2004-01-20  Bruno Haible  <bruno@clisp.org>
31034
31035         * lib/binary-io.h: Avoid warnings on Cygwin.
31036
31037 2004-01-20  Bruno Haible  <bruno@clisp.org>
31038
31039         * lib/allocsa.h: New file, from GNU gettext.
31040         * lib/allocsa.c: New file, from GNU gettext.
31041
31042 2004-01-18  Karl Berry  <karl@gnu.org>
31043
31044         * doc/gpl.texi, doc/lgpl.texi: new files.
31045
31046 2004-01-18  Karl Berry  <karl@gnu.org>
31047
31048         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
31049         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
31050
31051 2004-01-15  Paul Eggert  <eggert@twinsun.com>
31052
31053         Merge from coreutils.
31054
31055         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
31056         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
31057         (gl_DEFAULT_POSIX2_VERSION): Move
31058         the documentation from 'configure' into 'config.hin',
31059         so that 'configure --help' isn't burdened by it and
31060         we don't have to worry about its formatting there.
31061         Reword the documentation so that it's more succinct
31062         and can be run together into a single paragraph.
31063         * m4/same.m4 (gl_SAME): Check for pathconf.
31064
31065 2004-01-15  Paul Eggert  <eggert@twinsun.com>
31066
31067         Merge from coreutils.
31068
31069         * lib/posixver.c: Include posixver.h.
31070
31071         * lib/same.c: Include <stdbool.h>, <limits.h>.
31072         (_POSIX_NAME_MAX): Define if not defined.
31073         (MIN): New macro.
31074         (same_name): If file names are silently truncated, report
31075         that the file names are the same if they are the same after
31076         the silent truncation.
31077
31078         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
31079         conversion function.
31080         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
31081         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
31082         longer needed.
31083
31084 2004-01-15  Jim Meyering  <jim@meyering.net>
31085
31086         Merge from coreutils.
31087
31088         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
31089         if no library is required.
31090         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
31091         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
31092         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
31093         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
31094         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
31095         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
31096         value, $ac_cv_search_crypt, if it's "none required".
31097         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
31098         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
31099         not gl_FUNC_GETLOADAVG.
31100         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
31101         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
31102
31103 2004-01-15  Jim Meyering  <jim@meyering.net>
31104
31105         Merge from coreutils.
31106
31107         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
31108         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
31109         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
31110
31111         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
31112         optional configure-time default.
31113
31114         * lib/version-etc.c (version_etc_copyright): Update copyright date.
31115
31116         * lib/xreadlink.c (xreadlink): Correct outdated comment.
31117
31118 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
31119
31120         Merge from coreutils.
31121
31122         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
31123         value, $ac_cv_search_nanosleep, if it's "none required".
31124
31125 2004-01-14  Paul Eggert  <eggert@twinsun.com>
31126
31127         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
31128         with like-named macro in fnmatch.c.
31129         (EXT): Use an internal constant instead.
31130
31131         Merge fnmatch patches from glibc.
31132         * lib/fnmatch.c (mbsinit): Remove define.
31133         Add libc_hidden_ver (__fnmatch, fnmatch).
31134         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
31135         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
31136
31137 2004-01-14  Karl Berry  <karl@gnu.org>
31138
31139         * config/install-sh: update from automake.
31140
31141 2004-01-13  Karl Berry  <karl@gnu.org>
31142
31143         * config/install-sh: update from automake.
31144
31145 2004-01-09  Karl Berry  <karl@gnu.org>
31146
31147         * config/install-sh: update from automake.
31148
31149 2004-01-05  Karl Berry  <karl@gnu.org>
31150
31151         * config/config.{sub,guess}: update from config.
31152
31153 2003-12-31  Karl Berry  <karl@gnu.org>
31154
31155         * config/depcomp: update from automake.
31156
31157 2003-12-14  Karl Berry  <karl@gnu.org>
31158
31159         * lib/config.charset: update from gettext-runtime.
31160
31161 2003-12-03  Paul Eggert  <eggert@twinsun.com>
31162
31163         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
31164         Bug reported by Alfred M. Szmidt.
31165
31166 2003-12-03  Bruno Haible  <bruno@clisp.org>
31167
31168         * m4/gettext.m4: Upgrade from gettext-0.13.
31169         * m4/po.m4: Upgrade from gettext-0.13.
31170         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
31171         * m4/intmax.m4: New file, from gettext-0.13.
31172         * m4/printf-posix.m4: New file, from gettext-0.13.
31173
31174 2003-11-29  Karl Berry  <karl@gnu.org>
31175
31176         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
31177
31178 2003-11-25  Paul Eggert  <eggert@twinsun.com>
31179             Bruno Haible  <bruno@clisp.org>
31180
31181         * lib/printf-parse.h: Don't include sys/types.h.
31182         (ARG_NONE): New macro.
31183         (char_directive): Change type of *arg_index fields to size_t.
31184         * lib/printf-parse.c: Don't include sys/types.h.
31185         (SSIZE_MAX): Remove macro.
31186         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
31187         Remove unnecessary overflow check.
31188         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
31189         fields.
31190
31191 2003-11-25  Bruno Haible  <bruno@clisp.org>
31192
31193         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
31194
31195 2003-11-25  Bruno Haible  <bruno@clisp.org>
31196
31197         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
31198         gt_TYPE_SSIZE_T.
31199
31200 2003-11-24  Paul Eggert  <eggert@twinsun.com>
31201
31202         * modules/alloca: Remove dependency on xalloc.
31203
31204 2003-11-24  Paul Eggert  <eggert@twinsun.com>
31205
31206         * lib/alloca.c: Remove dependency on xalloc module.
31207         (xalloc_die): Remove.
31208         (memory_full) [!defined emacs]: New macro.
31209         [!defined emacs]: Don't include xalloc.h.
31210         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
31211         address arithmetic overflows.  Change datatypes a bit to avoid
31212         unnecessary casts.
31213
31214 2003-11-22  Jim Meyering  <jim@meyering.net>
31215
31216         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
31217         s/size/size_t/.
31218
31219 2003-11-21  Karl Berry  <karl@gnu.org>
31220
31221         * config/config.{sub,guess}: update from config.
31222
31223 2003-11-18  Karl Berry  <karl@gnu.org>
31224
31225         * config/config.{sub,guess}: update from config.
31226
31227         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
31228
31229 2003-11-17  Paul Eggert  <eggert@twinsun.com>
31230
31231         * README: Mention that S+T cannot overflow if S is the size of
31232         an existing object and T is sufficiently small.
31233
31234 2003-11-17  Jim Meyering  <jim@meyering.net>
31235
31236         On systems without utime and without a utimes function capable of
31237         dealing with a NULL struct utimbuf* argument, this utime replacement
31238         could -- in unusual circumstances -- leak a file descriptor.
31239         * lib/utime.c: Include <unistd.h> and <errno.h>.
31240         (utime_null): Be sure to close `fd' and to preserve errno.
31241         Reported by Geoff Collyer via Arnold Robbins.
31242
31243 2003-11-17  Bruno Haible  <bruno@clisp.org>
31244
31245         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
31246         (Depends-on): Add xsize.
31247
31248 2003-11-17  Bruno Haible  <bruno@clisp.org>
31249
31250         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
31251
31252 2003-11-17  Bruno Haible  <bruno@clisp.org>
31253
31254         * lib/vasnprintf.c (alloca): Remove fallback definition.
31255         (freea): Remove definition.
31256         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
31257         Reported by Paul Eggert.
31258
31259 2003-11-16  Paul Eggert  <eggert@twinsun.com>
31260             Bruno Haible  <bruno@clisp.org>
31261
31262         Protect against address arithmetic overflow.
31263         * lib/printf-args.h: Include stddef.h.
31264         (arguments): Change type of field 'count' to size_t.
31265         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
31266         'unsigned int' where appropriate.
31267         * lib/printf-parse.h: Include sys/types.h.
31268         (char_directive): Change type of *arg_index fields to ssize_t.
31269         (char_directives): Change type of fields 'count', max_*_length to
31270         size_t.
31271         * lib/printf-parse.c: Include sys/types.h and xsize.h.
31272         (SSIZE_MAX): Define fallback value.
31273         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
31274         instead of 'int' where appropriate. Check a_allocated, d_allocated
31275         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
31276         * lib/vasnprintf.c: Include xsize.h.
31277         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
31278         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
31279         overflow. Avoid wraparound when converting a width or precision from
31280         decimal to binary.
31281
31282 2003-11-16  Bruno Haible  <bruno@clisp.org>
31283
31284         Update from GNU gettext.
31285         * lib/printf-parse.c: Generalize to it can be compiled for wide
31286         strings.
31287         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
31288         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
31289         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
31290         SNPRINTF): New macros.
31291         Don't include <alloca.h> if the file is used inside libintl.
31292         (local_wcslen): New function, for Solaris 2.5.1.
31293         (VASNPRINTF): Use it instead of wcslen.
31294
31295 2003-11-16  Bruno Haible  <bruno@clisp.org>
31296
31297         * lib/xsize.h (xmax): New function.
31298         (xsum, xsum3, xsum4): Declare as "pure" functions.
31299
31300 2003-11-12  Paul Eggert  <eggert@twinsun.com>
31301
31302         * modules/xalloc (Files): Undo latest change, since xalloc.h
31303         no longer needs SIZE_MAX or PTRDIFF_MAX.
31304
31305 2003-11-12  Paul Eggert  <eggert@twinsun.com>
31306
31307         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
31308         gl_PTRDIFF_MAX.
31309
31310 2003-11-12  Paul Eggert  <eggert@twinsun.com>
31311
31312         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
31313         "return", to pacify some unknown compiler.  Problem reported
31314         by Joerg Schilling.
31315
31316 2003-11-12  Paul Eggert  <eggert@twinsun.com>
31317
31318         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
31319         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
31320         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
31321         heuristic is just as accurate as far as we know, and it removes a
31322         dependency on size_max.m4 and ptrdiff_max.m4.
31323
31324 2003-11-11  Bruno Haible  <bruno@clisp.org>
31325
31326         * modules/xsize (Files): Add m4/size_max.m4.
31327         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
31328
31329 2003-11-11  Bruno Haible  <bruno@clisp.org>
31330
31331         * m4/size_max.m4: New file.
31332         * m4/ptrdiff_max.m4: New file.
31333         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
31334         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
31335         (gl_XALLOC): Invoke it.
31336
31337 2003-11-11  Bruno Haible  <bruno@clisp.org>
31338
31339         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
31340         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
31341         defined.
31342
31343 2003-11-10  Paul Eggert  <eggert@twinsun.com>
31344
31345         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
31346         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
31347         rejected some allocations of exactly SIZE_MAX - 2 bytes.
31348         From Bruno Haible.
31349         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
31350         not (size_t) -1, since it's defined here.
31351
31352 2003-11-09  Karl Berry  <karl@gnu.org>
31353
31354         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
31355
31356 2003-11-06  Paul Eggert  <eggert@twinsun.com>
31357
31358         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
31359         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
31360         Reject sizes of exactly SIZE_MAX bytes.
31361         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
31362         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
31363
31364 2003-11-05  Bruno Haible  <bruno@clisp.org>
31365
31366         * lib/xsize.h: Include limits.h, to avoid a possible collision with
31367         SIZE_MAX defined in <limits.h> on Solaris.
31368
31369 2003-11-04  Jim Meyering  <jim@meyering.net>
31370
31371         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
31372         variable names, rather than @VAR@.
31373         * modules/poll: Likewise.
31374
31375 2003-11-04  Bruno Haible  <bruno@clisp.org>
31376
31377         * modules/xsize: New file.
31378         * modules/linebreak: Depend on xsize.
31379         * MODULES.html.sh (func_all_modules): Add xsize.
31380
31381 2003-11-04  Bruno Haible  <bruno@clisp.org>
31382
31383         * m4/xsize.m4: New file.
31384
31385 2003-11-04  Bruno Haible  <bruno@clisp.org>
31386
31387         * lib/xsize.h: New file.
31388         * lib/linebreak.c: Include xsize.h.
31389         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
31390         argument for overflow.
31391         Suggested by Paul Eggert.
31392
31393 2003-11-03  Karl Berry  <karl@gnu.org>
31394
31395         * config/config.{guess,sub}: update from config.
31396
31397 2003-11-03  Jim Meyering  <jim@meyering.net>
31398
31399         * modules/userspec (lib_SOURCES): Add userspec.h.
31400         (Include): Add "userspec.h".
31401         Improve description.
31402
31403 2003-11-03  Jim Meyering  <jim@meyering.net>
31404
31405         * lib/userspec.c: Include "userspec.h".
31406         * lib/userspec.h: New file.
31407
31408 2003-11-03  Bruno Haible  <bruno@clisp.org>
31409
31410         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
31411
31412 2003-11-03  Bruno Haible  <bruno@clisp.org>
31413
31414         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
31415         available, to avoid (extremely rare) race condition.
31416         Suggested by Paul Eggert.
31417
31418 2003-11-02  Karl Berry  <karl@gnu.org>
31419
31420         * config/srclist.txt (vasprintf.c): sync broken, sigh.
31421
31422 2003-10-31  Paul Eggert  <eggert@twinsun.com>
31423
31424         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
31425         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
31426         (read_filesystem_list): Set and use me_type_malloced.
31427         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
31428         whatever the type happens to be), for brevity and consistency.
31429         Check for size calculation overflow on Alphas running OSF/1.
31430
31431 2003-10-31  Jim Meyering  <jim@meyering.net>
31432
31433         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
31434
31435         * lib/linebuffer.c: Include <string.h> for declaration of memset.
31436
31437 2003-10-30  Paul Eggert  <eggert@twinsun.com>
31438             Bruno Haible  <bruno@clisp.org>
31439
31440         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
31441         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
31442
31443 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
31444
31445         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
31446         netbsd*-gnu*.  Suggested by Robert Millan.
31447
31448 2003-10-29  Paul Eggert  <eggert@twinsun.com>
31449
31450         * modules/group-member: Depend on stdbool.
31451
31452 2003-10-29  Paul Eggert  <eggert@twinsun.com>
31453
31454         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
31455
31456 2003-10-29  Paul Eggert  <eggert@twinsun.com>
31457
31458         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
31459         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
31460         after the 'gnu' in these cases.  This fixes some bugs in the
31461         previous change, and is based on suggestions by Robert Millan.
31462
31463 2003-10-29  Paul Eggert  <eggert@twinsun.com>
31464
31465         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
31466         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
31467         no longer needed.
31468         * lib/quotearg.c (quotearg_n_options): Use it.
31469         * lib/group-member.c: Include <stdbool.h>.
31470         (free_group_info): Arg is now const *; don't free arg.
31471         (get_group_info): Now returns bool and accepts struct group_info *,
31472         rather than returning a malloc'ed struct group_info *.
31473         All uses changed.  Check for overflow in internal size calculation.
31474
31475         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
31476         rather than xmalloc/xrealloc.
31477         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
31478         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
31479         conformance bug: the old code used a pointer after freeing the
31480         storage that it addressed.
31481         * lib/hash.c (hash_initialize): Simplify the code by using
31482         xalloc_oversized rather than doing it by hand.
31483         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
31484         the buffer preserved.  Use free and xmalloc instead.
31485         * lib/quotearg.c (quotearg_n_options): Likewise.
31486         Use a simpler test for size overflow.  Don't use xalloc_oversized
31487         because unsigned int might be wider than size_t (!); this suggests
31488         that we should switch from unsigned int to size_t for slot numbers.
31489
31490 2003-10-28  Paul Eggert  <eggert@twinsun.com>
31491
31492         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
31493         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
31494         NetBSD kernels.  Requested by Richard Stallman.
31495
31496 2003-10-27  Paul Eggert  <eggert@twinsun.com>
31497
31498         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
31499         to allocate the returned structure.  Do not allocate a subarray,
31500         as x2nrealloc will do that.
31501         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
31502         instead of xnrealloc.
31503         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
31504
31505 2003-10-27  Bruno Haible  <bruno@clisp.org>
31506
31507         * lib/stdbool_.h: Better support for BeOS.
31508
31509 2003-10-26  Paul Eggert  <eggert@twinsun.com>
31510
31511         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
31512         now uses inline.
31513
31514 2003-10-26  Paul Eggert  <eggert@twinsun.com>
31515
31516         * lib/xalloc.h (xalloc_oversized): New static inline function, for
31517         callers that want to do their own size-overflow checking.  Include
31518         <stdbool.h>, since xalloc_oversized returns bool.
31519         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
31520         to use xalloc_oversized.
31521
31522         Add two functions x2realloc, x2nrealloc, for programs that grow
31523         arrays dynamically by doubling their sizes.
31524         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
31525         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
31526         New functions.
31527
31528         Port to C99 semantics for 'inline' of external functions.
31529         Bug reported by Bruno Haible.
31530         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
31531         with the old contents of xnmalloc.
31532         (xnmalloc, xmalloc): Use it.
31533         (xnrealloc_inline): New static inline function,
31534         with the old contents of xnrealloc.
31535         (xnrealloc, xrealloc): Use it.
31536
31537         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
31538         that.
31539
31540 2003-10-26  Karl Berry  <karl@gnu.org>
31541
31542         * config/srclist.txt (COPYING.DOC): no longer available from
31543         /gd/gnuorg; don't know where the ultimate source is.
31544
31545 2003-10-25  Paul Eggert  <eggert@twinsun.com>
31546
31547         Fix several address-calculation bugs in the hash modules,
31548         plus some minor code cleanup.
31549
31550         * lib/hash.h: Include <stdbool.h>, for bool.
31551         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
31552         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
31553         hash_get_n_entries, hash_get_max_bucket_length,
31554         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
31555         hash_rehash): Use size_t rather than unsigned.
31556         * lib/hash.c (struct hash_table, hash_get_n_buckets,
31557         hash_get_n_buckets_used, hash_get_n_entries,
31558         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
31559         hash_get_entries, hash_do_for_each, hash_string, is_prime,
31560         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
31561         Likewise.
31562         (SIZE_MAX): Define if not defined.
31563         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
31564         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
31565         hash_print):
31566         Use const * when possible.
31567         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
31568         (check_tuning): Fix bug: if tuning parameters were very close to
31569         0 or 1, rounding errors could have caused subscript violations.
31570         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
31571         (hash_initialize): Add 'fail:' label
31572         to free table and return NULL, and use it to simplify code.
31573         Use calloc rather than clearing the storage ourself.
31574         (hash_initialize, hash_rehash): Check for arithmetic overflow in
31575         buffer size calculations.
31576         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
31577         Include <stddef.h>, for size_t.
31578         * lib/hash-pjw.c (hash_pjw): Likewise.
31579         Switch to method described by Bruno Haible.
31580         Include <limits.h>, for CHAR_BIT.
31581         (SIZE_BITS): New macro.
31582
31583 2003-10-23  Paul Eggert  <eggert@twinsun.com>
31584
31585         * m4/getline.m4 (AM_FUNC_GETLINE):
31586         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
31587         hosts.  Problem reported by Derek Robert Price in
31588         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
31589         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
31590         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
31591
31592 2003-10-21  Paul Eggert  <eggert@twinsun.com>
31593
31594         * lib/getndelim2.c (getndelim2): When size calculation overflows,
31595         ceiling the allocation at NMAX bytes rather than silently
31596         discarding input bytes before NMAX is reached.  This makes
31597         a difference only if NMAX exceeds SIZE_MAX / 2.
31598
31599         * lib/obstack.c: Merge from glibc.
31600         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
31601         Add libc_hidden_def (_obstack_newchunk).
31602         (_obstack_free) [! defined _LIBC]: Remove.
31603         [defined _LIBC]: Make a strong alias from obstack_free, rather than
31604         a clone of the function body.
31605         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
31606         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
31607
31608         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
31609         glibc.
31610         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
31611         arg to memcpy.
31612
31613         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
31614         (obstack_ptr_grow_fast, obstack_int_grow_fast):
31615         Don't use lvalue casts, as GCC plans to remove support for them
31616         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
31617         was also present in the non-GCC version, indicating that this
31618         code had always been buggy and had never been widely used.
31619         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
31620         Use the fast variant of each macro, rather than copying the
31621         definiens of the fast variant; that way, we'll be more likely to
31622         catch future bugs in the fast variants.
31623
31624 2003-10-20  Bruno Haible  <bruno@clisp.org>
31625
31626         * modules/wait-process: New file.
31627         * MODULES.html.sh (func_all_modules): Add wait-process.
31628
31629 2003-10-20  Bruno Haible  <bruno@clisp.org>
31630
31631         * m4/wait-process.m4: New file.
31632
31633 2003-10-20  Bruno Haible  <bruno@clisp.org>
31634
31635         * lib/wait-process.h: New file, from GNU gettext.
31636         * lib/wait-process.c: New file, from GNU gettext.
31637
31638 2003-10-19  Jim Meyering  <jim@meyering.net>
31639
31640         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
31641         HPUX 10.20.
31642
31643 2003-10-18  Karl Berry  <karl@gnu.org>
31644
31645         * config/config.guess: update from config.
31646
31647 2003-10-16  Paul Eggert  <eggert@twinsun.com>
31648
31649         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
31650         (getgroups): First arg is int, not size_t.
31651         Don't let 'free' mangle errno.
31652
31653 2003-10-16  Paul Eggert  <eggert@twinsun.com>
31654
31655         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
31656
31657 2003-10-16  Karl Berry  <karl@gnu.org>
31658
31659         * config/config.{guess,sub}: update from config.
31660
31661 2003-10-16  Jim Meyering  <jim@meyering.net>
31662
31663         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
31664         memcpy.
31665
31666 2003-10-15  Paul Eggert  <eggert@twinsun.com>
31667
31668         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
31669         (SIZE_MAX): Remove.
31670         (new_exclude, add_exclude_file): Initial size no longer needs to
31671         be a power of 2.
31672         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
31673         our own address arithmetic overflow checking.
31674
31675         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
31676         (fnmatch): Do not alloca more than 2000 wide characters;
31677         instead, use malloc for large buffers.
31678         Check for address arithmetic overflow, and return -1
31679         with errno set to ENOMEM in that case.
31680         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
31681         (NEW_PATTERN): Do not alloca more than 8000 bytes;
31682         instead, return -1.  Check for address arithmetic overflow.
31683
31684 2003-10-14  Paul Eggert  <eggert@twinsun.com>
31685
31686         Handle invalid suffixes and overflow independently, so that
31687         callers can treat them independently as needed.  Fix some bugs in
31688         suffix handling, e.g., "100k@" was not diagnosed as an invalid
31689         suffix for a human-readable blocksize.  The major caller-visible
31690         change is the addition of a new
31691         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
31692         that both overflow and suffix chars were found.
31693
31694         * lib/human.c (humblock): Don't check separately for invalid suffix
31695         char; that is xstrtoumax's job (now that its bug is fixed).
31696         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
31697         INTMAX_MAX]: New macros.
31698         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
31699         TYPE_MAXIMUM): New macros.
31700         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
31701         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
31702         if overflow occurs, as it's what __strtol does and it's more useful
31703         in practice.
31704         (__xstrtol): If __strtol reports some error other than ERANGE,
31705         reflect it to the caller as LONGINT_INVALID.  If it reports
31706         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
31707         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
31708         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
31709         value.
31710         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
31711         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
31712         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
31713         [defined UINTMAX_MAX]: New macros.
31714
31715 2003-10-14  Bruno Haible  <bruno@clisp.org>
31716
31717         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
31718
31719 2003-10-14  Bruno Haible  <bruno@clisp.org>
31720
31721         * m4/sig_atomic_t: New file, from GNU gettext.
31722         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
31723
31724 2003-10-14  Bruno Haible  <bruno@clisp.org>
31725
31726         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
31727         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
31728         Also use volatile where needed.
31729
31730 2003-10-12  Paul Eggert  <eggert@twinsun.com>
31731
31732         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
31733         Change maintainer from Bruno Haible to 'all'.
31734
31735 2003-10-12  Paul Eggert  <eggert@twinsun.com>
31736
31737         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
31738
31739 2003-10-12  Paul Eggert  <eggert@twinsun.com>
31740
31741         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
31742         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
31743         and define in terms of the other primitives.
31744         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
31745         (SIZE_MAX): Define if not already defined.
31746         (array_size_overflow): New function.
31747         (xalloc_die): Abort instead of exiting if 'error' returns.
31748         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
31749         (xmalloc, xrealloc): Use them.
31750         (xcalloc): Check for address arithmetic overflow.
31751         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
31752         a bit faster than strcpy.
31753
31754 2003-10-10  Simon Josefsson  <jas@extundo.com>
31755
31756         * modules/argp (Depends-on): Add restrict and strcase.
31757
31758 2003-10-10  Simon Josefsson  <jas@extundo.com>
31759
31760         * m4/argp.m4: Add AC_C_INLINE.
31761
31762 2003-10-08  Paul Eggert  <eggert@twinsun.com>
31763
31764         Merge getpass from libc, plus a few fixes.
31765
31766         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
31767         Include <stdbool.h>.
31768         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
31769         __fsetlocking to empty.
31770         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
31771         do include <bits/libc-lock.h>.
31772         Do not include <fcntl.h>; not needed.
31773         [_LIBC]: Include <wchar.h>.
31774         (NOTCANCEL_MODE): New macro.
31775         (flockfile, funlockfile) [_LIBC]: New macros.
31776         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
31777         [!_LIBC]: New macros.
31778         (call_fclose): New function.
31779         (getpass): Use it.  Save tty stream separately; this simplifies the
31780         code and makes it more reliable if stdin happens to equal stdout.
31781         Invoke __fsetlocking on tty.
31782         Handle thread cancellation if needed.
31783         Namespace cleanup (use __tcgetattr, __getline).
31784         Use bool for Booleans.
31785         [USE_IN_LIBIO]: Handle wide streams.
31786         [!_LIBC]: Unconditionally do the fseek, since we don't know what
31787         stream might go where.
31788
31789         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
31790         doesn't have to include <stdio.h> before us.
31791         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
31792         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
31793         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
31794         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
31795         if not declared, so that we can use getpass.c code from libc without
31796         rewriting it.
31797         (flockfile, ftrylockfile, funlockfile): New macros.
31798
31799 2003-10-08  Paul Eggert  <eggert@twinsun.com>
31800
31801         * modules/getpass: Depend on stdbool.
31802
31803 2003-10-08  Paul Eggert  <eggert@twinsun.com>
31804
31805         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
31806
31807 2003-10-07  Karl Berry  <karl@gnu.org>
31808
31809         * config/config.{guess,sub}: update from config.
31810
31811 2003-10-06  Jim Meyering  <jim@meyering.net>
31812             Bruno Haible  <bruno@clisp.org>
31813
31814         This lets translators provide better translations for the
31815         "Written by ..." part of --version output.
31816         * lib/version-etc.h: Include stdarg.h.
31817         (version_etc_copyright): Declare as readonly.
31818         (version_etc): Make this function variadic with a NULL-terminated list
31819         of author name strings.
31820         (version_etc_va): New declaration.
31821         * lib/version-etc.c: Include stdarg.h, stdlib.h.
31822         (version_etc_copyright): Declare as readonly.
31823         (version_etc_va): New function. Provide a different translatable string
31824         for each possible number of authors < 10. Abbreviate when there are 10
31825         authors or more.
31826         (version_etc): Make this function variadic. Call version_etc_va.
31827         Suggestion from Gary V. Vaughan.
31828
31829         * lib/long-options.h (parse_long_options): Change prototype: the
31830         authors string is moved to the end and becomes variadic.
31831         * lib/long-options.c: Include stdarg.h.
31832         (parse_long_options): Make this function variadic, too.
31833         Call version_etc_va, not version_etc.
31834
31835 2003-10-06  Bruno Haible  <bruno@clisp.org>
31836
31837         * modules/version-etc-2: Remove file.
31838         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
31839
31840 2003-10-06  Bruno Haible  <bruno@clisp.org>
31841
31842         * modules/fatal-signal: New file.
31843         * MODULES.html.sh (func_all_modules): Add fatal-signal.
31844
31845 2003-10-06  Bruno Haible  <bruno@clisp.org>
31846
31847         * m4/fatal-signal.m4: New file.
31848         * m4/signalblocking.m4: New file, from GNU gettext.
31849
31850 2003-10-06  Bruno Haible  <bruno@clisp.org>
31851
31852         * lib/version-etc-2.h: Remove file.
31853         * lib/version-etc-2.c: Remove file.
31854
31855 2003-10-06  Bruno Haible  <bruno@clisp.org>
31856
31857         * lib/fatal-signal.h: New file, from GNU gettext.
31858         * lib/fatal-signal.c: New file, from GNU gettext.
31859
31860 2003-10-05  Paul Eggert  <eggert@twinsun.com>
31861
31862         * README: Rework advice for preventing empty .o files.
31863         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
31864         not <sys/types.h>.
31865
31866 2003-10-04  Karl Berry  <karl@gnu.org>
31867
31868         * lib/argp*: update from libc.
31869
31870 2003-10-04  Karl Berry  <karl@gnu.org>
31871
31872         * config/config.{guess,sub}: update from config.
31873
31874 2003-10-02  Bruno Haible  <bruno@clisp.org>
31875
31876         * modules/lchown (Include): Add lchown.h.
31877         * modules/time_r (Include): Use "..." syntax.
31878         * modules/xgetdomainname (Include): Add xgetdomainname.h.
31879
31880 2003-10-01  Simon Josefsson  <jas@extundo.com>
31881
31882         * MODULES.html.sh (func_all_modules): Move gethostname from section
31883         'based on' to section 'lacking' POSIX:2001.
31884
31885 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
31886
31887         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
31888         to output mode on the same stream.
31889
31890 2003-09-29  Paul Eggert  <eggert@twinsun.com>
31891
31892         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
31893         Fix arg typo in previous patch.
31894
31895 2003-09-28  Jim Meyering  <jim@meyering.net>
31896
31897         * lib/error.c: Correct cpp indentation.
31898
31899 2003-09-27  Paul Eggert  <eggert@twinsun.com>
31900
31901         * modules/free: New file.
31902
31903 2003-09-27  Paul Eggert  <eggert@twinsun.com>
31904
31905         * m4/free.m4: New file.
31906
31907 2003-09-27  Paul Eggert  <eggert@twinsun.com>
31908
31909         * lib/minmax.h (MIN, MAX)
31910         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
31911         Omit the special code that used __typeof__, since we worry that
31912         it could be more trouble than it's worth.  See:
31913         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
31914         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
31915
31916         * lib/free.c: New file.
31917
31918 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
31919
31920         Trivial fixes to Makefile.am parts of module listings.
31921         * modules/strstr: Append strstr.h to lib_SOURCES.
31922         * modules/strcase: Likewise, for strcase.h.
31923
31924 2003-09-27  Karl Berry  <karl@gnu.org>
31925
31926         * config/mkinstalldirs: update from automake.
31927
31928 2003-09-26  Paul Eggert  <eggert@twinsun.com>
31929
31930         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
31931         (error_tail): Do not loop, reallocating temporary buffer, since
31932         the output cannot contain more wide characters than the input
31933         contains bytes, the size must be big enough already.  This avoids
31934         one potential size overflow calculation.  Check for size overflow
31935         when calculating temporary buffer size.  Free temporary buffer
31936         when done, if it was allocated with malloc; this plugs a memory
31937         leak.  Remove casts from void * to pointers, that are no longer
31938         needed now that we're assuming C89 or better.
31939
31940         Merge error changes from glibc.
31941
31942         * lib/error.c, error.h: Update copyright notice header to match glibc.
31943         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
31944         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
31945         Disable cancellation while printing error.
31946         * lib/error.h: Prepend __ to parameter names.
31947
31948 2003-09-26  Jim Meyering  <jim@meyering.net>
31949
31950         * lib/error.c (error_tail): Move some declarations
31951         into inner scope where the local variables are used.
31952
31953 2003-09-26  Bruno Haible  <bruno@clisp.org>
31954
31955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
31956         stpncpy().
31957         Don't define stpncpy through config.h; it's now done through stpncpy.h.
31958
31959 2003-09-26  Bruno Haible  <bruno@clisp.org>
31960
31961         * lib/stpncpy.h (gnu_stpncpy): New declaration.
31962         (stpncpy): Define as alias for gnu_stpncpy.
31963         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
31964
31965 2003-09-25  Simon Josefsson  <jas@extundo.com>
31966
31967         * lib/xgetdomainname.h: New file.
31968         * lib/xgetdomainname.c: New file.
31969
31970 2003-09-25  Simon Josefsson  <jas@extundo.com>
31971             Bruno Haible  <bruno@clisp.org>
31972
31973         * modules/getdomainname: New file.
31974         * modules/xgetdomainname: New file.
31975         * MODULES.html.sh (func_all_modules): Add getdomainname,
31976         xgetdomainname.
31977
31978 2003-09-25  Simon Josefsson  <jas@extundo.com>
31979             Bruno Haible  <bruno@clisp.org>
31980
31981         * m4/getdomainname.m4: New file.
31982
31983 2003-09-25  Simon Josefsson  <jas@extundo.com>
31984             Bruno Haible  <bruno@clisp.org>
31985
31986         * lib/getdomainname.h: New file.
31987         * lib/getdomainname.c: New file.
31988
31989 2003-09-25  Karl Berry  <karl@gnu.org>
31990
31991         * lib/argp-fmtstream.c, argp-help.c: update from libc.
31992
31993 2003-09-25  Karl Berry  <karl@gnu.org>
31994
31995         * config/install-sh: update from automake.
31996
31997 2003-09-25  Bruno Haible  <bruno@clisp.org>
31998
31999         * modules/version-etc-2: New file, from modules/version-etc with
32000         modifications.
32001         * MODULES.html.sh (func_all_modules): Add version-etc-2.
32002
32003 2003-09-25  Bruno Haible  <bruno@clisp.org>
32004
32005         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
32006         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
32007
32008 2003-09-24  Simon Josefsson  <jas@extundo.com>
32009
32010         * modules/xgethostname: Add xgethostname.h.
32011
32012 2003-09-24  Paul Eggert  <eggert@twinsun.com>
32013
32014         * lib/linebuffer.c (freebuffer): Don't free the argument, just
32015         the buffer associated with the argument.  Bug reported by
32016         Simon Josefsson.
32017
32018 2003-09-24  Paul Eggert  <eggert@twinsun.com>
32019
32020         * README: Document assumptions that 'int' is at least 32 bits
32021         wide, that integer arithmetic is 2's complement without overflow,
32022         that there are no holes in integer values, that adding sizes of
32023         two nonoverlapping objects can't overflow, and that all-bits-zero
32024         yields scalar zero.  Fix spelling and capitalization typos.
32025
32026 2003-09-19  Karl Berry  <karl@gnu.org>
32027
32028         * lib/argp.h: update from libc.
32029
32030 2003-09-17  Paul Eggert  <eggert@twinsun.com>
32031
32032         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
32033         to avoid spurious warnings like "AC_RUN_IFELSE was called before
32034         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
32035
32036 2003-09-17  Paul Eggert  <eggert@twinsun.com>
32037
32038         * gnulib-tool: Use "test -h", not "test -L", for portability
32039         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
32040         (tags_regexp): Remove, since \| doesn't conform to POSIX.
32041         (sed_extract_prog): Issue s commands one-by-one, rather than
32042         using \| in one s command.
32043
32044 2003-09-16  Paul Eggert  <eggert@twinsun.com>
32045
32046         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
32047         input error, instead of returning NULL the next time we are called
32048         (and therefore losing track of errno).
32049
32050 2003-09-16  Bruno Haible  <bruno@clisp.org>
32051
32052         * gnulib-tool (func_create_testdir): Warn about duplicated
32053         dependencies.
32054
32055 2003-09-15  Paul Eggert  <eggert@twinsun.com>
32056
32057         * modules/argmatch, modules/fatal, modules/obstack,
32058         modules/xalloc, modules/xgethostname: Sort dependencies by
32059         importance, not alphabetically.
32060
32061 2003-09-15  Paul Eggert  <eggert@twinsun.com>
32062
32063         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
32064         fails, so that the caller gets the proper errno.
32065
32066         * lib/readutmp.c (read_utmp): Likewise.
32067         Check for fstat error.  Close stream and free storage
32068         when failing.
32069
32070 2003-09-14  Karl Berry  <karl@gnu.org>
32071
32072         * config/srclist.txt (strdup.c): disable for c89 changes.
32073
32074 2003-09-14  Jim Meyering  <jim@meyering.net>
32075
32076         * lib/getloadavg.c: Correct cpp indentation.
32077         * lib/strdup.c: Likewise.
32078         * lib/vasnprintf.c: Likewise.
32079
32080 2003-09-14  Bruno Haible  <bruno@clisp.org>
32081
32082         * modules/fwriteerror: New file.
32083         * MODULES.html.sh (func_all_modules): Add fwriteerror.
32084
32085 2003-09-14  Bruno Haible  <bruno@clisp.org>
32086
32087         * lib/fwriteerror.h: New file.
32088         * lib/fwriteerror.c: New file.
32089
32090 2003-09-12  Paul Eggert  <eggert@twinsun.com>
32091
32092         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
32093         modules/xgethostname, modules/xalloc: Depend on exit.
32094
32095 2003-09-12  Paul Eggert  <eggert@twinsun.com>
32096
32097         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
32098
32099         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
32100         and AC_MINIX, too, so that their extensions are available.
32101
32102         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
32103         This macro has been superseded by gl_BACKUPFILE.
32104
32105         More patches to assume C89 or better.
32106
32107         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
32108
32109         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
32110         unconditionally.
32111         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
32112         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
32113         Include <string.h>, <stdlib.h> unconditionally.
32114         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
32115         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
32116         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
32117         headers or for string.h.
32118         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
32119         or strtoul.
32120
32121         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
32122         headers.
32123         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
32124         * m4/userspec.m4 (gl_USERSPEC): Likewise.
32125         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
32126         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
32127         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
32128         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
32129         memcpy, memset.
32130         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
32131         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
32132         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
32133         strtol.
32134         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
32135         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
32136         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
32137         strtoul.
32138
32139 2003-09-12  Paul Eggert  <eggert@twinsun.com>
32140
32141         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
32142         * lib/obstack.c [!defined _LIBC]: Likewise.
32143         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
32144         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
32145         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
32146
32147         More changes to assume C89 or better.
32148
32149         * lib/error.c (error_tail): Assume vprintf.
32150
32151         * lib/argmatch.c (getenv): Remove decl.
32152         * lib/progreloc.c (get_full_program_name): Define via prototype.
32153         * lib/setenv.c (clearenv): Likewise.
32154         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
32155         needed.
32156         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
32157         (malloc, memcpy): Remove decls.
32158         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
32159         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
32160         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
32161         (memcpy): Remove macro.
32162         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
32163         (__P): Remove.  All uses removed.
32164         (PTR): Remove.  All uses changed to void *.
32165         (CHAR_BIT, NULL): Remove.
32166         (spaces, zeros, memset_space, memset_zero)
32167         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
32168         Remove.
32169         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
32170         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
32171         Define with prototype.
32172         Remove now-unnecessary prototype decl.
32173         (extra_args_spec): Assume ANSI C.  All uses changed.
32174         (extra_args_spec_iso): Remove.
32175         (my_strftime, emacs_strftimeu): Define via prototype.
32176         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
32177         unconditionally.
32178         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
32179         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
32180         (strtoul, strtol): Remove decls.
32181         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
32182         LONG_MAX): Remove.
32183         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
32184         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
32185         (LOCALE_PARAM_PROTO): New macro.
32186         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
32187         (INTERNAL (strtol), strtol): Define with a prototype.
32188         (PARAMS): Remove.  All uses removed.
32189         * lib/tempname.c: Include <string.h> unconditionally.
32190         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
32191         * lib/xgethostname.c (main): Define with a prototype.
32192         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
32193         Include <stdlib.h> unconditionally.
32194         (calloc, malloc, realloc, free): Remove decls.
32195         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
32196         Include <stdlib.h> unconditionally.  Sort include file names.
32197         (strtod): Remove.
32198         (xstrtod): Define with a prototype.
32199         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
32200         (strtol, strtoul): Remove decls.
32201
32202 2003-09-11  Paul Eggert  <eggert@twinsun.com>
32203
32204         More patches to assume C89 or better.
32205         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
32206         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
32207         string.h, memchr, STDC_HEADERS.
32208
32209 2003-09-11  Paul Eggert  <eggert@twinsun.com>
32210
32211         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
32212         Include <stdlib.h>, <string.h> unconditionally.
32213         Remove now-unnecessary cast to char *.
32214         * lib/strnlen.c: Include <string.h> unconditionally.
32215         * lib/yesno.c (yesno): Define with a prototype.
32216
32217 2003-09-11  Bruno Haible  <bruno@clisp.org>
32218
32219         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
32220
32221 2003-09-10  Jim Meyering  <jim@meyering.net>
32222
32223         * lib/error.c: Correct indentation of cpp directives.
32224
32225 2003-09-10  Bruno Haible  <bruno@clisp.org>
32226
32227         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
32228         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
32229         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
32230         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
32231         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
32232         <stdlib.h> and <string.h> checks.
32233         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
32234         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
32235
32236 2003-09-10  Bruno Haible  <bruno@clisp.org>
32237
32238         * lib/strcspn.c: Include <string.h> unconditionally.
32239         * lib/strpbrk.c: Include <string.h> unconditionally.
32240         * lib/strstr.c: Include <string.h> unconditionally.
32241         * lib/unicodeio.c: Include <string.h> unconditionally.
32242         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
32243         * lib/unsetenv.c: Likewise.
32244         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
32245         * lib/yesno.c: Include <stdlib.h> unconditionally.
32246         (rpmatch): Add prototype.
32247
32248 2003-09-09  Paul Eggert  <eggert@twinsun.com>
32249
32250         More patches to assume C89 or better.
32251         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
32252         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
32253         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
32254         or for string.h.
32255         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
32256         stdlib.h.
32257         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
32258         C headers.
32259         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
32260         string.h.
32261         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
32262         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
32263         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
32264         or for string.h.
32265         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
32266         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
32267         C headers.
32268         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
32269         memcpy.
32270         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
32271         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
32272         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
32273         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
32274         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
32275         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
32276         string.h, free.
32277         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
32278         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
32279         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
32280         C headers, or for string.h.
32281         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
32282         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
32283         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
32284         headers, memory.h, stdlib.h, string.h, strings.h.
32285         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
32286         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
32287         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
32288         strchr.
32289         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
32290         headers, memory.h, string.h.
32291         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
32292         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
32293         free.
32294         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
32295         headers.
32296         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
32297         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
32298         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
32299         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
32300         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
32301
32302 2003-09-09  Paul Eggert  <eggert@twinsun.com>
32303
32304         More K&R removal.
32305
32306         * lib/acosl.c (main): Use a prototype.
32307         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
32308         tanl.c: Likewise.
32309
32310         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
32311
32312         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
32313         (getopt, etopt_long, getopt_long_only, _getopt_internal)
32314         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
32315         with a prototype.
32316         * lib/getopt.c (const): Remove macro.
32317         Include <string.h> unconditionally.
32318         (my_index): Remove; all uses changed to strchr.
32319         (strlen): Remove decl.
32320         (exchange): Remove forward decl; no longer needed.
32321         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
32322         Define with prototype.
32323         * lib/getopt1.c (const): Remove macro.
32324         (getopt_long, getopt_long_only, main): Define with prototype.
32325
32326         * lib/getugroups.c: Include <string.h> unconditionally.
32327
32328         * lib/getusershell.c: Include <stdlib.h> unconditionally.
32329         (getusershell, setusershell, endusershell, readname, main):
32330         Define with prototypes.
32331
32332         * lib/group-member.c: Include group-member.h first.
32333         Include <stdlib.h> unconditionally.
32334
32335         * lib/hard-locale.c: Include hard-locale.h first.
32336         Include <stdlib.h>, <string.h> unconditionally.
32337
32338         * lib/hash.c (free, malloc): Remove decls.
32339         Include <stdlib.h> unconditionally.
32340
32341         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
32342         (getenv): Do not declare.
32343
32344         * lib/idcache.c: Include <string.h> unconditionally.
32345
32346         * lib/long-options.c: Include long-options.h first, to test interface.
32347         Include <stdlib.h> unconditionally.
32348
32349         * lib/makepath.c: Include makepath.h first, to test interface.
32350         Include <stdlib.h> and <string.h> unconditionally.
32351
32352         * lib/linebuffer.c: Include <stdlib.h>.
32353         (free): Remove decl.
32354
32355         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
32356         stddef.h. rpl_malloc returns void *, not char *.
32357         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
32358         prototype.
32359
32360         * lib/md5.h: Include <limits.h> unconditionally.
32361         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
32362         (__P): Remove; all uses removed.
32363         * lib/md5.c: Include "md5.h" first.
32364         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
32365         md5_buffer, md5_process_bytes, md5_process_block):
32366         Define with prototypes.
32367         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
32368         * lib/sha.c: Include "sha.h" first.
32369         Include <stdlib.h>, <string.h> unconditionally.
32370
32371         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
32372         * lib/memcmp.c (__ptr_t): Likewise.
32373         * lib/memrchr.c (__ptr_t): Likewise.
32374         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
32375         Include <string.h> unconditionally.
32376         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
32377         * lib/memchr.c: Include <stdlib.h> unconditionally.
32378         * lib/memchr.c (LONG_MAX): Remove.
32379         * lib/memrchr.c (LONG_MAX): Likewise.
32380         * lib/memchr.c (__memchr): Define via a prototype.
32381         * lib/memrchr.c (__memrchr): Likewise.
32382         * lib/memcmp.c (__P): Remove, and remove all uses.
32383         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
32384         Remove forward decls; no longer needed.
32385         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
32386         Use types required by C89 in prototype.
32387
32388         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
32389         * lib/savedir.c: Likewise.
32390         * lib/mkdir.c (free): Remove decl.
32391         * lib/rmdir.c (rmdir): Define with a prototype.
32392         * lib/savedir.c: Include savedir.h first, to test interface.
32393
32394         * lib/mktime.c (STDC_HEADERS): Remove.
32395         Include <stdlib.h>, <string.h> unconditionally.
32396
32397         * lib/modechange.c: Include <stdlib.h> unconditionally.
32398         (malloc): Remove decl.
32399
32400         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
32401         (free): Remove decl.
32402
32403         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
32404         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
32405         (This type really should be intptr_t, but that's a C99ism.)
32406         (_obstack_memcpy): Remove: all uses changed to memcpy.
32407         Include <string.h> unconditionally.
32408         (struct obstack): Assume __STDC__ for types of members
32409         chunkfun, freefun, extra_arg.
32410         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
32411         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
32412         obstack_begin, obstack_specify_allocation,
32413         obstack_specify_allocation_with_arg, obstack_chunkfun,
32414         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
32415         Remove unprototyped decls and the macros that use them.
32416         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
32417         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
32418         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
32419         (defined __STDC__ && __STDC__)]:
32420         Remove nonprototyped code.
32421         Include <stdlib.h> unconditionally.
32422         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
32423         _obstack_allocated_p, _obstack_free, obstack_free,
32424         _obstack_memory_used, print_and_abort):
32425         Define using prototypes.
32426         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
32427         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
32428         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
32429         obstack_next_free, obstack_object_size, obstack_room) [0]:
32430         Remove unused, unprototyped code.
32431
32432         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
32433
32434         * lib/physmem.c (physmem_total, physmem_available, main): Define
32435         with prototypes.
32436
32437         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
32438         (main): Define with a prototype.
32439
32440         * lib/posixver.c (getenv): Remove decl.
32441
32442         * lib/putenv.c (malloc): Returns void *, not char *.
32443         Include <string.h> unconditionally.
32444         (strchr, memcpy, NULL): Do not define.
32445
32446         * lib/readtokens.c: Include readtokens.h first, to test interface.
32447         Include <stdlib.h>, <string.h> unconditionally.
32448         (init_tokenbuffer): Define with a prototype.
32449
32450         * lib/regex.c (PARAMS): Remove.  All uses removed.
32451         All uses of _RE_ARGS removed, too.
32452         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
32453         unconditionally.
32454         (bzero): Assume memset exists.
32455         (memcmp, memcpy, NULL): Remove.
32456         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
32457         char, or assignments to local vars of type signed char.
32458         (init_syntax_once, PREFIX(extract_number_and_incr),
32459         PREFIX(print_partial_compiled_pattern),
32460         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
32461         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
32462         PREFIX(regex_grow_registers), PREFIX(regex_compile),
32463         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
32464         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
32465         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
32466         wcs_compile_range, byte_compile_range, truncate_wchar,
32467         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
32468         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
32469         count_mbs_length, wcs_re_match_2_internal,
32470         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
32471         PREFIX(alt_match_null_string_p),
32472         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
32473         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
32474         regfree, PREFIX(extract_number)): Define with prototype.  Remove
32475         now-unnecessary declaration, if any.
32476         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
32477         regcomp, regexec):
32478         Remove now-unnecessary casts among pointer types.
32479         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
32480
32481         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
32482         (free): Remove decl.
32483
32484         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
32485
32486         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
32487         (free): Remove decl.
32488
32489         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
32490         * lib/xgetcwd.c: Likewise.
32491
32492         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
32493         (free): Remove decl.
32494
32495         * lib/strchrnul.c (strchrnul): Define with a prototype.
32496         Fix bug: c_in was not converted to char before searching.
32497
32498         The following changes are not K&R related:
32499
32500         * lib/group-member.h: Include <sys/types.h>, so that this file is
32501         self-contained.
32502         * lib/makepath.h: Likewise.
32503
32504         * lib/getusershell.c (readname, default_index, line_size, readname):
32505         Use size_t, not int, for sizes.
32506         (readname): If the size overflows, report an error instead of
32507         looping forever.
32508
32509 2003-09-09  Paul Eggert  <eggert@twinsun.com>
32510
32511         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
32512         libc.
32513
32514 2003-09-09  Paul Eggert  <eggert@twinsun.com>
32515
32516         * README: New section: portability guidelines.
32517
32518 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
32519
32520         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
32521         C89 spec.
32522
32523 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
32524
32525         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
32526
32527 2003-09-08  Paul Eggert  <eggert@twinsun.com>
32528
32529         Assume C89 or better; remove K&R cruft.
32530         A few of these changes were first proposed by Derek Robert Price
32531         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
32532
32533         * lib/addext.c: Include <string.h> unconditionally.
32534         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
32535         Don't declare getenv or malloc.
32536
32537         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
32538         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
32539         (NULL): Remove.
32540         (find_stack_direction, alloca): Use prototypes.
32541
32542         * lib/atexit.c (atexit): Define using a prototype.
32543
32544         * lib/basename.c, dirname.c, stripslash.c:
32545         Include <string.h> unconditionally.
32546
32547         * lib/bcopy.c: Include <stddef.h>.
32548         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
32549
32550         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
32551
32552         * lib/error.h (error, error_at_line, error_print_progname)
32553         [! (defined (__STDC__) && __STDC__)]: Remove decls.
32554         * lib/error.c: Include error.h first, to check interface.
32555         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
32556         (VA_START): Remove; all uses changeed to va_start.
32557         (exit, strerror): Remove decls.
32558         (error_print_progname): Prototype uncondionally.
32559         Don't include <errno.h>; no longer needed.
32560         (private_strerror): Remove.
32561         (error_tail): Always define.
32562         (error, error_at_line): Assume C89 or better; always use prototypes.
32563         * lib/fatal.c: Include "fatal.h" first, to test interface.
32564         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
32565         (VA_START): Remove; all uses changed to va_start.
32566         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
32567         this case.
32568         (exit): Remove decl.
32569         (fatal): Prototype unconditionally.  Assume va_start works.
32570         Abort at end, to pacify gcc.
32571
32572         * lib/euidaccess.c (main): Define with a prototype.
32573
32574         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
32575
32576         * lib/exitfail.c: Include <stdlib.h> unconditionally.
32577
32578         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
32579         prototypes.
32580         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
32581         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
32582         (getenv): Remove decl.
32583         (fnmatch): Define using a prototype.
32584         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
32585         (FCT): Define using a prototype.
32586
32587         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
32588
32589         * lib/gethostname.c: Include <stddef.h>.
32590         (gethostname): Define with prototype.  Length is size_t, not int.
32591
32592 2003-09-08  Paul Eggert  <eggert@twinsun.com>
32593
32594         Assume C89 or better; remove K&R cruft.
32595         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
32596         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
32597         string.h, getenv, malloc.
32598         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
32599         headers.
32600         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
32601         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
32602         do not check for strerror.
32603         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
32604         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
32605         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
32606         do not check for doprnt or vprintf.
32607         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
32608         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
32609
32610 2003-09-08  Paul Eggert  <eggert@twinsun.com>
32611
32612         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
32613         getversion.c should have been removed then, but was accidentally
32614         preserved.
32615
32616         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
32617         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
32618
32619 2003-09-08  Karl Berry  <karl@gnu.org>
32620
32621         * config/config.sub, config.guess, srclistvars.sh: update from savannah
32622                 config, forget about prep.
32623
32624         * config/depcomp, missing: update from automake.
32625
32626 2003-09-07  Paul Eggert  <eggert@twinsun.com>
32627
32628         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
32629         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
32630
32631 2003-09-07  Paul Eggert  <eggert@twinsun.com>
32632
32633         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
32634         copy_tm_result.  Bug reported by Simon Josefsson in
32635         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
32636
32637 2003-09-06  Paul Eggert  <eggert@twinsun.com>
32638
32639         * m4/time_r.m4: New file.
32640         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
32641         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
32642         is. Check for timegm declaration.
32643         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
32644         Do not check for gmtime_r.
32645         Replace mktime if __mktime_internal does not exist and if mktime
32646         hasn't been replaced already.
32647
32648 2003-09-06  Paul Eggert  <eggert@twinsun.com>
32649
32650         * lib/time_r.c, lib/time_r.h: New files.
32651
32652         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
32653         __localtime_r.
32654         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
32655         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
32656
32657         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
32658         __gmtime_r.
32659         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
32660         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
32661         Include <time_r.h>.
32662
32663         * lib/timegm.c: Switch to glibc implementation, with the following
32664         changes:
32665         [defined HAVE_CONFIG_H]: Include <config.h>.
32666         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
32667         (__mktime_internal) [!defined _LIBC]: New decl.
32668         (__gmtime_r) [!defined _LIBC]: New macro and function.
32669         (timegm): Use a prototype, since gnulib assumes C89.
32670         Do not bother declaring tmp to be const, as it's not really usefu.
32671         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
32672         (timegm): Declare only if HAVE_DECL_TIMEGM.
32673
32674 2003-09-06  Paul Eggert  <eggert@twinsun.com>
32675
32676         * MODULES.html.sh (func_all_modules): Add time_r.
32677         * modules/time_r: New file.
32678         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
32679         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
32680
32681 2003-09-03  Paul Eggert  <eggert@twinsun.com>
32682
32683         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
32684         Bug reported by Lute Kamstra in
32685         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
32686
32687         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
32688         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
32689         course with correspondingly smaller numbers for tomorrow and
32690         yesterday.  From Tadayoshi Funaba.  Originally installed into
32691         sh-utils on 1999-08-07, but the patch got lost (I guess during the
32692         coreutils merge?).
32693
32694 2003-08-31  Simon Josefsson  <jas@extundo.com>
32695
32696         * modules/timegm: New file.
32697         * MODULES.html.sh (func_all_modules): Add timegm.
32698
32699 2003-08-31  Simon Josefsson  <jas@extundo.com>
32700
32701         * m4/timegm.m4: New file.
32702
32703 2003-08-31  Simon Josefsson  <jas@extundo.com>
32704
32705         * lib/timegm.h: New file.
32706         * lib/timegm.c: New file.  Based on
32707         wget-1.8.2/src/http.c:mktime_from_utc.
32708
32709 2003-08-31  Karl Berry  <karl@gnu.org>
32710
32711         * lib/argp.h: update from libc.
32712
32713 2003-08-28  Bruno Haible  <bruno@clisp.org>
32714
32715         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
32716         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
32717         followed by '#define fnmatch fnmatch_posix' gives an error.
32718
32719 2003-08-28  Bruno Haible  <bruno@clisp.org>
32720
32721         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
32722         warning on QNX, which defines O_BINARY to 000000.
32723
32724 2003-08-27  Jim Meyering  <jim@meyering.net>
32725
32726         * m4/mkstemp.m4: Require that the system mkstemp be able to create
32727         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
32728         would fail after 32.  Reported by Danny Levinson.  Details here:
32729         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
32730
32731 2003-08-24  Bruno Haible  <bruno@clisp.org>
32732
32733         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
32734         MSVC7 <stdio.h> is included later.
32735
32736 2003-08-22  Simon Josefsson  <jas@extundo.com>
32737
32738         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
32739
32740 2003-08-20  Karl Berry  <karl@gnu.org>
32741
32742         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
32743
32744 2003-08-20  Bruno Haible  <bruno@clisp.org>
32745
32746         * modules/progname: New file.
32747         * MODULES.html.sh (func_all_modules): Add progname.
32748
32749 2003-08-20  Bruno Haible  <bruno@clisp.org>
32750
32751         * lib/progname.h: New file, from GNU gettext.
32752         * lib/progname.c: New file, from GNU gettext.
32753         * lib/progreloc.c: New file, from GNU gettext.
32754
32755 2003-08-19  Jim Meyering  <jim@meyering.net>
32756
32757         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
32758         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
32759
32760 2003-08-19  Bruno Haible  <bruno@clisp.org>
32761
32762         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
32763         more.
32764
32765 2003-08-19  Bruno Haible  <bruno@clisp.org>
32766
32767         * lib/xstrdup.c: Assume <string.h> exists.
32768
32769 2003-08-18  Paul Eggert  <eggert@twinsun.com>
32770
32771         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
32772         in makefile rules.
32773
32774 2003-08-18  Jim Meyering  <jim@meyering.net>
32775
32776         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
32777         * m4/lib-ld.m4: Likewise.
32778
32779 2003-08-18  Jim Meyering  <jim@meyering.net>
32780
32781         * lib/setenv.h: Indent nested cpp directive.
32782         * lib/vasnprintf.c: Remove trailing blanks.
32783
32784 2003-08-17  Simon Josefsson  <jas@extundo.com>
32785
32786         * modules/xstrndup: New file.
32787         * MODULES.html.sh (func_all_modules): Add xstrndup.
32788
32789 2003-08-17  Simon Josefsson  <jas@extundo.com>
32790
32791         * modules/argp: Fix autoconf macro name. Add more dependencies.
32792
32793 2003-08-17  Simon Josefsson  <jas@extundo.com>
32794
32795         * m4/xstrndup.m4: New file.
32796
32797 2003-08-17  Simon Josefsson  <jas@extundo.com>
32798
32799         * m4/argp.m4: New file.
32800
32801 2003-08-17  Simon Josefsson  <jas@extundo.com>
32802             Bruno Haible  <bruno@clisp.org>
32803
32804         * lib/xstrndup.h: New file.
32805         * lib/xstrndup.c: New file.
32806
32807 2003-08-17  Bruno Haible  <bruno@clisp.org>
32808
32809         * modules/strndup (Files, Include): Add lib/strndup.h.
32810
32811 2003-08-17  Bruno Haible  <bruno@clisp.org>
32812
32813         * modules/euidaccess (Files): Add lib/euidaccess.h.
32814
32815 2003-08-17  Bruno Haible  <bruno@clisp.org>
32816
32817         * lib/strndup.h: New file.
32818
32819 2003-08-17  Bruno Haible  <bruno@clisp.org>
32820
32821         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
32822         like AC_GNU_SOURCE.
32823         * modules/extensions (configure.ac): Comment out the invocation of
32824         gl_USE_SYSTEM_EXTENSIONS.
32825
32826 2003-08-16  Paul Eggert  <eggert@twinsun.com>
32827
32828         Merges from coreutils, etc.
32829         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
32830         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
32831         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
32832         fixing a typo.
32833         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
32834         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
32835
32836 2003-08-16  Paul Eggert  <eggert@twinsun.com>
32837
32838         Document merge from coreutils.
32839         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
32840         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
32841         * modules/utime: Add m4/utimes-null.m4.
32842
32843 2003-08-16  Paul Eggert  <eggert@twinsun.com>
32844
32845         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
32846         space, undoing this 2003-08-12 change:
32847         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
32848
32849 2003-08-16  Paul Eggert  <eggert@twinsun.com>
32850
32851         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
32852         strtoul.c from libc, undoing this 2003-08-12 change:
32853         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
32854
32855 2003-08-16  Jim Meyering  <jim@meyering.net>
32856
32857         Merges from coreutils.
32858         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
32859         prefix.  Adjust cache variables similarly.  Create 500 rather than
32860         just 300 files, to exercise bug on Darwin6.5, too.
32861         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
32862         $missing_dir.
32863         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
32864         AM_SYS_POSIX_TERMIOS.
32865         Reported by mkc@mathdogs.com.
32866         Also change use of $am_cv_sys_posix_termios
32867         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
32868         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
32869         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
32870         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
32871         in /proc/mounts until it finds one with matching device number.  This
32872         is unnecessary when the FILE argument *is* a mount point.  No stat call
32873         is necessary in that case.  So, disable the statvfs-testing code on
32874         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
32875         as RedHat bug# 84846.
32876         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
32877         to 1MB, so as not to render systems with no stack size limit (e.g.,
32878         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
32879         Include <unistd.h>.  On some systems,
32880         it is required for the definition of _SC_PAGESIZE.
32881
32882 2003-08-16  Jim Meyering  <jim@meyering.net>
32883
32884         Merge from coreutils.
32885         * lib/xstrtoimax.c: #else #if -> #elif.
32886         * lib/xstrtoumax.c: Likewise.
32887
32888 2003-08-16  Jim Meyering  <jim@meyering.net>
32889
32890         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
32891         * m4/utimes.m4: Removed.
32892         * m4/utimes-null.m4: Renamed from utimes.m4.
32893
32894         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
32895         to 1MB, so as not to render systems with no stack size limit (e.g.,
32896         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
32897         Include <unistd.h>.  On some systems,
32898         it is required for the definition of _SC_PAGESIZE.
32899
32900 2003-08-16  Jim Meyering  <jim@meyering.net>
32901         and Paul Eggert  <eggert@cs.ucla.edu>
32902
32903         Merges from coreutils, etc.
32904
32905         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
32906         using the latest version from cvs.  This avoids problems with #line
32907         directives using a vendor (Sun) compiler.
32908         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
32909         Don't set GETGROUPS_LIB here; now it's
32910         done via getgroups.m4's wrapper function.
32911         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
32912         rather than just in sh-util/configure.in, so that the
32913         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
32914         same.
32915         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
32916         AC_FUNC_GETLOADAVG where to find getloadavg.c.
32917         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
32918         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
32919         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
32920         Remove code that is now done by the newly-required macros.
32921         Append $(EXEEXT) to DF_PROG.
32922         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
32923         Do not invoke or require the following here,
32924         since prereq.m4 or some gnulib .m4 now does this for us:
32925         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
32926         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
32927         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
32928         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
32929         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
32930         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
32931         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
32932         AC_FUNC_OBSTACK.
32933         Do not replace the following functions, as this is now the job
32934         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
32935         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
32936         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
32937         atexit getpass, strdup, getpagesize.
32938         Replace 'raise'.
32939         Do not check for the following functions, as this is now the job
32940         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
32941         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
32942         setregid.
32943         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
32944         Check for sys/sysctl.h.
32945         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
32946         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
32947         of checking for ssize_t ourselves.
32948
32949         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
32950         Require every macro that gnulib/modules/* suggests for us.
32951         (jm_PREREQ_ADDEXT): New macro.
32952         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
32953         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
32954
32955         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
32956         (gl_PHYSMEM): Use it.
32957         Also check for `table' function.
32958         Check for new headers and functions.
32959         Add check for sys/sysmp.h.
32960         With suggestions from Kaveh Ghazi.
32961         Ignore headers that are present but cannot be compiled.  This
32962         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
32963         C 5.4.
32964
32965 2003-08-15  Paul Eggert  <eggert@twinsun.com>
32966
32967         Document merge from coreutils.
32968         * modules/userspec: Depend on posixver.
32969         * modules/strftime: Depend on tzset.
32970
32971 2003-08-15  Paul Eggert  <eggert@twinsun.com>
32972
32973         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
32974         rather than tab, after '#' in shell-script copyright notices.
32975         Suggested by Bruno Haible.
32976
32977 2003-08-15  Paul Eggert  <eggert@twinsun.com>
32978
32979         * config/srclist-update: Use three spaces, rather than tab, after '#'
32980         in shell-script copyright notices.  Suggested by Bruno Haible.
32981         Remove unnecessary parenthesization in regular expression.
32982
32983 2003-08-15  Jim Meyering  <jim@meyering.net>
32984
32985         Merge from coreutils.
32986         * lib/xgethostname.c: Include <stdlib.h>.
32987         (xghostname): Don't exit for anything other than memory-related
32988         failure; just return NULL.
32989         * lib/userspec.c: Include "posixver.h".
32990         (parse_user_spec): Accept `.' as a separator only
32991         in pre-POSIX-200112 mode.
32992         * lib/strtoimax.c: Use #elif rather than #else #if.
32993         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
32994         Remove function, now that we can rely on a working tzset function.
32995         [!_LIBC]: Ensure that the required autoconf test has been run.
32996         [!defined _NL_CURRENT && HAVE_STRFTIME]:
32997         Use underlying_strftime for %r.
32998         * lib/sha.c: Merge in some clean-up and optimization changes from
32999         glibc.
33000         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
33001         Ensure that it is a multiple of 64.
33002         Rearrange loop exit tests so as to avoid performing an
33003         additional fread after encountering an error or EOF.
33004         * lib/realloc.c: Update copyright date.
33005
33006 2003-08-15  Jim Meyering  <jim@meyering.net>
33007         and Paul Eggert  <eggert@twinsun.com>
33008
33009         Merge from coreutils.
33010         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
33011         member but strut utmpx does not.  Needed for AIX 4.3.3.
33012         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
33013
33014 2003-08-15  Jim Meyering  <jim@meyering.net>
33015         and Paul Eggert  <eggert@cs.ucla.edu>
33016
33017         Merges from coreutils, etc.
33018         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
33019         Require gl_FUNC_TZSET_CLOBBER.
33020         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
33021         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
33022         members.
33023
33024 2003-08-14  Paul Eggert  <eggert@twinsun.com>
33025
33026         Help the merge from coreutils.
33027         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
33028         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
33029         * m4/tzset.m4: Use it too.
33030
33031 2003-08-14  Paul Eggert  <eggert@twinsun.com>
33032
33033         * modules/tzset: New file.
33034
33035 2003-08-14  Jim Meyering  <jim@meyering.net>
33036
33037         Merges from coreutils.
33038         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
33039         variable names, rather than @FNMATCH_H@.
33040         * modules/alloca: Likewise for $(ALLOCA_H).
33041
33042         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
33043         the three copies of the literal target, `fnmatch.h'.
33044         * modules/alloca (alloca.h): Likewise.
33045
33046 2003-08-14  Jim Meyering  <jim@meyering.net>
33047
33048         Merge from coreutils.
33049         * m4/tzset.m4: New file.
33050         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
33051         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
33052         otherwise, AIX 5.1 systems would end up using the latter.
33053         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
33054         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
33055         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
33056         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
33057
33058 2003-08-14  Jim Meyering  <jim@meyering.net>
33059
33060         Merge from coreutils.
33061         * lib/obstack.h: Whitespace changes.
33062         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
33063         and xcalloc return values.
33064         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
33065         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
33066         hang on OSF/1 5.1 for DIR on both local and remote file systems.
33067         Reported by (and fix confirmed by) Nelson H. F. Beebe.
33068         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
33069         error from mntctl.
33070         Use mntctl's return value to drive the entry-processing loop, since
33071         we can't rely on the value of the vmt_length member in the last
33072         entry.  On some systems doing so could result in exhausting
33073         virtual memory.  Based in part on a patch from Mike Jetzer.
33074
33075 2003-08-14  Jim Meyering  <jim@meyering.net>
33076         and Paul Eggert  <eggert@twinsun.com>
33077
33078         Merges from coreutils, plus other fixes.
33079         * lib/physmem.c: Merge in portability changes from gcc/libiberty
33080         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
33081         for credits and details.  Thanks to Kaveh Ghazi for helping
33082         to keep these files in sync.
33083         (ARRAY_SIZE): Define it.
33084         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
33085         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
33086         (memcasecmp): Don't assume size_t fits in unsigned int.
33087         Remove casts and duplicate code.
33088         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
33089         (memcpy): Remove definition.
33090         Merge in some clean-up and optimization changes from glibc.
33091         [BLOCKSIZE]: Move definition to top of file.
33092         Ensure that it is a multiple of 64.
33093         Rearrange loop exit tests so as to avoid performing an
33094         additional fread after encountering an error or EOF.
33095         * lib/md5.h (md5_uintptr): Define.
33096         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
33097         return to the initial working directory.  Preserve errno
33098         for caller.
33099         * lib/idcache.c: Include "xalloc.h".
33100         (xmalloc, xrealloc): Remove decls.
33101         (getuser): Remove casts no longer required in C89.
33102         * lib/human.c: Include stdio.h, for sprintf.
33103         * lib/group-member.c: Include "xalloc.h".
33104         (xmalloc, xrealloc): Remove decls.
33105         (get_group_info): Remove casts no longer required in C89.
33106         * lib/getusershell.c (readname): Remove casts no longer required in
33107         C89.
33108         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
33109         * lib/getline.c: Whitespace fix, from coreutils.
33110
33111 2003-08-13  Paul Eggert  <eggert@twinsun.com>
33112
33113         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
33114         Check for isascii.
33115
33116         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
33117         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
33118         Undo previous (whitespace-only) change.
33119
33120 2003-08-13  Paul Eggert  <eggert@twinsun.com>
33121
33122         * lib/exclude.c: Include <ctype.h>
33123         (IN_CTYPE_DOMAIN): New macro.
33124         (is_space): New fn.
33125         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
33126         and empty lines.
33127
33128         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
33129         Undo previous (whitespace-only) change.
33130
33131 2003-08-13  Paul Eggert  <eggert@twinsun.com>
33132
33133         * config/srclist-update: Change update back to the old behavior,
33134         leaving whitespace alone.  Use one 'sed' command rather than a
33135         pipeline.
33136         (fixlicense): Now a variable, not a function.
33137         (remove_trailing_blanks): Remove.
33138         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
33139         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
33140         Undo previous (whitespace-only) change.
33141
33142 2003-08-12  Paul Eggert  <eggert@twinsun.com>
33143
33144         Merge from coreutils.
33145         * modules/euidaccess: Add lib_SOURCES, include for new
33146         file euidaccess.h
33147
33148 2003-08-12  Paul Eggert  <eggert@twinsun.com>
33149
33150         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
33151         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
33152         Normalize leading white space and remove trailing white space.
33153
33154         Merge from coreutils
33155         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
33156
33157         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
33158         0.12.1.  These files are now being upgraded automatically by
33159         ../config/srclist-update.
33160
33161 2003-08-12  Paul Eggert  <eggert@twinsun.com>
33162
33163         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
33164         Normalize leading white space and remove trailing white space.
33165         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
33166         notice, as per ../config/srclist-update.
33167
33168         Merge from coreutils.
33169         * lib/euidaccess.h: New file.
33170         * lib/euidaccess.c: Include it.
33171         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
33172         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
33173         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
33174
33175 2003-08-12  Paul Eggert  <eggert@twinsun.com>
33176
33177         * config/srclist-update: Add copyright notice.
33178         (remove_id_lines, remove_trailing_blanks): New constants.
33179         (fixfile): Use them to normalize spacing a bit in copied files.
33180         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
33181         Normalize leading white space and remove trailing white space.
33182
33183         * config/texinfo.tex: Sync with texinfo.
33184
33185         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
33186         strtoul.c from libc, to merge coreutils whitespace changes.
33187
33188         * config/srclist.txt: Get the following m4 files from gettext:
33189         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
33190         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
33191         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
33192         wint_t.m4.
33193
33194 2003-08-12  Karl Berry  <karl@gnu.org>
33195
33196         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
33197         been made.
33198
33199 2003-08-11  Paul Eggert  <eggert@twinsun.com>
33200
33201         * modules/gnu-source, m4/gnu-source.m4:
33202         Remove; we're assuming Autoconf 2.54 or later now.
33203         Suggested by Bruno Haible.
33204         * MODULES.html.sh (func_all_modules): Remove gnu-source.
33205
33206 2003-08-11  Bruno Haible  <bruno@clisp.org>
33207
33208         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
33209
33210 2003-08-11  Bruno Haible  <bruno@clisp.org>
33211
33212         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
33213         (vasnprintf): Use it instead of wcslen.
33214
33215 2003-08-11  Bruno Haible  <bruno@clisp.org>
33216
33217         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
33218         value to ensure that _Bool promotes to int. Use #define for _Bool when
33219         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
33220
33221 2003-08-10  Karl Berry  <karl@gnu.org>
33222
33223         * lib/regex.h: update from libc (whitespace fix).
33224
33225 2003-08-09  Paul Eggert  <eggert@twinsun.com>
33226
33227         Merge some files from coreutils.  These changes were
33228         originally made by Jim Meyering.
33229         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
33230         many older Unixes require this.
33231         * lib/alloca.c (alloca): Remove cast to argument of free;
33232         no longer needed in C89.
33233         * lib/alloca_.h, regex.h: Fix white space to match
33234         what GNU indent does.
33235
33236 2003-08-09  Paul Eggert  <eggert@twinsun.com>
33237
33238         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
33239         apparently Emacs's Unicode mode got confused before my 2003-08-05
33240         checkin.
33241
33242 2003-08-08  Paul Eggert  <eggert@twinsun.com>
33243
33244         * m4/extensions.m4: New file.
33245         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
33246         Require gl_USE_SYSTEM_EXTENSIONS.
33247         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
33248         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
33249
33250 2003-08-08  Paul Eggert  <eggert@twinsun.com>
33251
33252         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
33253         * modules/extensions, modules/gnu-source: New files.
33254         * modules/timespec, modules/unlocked-io: Depend on extensions.
33255
33256 2003-08-07  Paul Eggert  <eggert@twinsun.com>
33257
33258         * modules/restrict: New file.
33259         * MODULES.html.sh (func_all_modules): Add restrict.
33260         * modules/regex: Depend on restrict.
33261
33262 2003-08-07  Paul Eggert  <eggert@twinsun.com>
33263
33264         * m4/restrict.m4: New file.
33265         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
33266
33267 2003-08-07  Bruno Haible  <bruno@clisp.org>
33268
33269         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
33270         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
33271
33272 2003-08-07  Bruno Haible  <bruno@clisp.org>
33273
33274         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
33275         makes the module 'getndelim2' compatible with the module 'getline'.
33276
33277 2003-08-05  Paul Eggert  <eggert@twinsun.com>
33278
33279         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
33280         byte with "\201" to avoid glitches when editing that source file
33281         with multi-gnome-terminal.
33282
33283 2003-08-05  Paul Eggert  <eggert@twinsun.com>
33284
33285         * lib/bumpalloc.h: Remove.
33286
33287 2003-08-05  Paul Eggert  <eggert@twinsun.com>
33288
33289         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
33290         * modules/bumpalloc: Remove.
33291
33292 2003-08-04  Paul Eggert  <eggert@twinsun.com>
33293
33294         * lib/getloadavg.c: Change copyright notice and spacing to conform to
33295         GNU coding style.
33296
33297         Merge from coreutils.
33298         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
33299         1. From glibc.
33300         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
33301         from Karl Berry, implemented by Jim Meyering.
33302         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
33303         from Dmitry V. Levin.
33304         Remove anachronistic cast of xrealloc.
33305         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
33306         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
33307         type. Otherwise, it wouldn't compile with at least /bin/cc on
33308         ymp-cray-unicos9.0.2.X.
33309         Combine two mostly-identical uses of alloca into one.
33310         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
33311
33312 2003-08-04  Dave Love  <d.love@dl.ac.uk>
33313
33314         [From Emacs.]
33315
33316         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
33317         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
33318         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
33319         obsolete NLIST_NAME_UNION.
33320         [__GNU__]: Undef BSD and FSCALE.
33321         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
33322
33323 2003-08-03  Paul Eggert  <eggert@twinsun.com>
33324
33325         * lib/stdbool_.h (_Bool): Make it signed char, instead of
33326         an enum type, so that it's guaranteed to promote to int.  See:
33327         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
33328
33329 2003-08-03  Karl Berry  <karl@gnu.org>
33330
33331         * config/depcomp: update from automake.
33332
33333 2003-07-31  Paul Eggert  <eggert@twinsun.com>
33334
33335         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
33336         (strerror): Don't assume that a printable int fits in 14 bytes.
33337
33338 2003-07-31  Bruno Haible  <bruno@clisp.org>
33339
33340         * modules/getpass-gnu: New file.
33341         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
33342
33343 2003-07-31  Bruno Haible  <bruno@clisp.org>
33344
33345         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
33346
33347 2003-07-24  Karl Berry  <karl@gnu.org>
33348
33349         * config/missing: update from automake.
33350
33351 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
33352             Bruno Haible  <bruno@clisp.org>
33353
33354         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
33355         * lib/getline.c (getline, getdelim): Likewise.
33356         Remove _GNU_SOURCE define; now it's defined in config.h through
33357         m4/getline.m4.
33358
33359 2003-07-23  Karl Berry  <karl@gnu.org>
33360
33361         * config/config.sub: update from prep.
33362
33363 2003-07-22  Paul Eggert  <eggert@twinsun.com>
33364
33365         * modules/xalloc (Depends-on): Add exitfail.
33366         * modules/xmemcoll: Likewise.
33367
33368 2003-07-22  Paul Eggert  <eggert@twinsun.com>
33369
33370         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
33371         over-parenthesization in macros.
33372
33373         Sync with coreutils.
33374
33375         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
33376         required by C99.
33377
33378         Use `exit_failure' for xalloc and xmemcoll instead of their own
33379         private exit-failure variables.
33380         * lib/xalloc.h (xalloc_exit_failure): Remove.
33381         * lib/xmalloc.c: Likewise.  Include exitfail.h.
33382         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
33383         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
33384         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
33385         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
33386
33387 2003-07-20  Jim Meyering  <jim@meyering.net>
33388
33389         * modules/closeout (Depends-on): Add exitfail.
33390         Suggestion from Bruno Haible.
33391
33392 2003-07-19  Karl Berry  <karl@gnu.org>
33393
33394         * config/config.sub: update from prep.
33395
33396 2003-07-18  Paul Eggert  <eggert@twinsun.com>
33397
33398         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
33399         Remove.
33400         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
33401         to test that it can stand by itself.  Include "exitfail.h".
33402         Clients should set exit_failure instead.
33403         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
33404
33405 2003-07-18  Bruno Haible  <bruno@clisp.org>
33406
33407         * modules/getndelim2: New file.
33408         * modules/getline: Share files with module getndelim2.
33409         * modules/getnline: Depend on getndelim2 instead of sharing files with
33410         it. Add getnline.c to lib_SOURCES.
33411         * MODULES.html.sh (func_all_modules): Add getndelim2.
33412
33413 2003-07-18  Bruno Haible  <bruno@clisp.org>
33414
33415         * m4/getndelim2.m4: New file.
33416         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
33417         invoke gl_PREREQ_GETNDELIM2.
33418         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
33419         gl_PREREQ_GETNDELIM2.
33420         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
33421         gl_GETNDELIM2.
33422
33423 2003-07-18  Bruno Haible  <bruno@clisp.org>
33424
33425         * lib/getndelim2.h: New file.
33426         * lib/getndelim2.c: Make into a module of its own. Include config.h,
33427         getndelim2.h.
33428         (getndelim2): Make non-static. Change return type to ssize_t.
33429         * lib/getline.h: Change argument names.
33430         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
33431         * lib/getnline.c: Include getndelim2.h.
33432
33433 2003-07-18  Andreas Schwab  <schwab@suse.de>
33434
33435         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
33436
33437 2003-07-17  Karl Berry  <karl@gnu.org>
33438
33439         * config/config.sub: update from prep.
33440
33441 2003-07-17  Bruno Haible  <bruno@clisp.org>
33442
33443         * modules/getnline: New file.
33444         * modules/getline: Add lib/getndelim2.c to source file list.
33445         * MODULES.html.sh (func_all_modules): Add getnline.
33446
33447 2003-07-17  Bruno Haible  <bruno@clisp.org>
33448
33449         * m4/getnline.m4: New file.
33450
33451 2003-07-17  Bruno Haible  <bruno@clisp.org>
33452
33453         * m4/Makefile.am.in: Remove file.
33454         * m4/Makefile.am: Remove file.
33455         * m4/Makefile.in: Remove file.
33456
33457 2003-07-17  Bruno Haible  <bruno@clisp.org>
33458
33459         * lib/getnline.h: New file.
33460         * lib/getnline.c: New file.
33461         * lib/getndelim2.c: New file, extracted from getline.c.
33462         (getndelim2): Renamed from getdelim2, with added nmax argument.
33463         * lib/getline.c: Include getndelim2.c.
33464         (getdelim2): Moved out to getndelim2.c.
33465         (getline, getdelim): Update.
33466
33467 2003-07-17  Bruno Haible  <bruno@clisp.org>
33468
33469         * lib/Makefile.am: Remove file.
33470         * lib/Makefile.in: Remove file.
33471
33472 2003-07-17  Bruno Haible  <bruno@clisp.org>
33473
33474         * configure.in: Remove file.
33475         * Makefile.in: Remove file.
33476
33477 2003-07-17  Bruno Haible  <bruno@clisp.org>
33478
33479         * MODULES.html.sh: Put the </BODY> right before </HTML>.
33480
33481 2003-07-16  Karl Berry  <karl@gnu.org>
33482
33483         * config/srclist-update: was running fixlicense twice, which caused
33484                 texinfo.tex to be nullified for some reason.  Simplify,
33485                 $gplsrc is no longer needed as far as I can see?
33486
33487 2003-07-16  Jim Meyering  <jim@meyering.net>
33488
33489         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
33490
33491 2003-07-15  Paul Eggert  <eggert@twinsun.com>
33492
33493         * config/srclist.txt: Get the following files from gettext-runtime/intl
33494         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
33495         ref-del.sin.  From Bruno Haible.
33496         * config/srclist-update (fixfile): Change grep pattern again, since the
33497         previous fix didn't work (there was another trailing $).  Use
33498         '[$]' to escape the $s.
33499
33500 2003-07-15  Karl Berry  <karl@gnu.org>
33501
33502         * lib/vasnprintf.c: update from gettext.
33503
33504 2003-07-15  Karl Berry  <karl@gnu.org>
33505
33506         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
33507         gets expanded when surrounded by '$'.
33508
33509 2003-07-15  Jim Meyering  <jim@meyering.net>
33510
33511         * modules/save-cwd: Don't depend on error.  From Derek Price.
33512
33513 2003-07-15  Jim Meyering  <jim@meyering.net>
33514
33515         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
33516
33517 2003-07-14  Simon Josefsson  <jas@extundo.com>
33518
33519         * modules/mempcpy: New file.
33520         * MODULES.html.sh (func_all_modules): Add mempcpy.
33521
33522 2003-07-14  Simon Josefsson  <jas@extundo.com>
33523
33524         * m4/mempcpy.m4: New file.
33525
33526 2003-07-14  Simon Josefsson  <jas@extundo.com>
33527
33528         * lib/mempcpy.h: New file.
33529         * lib/mempcpy.c: New file.
33530
33531 2003-07-14  Paul Eggert  <eggert@twinsun.com>
33532
33533         * modules/getdate, modules/posixtm: Depend on mktime.
33534
33535 2003-07-14  Paul Eggert  <eggert@twinsun.com>
33536
33537         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
33538         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
33539         unicodeio.c, unicodeio.h, unlocked-io.h:
33540         Switch from LGPL to GPL.
33541
33542 2003-07-14  Paul Eggert  <eggert@twinsun.com>
33543
33544         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
33545         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
33546         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
33547         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
33548         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
33549         updated automatically by ../config/srclist-update.  This changes
33550         their license from LPGL to GPL.
33551
33552 2003-07-14  Paul Eggert  <eggert@twinsun.com>
33553
33554         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
33555         assumed to refer to the root of the most recent stable gettext version.
33556         * config/srclistvars.sh: Add defaults for eggert.
33557         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
33558         Match "This program" as well as "The program".  This is needed
33559         for gettext.
33560
33561 2003-07-14  Jim Meyering  <jim@meyering.net>
33562
33563         Don't emit diagnostics.  Let callers do that.
33564         * lib/save-cwd.c: Don't include "error.h".
33565         (save_cwd): Don't call error.  Ensure that errno is valid
33566         when returning nonzero.
33567
33568         * lib/save-cwd.h (restore_cwd): Update prototype.
33569         * lib/save-cwd.c (restore_cwd): Remove two parameters.
33570         Simplify.  Don't call error upon failure.  Let callers do that.
33571         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
33572         when auditing is enabled.  But don't bother updating the #if.
33573
33574 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
33575
33576         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
33577         it breaks C++ compilation.
33578         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
33579
33580 2003-07-10  Simon Josefsson  <jas@extundo.com>
33581
33582         * modules/strchrnul (Makefile.am): Add strchrnul.h.
33583
33584 2003-07-10  Jim Meyering  <jim@meyering.net>
33585
33586         * m4/clock_time.m4: Remove trailing blank.
33587         * m4/intmax_t.m4: Likewise.
33588
33589 2003-07-10  Jim Meyering  <jim@meyering.net>
33590
33591         * lib/vasnprintf.c: Remove trailing blanks.
33592         Make cpp indentation consistent.
33593
33594 2003-07-09  Paul Eggert  <eggert@twinsun.com>
33595
33596         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
33597         posixver.c, strftime.c, strnlen.c, strverscmp.c:
33598         Switch from LGPL to GPL.
33599
33600 2003-07-09  Paul Eggert  <eggert@twinsun.com>
33601
33602         * config/srclist.txt: Sort sublists.  Add
33603         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
33604         that differ from gnulib for one reason or another; we'd like this list
33605         to be smaller but for now let's document what we have.
33606
33607 2003-07-08  Paul Eggert  <eggert@twinsun.com>
33608
33609         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
33610         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
33611         and sweeter "eval x=$x".
33612         * config/srclist.txt: Get lib/argp* from glibc.
33613
33614 2003-07-07  Paul Eggert  <eggert@twinsun.com>
33615
33616         * lib/mktime.c: Fix some boundary cases and remove need for floating
33617         point.
33618
33619         Issue a compile-time diagnostic if time_t is floating point, or if
33620         two's complement arithmetic is not in effect, or if arithmetic
33621         right shift does not propagate the sign.  These assumptions were
33622         all in the original code but they weren't checked.
33623
33624         (TIME_T_MIDPOINT, verify): New macros.
33625         (__isleap): Remove; it has integer overflow problems.
33626         (leapyear): New function, without those problems.
33627         (ydhms_tm_diff): Remove; splitting into two parts.
33628         (ydhms_diff): New function, containing the arithmetic part of
33629         the old ydhms_tm_diff function.  Issue a compile-time
33630         diagnostic if we are not using C99 integer division.
33631         Avoid casts when possible.
33632         (guess_time_tm): New function, containing the checking part of
33633         the old ydhms_tm_diff function.  Return the new value, rather than
33634         the difference between it and the old.  Accept a new argument T
33635         so that *T specifies the old value.  Check for overflow in the result.
33636
33637         (__mktime_internal): Use a time_t offset, not a long int offset.
33638         This undoes the 2003-06-04 change, which is no longer needed now
33639         that we have better overflow checking.
33640         (localtime_offset): Likewise.
33641
33642         (__mktime_internal): Avoid harmful overflow on hosts where time_t
33643         and long are 64-bit but int is only 32-bit.
33644         (ydhms_diff): Use long int to store year1 and yday1.
33645         Issue a compile-time diagnostic if long int is not wide enough.
33646
33647         (__mktime_internal): Use long int to store adjusted year and yday.
33648         Use plain C rather than preprocessor commands, if that doesn't
33649         affect efficiency.
33650         Check for overflow (and try to repair) after each probe
33651         rather than checking only at the very end.  This avoids some bugs
33652         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
33653         does not equal GMT offset at maximum time).
33654         Use integer to check for overflow rather than floating point; this
33655         is more portable to non-IEEE hosts, and is a tad faster.
33656         When we detect that we are oscillating between two values,
33657         don't check whether tm_isdst has the requested value, since
33658         we already know the answer.  When tm_isdst has the wrong value,
33659         use a different heuristic to find the right one, based on the
33660         extreme values actually observed in practice in tz2003a,
33661         rather than the (overly optimistic) "previous 3 calendar quarters".
33662
33663         (not_equal_tm, print_tm, check_result): Use "const T" rather than
33664         "T const" to accommodate glibc style.
33665         (check_result): Use less-confusing report format.  "long" -> "long int.
33666         (main): Likewise.
33667         Don't loop if the iteration overflows time_t.
33668         Allow a negative step in the iteration.
33669
33670 2003-07-06  Karl Berry  <karl@gnu.org>
33671
33672         * config/depcomp: update from automake.
33673         * config/config.sub: update from prep.
33674
33675 2003-07-03  Karl Berry  <karl@gnu.org>
33676
33677         * config/config.guess: update from prep.
33678
33679 2003-07-01  Paul Eggert  <eggert@twinsun.com>
33680
33681         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
33682         xreadlink.c now includes it unconditionally.
33683
33684 2003-07-01  Paul Eggert  <eggert@twinsun.com>
33685
33686         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
33687         having it depend on HAVE_SYS_TYPES_H.
33688
33689 2003-07-01  Bruno Haible  <bruno@clisp.org>
33690
33691         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
33692         <sys/types.h> should be sufficient.
33693         Reported by Paul Eggert.
33694
33695 2003-06-26  Karl Berry  <karl@gnu.org>
33696
33697         * config/depcomp: update from automake.
33698
33699 2003-06-26  Bruno Haible  <bruno@clisp.org>
33700
33701         * modules/human: Depend on module stdbool.
33702
33703 2003-06-25  Bruno Haible  <bruno@clisp.org>
33704
33705         * modules/readlink: New file.
33706         * modules/xreadlink: Depend on it.
33707         * MODULES.html.sh (func_all_modules): Add readlink.
33708
33709 2003-06-25  Bruno Haible  <bruno@clisp.org>
33710
33711         * m4/readlink.m4: New file.
33712
33713 2003-06-25  Bruno Haible  <bruno@clisp.org>
33714
33715         * lib/readlink.c: New file.
33716
33717 2003-06-22  Karl Berry  <karl@gnu.org>
33718
33719         * config/srclist.txt: update mkinstalldirs from automake.
33720         * config/mkinstalldirs: update.
33721
33722 2003-06-22  Bruno Haible  <bruno@clisp.org>
33723
33724         Portability to mingw32.
33725         * m4/ssize_t.m4: New file, from GNU gettext.
33726         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
33727         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
33728
33729 2003-06-22  Bruno Haible  <bruno@clisp.org>
33730
33731         * modules/safe-read: Add m4/ssize_t.m4.
33732         * modules/xreadlink: Add m4/ssize_t.m4.
33733
33734 2003-06-20  Bruno Haible  <bruno@clisp.org>
33735
33736         Assume C89, so PARAMS isn't needed.
33737         * lib/unicodeio.h (PARAMS): Remove.
33738         * lib/unicodeio.c: Don't use PARAMS.
33739
33740 2003-06-18  Karl Berry  <karl@gnu.org>
33741
33742         * config/config.{guess,sub}: update from prep.
33743
33744 2003-06-18  Jim Meyering  <jim@meyering.net>
33745
33746         Merge changes from coreutils.
33747         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
33748         Remove explicit declarations of xmalloc and realloc.
33749         Include xalloc.h.
33750         (read_utmp): Remove anachronistic cast of xmalloc.
33751
33752 2003-06-17  Paul Eggert  <eggert@twinsun.com>
33753
33754         Assume C89, so PARAMS isn't needed.
33755         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
33756         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
33757         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
33758         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
33759         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
33760         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
33761         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
33762         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
33763         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
33764         lib/xstrtod.h, lib/xstrtol.h: Likewise.
33765         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
33766         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
33767         no longer needed. Anyway, config.h should always be included before any
33768         other file.
33769
33770 2003-06-11  Simon Josefsson  <jas@extundo.com>
33771
33772         * modules/sysexits: New file.
33773         * MODULES.html.sh (func_all_modules): Add sysexits.
33774
33775 2003-06-11  Simon Josefsson  <jas@extundo.com>
33776
33777         * lib/sysexit_.h: New file.
33778
33779 2003-06-11  Derek Price  <derek@ximbiot.com>
33780
33781         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
33782         necessary.
33783
33784 2003-06-11  Bruno Haible  <bruno@clisp.org>
33785
33786         * m4/sysexits.m4: New file.
33787
33788 2003-06-10  Simon Josefsson  <jas@extundo.com>
33789
33790         * lib/argp.h: New file, from glibc.
33791         * lib/argp-ba.c: New file, from glibc.
33792         * lib/argp-eexst.c: New file, from glibc.
33793         * lib/argp-fmtstream.c: New file, from glibc.
33794         * lib/argp-fmtstream.h: New file, from glibc.
33795         * lib/argp-fs-xinl.c: New file, from glibc.
33796         * lib/argp-help.c: New file, from glibc.
33797         * lib/argp-namefrob.h: New file, from glibc.
33798         * lib/argp-parse.c: New file, from glibc.
33799         * lib/argp-pv.c: New file, from glibc.
33800         * lib/argp-pvh.c: New file, from glibc.
33801         * lib/argp-xinl.c: New file, from glibc.
33802
33803 2003-06-10  Simon Josefsson  <jas@extundo.com>
33804
33805         * modules/strchrnul: New file.
33806
33807 2003-06-10  Simon Josefsson  <jas@extundo.com>
33808
33809         * modules/argp: New file.
33810
33811 2003-06-10  Simon Josefsson  <jas@extundo.com>
33812
33813         * m4/strchrnul.m4: New file.
33814
33815 2003-06-10  Simon Josefsson  <jas@extundo.com>
33816
33817         * lib/strchrnul.h: New file.
33818         * lib/strchrnul.c: New file.
33819
33820 2003-06-10  Bruno Haible  <bruno@clisp.org>
33821
33822         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
33823
33824 2003-06-07  Karl Berry  <karl@gnu.org>
33825
33826         * config/config.{guess,sub}: update from prep.
33827
33828 2003-06-07  Jim Meyering  <jim@meyering.net>
33829
33830         * modules/strtod: Use $(...) notation, not @...@ for
33831         AC_REPLACE'd variables.
33832         * modules/localcharset: Likewise.
33833
33834 2003-06-07  Jim Meyering  <jim@meyering.net>
33835
33836         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
33837         in place of my name in the copyright comment.
33838         Remove definition and uses of __P.
33839
33840         From coreutils.
33841         * lib/stat.c: Don't declare xmalloc explicitly.
33842         Instead, include "xalloc.h".
33843         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
33844         xrealloc, and xcalloc return values.
33845         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
33846         Improve comment.
33847         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
33848
33849 2003-06-07  Bruno Haible  <bruno@clisp.org>
33850
33851         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
33852         avoid AC_CONFIG_LINKS.
33853         * modules/fnmatch (Makefile.am): Use explicit creation rule for
33854         fnmatch.h, to avoid AC_CONFIG_LINKS.
33855         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
33856
33857 2003-06-07  Bruno Haible  <bruno@clisp.org>
33858
33859         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
33860         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
33861         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
33862         directory.
33863         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
33864         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
33865         directory.
33866
33867 2003-06-06  Jim Meyering  <jim@meyering.net>
33868
33869         Merge from coreutils.
33870         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
33871         Consolidate declarations and initializations of *_base* locals.
33872
33873         Merge from coreutils.
33874         This avoids a core dump on systems without GNU putenv,
33875         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
33876         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
33877         (unsetenv): New static function, from GNU libc.
33878         (rpl_putenv): Use it.
33879
33880         * lib/modechange.c: Remove trailing blanks.
33881
33882         Merge from coreutils.
33883         * lib/fsusage.c: Remove declaration of statfs.
33884         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
33885
33886         * lib/posixtm.c: Include <stdbool.h> unconditionally.
33887
33888 2003-06-06  Jim Meyering  <jim@meyering.net>
33889
33890         * lib/stdbool_.h: Renamed from stdbool.h.in.
33891
33892 2003-06-06  Jim Meyering  <jim@meyering.net>
33893             Bruno Haible  <bruno@clisp.org>
33894
33895         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
33896         Adjust Makefile.am snippet not to redirect directly to target.
33897         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
33898
33899 2003-06-05  Paul Eggert  <eggert@twinsun.com>
33900
33901         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
33902         mismatch, look in future quarters as well as past.  This fixes a
33903         bug when processing fall-backwards gaps immediately after a long
33904         period of daylight-saving time.
33905
33906         * lib/mktime.c: Assume freestanding C89 or better.
33907         (HAVE_LIMITS_H): Remove.  Assume it's 1.
33908         (__P): Remove; not used.
33909         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
33910         (mktime, not_equal_tm, print_tm, check_result,
33911         main): Use prototypes.  Use const * where appropriate.
33912         (main): Fix typo in testing code that uncovered by above changes.
33913         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
33914
33915 2003-06-04  Paul Eggert  <eggert@twinsun.com>
33916
33917         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
33918         locale.h, localeconv.  This merges changes from coreutils.
33919
33920         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
33921         It can be removed after the next Autoconf is released.
33922         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
33923         needed.
33924
33925 2003-06-04  Paul Eggert  <eggert@twinsun.com>
33926
33927         * lib/mktime.c: Fix Debian bug 177940
33928         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
33929         (localtime_offset): Now long int, not time_t, because we want it
33930         to be guaranteed to be signed.  All uses changed.
33931         (__mktime_internal): If overflow would occur when adding offset,
33932         don't add it.
33933
33934         Merge 'human' changes from coreutils.  Rewrite to support
33935         locale-specific notations like thousands separators.
33936         * lib/human.c: Simplify authorship notice.
33937         Include human.h immediately after config.h.
33938         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
33939         <limits.h>: Do not include, since human.h does.
33940         (SIZE_MAX, UINTMAX_MAX): New macros.
33941         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
33942         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
33943         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
33944         (power_letter): Renamed from suffixes.
33945         (generate_suffix_backwards): Remove.
33946         (adjust_value): Now takes int style (because of human.h changes)
33947         and long double value (for greater precision on some platforms).
33948         (group_number): New function.
33949         (human_readable): Use it.  Use integer options, not enum.
33950         Put the options before the sizes in the arg list.
33951         Support all the new options.
33952         The old human_readable function has been removed;
33953         use inttostr.h instead.
33954         (human_readable, default_block_size, humblock):
33955         Use uintmax_t, not int, for block sizes.
33956         (human_readable_inexact, block_size_types): Remove.
33957         (block_size_opts): New constant.
33958         (human_options): Renamed from human_block_size, with new signature
33959         that allows block sizes up to UINTMAX_MAX.  All callers changed.
33960         * lib/human.h: Add copyright and authorship notice.
33961         Include <limits.h> and <stdbool.h> unconditionally.
33962         (PARAMS): Remove.  All uses removed.
33963         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
33964         (enum human_inexact_style): Remove tag; now a nameless enum.
33965         (human_floor, human_ceiling, human_round_to_even): Now have
33966         values 2, 0, 1 rather than -1, 1, 0.
33967         (human_group_digits, human_suppress_point_zero, human_autoscale,
33968         human_base_1024, human_SI, human_B): New constants.
33969         (human_readable_inexact, human_block_size): Remove.
33970         (human_readable): Size args are now uintmax_t, not int.
33971         (human_options): New decl.
33972
33973         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
33974         unnecessary now that we assume C89 or better.  This change
33975         imported from coreutils.
33976
33977         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
33978         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
33979         in the 2003-05-30 sync from glibc.
33980
33981         .h files should stand alone, but we shouldn't include <sys/types.h>
33982         if we can get away with just <stddef.h>.
33983
33984         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
33985         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
33986         rather than <sys/types.h>, as we merely need size_t.
33987         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
33988         to get size_t.
33989         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
33990         Include <stdio.h>, to get FILE.
33991         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
33992         memcasecmp.h has included <stddef.h> and all we need is size_t.
33993         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
33994         our interface, instead of including <sys/types.h>
33995
33996 2003-06-04  Paul Eggert  <eggert@twinsun.com>
33997
33998         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
33999         now, as glibc mktime is buggy on non-glibc systems.
34000
34001 2003-06-03  Karl Berry  <karl@gnu.org>
34002
34003         * config/config.sub: update from prep.
34004
34005 2003-06-02  Paul Eggert  <eggert@twinsun.com>
34006
34007         [from coreutils]
34008         Fix some minor time-related bugs with POSIX time arguments.
34009         Some valid time stamps were being rejected (notably -1, and
34010         time stamps before 1900 on 64-bit hosts).  And some invalid
34011         time stamps were being accepted, e.g. September 31.
34012
34013         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
34014         that we can return (time_t) -1 successfully.
34015         * lib/posixtm.c: Likewise.
34016         [HAVE_STDBOOL_H]: Include <stdbool.h>.
34017         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
34018         (t): Remove static var.
34019         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
34020         of static var.  All uses changed.
34021         (year): Do not reject years before 1900; they can occur with
34022         64-bit time_t.
34023         (posix_time_parse): Do not check for out-of-range components;
34024         that is now the caller's responsibility, since our checks were
34025         only approximations.
34026         (posixtime): Use mktime to check for out-of-range components,
34027         since it knows them exactly.
34028         If mktime returns (time_t) -1, check whether an error actually occurred
34029         by invoking localtime on -1.
34030         (main) [TEST_POSIXTIME]: Check for input data errors, and report
34031         posixtime failures better.
34032         Improve the test data (in comments only).
34033
34034 2003-06-02  Karl Berry  <karl@gnu.org>
34035
34036         * config/mkinstalldirs (version): new variable.
34037         (--version): new option.
34038         (usage): improve message.
34039
34040 2003-05-30  Karl Berry  <karl@gnu.org>
34041
34042         * lib/mktime.c: update from libc.
34043
34044 2003-05-30  Bruno Haible  <bruno@clisp.org>
34045
34046         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
34047         * config/config.rpath: Upgrade to gettext-0.12.1.
34048
34049 2003-05-30  Bruno Haible  <bruno@clisp.org>
34050
34051         * m4/gettext.m4: Upgrade to gettext-0.12.1.
34052         * m4/nls.m4: New file, from gettext-0.12.1.
34053         * m4/po.m4: New file, from gettext-0.12.1.
34054         * m4/progtest.m4: Upgrade to gettext-0.12.1.
34055
34056 2003-05-30  Bruno Haible  <bruno@clisp.org>
34057
34058         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
34059         * lib/localcharset.h: Likewise.
34060         * lib/localcharset.c: Likewise.
34061
34062 2003-05-29  Karl Berry  <karl@gnu.org>
34063
34064         * config/config.rpath: update from gettext.
34065
34066 2003-05-28  Paul Eggert  <eggert@twinsun.com>
34067
34068         Assume the headers required for C89 freestanding compilers.
34069         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
34070         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
34071         * m4/human.m4 (gl_HUMAN): Likewise.
34072         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
34073         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
34074         * m4/userspec.m4 (gl_USERSPEC): Likewise.
34075         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
34076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
34077         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
34078
34079 2003-05-28  Paul Eggert  <eggert@twinsun.com>
34080
34081         Assume the headers required for C89 freestanding compilers.
34082         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
34083         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
34084         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
34085         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
34086         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
34087         define, since <limits.h> is guaranteed to do that.
34088         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
34089         * lib/exclude.c: Include <stdbool.h> unconditionally.
34090         * lib/tempname.c: Include <stddef.h> unconditionally.
34091         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
34092         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
34093         <stddef.h> does that.
34094         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
34095         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
34096         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
34097         needed.
34098         * lib/xstrtol.c: Likewise.
34099         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
34100         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
34101
34102         * lib/addext.c (addext): Use assignment rather than cast, to avoid
34103         warnings on some platforms.
34104
34105         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
34106         arbitrarily.
34107
34108 2003-05-26  Jim Meyering  <jim@meyering.net>
34109
34110         Merge in a change from coreutils:
34111         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
34112         that is guaranteed to be `no'.  Use `no_such_member' to indicate
34113         that condition, rather than `-1' which is slightly misleading.
34114         Change the name of the cache variable to have the gl_ prefix.
34115         Prompted by a patch from Richard Dawe for DJGPP.
34116
34117 2003-05-24  Karl Berry  <karl@gnu.org>
34118
34119         * config/config.guess: update from prep.
34120
34121 2003-05-22  Karl Berry  <karl@gnu.org>
34122
34123         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
34124
34125 2003-05-20  Karl Berry  <karl@gnu.org>
34126
34127         * config/config.guess: update from prep.
34128
34129 2003-05-18  Karl Berry  <karl@gnu.org>
34130
34131         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
34132         might actually be set by the user.
34133
34134         * config/depcomp, install-sh, mdate-sh: update from automake.
34135
34136 2003-05-17  Bruno Haible  <bruno@clisp.org>
34137
34138         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
34139         invalid expansion for AC_EGREP_CPP.
34140         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
34141         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
34142         Suggested by Akim Demaille <akim@epita.fr> in
34143         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
34144
34145 2003-05-12  Jim Meyering  <jim@meyering.net>
34146
34147         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
34148         the space-padded-by-default conversion specifiers, %e, %k, %l.
34149
34150 2003-05-12  Bruno Haible  <bruno@clisp.org>
34151
34152         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
34153         the string is longer than 4 KB.
34154
34155 2003-05-11  Karl Berry  <karl@gnu.org>
34156
34157         * config/config.{guess,sub}: update from prep.
34158
34159 2003-05-09  Bruno Haible  <bruno@clisp.org>
34160
34161         * modules/error: Add m4/strerror_r.m4 to file list.
34162
34163 2003-05-03  Bruno Haible  <bruno@clisp.org>
34164
34165         Upgrade to Unicode-4.0.
34166         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
34167         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
34168         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
34169         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
34170         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
34171         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
34172         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
34173         Change width of U+E0100..U+E01EF from 1 to 0.
34174
34175 2003-04-25  Jim Meyering  <jim@meyering.net>
34176
34177         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
34178         of type size_t, not int.
34179
34180 2003-04-25  Bruno Haible  <bruno@clisp.org>
34181
34182         * lib/copy-file.c: Include <stddef.h>, for size_t.
34183
34184 2003-04-21  Paul Eggert  <eggert@twinsun.com>
34185
34186         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
34187         code which expansion is under static control.  Patch imported from
34188         Akim Demaille's patch to Bison; see
34189         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
34190
34191 2003-04-14  Bruno Haible  <bruno@clisp.org>
34192
34193         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
34194
34195 2003-04-11  Jim Meyering  <jim@meyering.net>
34196
34197         Merge changes from Coreutils.
34198
34199         2003-03-22  Jim Meyering  <jim@meyering.net>
34200
34201         * lib/strftime.c (widen): Cast alloca return value to proper type.
34202
34203         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
34204
34205         From GNU libc.
34206         * lib/strftime.c (my_strftime): Handle very large width
34207         specifications for numeric values correctly.  Improve checks for
34208         overflow.
34209
34210         2003-01-19  Jim Meyering  <jim@meyering.net>
34211
34212         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
34213         definitions.
34214         (nl_get_alt_digit) [! defined my_strftime]: Define.
34215         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
34216         _nl_get_alt_digit and _nl_get_walt_digit.
34217
34218         * lib/strftime.c (my_strftime): Merge in locale-related changes from
34219         libc. These changes have no effect outside of _LIBC.
34220
34221 2003-04-10  Bruno Haible  <bruno@clisp.org>
34222
34223         * modules/findprog: New file.
34224         * MODULES.html.sh (func_all_modules): Add it.
34225
34226 2003-04-10  Bruno Haible  <bruno@clisp.org>
34227
34228         * m4/findprog.m4: New file.
34229         * m4/eaccess.m4: New file.
34230
34231 2003-04-10  Bruno Haible  <bruno@clisp.org>
34232
34233         * lib/findprog.h: New file, from GNU gettext.
34234         * lib/findprog.c: New file, from GNU gettext.
34235
34236 2003-04-05  Jim Meyering  <jim@meyering.net>
34237
34238         Merge changes from Coreutils.
34239
34240         * lib/exclude.h (PARAMS): Remove definition and uses.
34241         * lib/exclude.c: Remove uses of `PARAMS'.
34242
34243         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
34244         Add test-cases for DOS filenames. Declare program_name.
34245         (main): Set up program_name.  Patch by Rich Dawe.
34246
34247         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
34248         error from mntctl.
34249         Use mntctl's return value to drive the entry-processing loop, since
34250         we can't rely on the value of the vmt_length member in the last
34251         entry.  On some systems doing so could result in exhausting
34252         virtual memory.  Based in part on a patch from Mike Jetzer.
34253
34254 2003-04-04  Bruno Haible  <bruno@clisp.org>
34255
34256         * modules/linebreak: New file.
34257         * MODULES.html.sh (func_all_modules): Add it.
34258
34259 2003-04-04  Bruno Haible  <bruno@clisp.org>
34260
34261         * m4/linebreak.m4: New file.
34262
34263 2003-04-04  Bruno Haible  <bruno@clisp.org>
34264
34265         * lib/linebreak.h: New file, from GNU gettext.
34266         * lib/linebreak.c: New file, from GNU gettext with slight
34267         modifications.
34268         * lib/lbrkprop.h: New file, from GNU gettext.
34269
34270 2003-04-03  Bruno Haible  <bruno@clisp.org>
34271
34272         * modules/utf8-ucs4: New file.
34273         * modules/utf16-ucs4: New file.
34274         * modules/ucs4-utf8: New file.
34275         * modules/ucs4-utf16: New file.
34276         * MODULES.html.sh (func_all_modules): Add them.
34277
34278 2003-04-03  Bruno Haible  <bruno@clisp.org>
34279
34280         * m4/utf-ucs4.m4: New file.
34281         * m4/ucs4-utf.m4: New file.
34282
34283 2003-04-03  Bruno Haible  <bruno@clisp.org>
34284
34285         * lib/utf8-ucs4.h: New file, from GNU gettext.
34286         * lib/utf16-ucs4.h: New file, from GNU gettext.
34287         * lib/ucs4-utf8.h: New file, from GNU gettext.
34288         * lib/ucs4-utf16.h: New file, from GNU gettext.
34289
34290 2003-04-02  Bruno Haible  <bruno@clisp.org>
34291
34292         * modules/binary-io: New file.
34293         * MODULES.html.sh (func_all_modules): Add it.
34294
34295 2003-04-02  Bruno Haible  <bruno@clisp.org>
34296
34297         * lib/binary-io.h: New file, from GNU gettext.
34298
34299 2003-04-01  Bruno Haible  <bruno@clisp.org>
34300
34301         * modules/pathname: New file.
34302         * MODULES.html.sh (func_all_modules): Add it.
34303
34304 2003-04-01  Bruno Haible  <bruno@clisp.org>
34305
34306         * lib/pathname.h: New file, from GNU gettext.
34307         * lib/concatpath.c: New file, from GNU gettext.
34308
34309 2003-03-30  Bruno Haible  <bruno@clisp.org>
34310
34311         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
34312
34313 2003-03-30  Bruno Haible  <bruno@clisp.org>
34314
34315         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
34316         function chown() doesn't exist.
34317
34318 2003-03-28  Bruno Haible  <bruno@clisp.org>
34319
34320         * modules/copy-file: New file.
34321         * MODULES.html.sh (func_all_modules): Add it.
34322
34323 2003-03-28  Bruno Haible  <bruno@clisp.org>
34324
34325         * m4/copy-file.m4: New file.
34326
34327 2003-03-28  Bruno Haible  <bruno@clisp.org>
34328
34329         * lib/copy-file.h: New file, from GNU gettext.
34330         * lib/copy-file.c: New file, from GNU gettext.
34331
34332 2003-03-18  Jim Meyering  <jim@meyering.net>
34333
34334         * lib/quote.c (quote_n): Fix typo in comment.
34335
34336 2003-03-18  Bruno Haible  <bruno@clisp.org>
34337
34338         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
34339         checking.
34340         * m4/onceonly_2_57.m4: Likewise.
34341
34342 2003-03-17  Bruno Haible  <bruno@clisp.org>
34343
34344         * m4/onceonly.m4: Require autoconf 2.54 or newer.
34345         (m4_quote): Remove macro.
34346         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
34347
34348 2003-03-14  Jim Meyering  <jim@meyering.net>
34349
34350         Merge changes from Coreutils.
34351         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
34352         to be const, in order to avoid warnings.
34353         (obstack_room): Likewise.
34354         (obstack_empty_p): Likewise.
34355
34356 2003-03-14  Bruno Haible  <bruno@clisp.org>
34357
34358         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
34359         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
34360
34361 2003-03-13  Paul Eggert  <eggert@twinsun.com>
34362
34363         Merge changes from Bison.
34364         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
34365         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
34366         when compiling Bison 1.875's `bitset bset = obstack_alloc
34367         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
34368         * lib/hash.c: Include <stdbool.h> unconditionally.
34369
34370 2003-03-13  Paul Eggert  <eggert@twinsun.com>
34371
34372         * m4/onceonly.m4 (m4_quote): New macro.
34373         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
34374         Quote AC_FOREACH variable-expansions properly.
34375
34376 2003-03-13  Paul Eggert  <eggert@twinsun.com>
34377
34378         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
34379
34380 2003-03-09  Paul Eggert  <eggert@twinsun.com>
34381
34382         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
34383         Reported by Bruce Becker; see:
34384         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
34385
34386 2003-03-03  Paul Eggert  <eggert@twinsun.com>
34387             Bruno Haible  <bruno@clisp.org>
34388
34389         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
34390         Reported by John Hughes, see
34391         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
34392
34393 2003-02-20  Bruno Haible  <bruno@clisp.org>
34394
34395         * MODULES.html.sh (func_all_modules): Add poll.
34396
34397 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
34398
34399         * modules/poll: New file.
34400
34401 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
34402
34403         * lib/poll_.h: New file.
34404         * lib/poll.c: New file.
34405
34406 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
34407
34408         * m4/poll.m4: New file.
34409
34410 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
34411
34412         * modules/mathl: New file.
34413
34414 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
34415
34416         * lib/mathl.h: New file.
34417         * lib/acosl.c: New file.
34418         * lib/asinl.c: New file.
34419         * lib/atanl.c: New file.
34420         * lib/ceill.c: New file.
34421         * lib/cosl.c: New file.
34422         * lib/expl.c: New file.
34423         * lib/floorl.c: New file.
34424         * lib/frexpl.c: New file.
34425         * lib/ldexpl.c: New file.
34426         * lib/logl.c: New file.
34427         * lib/sincosl.c: New file.
34428         * lib/sinl.c: New file.
34429         * lib/sqrtl.c: New file.
34430         * lib/tanl.c: New file.
34431         * lib/trigl.c: New file.
34432         * lib/trigl.h: New file.
34433
34434 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
34435
34436         * m4/mathl.m4: New file.
34437
34438 2003-02-18  Bruno Haible  <bruno@clisp.org>
34439
34440         * MODULES.html.sh (func_all_modules): Add mathl.
34441
34442 2003-02-17  Bruno Haible  <bruno@clisp.org>
34443
34444         * modules/mkdtemp: New module.
34445         * MODULES.html.sh (func_all_modules): Add it.
34446
34447 2003-02-17  Bruno Haible  <bruno@clisp.org>
34448
34449         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
34450
34451 2003-02-17  Bruno Haible  <bruno@clisp.org>
34452
34453         * lib/mkdtemp.h: New file, from GNU gettext.
34454         * lib/mkdtemp.c: New file, from GNU gettext.
34455
34456 2003-02-02  Jim Meyering  <jim@meyering.net>
34457
34458         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
34459         e.g. glibc-2.2.93.
34460
34461 2003-01-31  Bruno Haible  <bruno@clisp.org>
34462
34463         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
34464         'rpl_rename'.
34465         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
34466         'rpl_strnlen'.
34467         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
34468         'rpl_strtod'.
34469         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
34470         'rpl_utime'.
34471
34472 2003-01-31  Bruno Haible  <bruno@clisp.org>
34473
34474         * lib/rename.c: #undef rename before defining rpl_rename.
34475         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
34476
34477 2003-01-30  Bruno Haible  <bruno@clisp.org>
34478
34479         * modules/vasnprintf, modules/vasprintf: New modules.
34480         * MODULES.html.sh (func_all_modules): Add them.
34481
34482 2003-01-30  Bruno Haible  <bruno@clisp.org>
34483
34484         * m4/signed.m4: New file, from GNU gettext.
34485         * m4/longdouble.m4: New file, from GNU gettext.
34486         * m4/wchar_t.m4: New file, from GNU gettext.
34487         * m4/wint_t.m4: New file, from GNU gettext.
34488         * m4/vasnprintf.m4: New file.
34489         * m4/vasprintf.m4: New file.
34490
34491 2003-01-30  Bruno Haible  <bruno@clisp.org>
34492
34493         * lib/printf-args.h: New file, from GNU gettext.
34494         * lib/printf-args.c: New file, from GNU gettext.
34495         * lib/printf-parse.h: New file, from GNU gettext.
34496         * lib/printf-parse.c: New file, from GNU gettext.
34497         * lib/vasnprintf.h: New file, from GNU gettext.
34498         * lib/vasnprintf.c: New file, from GNU gettext.
34499         * lib/asnprintf.c: New file, from GNU gettext.
34500         * lib/vasprintf.h: New file, from GNU gettext with modifications.
34501         * lib/vasprintf.c: New file, from GNU gettext.
34502         * lib/asprintf.c: New file, from GNU gettext.
34503
34504 2003-01-29  Bruno Haible  <bruno@clisp.org>
34505
34506         * modules/stpncpy: New module.
34507         * MODULES.html.sh (func_all_modules): Add it.
34508
34509 2003-01-29  Bruno Haible  <bruno@clisp.org>
34510
34511         * m4/stpncpy.m4: New file.
34512
34513 2003-01-29  Bruno Haible  <bruno@clisp.org>
34514
34515         * lib/stpncpy.h: New file, from GNU gettext with modifications.
34516         * lib/stpncpy.c: New file, from GNU gettext with modifications.
34517
34518 2003-01-28  Bruno Haible  <bruno@clisp.org>
34519
34520         * modules/c-ctype: New module.
34521         * MODULES.html.sh (func_all_modules): Add it.
34522
34523 2003-01-28  Bruno Haible  <bruno@clisp.org>
34524
34525         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
34526         Paul Eggert.
34527         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
34528         Paul Eggert.
34529
34530 2003-01-27  Bruno Haible  <bruno@clisp.org>
34531
34532         * modules/xsetenv: New module.
34533         * MODULES.html.sh (func_all_modules): Add it.
34534
34535 2003-01-27  Bruno Haible  <bruno@clisp.org>
34536
34537         * lib/xsetenv.h: New file, from GNU gettext.
34538         * lib/xsetenv.c: New file, from GNU gettext.
34539
34540 2003-01-23  Jim Meyering  <jim@meyering.net>
34541
34542         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
34543         from working on systems without dirfd (at least Irix and OSF1/Tru64).
34544
34545 2003-01-23  Bruno Haible  <bruno@clisp.org>
34546
34547         * modules/minmax: New module.
34548         * MODULES.html.sh (func_all_modules): Add it.
34549
34550 2003-01-23  Bruno Haible  <bruno@clisp.org>
34551
34552         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
34553         Eggert.
34554
34555 2003-01-22  Bruno Haible  <bruno@clisp.org>
34556
34557         * modules/exit: New module.
34558         * MODULES.html.sh (func_all_modules): Add it.
34559
34560 2003-01-22  Bruno Haible  <bruno@clisp.org>
34561
34562         * lib/exit.h: New file, from GNU gettext.
34563
34564 2003-01-19  Bruno Haible  <bruno@clisp.org>
34565
34566         * gnulib-tool: Recognize option --extract-maintainer.
34567         (func_get_maintainer): New function.
34568         * modules/*: Add Maintainer entry.
34569
34570 2003-01-16  Jim Meyering  <jim@meyering.net>
34571
34572         * m4/regex.m4: The `regex' struct is both input and output.
34573         Initialize it before each use.  Patch by Tim Waugh.
34574
34575 2003-01-16  Bruno Haible  <bruno@clisp.org>
34576
34577         * MODULES.html.sh: Add a table of contents. Add the module name as
34578         leftmost column. Add hyperlinks.
34579
34580 2003-01-15  Bruno Haible  <bruno@clisp.org>
34581
34582         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
34583
34584 2003-01-15  Bruno Haible  <bruno@clisp.org>
34585
34586         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
34587         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
34588         suffix.
34589
34590 2003-01-15  Bruno Haible  <bruno@clisp.org>
34591
34592         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
34593
34594 2003-01-15  Bruno Haible  <bruno@clisp.org>
34595
34596         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
34597         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
34598
34599 2003-01-14  Jim Meyering  <jim@meyering.net>
34600
34601         * lib/same.c (same_name): Tweak a comment.
34602
34603 2003-01-14  Bruno Haible  <bruno@clisp.org>
34604
34605         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
34606         when a string comparison is sufficient.
34607
34608 2003-01-14  Bruno Haible  <bruno@clisp.org>
34609
34610         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
34611         'unsigned int'.
34612
34613 2003-01-14  Bruno Haible  <bruno@clisp.org>
34614
34615         * lib/hash-pjw.c: Add comment about low quality of this function.
34616
34617 2003-01-13  Bruno Haible  <bruno@clisp.org>
34618
34619         * modules/stpcpy: Distribute lib/stpcpy.h.
34620         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
34621
34622 2003-01-13  Bruno Haible  <bruno@clisp.org>
34623
34624         * modules/*: Add a description.
34625         * modules/strpbrk: Fix Makefile.am snippet.
34626         * modules/strtoimax: Fix dependencies.
34627         * modules/strtoumax: Likewise.
34628
34629 2003-01-13  Bruno Haible  <bruno@clisp.org>
34630
34631         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
34632         * modules/alloca (Makefile.am): All object files depend on alloca.h.
34633         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
34634
34635 2003-01-13  Bruno Haible  <bruno@clisp.org>
34636
34637         * gnulib-tool (func_create_testdir): Store config/* files in the main
34638         directory.
34639         * config.rpath: Move to ...
34640         * config/config.rpath: ... here.
34641         * modules/gettext: Contains config/config.rpath, not config.rpath.
34642         * modules/iconv: Likewise.
34643
34644 2003-01-12  Paul Eggert  <eggert@twinsun.com>
34645
34646         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
34647         to avoid collisions with libcurses and libreadline.
34648
34649         * m4/getstr.m4: Remove.
34650         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
34651
34652 2003-01-12  Paul Eggert  <eggert@twinsun.com>
34653
34654         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
34655         to avoid collisions with libcurses and libreadline.
34656
34657         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
34658         * lib/getstr.h, getstr.c: Remove.
34659         * lib/getline.c: Include "getline.h", to check interface.
34660         Move body of old getstr.c here: this defines MIN_CHUNK and
34661         declares getdelim2, which is renamed from getstr.
34662         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
34663
34664         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
34665         All uses changed.
34666         * lib/linebuffer.h: Likewise.
34667         (readline): Remove backward-compatibility macro.
34668
34669 2003-01-12  Paul Eggert  <eggert@twinsun.com>
34670
34671         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
34672         to avoid collisions with libcurses and libreadline.
34673         * getstr: Remove.
34674         * MODULES.html.sh: Remove getstr.
34675         * modules/getline: Depend on unlocked-io, not getstr.
34676
34677 2003-01-12  Jim Meyering  <jim@meyering.net>
34678
34679         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
34680
34681 2003-01-10  Bruno Haible  <bruno@clisp.org>
34682
34683         * modules/alloca: Change Makefile.am requirements. Simplify Include
34684         requirements. Add lib/alloca_.h to file list.
34685
34686 2003-01-10  Bruno Haible  <bruno@clisp.org>
34687
34688         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
34689
34690 2003-01-10  Bruno Haible  <bruno@clisp.org>
34691
34692         * lib/alloca_.h: New file.
34693         * lib/getdate.y: Unconditionally include alloca.h.
34694         * lib/makepath.c: Likewise.
34695         * lib/setenv.c: Likewise.
34696         * lib/userspec.c: Likewise.
34697
34698 2003-01-09  Karl Berry  <karl@gnu.org>
34699
34700         * MODULES.html.sh: include `dirname $0` in PATH, to find
34701         gnulib-tool.
34702
34703 2003-01-09  Bruno Haible  <bruno@clisp.org>
34704
34705         * modules/stdbool: Change configure.ac, Makefile.am requirements.
34706         Simplify Include requirements. Add lib/stdbool.h.in to file list.
34707
34708 2003-01-09  Bruno Haible  <bruno@clisp.org>
34709
34710         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
34711
34712 2003-01-09  Bruno Haible  <bruno@clisp.org>
34713
34714         * lib/stdbool.h.in: New file.
34715
34716 2003-01-09  Bruno Haible  <bruno@clisp.org>
34717
34718         * gnulib-tool (func_all_modules): Ignore files ending in ~.
34719         * MODULES.html.sh: Likewise.
34720
34721 2003-01-08  Jim Meyering  <jim@meyering.net>
34722
34723         * lib/full-write.c: Undefine and define-away `const' after inclusion
34724         of errno.h, not before.  Suggestion from Bruno Haible.
34725
34726 2003-01-08  Bruno Haible  <bruno@clisp.org>
34727
34728         * modules/full-read: Depend on full-write.
34729
34730 2003-01-08  Bruno Haible  <bruno@clisp.org>
34731
34732         * lib/safe-read.c: Include specification header first, to ensure its
34733         selfcontainedness.
34734         * lib/full-write.c: Likewise.
34735
34736 2003-01-07  Jim Meyering  <jim@meyering.net>
34737
34738         * lib/full-write.c: Rework so that it may serve to define full_read,
34739         too.
34740         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
34741
34742 2003-01-07  Bruno Haible  <bruno@clisp.org>
34743
34744         * lib/strtoimax.c: Include <stdint.h> as an alternative to
34745         <inttypes.h>.
34746         * lib/xstrtol.h: Likewise.
34747         * lib/xstrtoimax.c: Likewise.
34748         * lib/xstrtoumax.c: Likewise.
34749         * lib/human.h: Likewise.
34750
34751         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
34752         on systems that have <inttypes.h> but not <stdint.h>.
34753
34754 2003-01-07  Bruno Haible  <bruno@clisp.org>
34755
34756         * MODULES.html.sh: Add copyright notice.
34757         (missed_files): Omit CVS directory entries.
34758         (func_module): Make it work with sed-3.02.
34759         * MODULES.txt: Remove file.
34760
34761 2003-01-06  Jim Meyering  <jim@meyering.net>
34762
34763         * lib/version-etc.c: Update year in translatable copyright string.
34764
34765 2003-01-03  Karl Berry  <karl@gnu.org>
34766
34767         * config/config.{guess,sub}: update from prep.
34768
34769 2003-01-02  Karl Berry  <karl@gnu.org>
34770
34771         * doc/COPYING.DOC: belatedly updated to 1.2.
34772
34773 2003-01-01  Karl Berry  <karl@gnu.org>
34774
34775         * gnulib-tool (func_verify_module): report module name $module in
34776         error message, not $1.
34777         * gnulib-tool (create-testdir): don't complain if destdir couldn't
34778         be created, only if it doesn't exist.
34779         * gnulib-tool (last_checkin_date): don't expand the $Date here.
34780
34781 2002-12-31  Paul Eggert  <eggert@twinsun.com>
34782
34783         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
34784
34785 2002-12-31  Paul Eggert  <eggert@twinsun.com>
34786
34787         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
34788         memcmp if strcoll doesn't work.
34789
34790 2002-12-31  Bruno Haible  <bruno@clisp.org>
34791
34792         * lib/utime.c (utime_null): No need to call ftruncate if the file was
34793         nonempty.
34794
34795 2002-12-31  Bruno Haible  <bruno@clisp.org>
34796
34797         * lib/memcoll.c (STRCOLL): New macro.
34798         (memcoll): Use it.
34799
34800 2002-12-31  Bruno Haible  <bruno@clisp.org>
34801
34802         * lib/localcharset.h: New file.
34803         * lib/localcharset.c: Include it.
34804         * lib/unicodeio.c: Likewise.
34805
34806 2002-12-31  Bruno Haible  <bruno@clisp.org>
34807
34808         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
34809         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
34810
34811 2002-12-31  Bruno Haible  <bruno@clisp.org>
34812
34813         * lib/getline.h: Include <stddef.h>, for size_t.
34814
34815         * lib/unicodeio.h: Include <stddef.h>, for size_t.
34816         * lib/unicodeio.c: Don't include <stddef.h>.
34817
34818 2002-12-31  Bruno Haible  <bruno@clisp.org>
34819
34820         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
34821         HAVE_TM_ZONE.
34822
34823 2002-12-24  Karl Berry  <karl@gnu.org>
34824
34825         * config/config.guess: update from prep.
34826
34827 2002-12-24  Bruno Haible  <bruno@clisp.org>
34828
34829         General infrasructure.
34830         * m4/README: Rewritten.
34831         * m4/onceonly.m4: New file.
34832         * m4/onceonly_2_57.m4: New file.
34833
34834         Module atexit.
34835         * m4/atexit.m4: New file.
34836
34837         Module strtod.
34838         * m4/strtod.m4: New file.
34839
34840         Module strtol.
34841         * m4/strtol.m4: New file.
34842
34843         Module strtoul.
34844         * m4/strtoul.m4: New file.
34845
34846         Module memchr.
34847         * m4/memchr.m4: New file.
34848
34849         Module memcmp.
34850         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
34851         (jm_FUNC_MEMCMP): Invoke it.
34852
34853         Module memcpy.
34854         * m4/memcpy.m4: New file.
34855
34856         Module memmove.
34857         * m4/memmove.m4: New file.
34858
34859         Module memset.
34860         * m4/memset.m4: New file.
34861
34862         Module strcspn.
34863         * m4/strcspn.m4: New file.
34864
34865         Module strpbrk.
34866         * m4/strpbrk.m4: New file.
34867
34868         Module strstr.
34869         * m4/strstr.m4: New file.
34870
34871         Module strerror.
34872         * m4/strerror.m4: New file.
34873
34874         Module mktime.
34875         * m4/mktime.m4: Renamed from jm-mktime.m4.
34876         (gl_PREREQ_MKTIME): New macro.
34877         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
34878
34879         Module malloc.
34880         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
34881         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
34882         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
34883
34884         Module realloc.
34885         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
34886         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
34887         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
34888
34889         Module strftime.
34890         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
34891         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
34892         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
34893         gl_TM_GMTOFF.
34894         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
34895
34896         Module xalloc.
34897         * m4/xalloc.m4: New file.
34898
34899         Module alloca.
34900         * m4/alloca.m4: New file.
34901
34902         Module putenv.
34903         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
34904         (jm_FUNC_PUTENV): Invoke it.
34905
34906         Module setenv.
34907         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
34908         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
34909         when invoked twice.
34910         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
34911         gt_FUNC_SETENV.
34912
34913         Module memrchr.
34914         * m4/memrchr.m4: New file.
34915
34916         Module stpcpy.
34917         * m4/stpcpy.m4: New file.
34918
34919         Module strcase.
34920         * m4/strcase.m4: New file.
34921
34922         Module strdup.
34923         * m4/strdup.m4: New file.
34924
34925         Module strnlen.
34926         * m4/strnlen.m4: New file.
34927
34928         Module strndup.
34929         * m4/strndup.m4: New file.
34930
34931         Module xstrtod.
34932         * m4/xstrtod.m4: New file.
34933
34934         Module xstrtol.
34935         * m4/xstrtol.m4: New file.
34936
34937         Module getdate.
34938         * m4/getdate.m4: New file.
34939
34940         Module unlocked-io.
34941         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
34942         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
34943         * m4/jm-glibc-io.m4n: Remove file.
34944
34945         Module long-options.
34946         * m4/long-options.m4: New file.
34947
34948         Module md5.
34949         * m4/md5.m4: New file.
34950
34951         Module sha.
34952         * m4/sha.m4: New file.
34953
34954         Module getstr.
34955         * m4/getstr.m4: New file.
34956
34957         Module getline.
34958         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
34959         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
34960         <sys/types.h>, for size_t. Use the function name gnu_getline, not
34961         simply getline. Infoke gl_PREREQ_GETLINE.
34962
34963         Module obstack.
34964         * m4/obstack.m4: New file.
34965
34966         Module hash.
34967         * m4/hash.m4: New file.
34968
34969         Module readtokens.
34970         * m4/readtokens.m4: New file.
34971
34972         Module strverscmp.
34973         * m4/strverscmp.m4: New file.
34974
34975         Module stdbool.
34976         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
34977         OSF/1.
34978
34979         Module strtoll.
34980         * m4/strtoll.m4: New file.
34981
34982         Module strtoull.
34983         * m4/strtoull.m4: New file.
34984
34985         Module strtoimax.
34986         * m4/strtoimax.m4: New file.
34987
34988         Module strtoumax.
34989         * m4/strtoumax.m4: New file.
34990
34991         Module xstrtoimax.
34992         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
34993         jm_AC_PREREQ_XSTRTOIMAX.
34994         Moved the strtol prerequisites to strtol.m4.
34995         Moved the strtoll prerequisites to strtoll.m4.
34996         Moved the strtoimax prerequisites to strtoimax.m4.
34997
34998         Module xstrtoumax.
34999         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
35000         jm_AC_PREREQ_XSTRTOUMAX.
35001         Moved the strtoul prerequisites to strtoul.m4.
35002         Moved the strtoull prerequisites to strtoull.m4.
35003         Moved the strtoumax prerequisites to strtoumax.m4.
35004
35005         Module chown.
35006         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
35007         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
35008
35009         Module dup2.
35010         * m4/dup2.m4: New file.
35011
35012         Module ftruncate.
35013         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
35014         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
35015
35016         Module getgroups.
35017         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
35018         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
35019
35020         Module gettimeofday.
35021         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
35022         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
35023         gl_PREREQ_GETTIMEOFDAY.
35024
35025         Module mkdir.
35026         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
35027         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
35028
35029         Module mkstemp.
35030         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
35031         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
35032         jm_AC_TYPE_UINTMAX_T.
35033         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
35034
35035         Module stat.
35036         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
35037         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
35038
35039         Module lstat.
35040         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
35041         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
35042
35043         Module timespec.
35044         * m4/timespec.m4 (gl_TIMESPEC): New macro.
35045         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
35046         * m4/st_mtim.m4: Indentation.
35047
35048         Module nanosleep.
35049         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
35050         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
35051         gl_PREREQ_NANOSLEEP.
35052
35053         Module regex.
35054         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
35055         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
35056         (gl_REGEX): New macro.
35057
35058         Module rename.
35059         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
35060         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
35061
35062         Module rmdir.
35063         * m4/rmdir.m4: New file.
35064
35065         Module utime.
35066         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
35067         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
35068         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
35069
35070         Module dirname.
35071         * m4/dirname.m4: New file.
35072
35073         Module getopt.
35074         * m4/getopt.m4: New file.
35075
35076         Module unistd-safer.
35077         * m4/unistd-safer.m4: New file.
35078
35079         Module fnmatch.
35080         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
35081         declaration.
35082         (gl_PREREQ_FNMATCH_EXTRA): New macro.
35083         (gl_FUNC_FNMATCH_POSIX): New macro.
35084         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
35085         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
35086         simply fnmatch.
35087
35088         Module exclude.
35089         * m4/exclude.m4: New file.
35090
35091         Module human.
35092         * m4/human.m4: New file.
35093
35094         Module acl.
35095         * m4/acl.m4: Nop.
35096
35097         Module backupfile.
35098         * m4/backupfile.m4: New file.
35099         * m4/d-ino.m4: Indentation.
35100
35101         Module fsusage.
35102         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
35103         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
35104         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
35105
35106         Module dirfd.
35107         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
35108         requirements.
35109
35110         Module euidaccess.
35111         * m4/euidaccess.m4: New file.
35112
35113         Module file-type.
35114         * m4/file-type.m4: New file.
35115
35116         Module fileblocks.
35117         * m4/fileblocks.m4: New file.
35118
35119         Module filemode.
35120         * m4/filemode.m4: New file.
35121
35122         Module isdir.
35123         * m4/isdir.m4: New file.
35124
35125         Module lchown.
35126         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
35127         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
35128
35129         Module makepath.
35130         * m4/makepath.m4: New file.
35131
35132         Module modechange.
35133         * m4/modechange.m4: New file.
35134
35135         Module mountlist.
35136         * m4/mountlist.m4: New file.
35137         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
35138         Indentation.
35139
35140         Module path-concat.
35141         * m4/path-concat.m4: New file.
35142
35143         Module pathmax.
35144         * m4/pathmax.m4: New file.
35145
35146         Module same.
35147         * m4/same.m4: New file.
35148
35149         Module save-cwd.
35150         * m4/save-cwd.m4: New file.
35151
35152         Module savedir.
35153         * m4/savedir.m4: New file.
35154
35155         Module xgetcwd.
35156         * m4/xgetcwd.m4: New file.
35157         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
35158
35159         Module xreadlink.
35160         * m4/xreadlink.m4: New file.
35161
35162         Module safe-read.
35163         * m4/safe-read.m4: New file.
35164
35165         Module safe-write.
35166         * m4/safe-write.m4: New file.
35167
35168         Module closeout.
35169         * m4/closeout.m4: New file.
35170
35171         Module stdio-safer.
35172         * m4/stdio-safer.m4: New file.
35173
35174         Module getpass.
35175         * m4/getpass.m4: New file.
35176
35177         Module getugroups.
35178         * m4/getugroups.m4: New file.
35179
35180         Module group-member.
35181         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
35182         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
35183
35184         Module idcache.
35185         * m4/idcache.m4: New file.
35186
35187         Module userspec.
35188         * m4/userspec.m4: New file.
35189
35190         Module gettime.
35191         * m4/clock_time.m4: New file.
35192         * m4/gettime.m4: New file.
35193
35194         Module settime.
35195         * m4/settime.m4: New file.
35196
35197         Module posixtm.
35198         * m4/posixtm.m4: New file.
35199
35200         Module gethostname.
35201         * m4/gethostname.m4: New file.
35202
35203         Module canon-host.
35204         * m4/canon-host.m4: New file.
35205
35206         Module gettext.
35207         * m4/codeset.m4: New file, from gettext-0.11.5.
35208         * m4/gettext.m4: New file, from gettext-0.11.5.
35209         * m4/glibc21.m4: New file, from gettext-0.11.5.
35210         * m4/iconv.m4: New file, from gettext-0.11.5.
35211         * m4/intdiv0.m4: New file, from gettext-0.11.5.
35212         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
35213         * m4/inttypes.m4: New file, from gettext-0.11.5.
35214         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
35215         * m4/isc-posix.m4: New file, from gettext-0.11.5.
35216         * m4/lcmessage.m4: New file, from gettext-0.11.5.
35217         * m4/lib-ld.m4: New file, from gettext-0.11.5.
35218         * m4/lib-link.m4: New file, from gettext-0.11.5.
35219         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
35220         * m4/progtest.m4: New file, from gettext-0.11.5.
35221         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
35222         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
35223         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
35224
35225         Module localcharset.
35226         * m4/localcharset.m4: New file.
35227
35228         Module hard-locale.
35229         * m4/hard-locale.m4: New file.
35230
35231         Module mbswidth.
35232         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
35233         onceonly macros.
35234         * m4/mbrtowc.m4: Add comment.
35235
35236         Module memcasecmp.
35237         * m4/memcasecmp.m4: New file.
35238
35239         Module memcoll.
35240         * m4/memcoll.m4: New file.
35241
35242         Module unicodeio.
35243         * m4/unicodeio.m4: New file.
35244
35245         Module rpmatch.
35246         * m4/rpmatch.m4: New file.
35247
35248         Module yesno.
35249         * m4/yesno.m4: New file.
35250
35251         Module exitfail.
35252         * m4/exitfail.m4: New file.
35253
35254         Module c-stack.
35255         * m4/c-stack.m4 (gl_C_STACK): New macro.
35256         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
35257
35258         Module error.
35259         * m4/error.m4 (gl_ERROR): New macro.
35260         (jm_PREREQ_ERROR): Use onceonly macros.
35261
35262         Module fatal.
35263         * m4/fatal.m4: New file.
35264
35265         Module getloadavg.
35266         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
35267         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
35268
35269         Module getpagesize.
35270         * m4/getpagesize.m4: New file.
35271
35272         Module getusershell.
35273         * m4/getusershell.m4: New file.
35274
35275         Module physmem.
35276         * m4/physmem.m4: New file.
35277
35278         Module posixver.
35279         * m4/posixver.m4: New file.
35280
35281         Module quotearg.
35282         * m4/quotearg.m4: New file.
35283
35284         Module quote.
35285         * m4/quote.m4: New file.
35286
35287         Module readutmp.
35288         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
35289
35290         Module sig2str.
35291         * m4/sig2str.m4: New file.
35292
35293         Other.
35294         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
35295         ulonglong.m4.
35296         * m4/intmax_t.m4: New file.
35297         * m4/d-type.m4: Indentation.
35298         * m4/jm-macros.m4: Update.
35299         * m4/prereq.m4 (jm_PREREQ): Update.
35300         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
35301         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
35302         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
35303         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
35304         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
35305         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
35306         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
35307         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
35308         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
35309         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
35310         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
35311         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
35312         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
35313         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
35314         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
35315         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
35316         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
35317         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
35318         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
35319
35320 2002-12-24  Bruno Haible  <bruno@clisp.org>
35321
35322         * MODULES.txt: Update according to m4/ changes.
35323
35324         Module gettext.
35325         * config.rpath: New file, from gettext-0.11.5.
35326
35327         * modules/*: New module descriptions.
35328         * gnulib-tool: New file.
35329         * MODULES.html.sh: New file.
35330
35331 2002-12-21  Karl Berry  <karl@gnu.org>
35332
35333         * doc/fdl.texi: update to version 1.2.
35334
35335 2002-12-19  Karl Berry  <karl@gnu.org>
35336
35337         * config/config.guess: update from prep.
35338
35339 2002-12-18  Bruno Haible  <bruno@clisp.org>
35340
35341         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
35342         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
35343
35344 2002-12-17  Bruno Haible  <bruno@clisp.org>
35345
35346         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
35347         stdlib.h, string.h.
35348
35349 2002-12-17  Bruno Haible  <bruno@clisp.org>
35350
35351         * lib/canon-host.c (strdup): Remove unused declaration.
35352
35353         * lib/fsusage.c: Include full_read.h.
35354         (get_fs_usage): Use full_read instead of safe_read.
35355
35356         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
35357
35358 2002-12-12  Karl Berry  <karl@gnu.org>
35359
35360         * config/config.guess: update from prep.
35361
35362 2002-12-11  Bruno Haible  <bruno@clisp.org>
35363
35364         * m4/setenv.m4: New file, from gettext-0.11.5.
35365
35366 2002-12-11  Bruno Haible  <bruno@clisp.org>
35367
35368         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
35369         not unsetenv().
35370         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
35371         modifications:
35372
35373         2002-12-11  Bruno Haible  <bruno@clisp.org>
35374
35375                 * setenv.c (alloca): Fall back to malloc.
35376                 (freea): New macro.
35377                 (setenv): Use freea() to free memory allocated with alloca().
35378
35379         2002-11-13  Bruno Haible  <bruno@clisp.org>
35380
35381                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
35382                 function declarations.
35383                 * unsetenv.c (unsetenv): Likewise.
35384
35385         2002-03-04  Bruno Haible  <bruno@clisp.org>
35386
35387                 Portability to AIX 4.3.3.
35388                 * unsetenv.c: New file, extracted from setenv.c.
35389                 * setenv.c: Move the unsetenv() function to unsetenv.c.
35390
35391         2001-12-20  Bruno Haible  <bruno@clisp.org>
35392
35393                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
35394                 use malloc instead. For SunOS 4.
35395
35396         2001-12-11  Bruno Haible  <bruno@clisp.org>
35397
35398                 * setenv.c: Declare alloca.
35399                 (compar_fn_t): New typedef.
35400                 (KNOWN_VALUE, STORE_VALUE): Use it.
35401
35402         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
35403         setenv.h.
35404
35405 2002-12-10  Paul Eggert  <eggert@twinsun.com>
35406
35407         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
35408         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
35409         Choose values that are less likely to collide with system fnmatch
35410         options.
35411         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
35412         defined (e.g., a pure POSIX system).
35413         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
35414         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
35415
35416 2002-12-06  Paul Eggert  <eggert@twinsun.com>
35417
35418         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
35419         a pain in practice to deal with generated m4 files.  This change
35420         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
35421
35422         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
35423         and jm-glibc-io.m4, as they are no longer a special case.
35424         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
35425         kludge and the auto-generation stuff.  Check only whether the
35426         functions are declared, not whether they exist, since older hosts
35427         that don't declare the functions can't use the optimization anyway.
35428
35429 2002-12-06  Jim Meyering  <jim@meyering.net>
35430
35431         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
35432
35433         Merge in changes from libc's misc/error.c, in preparation
35434         for the merge of gnulib's changes back into libc.
35435
35436         * lib/error.c (_): Define only if not already defined.
35437         Move definition to follow all #include directives.
35438         Include unlocked-io.h only if !_LIBC.
35439         [_LIBC]: Include <libio/libioP.h>.
35440         [USE_IN_LIBIO]: Include <libio/iolibio.h>
35441         (fflush): Tweak definition to use INTUSE.
35442         (putc): Define.
35443
35444 2002-12-05  Paul Eggert  <eggert@twinsun.com>
35445
35446         * lib/alloca.c [defined emacs]: Include "lisp.h".
35447         (xalloc_die) [defined emacs]: New macro.
35448         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
35449         [! defined emacs]: Include <xalloc.h>.
35450         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
35451         (pointer): Typedef to POINTER_TYPE *.
35452         (malloc): Remove decl; we now always use xmalloc.
35453         (alloca): Use old-style definition, since Emacs needs this.
35454         Check for arithmetic overflow when computing combined size.
35455
35456 2002-12-04  Paul Eggert  <eggert@twinsun.com>
35457
35458         Do not generate unlocked-io.h automatically, since it's easier to
35459         maintain it by hand.
35460
35461         * lib/unlocked-io.h: New file, from GNU diffutils,
35462         but with proper copyright notice and attribution.
35463         * lib/gen-uio: Remove.
35464         * lib/Makefile.am: Add copyright notice.
35465         (libfetish_a_SOURCES): Add unlocked-io.h.
35466         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
35467         (DISTCLEANFILES, io_functions): Remove macros.
35468         (EXTRA_DIST): Remove gen_uio.
35469         (unlocked-io.h): Remove rule.
35470
35471 2002-12-04  Jim Meyering  <jim@meyering.net>
35472
35473         Reflect the fact that stat.c and lstat.c are no longer generated.
35474         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
35475         (DISTCLEANFILES): Likewise.
35476         (EXTRA_DIST): Likewise.
35477         (all_local): Don't depend on stat.c or lstat.c.
35478         (stat.c, lstat.c): Remove rules.
35479         (EXTRA_DIST): Remove xstat.in.
35480
35481         * lib/xstat.in: Remove file.  Contents moved into stat.c.
35482         * lib/stat.c: New file.  Contents mostly from xstat.in.
35483         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
35484         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
35485
35486         * lib/safe-read.c: Rework so that it may serve to define safe_write,
35487         too.
35488         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
35489
35490 2002-12-03  Jim Meyering  <jim@meyering.net>
35491
35492         * lib/safe-read.c, safe-write.c: Change variable names and comments,
35493         but not semantics, to minimize the differences between these two files.
35494         (safe_read): Change comment to mention SAFE_READ_ERROR.
35495
35496         * lib/safe-read.c (IS_EINTR): Define.
35497         (safe_read): Use IS_EINTR in place of in-function cpp directives.
35498
35499 2002-12-02  Jim Meyering  <jim@meyering.net>
35500
35501         * lib/safe-read.c (EINTR): Define.
35502         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
35503         (INT_MAX): Provide fallback.
35504         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
35505
35506         * lib/safe-read.h (SAFE_READ_ERROR): Define.
35507
35508 2002-12-02  Bruno Haible  <bruno@clisp.org>
35509
35510         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
35511         Define, taken from safe-read.c.
35512         (INT_MAX): Provide fallback.
35513         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
35514         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
35515
35516         * lib/safe-read.c (EINTR): Remove definition.
35517         (safe_read): Don't use EINTR if it is absent.
35518
35519 2002-12-01  Jim Meyering  <jim@meyering.net>
35520
35521         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
35522         zero.
35523         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
35524
35525 2002-11-27  Paul Eggert  <eggert@twinsun.com>
35526
35527         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
35528         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
35529         with `if (! (value < limit)) abort ();', for readability.
35530
35531 2002-11-26  Karl Berry  <karl@gnu.org>
35532
35533         * lib/strdup.c: copy from libc again, with jim's ok.
35534         * lib/.cppi-disable: re-add strdup.c
35535
35536 2002-11-25  Karl Berry  <karl@gnu.org>
35537
35538         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
35539         instead of "strtol.c".
35540
35541 2002-11-25  Karl Berry  <karl@gnu.org>
35542
35543         * config/install-sh: update from automake for variable quoting, $0 in
35544         error msgs, etc.
35545
35546         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
35547         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
35548         entry.
35549
35550 2002-11-25  Jim Meyering  <jim@meyering.net>
35551
35552         * lib/mktime.c: Sync from libc, now that it has the latest fix.
35553
35554 2002-11-24  Karl Berry  <karl@gnu.org>
35555
35556         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
35557         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
35558
35559 2002-11-24  Jim Meyering  <jim@meyering.net>
35560
35561         Update from coreutils:
35562
35563         * lib/mktime.c: Merge in changes from libc.
35564
35565         Avoid a link-time failure on some Linux systems.
35566         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
35567         (otherwise).
35568         (__mon_yday): Declare with the STATIC attribute.
35569         (__mktime_internal): Likewise.
35570         Based on a report from Greg Schafer.
35571
35572 2002-11-23  Jim Meyering  <jim@meyering.net>
35573
35574         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
35575         Use `unsigned', not `int', as type of index.
35576
35577         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
35578
35579         * lib/fsusage.c: Remove unneeded parentheses around operands of
35580         `defined'.
35581
35582 2002-11-22  Paul Eggert  <eggert@twinsun.com>
35583
35584         * lib/quotearg.h: Allow multiple inclusion by surrounding with
35585         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
35586         so that we can be included first.
35587         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
35588         * lib/quotearg.c: Include quotearg.h immediately after config.h.
35589         No need to include stddef.h or sys/types.h any more.
35590         Surround local include files with "", not "<>".
35591         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
35592         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
35593         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
35594         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
35595         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
35596         (ISPRINT): Remove; no longer needed now that we assume C89.
35597
35598         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
35599         Preserve errno.
35600
35601         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
35602         quotearg_char): Use SIZE_MAX rather than
35603         (size_t) -1 when we are talking about "infinity".
35604
35605         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
35606
35607 2002-11-22  Paul Eggert  <eggert@twinsun.com>
35608
35609         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
35610         hint that one should use `if (! x) abort ();' rather than `assert
35611         (x);', and anyway it's one less thing to worry about configuring.
35612         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
35613         hash_rehash, hash_insert): Use abort rather than assert.
35614
35615 2002-11-22  Bruno Haible  <bruno@clisp.org>
35616
35617         * lib/safe-read.h: Assume C89. Add comments.
35618         (safe_read): Change return type to size_t.
35619         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
35620         byte counts > SSIZE_MAX correctly.
35621         * lib/safe-write.h: New file.
35622         * lib/safe-write.c: New file.
35623         * lib/full-read.h: New file.
35624         * lib/full-read.c: New file.
35625         * lib/full-write.h: Assume C89. Add comments.
35626         * lib/full-write.c: Include safe-write.h.
35627         (full_write): Rewritten to use safe_write.
35628         Suggested by Jim Meyering and Paul Eggert.
35629
35630 2002-11-21  Jim Meyering  <jim@meyering.net>
35631
35632         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
35633
35634         Merge in changes from the coreutils.
35635
35636         2002-09-25  Paul Eggert  <eggert@twinsun.com>
35637         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
35638         <stdint.h>.
35639         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
35640         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
35641         int.  Work more efficiently if X is the same width as uintmax_t.
35642         Do not compare X to -1, to avoid bogus compiler warning.
35643         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
35644         Don't assume that f_frsize and f_bsize are the same type.
35645
35646         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
35647         warning on FreeBSD.
35648
35649         * lib/makepath.c (make_path): Restore umask *before* creating the final
35650         component.
35651         (make_path): Minor reformatting.
35652
35653         * lib/xmalloc.c: Adjust to work with new autoconf macros,
35654         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
35655         HAVE_MALLOC/HAVE_REALLOC.
35656
35657         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
35658         dummy ones.  At least on GNU/Linux systems, `auto' means something
35659         else.
35660         From Michael Stone.
35661
35662 2002-11-21  Bruno Haible  <bruno@clisp.org>
35663
35664         Remove case insensitive option matching.
35665         * lib/argmatch.h (argcasematch): Remove declaration.
35666         (ARGCASEMATCH): Remove macro.
35667         (__xargmatch_internal): Remove case_sensitive argument.
35668         (XARGMATCH): Update.
35669         (XARGCASEMATCH): Remove macro.
35670         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
35671         case_sensitive argument.
35672         (argcasematch): Remove function.
35673         (__xargmatch_internal): Remove case_sensitive argument.
35674         (main): Use XARGMATCH instead of XARGCASEMATCH.
35675
35676         * lib/xmalloc.c: Change compile-time error message. Add comment about
35677         required autoconf version.
35678
35679 2002-11-20  Paul Eggert  <eggert@twinsun.com>
35680
35681         Merge argmatch cleanups from Bison.  Assume C89.
35682
35683         * lib/argmatch.c: Include config.h here, not in argmatch.h.
35684         Include stdlib.h, for EXIT_FAILURE.
35685         Always include <string.h>, since we assume C89.
35686         (EXIT_FAILURE): Remove pre-C89 bug workaround.
35687         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
35688         Include <stddef.h> instead, since it's all we need for size_t.
35689         (PARAMS): Remove.  All uses removed.
35690         (ARRAY_CARDINALITY): Do not bother to #undef.
35691         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
35692         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
35693         Remove unnecessary parentheses.
35694         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
35695         Insert necessary parentheses.
35696         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
35697         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
35698
35699 2002-11-19  Bruno Haible  <bruno@clisp.org>
35700
35701         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
35702         * lib/mbswidth.h: Include <stddef.h>, for size_t.
35703
35704         * lib/mbswidth.h (PARAMS): Remove macro.
35705         (mbswidth, mbsnwidth): Use ANSI C function declarations.
35706         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
35707
35708         * lib/gcd.h (PARAMS): Remove macro.
35709         (gcd): Use ANSI C function declarations.
35710         * lib/gcd.c (gcd): Likewise.
35711
35712 2002-11-15  Bruno Haible  <bruno@clisp.org>
35713
35714         * lib/strcspn.c: Include <stddef.h>.
35715         (strcspn): Use ANSI C function declaration. Change return type to
35716         size_t. Use NULL.
35717         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
35718         (strpbrk): Use NULL.
35719         * lib/strpbrk.h (PARAMS): Remove macro.
35720         (strpbrk): Use ANSI C function declaration.
35721         * lib/strstr.c: Don't include <sys/types.h>.
35722         * lib/strstr.h (PARAMS): Remove macro.
35723         (strstr): Use ANSI C function declarations.
35724
35725 2002-11-14  Karl Berry  <karl@gnu.org>
35726
35727         * config/mkinstalldirs: `do' on separate line, instead of
35728         `for var; do'.
35729
35730 2002-11-06  Bruno Haible  <bruno@clisp.org>
35731
35732         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
35733         * lib/gcd.c (gcd): Likewise.
35734
35735 2002-11-05  Bruno Haible  <bruno@clisp.org>
35736
35737         * lib/gcd.h: New file, from gettext-0.11.5.
35738         * lib/gcd.c: New file, from gettext-0.11.5.
35739
35740 2002-11-05  Bruno Haible  <bruno@clisp.org>
35741
35742         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
35743         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
35744         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
35745         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
35746
35747         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
35748         <libintl.h>.
35749         * lib/makepath.c: Include gettext.h instead of <locale.h> and
35750         <libintl.h>.
35751
35752         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
35753         * lib/human.c: Include gettext.h instead of <libintl.h>.
35754         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
35755         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
35756         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
35757         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
35758         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
35759         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
35760         (textdomain): Remove definition.
35761         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
35762
35763         * lib/long-options.c: Remove include of <libintl.h> and definition of
35764         _.
35765         * lib/same.c: Remove include of <libintl.h> and definition of _.
35766
35767 2002-11-04  Owen Taylor  <otaylor@redhat.com>
35768
35769         * lib/config.charset: A few additions for Solaris.
35770
35771 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
35772
35773         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
35774         * lib/localcharset.c (locale_charset): Declare as extern "C".
35775
35776 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
35777
35778         * lib/config.charset: msdos in uk_UA uses CP1125.
35779
35780 2002-11-04  Bruno Haible  <bruno@clisp.org>
35781
35782         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
35783         * lib/strcase.h: New file, from GNU gettext-0.11.5.
35784         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
35785         * lib/strstr.h: New file, from GNU gettext-0.11.5.
35786         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
35787
35788 2002-11-04  Bruno Haible  <bruno@clisp.org>
35789
35790         * lib/localcharset.c (locale_charset): Don't return an empty string.
35791
35792 2002-11-04  Bruno Haible  <bruno@clisp.org>
35793
35794         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
35795         aliases.
35796
35797 2002-11-04  Bruno Haible  <bruno@clisp.org>
35798
35799         * lib/config.charset: Update for newest glibc. Add canonical names
35800         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
35801
35802 2002-11-04  Bruno Haible  <bruno@clisp.org>
35803
35804         * lib/config.charset: Add support for NetBSD.
35805
35806 2002-11-04  Bruno Haible  <bruno@clisp.org>
35807
35808         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
35809
35810 2002-11-01  Bruno Haible  <bruno@clisp.org>
35811
35812         * configure.in: Add AC_CONFIG_AUX_DIR call.
35813         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
35814         test/Makefile.
35815         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
35816
35817 2002-09-28  Karl Berry  <karl@gnu.org>
35818
35819         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
35820         installed automake until the next release, since changes have been
35821         made.
35822
35823 2002-09-25  Karl Berry  <karl@gnu.org>
35824
35825         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
35826         * lib/getopt*: copy from libc/posix.
35827         * lib/gettext.h: copy from gettext.
35828         * lib/.cppi-disable: add strdup.c, gettext.h.
35829
35830 2002-09-25  Karl Berry  <karl@gnu.org>
35831
35832         * config/srclist.txt: enable gettext.h check.
35833         * config/config.{guess,sub}: update from prep.
35834         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
35835                 from automake 1.6.3.
35836         See srclist*.
35837
35838 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
35839
35840         * regex.c (PATFETCH): Remove the translating fetch.
35841         (PATFETCH_RAW): Rename to PATFETCH.
35842         (set_image_of_range): New fun.
35843         (SET_RANGE_TABLE_WORK_AREA): Use it.
35844         (regex_compile): Don't translate the pattern chars so eagerly.
35845         Only do it when inserting an `exactn' bytecode or when handling
35846         a char-range.
35847         (mutually_exclusive_p): Avoid empty statement.
35848
35849 2002-07-06  Jim Meyering  <meyering@lucent.com>
35850
35851         * m4/README: Don't mention Makefile.am.in.
35852         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
35853
35854 2002-07-01  Jim Meyering  <meyering@lucent.com>
35855
35856         * lib/c-stack.c: Include sys/time.h.
35857         From Volker Borchert.
35858
35859 2002-06-26  Paul Eggert  <eggert@twinsun.com>
35860
35861         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
35862
35863 2002-06-26  Paul Eggert  <eggert@twinsun.com>
35864
35865         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
35866         New macro.  Use it uniformly instead of
35867         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
35868         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
35869         reported by Vin Shelton.
35870
35871 2002-06-22  Paul Eggert  <eggert@twinsun.com>
35872
35873         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
35874         Do not assume SA_SIGINFO behavior.
35875         Bug reported by Jim Meyering on NetBSD 1.5.2.
35876
35877 2002-06-22  Jim Meyering  <meyering@lucent.com>
35878
35879         * m4/c-stack.m4: New file, from diffutils-2.8.2.
35880         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
35881
35882         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
35883         now that configure.ac uses AC_GNU_SOURCE.
35884         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
35885         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
35886
35887         Update to latest tools.  Suggestions from Paul Eggert.
35888         * m4/stdbool.m4: New file, from diffutils-2.8.2.
35889         * m4/gnu-source.m4: Update from diffutils-2.8.2.
35890         * m4/fnmatch.m4: Likewise.
35891         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
35892         to AC_HEADER_STDBOOL
35893
35894 2002-06-22  Jim Meyering  <meyering@lucent.com>
35895
35896         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
35897         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
35898
35899 2002-06-22  Jim Meyering  <meyering@lucent.com>
35900
35901         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
35902
35903         * lib/exitfail.c, exitfail.h: Likewise.
35904         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
35905
35906         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
35907         of fnmatch.h.
35908         (EXTRA_DIST): Add fnmatch_loop.c.
35909         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
35910
35911         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
35912         * lib/fnmatch.c: Update from diffutils-2.8.2.
35913         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
35914         * lib/fnmatch.h: Remove file.
35915
35916 2002-06-21  Jim Meyering  <meyering@lucent.com>
35917
35918         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
35919         * m4/mbrtowc.m4: Likewise.
35920
35921         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
35922         * m4/mbswidth.m4: Reflect name change:
35923         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
35924         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
35925
35926         * m4/lib-link.m4: Update from gettext-0.11.2.
35927         * m4/gettext.m4: Likewise.
35928
35929         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
35930         From Alfred M. Szmidt.
35931
35932 2002-06-18  Paul Eggert  <eggert@twinsun.com>
35933
35934         * lib/file-type.h: Report an error if neither S_ISREG nor
35935         S_IFREG is defined, instead of using a test specific to glibc
35936         2.2.  This should be safe, since POSIX requires S_ISREG and
35937         Unix Version 7 had S_IFREG.  We don't need to check for
35938         <sys/types.h> since we don't use any symbols that it defines.
35939
35940 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
35941
35942         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
35943         $@-t, so that each temporary file name is unique and valid in the first
35944         8 characters, for operation under DOS.
35945
35946 2002-06-15  Paul Eggert  <eggert@twinsun.com>
35947
35948         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
35949
35950 2002-06-15  Jim Meyering  <meyering@lucent.com>
35951
35952         Work even with DJGPP 2.03, which lacks support for symlinks.
35953         From Richard Dawe.
35954         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
35955         is defined.
35956         * lib/lchown.c (S_ISLNK): Likewise.
35957
35958 2002-06-15  Jim Meyering  <meyering@lucent.com>
35959
35960         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
35961         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
35962         have been included before this file.
35963
35964 2002-06-14  Jim Meyering  <meyering@lucent.com>
35965
35966         * lib/file-type.h: Use the version from diffutils-2.8.2.
35967         * lib/file-type.c: Likewise.
35968
35969 2002-06-07  Jim Meyering  <meyering@lucent.com>
35970
35971         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
35972         They're needed at least for NetBSD 1.5.2.
35973         ($statxfs_includes): Include those same headers.
35974         ($statxfs_includes): Include sys/vfs.h if available.
35975         ($statxfs_includes): Likewise for sys/statvfs.h.
35976         Check for the following members in both structs statfs and statvfs:
35977         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
35978
35979 2002-06-01  Jim Meyering  <meyering@lucent.com>
35980
35981         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
35982         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
35983
35984 2002-05-28  Jim Meyering  <meyering@lucent.com>
35985
35986         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
35987         Reported by Volker Borchert.
35988
35989 2002-05-27  Jim Meyering  <meyering@lucent.com>
35990
35991         Fix a problem seen only on nonconforming systems whereby ls.c's
35992         use of localtime, and then of gettimeofday would cause trouble:
35993         the localtime call used to initialize rpl_gettimeofday's save
35994         mechanism would clobber ls's current local time information so
35995         that in any long listing the first file would always be listed
35996         with date 1970-01-01.  Analysis by Volker Borchert.
35997
35998         * lib/gettimeofday.c (localtime): Undefine.
35999         (rpl_localtime): New function.
36000
36001 2002-05-27  Jim Meyering  <meyering@lucent.com>
36002
36003         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
36004         localtime.
36005
36006         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
36007         use the replacement function; it wouldn't resolve at link time.
36008         Reported by Volker Borchert.
36009
36010 2002-05-22  Jim Meyering  <meyering@lucent.com>
36011
36012         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
36013         file-type.h.
36014         * lib/file-type.h: New file.
36015         * lib/file-type.c (file_type): New file/function.  Extracted from
36016         diffutils.
36017
36018 2002-04-30  Jim Meyering  <meyering@lucent.com>
36019
36020         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
36021
36022 2002-04-29  Paul Eggert  <eggert@twinsun.com>
36023
36024         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
36025
36026 2002-04-29  Paul Eggert  <eggert@twinsun.com>
36027
36028         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
36029         Do not check for alloca.h (no longer used) or stdbool.h (was never
36030         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
36031
36032 2002-04-29  Paul Eggert  <eggert@twinsun.com>
36033
36034         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
36035
36036 2002-04-29  Jim Meyering  <meyering@lucent.com>
36037
36038         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
36039         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
36040         Use AC_FUNC_STRNLEN here instead.
36041
36042         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
36043         With autoconf-2.53a, it's part of AC_PROG_CC.
36044
36045 2002-04-28  Paul Eggert  <eggert@twinsun.com>
36046
36047         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
36048         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
36049
36050 2002-04-28  Paul Eggert  <eggert@twinsun.com>
36051
36052         * lib/sig2str.h, lib/sig2str.c: New files.
36053         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
36054
36055 2002-04-28  Paul Eggert  <eggert@twinsun.com>
36056
36057         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
36058         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
36059         of 127, since 64 is the largest conceivable number for ancient
36060         nonstandard hosts.
36061         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
36062
36063 2002-04-28  Jim Meyering  <meyering@lucent.com>
36064
36065         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
36066
36067 2002-04-24  Jim Meyering  <meyering@lucent.com>
36068
36069         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
36070         (jm_PREREQ): Use it.
36071
36072         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
36073         mach/mach.h fcntl.h.
36074         Check for this function: setlocale.
36075
36076 2002-04-24  Jim Meyering  <meyering@lucent.com>
36077
36078         * lib/gettext.h: New file, from Gettext.
36079         * lib/Makefile.am (INCLUDES): Remove -I../intl.
36080         (libfetish_a_SOURCES): Add gettext.h.
36081
36082 2002-04-16  Jim Meyering  <meyering@lucent.com>
36083
36084         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
36085         ut_pid, ut_id, ut_exit.
36086
36087 2002-04-16  Jim Meyering  <meyering@lucent.com>
36088
36089         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
36090         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
36091         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
36092
36093 2002-04-12  Jim Meyering  <meyering@lucent.com>
36094
36095         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
36096         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
36097         existence of the getmntinfo function.  Needed for Darwin 5.3.
36098
36099         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
36100         This is necessary at least on Darwin 5.3.
36101
36102         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
36103         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
36104         strnlen.o in the library, and that makes some versions of ranlib
36105         object.
36106
36107 2002-04-12  Jim Meyering  <meyering@lucent.com>
36108
36109         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
36110
36111 2002-04-09  Jim Meyering  <meyering@lucent.com>
36112
36113         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
36114         to be more precise.  Rather than saying we're checking whether the
36115         function `works', say what we're testing.
36116         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
36117         Reported by Bruno Haible.
36118
36119 2002-03-10  Jim Meyering  <meyering@lucent.com>
36120
36121         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
36122         Suggestion from Santiago Vila.
36123
36124 2002-03-08  Jim Meyering  <meyering@lucent.com>
36125
36126         * lib/rename.c: Mention that this wrapper is needed also on
36127         mips-dec-ultrix4.4 systems.
36128
36129 2002-03-02  Jim Meyering  <meyering@lucent.com>
36130
36131         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
36132         not HAVE_CLOCK_SETTIME.
36133
36134 2002-02-27  Paul Eggert  <eggert@twinsun.com>
36135
36136         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
36137         Check for clock_settime.
36138
36139 2002-02-27  Paul Eggert  <eggert@twinsun.com>
36140
36141         * lib/nanosleep.h: Rename to....
36142         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
36143
36144         * lib/gettime.c: New file.
36145         * lib/settime.c: New file.
36146         * lib/stime.c: Remove.
36147
36148         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
36149         timespec.h.  Remove nanosleep.h.
36150
36151 2002-02-25  Paul Eggert  <eggert@twinsun.com>
36152
36153         * m4/acl.m4: New file.
36154         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
36155         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
36156
36157 2002-02-25  Paul Eggert  <eggert@twinsun.com>
36158
36159         * lib/acl.c, lib/acl.h: New files.
36160         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
36161
36162 2002-02-24  Jim Meyering  <meyering@lucent.com>
36163
36164         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
36165         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
36166         cause trouble.  Reported by Nelson Beebe.
36167
36168 2002-02-23  Paul Eggert  <eggert@twinsun.com>
36169
36170         * lib/path-concat.c (xpath_concat): Reorder code to pacify
36171         compilers that don't know that xalloc_die never returns.
36172
36173 2002-02-20  Jim Meyering  <meyering@lucent.com>
36174
36175         * lib/getdate.c: Regenerate using bison-1.33.
36176
36177 2002-02-17  Jim Meyering  <meyering@lucent.com>
36178
36179         * config/config.guess (main): Don't use `head -1'; it's no longer
36180         portable. Use `sed 1q' instead.
36181
36182 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
36183
36184         * m4/codeset.m4: Upgrade to gettext-0.11.
36185         * m4/gettext.m4: Upgrade to gettext-0.11.
36186         * m4/glibc21.m4: Upgrade to gettext-0.11.
36187         * m4/iconv.m4: Upgrade to gettext-0.11.
36188         * m4/isc-posix.m4: Upgrade to gettext-0.11.
36189         * m4/lcmessage.m4: Upgrade to gettext-0.11.
36190         * m4/lib-ld.m4: New file, from gettext-0.11.
36191         * m4/lib-link.m4: New file, from gettext-0.11.
36192         * m4/lib-prefix.m4: New file, from gettext-0.11.
36193         * m4/progtest.m4: Upgrade to gettext-0.11.
36194
36195 2002-02-15  Paul Eggert  <eggert@twinsun.com>
36196
36197         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
36198         (jm_PREREQ): Use it.
36199
36200 2002-02-15  Paul Eggert  <eggert@twinsun.com>
36201
36202         * lib/posixver.c, lib/posixver.h: New files.
36203         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
36204
36205 2002-02-02  Paul Eggert  <eggert@twinsun.com>
36206             Bruno Haible  <bruno@clisp.org>
36207
36208         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
36209         (fwrite_success_callback): New declaration.
36210         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
36211         print_unicode_char. Call failure callback instead of error.
36212         (fwrite_success_callback): New function.
36213         (exit_failure_callback): New function.
36214         (fallback_failure_callback): New function.
36215         (print_unicode_char): Call unicode_to_mb.
36216
36217 2002-01-26  Jim Meyering  <meyering@lucent.com>
36218
36219         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
36220         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
36221
36222 2002-01-26  Jim Meyering  <meyering@lucent.com>
36223
36224         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
36225
36226 2002-01-22  Paul Eggert  <eggert@twinsun.com>
36227
36228         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
36229
36230 2002-01-22  Jim Meyering  <meyering@lucent.com>
36231
36232         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
36233         Otherwise, some versions of automake would omit the rule that makes
36234         Makefile from Makefile.in.
36235
36236 2002-01-21  Paul Eggert  <eggert@twinsun.com>
36237
36238         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
36239         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
36240         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
36241         (memcoll): Set errno to zero if there is no error.
36242
36243         * lib/quotearg.c (quotearg_buffer_restyled):
36244         Fix bug with quoting buffers containing NUL when backslashing escapes.
36245         This bug was exposed by the other changes in this patch.
36246         (quotearg_n_options): New arg ARGSIZE.
36247         All callers changed.
36248         (quoting_options_from_style): New function.
36249         (quotearg_n_style): Use it.
36250         (quotearg_n_style_mem): New function.
36251
36252         * lib/quotearg.h (quotearg_n_style_mem): New function.
36253
36254 2002-01-19  Jim Meyering  <meyering@lucent.com>
36255
36256         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
36257         Remove useless quotes: DF_PROG="df".
36258         * m4/strnlen.m4: New file.
36259
36260 2002-01-16  Paul Eggert  <eggert@twinsun.com>
36261
36262         * lib/backupfile.c (ISDIGIT): Comment fix.
36263         * lib/getdate.y (ISDIGIT): Likewise.
36264         * lib/posixtm.c (ISDIGIT, year): Likewise.
36265         * lib/strverscmp.c (ISDIGIT): Likewise.
36266         * lib/userspec.c (ISDIGIT): Likewise.
36267
36268 2002-01-16  Jim Meyering  <meyering@lucent.com>
36269
36270         * lib/getdate.y: Add three semicolons, each just before a closing
36271         brace. Bison (as of version 1.31) no longer papers over that mistake.
36272
36273 2002-01-05  Jim Meyering  <meyering@lucent.com>
36274
36275         * lib/version-etc.c (version_etc_copyright): Update copyright year.
36276
36277 2001-12-19  Paul Eggert  <eggert@twinsun.com>
36278
36279         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
36280         not silently exit merely because the output buffer happens to
36281         have nothing pending.
36282
36283 2001-12-18  Paul Eggert  <eggert@twinsun.com>
36284
36285         See the big note in ../ChangeLog.
36286         * lib/human.c (suffixes): Prefer K to k for 1024.
36287         (generate_suffix_backwards): New function.
36288         (human_readable_inexact): Use it.
36289         * lib/xstrtol.c (__xstrtol): If there is no number but there
36290         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
36291         Accept 'K' as well as 'k'.
36292
36293 2001-12-15  Jim Meyering  <meyering@lucent.com>
36294
36295         * lib/regex.h (__restrict_arr): Update from libc.
36296
36297         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
36298         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
36299         (STREQ): Define.
36300
36301 2001-12-14  Jim Meyering  <meyering@lucent.com>
36302
36303         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
36304         Suggestion from Bruno Haible.
36305
36306 2001-12-10  Jim Meyering  <meyering@lucent.com>
36307
36308         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
36309         xrealloc, Instead, include "xalloc.h".
36310         (initbuffer): Don't cast xmalloc return value to char*.
36311         (readline): Reword comment.
36312         Don't cast xrealloc return value to char*
36313         Return NULL, not 0.
36314
36315 2001-12-09  Jim Meyering  <meyering@lucent.com>
36316
36317         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
36318         about `signed and unsigned type in conditional expression'.
36319         * lib/posixtm.c (posix_time_parse): Likewise.
36320
36321         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
36322
36323         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
36324         to avoid a pedantic warning.
36325
36326         * lib/getstr.c: Don't include assert.h.
36327         (getstr): Remove warning-evoking assertions.
36328         Return -1 if offset parameter is out of bounds.
36329         Change the type of a local from int to size_t.
36330
36331         * lib/strftime.c (my_strftime_localtime_r): Include this function
36332         definition in the `#if ! HAVE_TM_GMTOFF' block.
36333
36334         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
36335         Include xalloc.h instead.
36336
36337 2001-12-02  Jim Meyering  <meyering@lucent.com>
36338
36339         * lib/tempname.c: Don't declare getenv, thus reverting the change of
36340         2001-11-18.  It's no longer necessary, now that stdlib.h is always
36341         included.
36342
36343         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
36344         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
36345
36346 2001-11-30  Akim Demaille  <akim@epita.fr>
36347
36348         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
36349         before being defined.
36350
36351 2001-11-27  Paul Eggert  <eggert@twinsun.com>
36352
36353         * lib/quotearg.h (quotearg_n, quotearg_n_style):
36354         First arg is int, not unsigned.
36355         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
36356         (SIZE_MAX, UINT_MAX): New macros.
36357         (quotearg_n_options): Abort if N is negative.
36358         Avoid overflow check on hosts where size_t is 64 bits and int
36359         is 32 bits, as overflow is impossible there.
36360         Fix off-by-one typo that caused unnecessary reallocation.
36361
36362 2001-11-27  Jim Meyering  <meyering@lucent.com>
36363
36364         * lib/tempname.c: Merge with version from libc.
36365         * lib/regex.c: Likewise.
36366
36367         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
36368         systems for which STDC_HEADERS is 0, it was not included, resulting in
36369         a warning about an integer-to-pointer conversion problem with getenv.
36370         Reported by Volker Borchert.
36371
36372 2001-11-26  Jim Meyering  <meyering@lucent.com>
36373
36374         * lib/gtod.h: Remove file.
36375         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
36376         * lib/gettimeofday.c: Don't include gtod.h.
36377         (GTOD_init): Remove function.
36378         (rpl_gettimeofday): Do its job here instead, rather than aborting.
36379         Suggestion from Volker Borchert.
36380
36381 2001-11-23  Jim Meyering  <meyering@lucent.com>
36382
36383         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
36384         it.
36385         * lib/hash.c (struct hash_table): Define it here instead.
36386
36387 2001-11-22  Jim Meyering  <meyering@lucent.com>
36388
36389         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
36390
36391 2001-11-20  Jim Meyering  <meyering@lucent.com>
36392
36393         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
36394         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
36395
36396 2001-11-19  Jim Meyering  <meyering@lucent.com>
36397
36398         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
36399         directory.  Use "conftestXXXXXX" as the template.
36400         Suggestion from Paul Eggert.
36401
36402         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
36403         immediately, so the test doesn't mistakenly hit the max-open-files
36404         limit.
36405
36406 2001-11-18  Paul Eggert  <eggert@twinsun.com>
36407
36408         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
36409         (TEMPORARIES): New macro.
36410         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
36411         removes an artificial limitation (e.g. HP-UX 10.20, where
36412         TMP_MAX is 17576).
36413
36414 2001-11-18  Jim Meyering  <meyering@lucent.com>
36415
36416         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
36417
36418 2001-11-18  Jim Meyering  <meyering@lucent.com>
36419
36420         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
36421         on SunOS 4.
36422
36423         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
36424         files will be created before anything else.
36425
36426 2001-11-17  Paul Eggert  <eggert@twinsun.com>
36427
36428         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
36429         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
36430
36431 2001-11-17  Jim Meyering  <meyering@lucent.com>
36432
36433         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
36434         Prompted by a report from Bob Proulx.
36435
36436         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
36437         Instead, require UTILS_FUNC_MKSTEMP.
36438
36439 2001-11-17  Jim Meyering  <meyering@lucent.com>
36440
36441         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
36442         Now, that's done as part of AC_FUNC_STRTOD.
36443
36444 2001-11-17  Jim Meyering  <meyering@lucent.com>
36445
36446         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
36447         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
36448         rather than group writable.  Patch by Juan F. Codagnone.
36449
36450         * lib/readtokens.c: Remove explicit declarations of xmalloc and
36451         xrealloc, Instead, include "xalloc.h".
36452
36453         * lib/mountlist.c: Include unlocked-io.h after all system headers.
36454         Remove explicit declarations of xmalloc, xrealloc,
36455         and xstrdup.  Instead, include "xalloc.h".
36456
36457         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
36458         unlocked-io.h.
36459         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
36460         Likewise.
36461         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
36462
36463         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
36464         Reported by Padraig Brady.
36465
36466         * lib/mkstemp.c: #undef mkstemp.
36467         Include config.h.
36468         (rpl_mkstemp): Rename from mkstemp.
36469         Protoize.
36470
36471 2001-11-16  Jim Meyering  <meyering@lucent.com>
36472
36473         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
36474         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
36475         determine the amount of total physical memory, use pstat_getstatic.
36476         HPUX-11 doesn't define _SC_PHYS_PAGES.
36477         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
36478         If sysconf couldn't be used to determine the amount of available
36479         physical memory, use both pstat_getstatic and pstat_getdynamic.
36480         Based on a patch from Bob Proulx.
36481
36482 2001-11-10  Jim Meyering  <meyering@lucent.com>
36483
36484         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
36485         (jm_PREREQ): Use it.
36486
36487 2001-11-09  Jim Meyering  <meyering@lucent.com>
36488
36489         * m4/jm-macros.m4: Require autoconf-2.52f.
36490         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
36491         Use these AC_-prefixed names, not the AM_-prefixed ones.
36492
36493         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
36494
36495 2001-11-05  Jim Meyering  <meyering@lucent.com>
36496
36497         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
36498
36499 2001-11-04  Jim Meyering  <meyering@lucent.com>
36500
36501         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
36502         $DEFS.
36503
36504 2001-11-03  Jim Meyering  <meyering@lucent.com>
36505
36506         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
36507         of AC_DEFUN.
36508
36509         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
36510         know the name of the variable in the macro definition.
36511
36512 2001-11-03  Jim Meyering  <meyering@lucent.com>
36513
36514         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
36515         in argmatch_to_argument call.
36516
36517         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
36518         argument.
36519
36520         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
36521         e.g., a fault due to an attempt to free a NULL pointer.
36522
36523 2001-11-01  Jim Meyering  <meyering@lucent.com>
36524
36525         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
36526         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
36527
36528 2001-11-01  Jim Meyering  <meyering@lucent.com>
36529
36530         * lib/dirfd.c, lib/dirfd.h: New files.
36531         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
36532
36533         * lib/hash.c (hash_print) [TESTING]: Clean up.
36534
36535 2001-10-22  Paul Eggert  <eggert@twinsun.com>
36536
36537         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
36538         to avoid a warning if -Wall.
36539
36540 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
36541
36542         * README: New file
36543         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
36544         (per RMS's instructions, this is now the canonical source)
36545         * lgpl/, gpl/: New directories.
36546
36547 2001-10-21  Paul Eggert  <eggert@twinsun.com>
36548
36549         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
36550
36551 2001-10-21  Jim Meyering  <meyering@lucent.com>
36552
36553         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
36554         this code would end up calling gettext even in packages built
36555         with --disable-nls.
36556         * lib/getopt.c (_): Likewise.
36557         * lib/regex.c (_): Likewise.
36558
36559 2001-10-20  Paul Eggert  <eggert@twinsun.com>
36560
36561         * m4/error.m4 (jm_PREREQ_ERROR):
36562         Do not invoke AC_CHECK_FUNCS with strerror_r, as
36563         AC_FUNC_STRERROR_R does that.
36564         Check for strerror declaration.
36565
36566         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
36567         are supposed to have them these days.
36568         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
36569         Merge changes from latest Autoconf CVS.
36570         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
36571         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
36572         POSIX decided to standardize on the int flavor of strerror_r.
36573
36574 2001-10-20  Paul Eggert  <eggert@twinsun.com>
36575
36576         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
36577         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
36578         Use strerror_r that is only a macro, even if it is not a function.
36579         (strerror): Check for HAVE_DECL_STRERROR before declaring.
36580         (private_strerror): Use prototypes, not old-style function definition.
36581         (print_errno_message): New function.
36582         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
36583         char*-flavored one.
36584         (error_tail, error, error_at_line): Use it.
36585
36586 2001-10-11  Jim Meyering  <meyering@lucent.com>
36587
36588         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
36589         and quote_n (1, ... to avoid clobbering a buffer.
36590
36591 2001-10-05  Jim Meyering  <meyering@lucent.com>
36592
36593         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
36594         hash-pjw.h.
36595         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
36596         * lib/hash-pjw.h: New file.
36597
36598 2001-09-30  Jim Meyering  <meyering@lucent.com>
36599
36600         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
36601         `struct fsstat' has the `f_fstypename' member.
36602         Use that to define FS_TYPE, which is now used to make
36603         the getfsstat link test tighter.
36604
36605 2001-09-30  Jim Meyering  <meyering@lucent.com>
36606
36607         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
36608         Include <sys/ucred.h>, for Apple Darwin.
36609         Include sys/mount.h and sys/fs_types.h only if available.
36610         (FS_TYPE): Define.
36611         (read_filesystem_list): Use FS_TYPE.
36612
36613 2001-09-29  Paul Eggert  <eggert@twinsun.com>
36614
36615         * lib/exclude.c (excluded_filename): 0 -> false, since it's
36616         a boolean context.
36617
36618 2001-09-29  Jim Meyering  <meyering@lucent.com>
36619
36620         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
36621         [one-argument getmntent function]): Include stdio.h before mntent.h.
36622         SunOS 4.1.x needs it for the declaration of `FILE'.
36623         Patch by Volker Borchert.
36624
36625         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
36626         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
36627         sys/fs_types.h, and make the link-test for getfsstat guard #include
36628         directives with appropriate #if HAVE_*_H tests so that we can
36629         detect getfsstat on Apple Darwin1.3.7 systems.
36630         Reported by Nelson Beebe.
36631         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
36632
36633 2001-09-28  Paul Eggert  <eggert@twinsun.com>
36634
36635         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
36636         #defines strtoimax.  Also treat the other strto* functions
36637         like strtoimax.
36638
36639         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
36640         Check for strtoul and strtoumax,
36641         as those declarations are made even in the signed case.
36642         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
36643         Likewise, for strtol and strtoimax.
36644
36645 2001-09-28  Paul Eggert  <eggert@twinsun.com>
36646
36647         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
36648         #defines strtoimax.  Also treat the other strto* functions
36649         like strtoimax.
36650
36651         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
36652         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
36653         (strtoimax, strtoumax): Do not declare if already defined as a macro.
36654
36655 2001-09-26  Jim Meyering  <meyering@lucent.com>
36656
36657         Most macros in unlocked-io.h had the wrong number of arguments.
36658         * lib/gen-uio: New script.
36659         (USE_UNLOCKED_IO): Define to 1 if not already defined.
36660         * lib/unlocked-io.hin: Remove file.
36661         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
36662         rather than trying to embed it here.
36663         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
36664         Reported by Padraig Brady.
36665
36666 2001-09-25  Volker Borchert  <bt@teknon.de>
36667
36668         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
36669         `result'.
36670
36671 2001-09-24  Jim Meyering  <meyering@lucent.com>
36672
36673         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
36674
36675 2001-09-23  Jim Meyering  <meyering@lucent.com>
36676
36677         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
36678         instead of the mere test for existence of mntent.h.  The latter
36679         would get a false-positive on AIX 3.4 systems.
36680         In the outer getmntent if-block, don't die if neither of the getmntent
36681         tests succeeds.  Instead, just fall through and continue with the
36682         remaining tests.
36683
36684 2001-09-23  Jim Meyering  <meyering@lucent.com>
36685
36686         * lib/mountlist.c: Remove useless parentheses in #if directives.
36687         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
36688         the deprecated MOUNTED symbol is no longer defined in mntent.h.
36689
36690 2001-09-22  Jim Meyering  <meyering@lucent.com>
36691
36692         * m4/gettext.m4: New file.  From gettext.
36693         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
36694         * m4/progtest.m4: Likewise
36695         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
36696         * m4/glibc21.m4: Likewise.
36697
36698         * m4/libintl.m4: Remove.  No longer used.
36699
36700 2001-09-22  Jim Meyering  <meyering@lucent.com>
36701
36702         * lib/localcharset.c: Update from latest gettext.
36703         * lib/config.charset: Likewise.
36704
36705 2001-09-20  Jim Meyering  <meyering@lucent.com>
36706
36707         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
36708         strtoimax.
36709         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
36710         strtoumax.
36711
36712 2001-09-20  Jim Meyering  <meyering@lucent.com>
36713
36714         * lib/xstrtol.c (strtoimax): Guard declaration with
36715         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
36716         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
36717         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
36718         (strtoumax): Likewise, for completeness (it wasn't necessary).
36719
36720 2001-09-17  Paul Eggert  <eggert@twinsun.com>
36721
36722         * lib/strtoimax.c (HAVE_LONG_LONG):
36723         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
36724         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
36725         to work around bug in IBM C compiler.
36726
36727 2001-09-17  Jim Meyering  <meyering@lucent.com>
36728
36729         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
36730         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
36731         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
36732         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
36733         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
36734         whenever the right hand side need not be expanded by the shell.
36735
36736 2001-09-16  Paul Eggert  <eggert@twinsun.com>
36737
36738         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
36739         library.  It's not correct, as some older glibcs are buggy.
36740         fnmatch wasn't fixed until glibc 2.2.
36741
36742         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
36743         special shell magic here.
36744
36745 2001-09-16  Jim Meyering  <meyering@lucent.com>
36746
36747         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
36748         * m4/jm-macros.m4: Require it.
36749
36750 2001-09-16  Jim Meyering  <meyering@lucent.com>
36751
36752         * lib/mkdir.c: New file.
36753
36754 2001-09-15  Jim Meyering  <meyering@lucent.com>
36755
36756         * m4/jm-macros.m4: Check for help2man.
36757
36758 2001-09-11  Jim Meyering  <meyering@lucent.com>
36759
36760         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
36761         The body, by Paul Eggert, was moved here from configure.in.
36762         * m4/jm-macros.m4: Require UTILS_HOST_OS.
36763
36764 2001-09-04  Paul Eggert  <eggert@twinsun.com>
36765
36766         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
36767         (jm_PREREQ): Use it.
36768
36769 2001-09-04  Paul Eggert  <eggert@twinsun.com>
36770
36771         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
36772         Use ssize_t, not int, to store result of readlink.
36773         Check for ssize_t overflow as well as size_t overflow,
36774         as POSIX says the result of readlink is implementation-defined
36775         when ssize_t overflows.
36776         Remove unnecessary cast to char*.
36777         Use free+malloc instead of realloc, as the storage doesn't need
36778         to be preserved and it's clearer and can be more efficient that way.
36779         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
36780         * lib/xreadlink.h (xreadlink): Update prototype.
36781
36782 2001-09-04  Paul Eggert  <eggert@twinsun.com>
36783
36784         * lib/xgetcwd.c: Revert some of the previous change; intead,
36785         fix the HAVE_GETCWD_NULL code to behave more like the
36786         !HAVE_GETCWD_NULL code used to.
36787
36788         Include "xalloc.h".
36789         (xgetcwd): Do not return NULL when memory is exhausted; instead,
36790         invoke xalloc_die.
36791
36792 2001-09-03  Paul Eggert  <eggert@twinsun.com>
36793
36794         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
36795         sys/param.h, as pathmax.h includes them.
36796
36797 2001-09-03  Paul Eggert  <eggert@twinsun.com>
36798
36799         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
36800         (jm_PREREQ_XGETCWD): New macro.
36801
36802         * m4/getcwd.m4: New file.
36803
36804 2001-09-03  Paul Eggert  <eggert@twinsun.com>
36805
36806         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
36807         like the HAVE_GETCWD_NULL code.
36808         Include pathmax.h if not HAVE_GETCWD.
36809         Do not include xalloc.h.
36810         (INITIAL_BUFFER_SIZE): New symbol.
36811         Do not use xmalloc / xrealloc, since the caller is responsible for
36812         handling errors.  Preserve errno around `free' during failure.
36813         Do not overrun buffer when using getwd.
36814
36815 2001-09-03  Paul Eggert  <eggert@twinsun.com>
36816
36817         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
36818         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
36819         getcwd (NULL, 0).
36820
36821 2001-09-03  Paul Eggert  <eggert@twinsun.com>
36822
36823         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
36824         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
36825         spotted by Jim Meyering.
36826
36827 2001-09-03  Jim Meyering  <meyering@lucent.com>
36828
36829         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
36830         failure.
36831
36832 2001-09-02  Jim Meyering  <meyering@lucent.com>
36833
36834         * lib/error.c: Update from GNU libc.
36835
36836 2001-09-01  Jim Meyering  <meyering@lucent.com>
36837
36838         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
36839         Used by df.
36840
36841 2001-09-01  Jim Meyering  <meyering@lucent.com>
36842
36843         * lib/xreadlink.c: New file.
36844         * lib/xreadlink.h: New file.
36845         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
36846         xreadlink.h.
36847
36848         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
36849         doesn't conflict with sparc Solaris 7's definition in
36850         /usr/include/sys/int_types.h.
36851
36852         * lib/exclude.c: Use `""', not `<>' to #include non-system header
36853         files.
36854         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
36855         and strncasecmp as r-values.  Unixware didn't have declarations.
36856
36857 2001-08-31  Paul Eggert  <eggert@twinsun.com>
36858
36859         * lib/xstrtol.h: Add copyright notice.
36860         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
36861         LONGINT_INVALID_SUFFIX_CHAR.
36862
36863 2001-08-31  Paul Eggert  <eggert@twinsun.com>
36864
36865         * lib/xstrtol.c (strtoimax): New decl.
36866
36867 2001-08-31  Paul Eggert  <eggert@twinsun.com>
36868
36869         * lib/xgetcwd.c: Don't include pathmax.h.
36870         Include stdlib.h and unistd.h if available.
36871         Include xalloc.h.
36872         (xmalloc, xstrdup, free): Remove decls.
36873         (xgetcwd): Don't assume sizes fit in unsigned.
36874         Check for overflow when computing sizes.
36875         Simplify reallocation code.
36876
36877 2001-08-31  Paul Eggert  <eggert@twinsun.com>
36878
36879         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
36880         a directory's st_size can have an arbitrary value, so the old
36881         usage could waste an arbitrary amount of memory.  All uses
36882         changed.
36883         * lib/savedir.h: Update prototype.
36884
36885 2001-08-31  Paul Eggert  <eggert@twinsun.com>
36886
36887         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
36888
36889         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
36890         old strtoimax.c.
36891
36892         Also, make the following further changes to make this file's
36893         configuration more similar to that of strtol.c:
36894         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
36895         (strtoumax, uintmax_t, strtoull, strtol): Remove.
36896         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
36897         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
36898         changed to signed values.
36899
36900         And make the following changes as well:
36901         Fix copyright notice, as 1999 was missing.
36902         (verify): New macro.
36903         (strtoimax): Check sizes at compile-time, not run-time.
36904         Prefer strtol to strtoll if both work.
36905         (main): Remove; it was not that useful and was a pain to maintain.
36906
36907         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
36908
36909 2001-08-31  Jim Meyering  <meyering@lucent.com>
36910
36911         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
36912         Use an initial, malloc'd, buffer of length 128 rather than
36913         a statically allocated one of length 1024.
36914
36915 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36916
36917         Simplify code, partly by assuming autoconf 2.52 semantics.
36918
36919         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
36920
36921         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
36922         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
36923         All uses removed.
36924         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
36925         Move AC_REQUIRE to next-to-top level, to avoid confusion.
36926         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
36927         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
36928         jm_AC_HEADER_INTTYPES_H.
36929         * m4/jm-macros.m4 (jm_MACROS): Likewise.
36930
36931         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
36932
36933         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
36934         Quote first arg of AC_DEFUN.
36935         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
36936         since they are needed to parse the include file even if we need
36937         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
36938         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
36939         but with opposite signedness.
36940
36941 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36942
36943         Merge 'exclude' changes from tar 1.13.22.
36944         This fixes one or two unlikely storage allocation overflow bugs,
36945         but doesn't change user-visible behavior otherwise.
36946
36947 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36948
36949         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
36950         (jm_PREREQ_EXCLUDE): New macro.
36951
36952 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36953
36954         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
36955         tm to be declared.
36956
36957 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36958
36959         * lib/hash.c: Remove '2001' from copyright notice.
36960
36961 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36962
36963         * lib/full-write.h: New file.
36964         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
36965         * lib/full-write.c: Correct credits, as cccp.c no longer
36966         exists and anyway it was so heavily changed from the old cccp
36967         code as to be unrecognizable.  Include full-write.h.
36968         (full_write) Return size_t, with short writes meaning failure.
36969         All callers changed.  This fixes a bug with large buffers
36970         on 64-bit hosts.
36971         * lib/utime.c: Include full-write.h.
36972
36973 2001-08-30  Paul Eggert  <eggert@twinsun.com>
36974
36975         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
36976         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
36977         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
36978         Include if available.
36979         (<xalloc.h>): Include
36980         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
36981         (verify): New macro.  Use it to verify that EXCLUDE macros do not
36982         collide with FNM macros.
36983         (struct patopts): New struct.
36984         (struct exclude): Use it, as exclude patterns now come with options.
36985         (new_exclude): Support above changes.
36986         (new_exclude, add_exclude_file):
36987         Initial size must now be a power of two to simplify overflow checking.
36988         (free_exclude, fnmatch_no_wildcards): New function.
36989         (excluded_filename): No longer requires options arg, as the options
36990         are determined by add_exclude.  Now returns bool, not int.
36991         (excluded_filename, add_exclude):
36992         Add support for the fancy new exclusion options.
36993         (add_exclude, add_exclude_file): Now takes int options arg.
36994         Check for arithmetic overflow when computing sizes.
36995         (add_exclude_file): xrealloc might modify errno, so don't
36996         realloc until after errno might be used.
36997
36998         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
36999         New macros.
37000         (free_exclude): New decl.
37001         (add_exclude, add_exclude_file): Now takes int options arg.
37002         (excluded_filename): No longer requires options arg, as the options
37003         are determined by add_exclude.  Now returns bool, not int.
37004
37005 2001-08-30  Paul Eggert  <eggert@twinsun.com>
37006
37007         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
37008
37009 2001-08-27  Jim Meyering  <meyering@lucent.com>
37010
37011         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
37012
37013         * lib/version-etc.c (N_): Remove definition.
37014         Revert most of last change.
37015         Instead, simply don't mark the `Copyright...' string for translation.
37016         Based on advice from Paul Eggert.
37017
37018         * lib/strtoxmax.c: Tweak comment.
37019
37020 2001-08-26  Jim Meyering  <meyering@lucent.com>
37021
37022         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
37023
37024         * m4/xstrtoimax.m4: New file.
37025         * m4/xstrtoumax.m4: Add comments explaining why we
37026         AC_REPLACE_FUNCS(strtol).
37027
37028 2001-08-26  Jim Meyering  <meyering@lucent.com>
37029
37030         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
37031         of copyright with `%s' so translators don't get an untranslated
37032         message in 2002.
37033         (COPYRIGHT_YEAR): Define.
37034         (version_etc): Use fprintf rather than fputs.
37035         Suggestion from Ulrich Drepper.
37036
37037         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
37038
37039         * lib/strtoll.c: New file, from GNU libc.
37040         * lib/xstrtoimax.c: New file.
37041
37042         * lib/xstrtol.h: Add xstrtoimax.
37043         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
37044         * lib/strtoimax.c: New file.  Likewise, but first define
37045         STRTOUXMAX_SIGNED.
37046
37047         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
37048         ...
37049         * lib/strtoxmax.c: ... then renamed to this.
37050
37051 2001-08-18  Paul Eggert  <eggert@twinsun.com>
37052
37053         * m4/inttypes.m4: Add AC_PREREQ(2.13).
37054         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
37055         (jm_AC_TYPE_INTMAX_T): New macro.
37056         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
37057
37058         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
37059
37060         * m4/longlong.m4: Renamed from ulonglong.m4.
37061         * m4/inttypes.m4: Renamed from inttypes_h.m4.
37062         * m4/uintmax_t.m4: Removed.
37063
37064 2001-08-13  Paul Eggert  <eggert@twinsun.com>
37065
37066         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
37067         Port to Solaris 8, where 'sed' requires a space after the 'r'
37068         command, and where sh dislikes "$/".  Clean up the spacing a bit.
37069         Redirect output to $tmp just once.
37070
37071 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
37072
37073         * lib/addext.c (<errno.h>): Include.
37074         (errno): Declare if not defined.
37075         (addext): Work correctly when pathconf returns -1 and leaves
37076         errno alone because there is no limit.  Also, work even if
37077         pathconf returns a value greater than SIZE_MAX.
37078
37079 2001-08-12  Jim Meyering  <meyering@lucent.com>
37080
37081         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
37082         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
37083         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
37084         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
37085         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
37086         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
37087         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
37088         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
37089         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
37090         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
37091         utime.m4, utimes.m4, xstrtoumax.m4:
37092         Quote the first argument in each use of AC_DEFUN.
37093
37094 2001-08-12  Jim Meyering  <meyering@lucent.com>
37095
37096         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
37097         Simply `return getcwd (NULL, 0);'.
37098         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
37099         Use 1300 as initial value for length, not PATH_MAX.
37100
37101         * lib/pathmax.h: Clean up cpp syntax.
37102
37103 2001-08-12  Jim Meyering  <meyering@lucent.com>
37104
37105         * lib/gettimeofday.c: New file.
37106         * lib/gtod.h: New file.
37107         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
37108
37109 2001-08-05  Jim Meyering  <meyering@lucent.com>
37110
37111         * m4/jm-macros.m4: Require autoconf-2.52.
37112
37113 2001-08-04  Jim Meyering  <meyering@lucent.com>
37114
37115         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
37116         stmt, to get in sync with glibc.
37117
37118 2001-08-03  Paul Eggert  <eggert@twinsun.com>
37119
37120         The following changes are from gettext 0.10.39 as maintained by
37121         Bruno Haible.
37122
37123         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
37124         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
37125         with inverted sense.  All uses changed.
37126
37127         * lib/mbswidth.c: Don't include <limits.h>.
37128         Include <stdlib.h> and <string.h> unconditionally.
37129         (iswcntrl, mbsinit, ISCNTRL): New macros.
37130         (mbsnwidth): Use K&R style function declarations.
37131         Don't bother checking for MB_LEN_MAX == 1, since the compiler
37132         can optimize it when MB_CUR_MAX == 1.
37133         The width of control characters is zero, not 1.
37134
37135 2001-08-03  Paul Eggert  <eggert@twinsun.com>
37136
37137         The following changes are from gettext 0.10.39 as maintained by
37138         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
37139
37140         * m4/codeset.m4: Upgrade to serial AM1.
37141         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
37142         all uses changed.  Quote first arg of AC_DEFUN.
37143         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
37144
37145         * m4/iconv.m4: Upgrade to serial AM2.
37146         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
37147         Add --with-libconv-prefix.
37148         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
37149         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
37150         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
37151         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
37152         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
37153
37154         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
37155         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
37156         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
37157         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
37158         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
37159         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
37160         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
37161         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
37162         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
37163
37164         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
37165         string.h any more.
37166
37167         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
37168         not the default value.
37169
37170         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
37171         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
37172         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
37173         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
37174         Also check for iswcntrl, used for wcwidth fallback.
37175         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
37176         to Autoconf 2.13.
37177
37178 2001-08-03  Jim Meyering  <meyering@lucent.com>
37179
37180         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
37181         as it was in the original.  Reported by Paul Eggert.
37182
37183 2001-07-16  Jim Meyering  <meyering@lucent.com>
37184
37185         * m4/gettimeofday.m4: New file.
37186         Prompted by a report from Bernhard Baehr.
37187
37188 2001-07-15  Jim Meyering  <meyering@lucent.com>
37189
37190         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
37191         stuff. Now it's in ../Makefile.cfg.
37192
37193 2001-07-15  Jim Meyering  <meyering@lucent.com>
37194
37195         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
37196         (BUILT_SOURCES): Add unlocked-io.h.
37197         (io_functions): Define.
37198         (unlocked-io.h): New rule.
37199         (DISTCLEANFILES): Add unlocked-io.h.
37200         (all-local): Depend on unlocked-io.h, to ensure it is created.
37201
37202         * lib/unlocked-io.hin: New file
37203
37204         * lib/regex.c: Update from glibc.
37205
37206 2001-07-05  Jim Meyering  <meyering@lucent.com>
37207
37208         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
37209         recommendation.
37210         (libfetish_a_SOURCES): Put all .h files here instead.
37211         Remove a thus-exposed (better checks in automake) duplicate and
37212         two unnecessary .h files.
37213
37214 2001-07-04  Jim Meyering  <meyering@lucent.com>
37215
37216         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
37217         that generates jm-glibc-io.m4 so that it doesn't trigger any make
37218         distcheck failure.
37219
37220 2001-07-02  Jim Meyering  <meyering@lucent.com>
37221
37222         The following changes were prompted by suggestions from Bruno Haible.
37223
37224         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
37225         is now generated.
37226         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
37227         definition of EXTRA_DIST.
37228         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
37229         ensure that the generated file is created/updated whenever the list
37230         of $(unlocked_functions) is changed.
37231         (jm-glibc-io.m4): New rule.
37232         (unlocked-io.h): New rule -- currently unused.
37233
37234 2001-06-24  Jim Meyering  <meyering@lucent.com>
37235
37236         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
37237         unmatched right bracket, rather than kludging it with an extra,
37238         falsely-matching quote in a comment.  Patch by Akim Demaille.
37239
37240 2001-06-11  Jim Meyering  <meyering@lucent.com>
37241
37242         * lib/regex.c: Update from GNU libc.
37243
37244 2001-05-27  Jim Meyering  <meyering@lucent.com>
37245
37246         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
37247         Check for ut_type in struct utmp.
37248
37249 2001-05-27  Jim Meyering  <meyering@lucent.com>
37250
37251         * lib/readutmp.h (UT_TYPE): Define.
37252
37253 2001-05-24  Jim Meyering  <meyering@lucent.com>
37254
37255         * lib/argmatch.c: Include "quote.h".
37256         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
37257         quote function.  Reported by Göran Uddeborg.
37258
37259 2001-05-22  Jim Meyering  <meyering@lucent.com>
37260
37261         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
37262         now that we use the package-supplied version unconditionally.
37263         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
37264
37265 2001-05-21  Jim Meyering  <meyering@lucent.com>
37266
37267         * m4/regex.m4: Change a couple backticks to single quotes to avoid
37268         shell syntax errors.
37269
37270 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
37271
37272         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
37273
37274 2001-05-20  Paul Eggert  <eggert@twinsun.com>
37275
37276         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
37277         Don't bother to check library strftime, since
37278         we'll be using our own my_strftime function anyway.
37279         Define my_strftime instead of strftime.
37280
37281 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
37282
37283         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
37284         which is not yet declared.
37285
37286 2001-05-15  Jim Meyering  <meyering@lucent.com>
37287
37288         * m4/regex.m4: Use proper quoting so brackets appear in the test
37289         program.
37290         Reported by, and with help from, Bruno Haible.
37291
37292 2001-05-13  Jim Meyering  <meyering@lucent.com>
37293
37294         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
37295         undefined.
37296
37297 2001-05-11  Paul Eggert  <eggert@twinsun.com>
37298
37299         dirname code cleanup.  base_name now behaves more compatibly
37300         with POSIX basename when given file names that have trailing
37301         slashes, and similarly for dir_name.  Add new primitives
37302         base_len and dir_len.  Put the directory-name-related decls
37303         into dirname.h.
37304
37305         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
37306         * lib/backupfile.c (base_name): Likewise.
37307         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
37308         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
37309         * lib/makepath.c (strip_trailing_slashes): Likewise.
37310         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
37311         ISSLASH): Likewise.
37312         * lib/rename.c (strip_trailing_slashes): Likewise.
37313         * lib/same.c (base_name): Likewise.
37314         * lib/stripslash.c (ISSLASH): Likewise.
37315
37316         * lib/addext.c: Include <dirname.h> after size_t is defined.
37317         * lib/backupfile.c: Likewise.
37318
37319         * lib/addext.c (addext): Use base_len to trim redundant
37320         trailing slashes instead of doing it ourselves.
37321         But do not trim the last slash if it is not redundant.
37322
37323         * lib/backupfile.c (find_backup_file_name,
37324         max_backup_version): Use base_len instead of rolling it ourselves.
37325         Handle the case of "" and (on DOS) "C:" correctly.
37326
37327         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
37328         needed. Include <string.h>, <dirname.h>.
37329         (base_name): Allow file names ending in slashes, other than names
37330         that are all slashes.  In this case, return the basename followed
37331         by the slashes.  This is more general, and can be used in places
37332         where the original base_name purposely had an assertion failure.
37333         (base_len): New function.
37334
37335         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
37336         Do not include <assert.h>; no longer needed.
37337         Include xalloc.h.
37338         (memrchr): Remove decl.
37339         (dir_name_r): Remove.
37340         (dir_len): Renamed from dirlen.  All callers changed.
37341         Rewrite in terms of base_name, for simplicity and consistency.
37342         (dir_name): Never return NULL.  All callers changed.
37343         Do not include <stdlib.h> in test program; no longer needed.
37344         return 0; is fine for test program.
37345
37346         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
37347         New macros.
37348         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
37349
37350         * lib/path-concat.c (path_concat): Use base_len to compute
37351         base length, not strlen; this means we cannot rely on memcpy
37352         to null-terminate.
37353
37354         * lib/same.c (STREQ): Remove.
37355         (same_name): Handle the case where the basename ends in trailing '/'.
37356
37357         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
37358         a slash was stripped.  Do not strip the last slash after a
37359         file system prefix.
37360
37361 2001-05-11  Paul Eggert  <eggert@twinsun.com>
37362
37363         * lib/Makefile.am (libfetish_a_SOURCES):
37364         Add strftime.c, since we now compile it on all hosts.
37365
37366         * lib/strftime.c (my_strftime):
37367         Define to nstrftime if emacs, but only if my_strftime is not defined.
37368         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
37369         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
37370         Add one more extra argument: a nanoseconds value.
37371         All uses changed.
37372         (ns): New macro.
37373         (my_strftime function): Add %N format.
37374         (emacs_strftimeu): Renamed from emacs_strftime,
37375         with extra ut argument.
37376
37377 2001-05-09  Paul Eggert  <eggert@twinsun.com>
37378
37379         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
37380
37381 2001-04-21  Jim Meyering  <meyering@lucent.com>
37382
37383         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
37384         doesn't interfere.
37385
37386 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
37387
37388         * m4/ftruncate.m4: Check for chsize.
37389         Link with ftruncate.o unconditionally if ftruncate is missing.
37390         This was required when cross-compiling to i586-mingw32msvc.
37391
37392 2001-04-08  Jim Meyering  <meyering@lucent.com>
37393
37394         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
37395         recomputed; that's necessary when the offset spans a DST transition.
37396         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
37397
37398 2001-04-02  Jim Meyering  <meyering@lucent.com>
37399
37400         * lib/regex.h, regex.c: Update from GNU libc.
37401
37402 2001-03-24  Jim Meyering  <meyering@lucent.com>
37403
37404         * m4/jm-macros.m4: Require autoconf-2.49d.
37405
37406 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
37407
37408         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
37409
37410 2001-03-19  Paul Eggert  <eggert@twinsun.com>
37411
37412         * lib/version-etc.c (version_etc_copyright): Update to 2001.
37413
37414 2001-03-17  Jim Meyering  <meyering@lucent.com>
37415
37416         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
37417         now that the version in autoconf is equivalent.
37418         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
37419
37420         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
37421         Suggestion from Akim Demaille.
37422
37423         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
37424         (jm_PREREQ_TEMPNAME): New function.
37425
37426 2001-03-16  Paul Eggert  <eggert@twinsun.com>
37427
37428         * lib/tempname.c (uint64_t): Define to uintmax_t if
37429         not defined, and if UINT64_MAX is not defined.
37430         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
37431         Reported by John David Anglin.
37432
37433 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
37434
37435         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
37436         resolve alias if codeset is empty.
37437         * lib/config.charset (BeOS): Use wildcard syntax.
37438
37439 2001-03-13  Jim Meyering  <meyering@lucent.com>
37440
37441         * lib/path-concat.c (path_concat)
37442         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
37443         concatenating e.g., `C:' and `foo'.
37444         From Bruno Haible.
37445
37446 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
37447
37448         * lib/localcharset.c (locale_charset): Don't use
37449         setlocale(LC_CTYPE,NULL). Don't return NULL.
37450         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
37451
37452 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
37453
37454         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
37455         support for DOS/DJGPP.
37456
37457 2001-03-01  Paul Eggert  <eggert@twinsun.com>
37458
37459         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
37460         lacks mkstemp.  Compile our own tempname.c if we compile our own
37461         mkstemp.c, as mkstemp relies on tempname.
37462
37463 2001-03-01  Jim Meyering  <meyering@lucent.com>
37464
37465         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
37466         AH_VERBATIM really does output its argument verbatim.
37467
37468 2001-02-28  Paul Eggert  <eggert@twinsun.com>
37469
37470         * lib/Makefile.am (libfetish_a_SOURCES):
37471         Add dup-safer.c, fopen-safer.c.
37472         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
37473
37474         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
37475         * lib/unistd-safer.h: New files.
37476
37477 2001-02-25  Paul Eggert  <eggert@twinsun.com>
37478
37479         The mkstemp replacement is taken from glibc 2.2.2, with some
37480         portability fixes for use outside glibc, as follows:
37481
37482         * lib/tempname.c (struct_stat64): New macro.
37483         (direxists, __gen_tempname): Use it.
37484         This avoids a portability problem with Solaris 8.
37485
37486         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
37487         (<stddef.h>, <stdint.h>, <string.h>):
37488         Include only if STDC_HEADERS || _LIBC.
37489         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
37490         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
37491         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
37492         (__set_errno): Define this macro if <errno.h> doesn't.
37493         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
37494         Define these macros if <stdio.h> doesn't.
37495         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
37496         Define these macros if <sys/stat.h>
37497         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
37498         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
37499         __xstat64): Define if not _LIBC.
37500         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
37501         (__gen_tempname): Invoke gettimeofday only if
37502         HAVE_GETTIMEOFDAY || _LIBC;
37503         otherwise, fall back on plain "time".
37504         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
37505
37506         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
37507
37508         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
37509
37510 2001-02-18  Paul Eggert  <eggert@twinsun.com>
37511
37512         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
37513
37514 2001-02-17  Paul Eggert  <eggert@twinsun.com>
37515
37516         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
37517         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
37518         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
37519         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
37520
37521 2001-02-17  Paul Eggert  <eggert@twinsun.com>
37522
37523         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
37524         Remove workaround macros for hosts that have mbrtowc but not
37525         mbstate_t, as we now insist on proper declarations for both
37526         before using mbrtowc.
37527
37528 2001-02-17  Jim Meyering  <meyering@lucent.com>
37529
37530         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
37531         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
37532         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
37533         UnixWare 7.1.1.
37534
37535         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
37536         rather than AC_CACHE_VAL.
37537
37538 2001-02-17  Jim Meyering  <meyering@lucent.com>
37539
37540         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
37541         around included file name.
37542
37543         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
37544
37545         * lib/strftime.c: Update from GNU libc (the only changes were to
37546         comments).
37547
37548 2001-02-17  Jim Meyering  <meyering@lucent.com>
37549
37550         * lib/regex.c: Update from libc.
37551
37552 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
37553
37554         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
37555         clash.
37556
37557 2001-02-16  Paul Eggert  <eggert@twinsun.com>
37558
37559         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
37560         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
37561         Reported by Mark Hounschell via Paul Eggert.
37562
37563 2001-02-07  Jim Meyering  <meyering@lucent.com>
37564
37565         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
37566
37567 2001-02-05  Jim Meyering  <meyering@lucent.com>
37568
37569         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
37570         it includes the patch required for `large file' support with at least
37571         HP-UX's 10.20 /bin/cc.
37572
37573 2001-02-03  Jim Meyering  <meyering@lucent.com>
37574
37575         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
37576         AS_IF, now that it works once again (mysteriously).
37577         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
37578
37579 2001-01-30  Jim Meyering  <meyering@lucent.com>
37580
37581         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
37582         * m4/chown.m4: Rename conftestchown to conftest.chown.
37583         * m4/rename.m4: s/conftestdir/conftest.d1/ and
37584         s/conftestdir2/conftest.d2/.
37585         * m4/utimes.m4: s/conftestdata/conftest.data/
37586         Inspired by Pavel Roskin's change in autoconf.
37587
37588 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
37589
37590         * lib/config.charset: Update for FreeBSD 4.2.
37591
37592 2001-01-27  Jim Meyering  <meyering@lucent.com>
37593
37594         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
37595         a use of AS_IF.
37596         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
37597
37598 2001-01-26  Jim Meyering  <meyering@lucent.com>
37599
37600         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
37601         quotearg.c includes it.
37602
37603 2001-01-26  Jim Meyering  <meyering@lucent.com>
37604
37605         * lib/quotearg.c: Include stddef.h.
37606         * lib/quote.c: Include stddef.h.
37607         Reported by Axel Kittenberger.
37608
37609         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
37610         line in double quotes so that it evokes a better diagnostic.
37611         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
37612         Reported by Axel Kittenberger.
37613
37614 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
37615
37616         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
37617         as if it was a `charset'.
37618
37619 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
37620
37621         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
37622         has const.
37623
37624 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
37625
37626         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
37627         to avoid a warning.  Add back 'const' to inptr.
37628
37629 2001-01-20  Jim Meyering  <meyering@lucent.com>
37630
37631         Be sure that headers are checked before used in code compiled
37632         for the type checks.
37633         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
37634         In place of that, invoke jm_CHECK_ALL_TYPES.
37635         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
37636         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
37637         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
37638         The check for ssize_t was mistakenly run before the test for unistd.h.
37639
37640         The configure-time check for stdbool.h was missing.
37641         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
37642         (jm_PREREQ_HASH): New function.
37643
37644 2001-01-17  Jim Meyering  <meyering@lucent.com>
37645
37646         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
37647         for autoconf-2.49c.
37648         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
37649
37650 2001-01-16  Jim Meyering  <meyering@lucent.com>
37651
37652         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
37653         From Bruno Haible.
37654
37655 2001-01-14  Jim Meyering  <meyering@lucent.com>
37656
37657         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
37658         foo and bar.  Create conftestdir/ in the script, not in the C code.
37659         Remove directories in the script, not in the C code.
37660         Remove conftestdir{,2} before trying to create the directory.
37661         Make the entire configure script fail if the mkdir fails.
37662
37663 2001-01-14  Jim Meyering  <meyering@lucent.com>
37664
37665         * lib/rename.c: New file.  From Volker Borchert.
37666         Include stdlib.h, string.h or strings.h, and xalloc.h.
37667         Use strip_trailing_slashes rather than open-coding it.
37668
37669 2001-01-03  Paul Eggert  <eggert@twinsun.com>
37670
37671         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
37672
37673 2001-01-03  Jim Meyering  <meyering@lucent.com>
37674
37675         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
37676         of local `inptr' to avoid warning with some system declarations of
37677         iconv.
37678
37679 2001-01-02  Volker Borchert  <bt@teknon.de>
37680
37681         * m4/rename.m4: New file.
37682         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
37683
37684 2001-01-01  Jim Meyering  <meyering@lucent.com>
37685
37686         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
37687         even on systems with utmpx.h.  It's necessary for the declaration of
37688         utmp's ut_user member.  Reported by Andreas Jaeger.
37689
37690         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
37691         available. They are required for the declarations of getgrgid and
37692         getpwuid resp.
37693         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
37694         Reported by Andreas Jaeger.
37695
37696 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
37697
37698         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
37699         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
37700         so `make install' also works in VPATH builds.
37701
37702 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
37703
37704         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
37705         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
37706         can be used in subdirectories.
37707
37708 2000-12-29  Paul Eggert  <eggert@twinsun.com>
37709
37710         * lib/modechange.c: Do not assume that mode_t uses the
37711         traditional octal encoding.  E.g. "chmod 1 FOO" should set
37712         the other-execute bit of FOO even if S_IXOTH != 1.
37713
37714         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
37715         WOTH, XOTH, ALLM): New macros.
37716         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
37717          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
37718         Use them.
37719         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
37720         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
37721         (mode_compile):
37722         No need to use uintmax_t; unsigned long is long enough.
37723         Don't bother to get suffix since we don't use it.
37724
37725 2000-12-26  Jim Meyering  <meyering@lucent.com>
37726
37727         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
37728         better with autoheader.
37729
37730 2000-12-24  Jim Meyering  <meyering@lucent.com>
37731
37732         * lib/hash.c (is_prime): Return explicit boolean values.
37733         (hash_get_first): Return NULL to appease Irix5.6's 89.
37734         Reported by Nelson Beebe.
37735
37736 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
37737
37738         * lib/localcharset.c (locale_charset): Add support for Win32.
37739
37740 2000-12-18  Paul Eggert  <eggert@twinsun.com>
37741
37742         * lib/physmem.h, lib/physmem.c: New files.
37743
37744         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
37745         (noinst_HEADERS): Add physmem.h.
37746
37747         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
37748         't' for compatibility with Solaris 8 sort.
37749
37750 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
37751
37752         * lib/config.charset: Add support for BeOS.
37753
37754 2000-12-17  Jim Meyering  <meyering@lucent.com>
37755
37756         * m4/dos.m4 (jm_AC_DOS): New file and macro.
37757         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
37758
37759 2000-12-16  Jim Meyering  <meyering@lucent.com>
37760
37761         This bug had a serious impact on chown: `chown N:M FILE' (for integer
37762         N and M) would have treated it like `chown N:N FILE'.
37763
37764         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
37765
37766 2000-12-16  Jim Meyering  <meyering@lucent.com>
37767
37768         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
37769         SHELLS_FILE to a file name that's useful on djgpp systems.
37770         Include stdlib.h.
37771         (ADDITIONAL_DEFAULT_SHELLS): Define.
37772         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
37773         Based mostly on a patch from Prashant TR.
37774
37775 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
37776
37777         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
37778         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
37779         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
37780
37781 2000-12-08  Andreas Schwab  <schwab@suse.de>
37782
37783         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
37784         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
37785
37786 2000-12-07  Jim Meyering  <meyering@lucent.com>
37787
37788         * lib/stripslash.c (ISSLASH): Define.
37789         (strip_trailing_slashes): Use ISSLASH rather than comparing against
37790         `/'.
37791         From Prashant TR.
37792
37793         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
37794         (dir_name_r): Declare this function as static.
37795         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
37796         manifest itself on a name containing a mix of slashes and
37797         backslashes.
37798         Make this function work with names starting with a DOS-style
37799         drive letter and colon prefix.
37800         (dir_name): Append `.' if necessary.
37801         Based mostly on patches from Prashant TR and Eli Zaretskii.
37802
37803         * lib/dirname.h (dir_name_r): Remove prototype.
37804
37805 2000-12-06  Paul Eggert  <eggert@twinsun.com>
37806
37807         * m4/off_t-format.m4: Remove this file.
37808         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
37809
37810 2000-12-06  Jim Meyering  <meyering@lucent.com>
37811
37812         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
37813         replacement strtoull, we may well need the replacement strtoul, too.
37814         Check for declarations of strtoul and strtoull.
37815         Check for strtol.  Mainly as a cue to cause automake to include
37816         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
37817         Check for limits.h -- strtol.c needs it.
37818
37819 2000-12-05  Jim Meyering  <meyering@lucent.com>
37820
37821         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
37822
37823 2000-12-04  Jim Meyering  <meyering@lucent.com>
37824
37825         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
37826         Also include memory.h, stdlib.h, unistd.h if appropriate.
37827         Reported by Andreas Jaeger (conflicting declaration of malloc).
37828
37829 2000-12-02  Jim Meyering  <meyering@lucent.com>
37830
37831         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
37832         * m4/jm-macros.m4 (jm_MACROS): require it.
37833
37834 2000-12-02  Jim Meyering  <meyering@lucent.com>
37835
37836         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
37837
37838 2000-12-01  Paul Eggert  <eggert@twinsun.com>
37839
37840         * lib/memrchr.c: Include <config.h> before any system include file.
37841
37842 2000-11-30  Jim Meyering  <meyering@lucent.com>
37843
37844         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
37845
37846 2000-11-30  Jim Meyering  <meyering@lucent.com>
37847
37848         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
37849
37850 2000-11-29  Paul Eggert  <eggert@twinsun.com>
37851
37852         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
37853
37854 2000-11-26  Jim Meyering  <meyering@lucent.com>
37855
37856         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
37857
37858 2000-11-22  Paul Eggert  <eggert@twinsun.com>
37859
37860         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
37861         size of (size_t) -1; it's not portable.
37862
37863 2000-11-17  Jim Meyering  <meyering@lucent.com>
37864
37865         * lib/strstr.c: Update from GNU libc.
37866
37867 2000-11-17  Akim Demaille  <akim@epita.fr>
37868
37869         * lib/obstack.h: Formatting changes.
37870         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
37871         prevent type checking.
37872         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
37873         cast the value to (void *): assigning a `foo *' to a `void *'
37874         variable is valid.
37875         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
37876
37877 2000-11-16  Jim Meyering  <meyering@lucent.com>
37878
37879         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
37880
37881 2000-11-11  Jim Meyering  <meyering@lucent.com>
37882
37883         * lib/error.c: Add a couple #includes, merging from GNU libc version.
37884
37885 2000-11-10  Jim Meyering  <meyering@lucent.com>
37886
37887         * lib/obstack.h: Update from GNU libc.
37888         * lib/obstack.c: Likewise.
37889
37890 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
37891
37892         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
37893
37894 2000-11-06  Paul Eggert  <eggert@twinsun.com>
37895
37896         * lib/getusershell.c (setusershell): Use rewind rather than
37897         fseek/fseeko, to avoid configuration hassles with fseeko.
37898         Don't bother opening SHELLS_FILE if shellstream is NULL;
37899         it's not necessary.
37900
37901 2000-11-05  Jim Meyering  <meyering@lucent.com>
37902
37903         * lib/makepath.h (make_dir): Declare.
37904         * lib/makepath.c (make_dir): Remove `static' attribute.
37905         Tweak a comment.
37906
37907 2000-11-04  Jim Meyering  <meyering@lucent.com>
37908
37909         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
37910
37911 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
37912
37913         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
37914         last one in a bucket, advance to the next bucket.
37915
37916 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
37917
37918         * lib/fnmatch.c: Do not comment out all the code if we are using
37919         the GNU C library, because in some cases we are replacing buggy
37920         code in the GNU C library itself.
37921
37922 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
37923
37924         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
37925         (regex_compile): Catch bogus \(\1\).
37926
37927 2000-10-30  Paul Eggert  <eggert@twinsun.com>
37928
37929         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
37930         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
37931         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
37932
37933 2000-10-30  Paul Eggert  <eggert@twinsun.com>
37934
37935         * lib/error.h, getline.h, modechange.h:
37936         Remove "2000" from Copyright line, as the file hasn't been
37937         changed this year other than in the copyright notice.
37938
37939         * lib/xalloc.h: Add "2000" to Copyright line, as this file
37940         was changed this year.
37941
37942 2000-10-29  Jim Meyering  <meyering@lucent.com>
37943
37944         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
37945         renaming.
37946         * m4/ls-mntd-fs.m4: Likewise
37947
37948 2000-10-29  Jim Meyering  <meyering@lucent.com>
37949
37950         * lib/xstat.in: Fix grammar in comment.
37951
37952 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
37953
37954         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
37955         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
37956         doesn't define __restrict_arr.
37957
37958 2000-10-28  Jim Meyering  <meyering@lucent.com>
37959
37960         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
37961         (jm_PREREQ_MEMCHR): New function.
37962
37963 2000-10-28  Jim Meyering  <meyering@lucent.com>
37964
37965         * lib/memchr.c: Update from libc.
37966         Adjust for portability:
37967         [HAVE_STDLIB_H]: Include stdlib.h.
37968         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
37969         Undef __memchr, too.
37970         [!weak_alias]: Define __memchr to memchr.
37971
37972         * lib/regex.c: Update from libc.
37973         * lib/regex.h: Likewise.
37974         * lib/getopt1.c: Likewise.
37975         * lib/memcmp.c: Likewise.
37976
37977         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
37978         Avoid using fseek, when possible -- it's broken by design.
37979         Patch by Ulrich Drepper.
37980
37981 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
37982
37983         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
37984         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
37985         Giving in to popular pressure to shut up the compiler with casts.
37986
37987 2000-10-26  Jim Meyering  <meyering@lucent.com>
37988
37989         * lib/strftime.c: Update from libc.
37990
37991 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
37992
37993         * regex.c: More `unsigned char' -> `re_char' changes.
37994         Also change several `int' into `re_wchar_t'.
37995         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
37996         (PUSH_FAILURE_POINTER): Don't cast any more.
37997         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
37998         We want GCC to complain, since this piece of code makes
37999         re_match non-reentrant, which *should* be fixed.
38000         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
38001         (EXTEND_BUFFER): Use RETALLOC.
38002         (SET_LIST_BIT): Don't cast.
38003         (re_wchar_t): New type.
38004         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
38005         that those two functions will always properly return.
38006         (IMMEDIATE_QUIT_CHECK): Cast to void.
38007         (analyse_first): Use recursion rather than an explicit stack.
38008         (re_compile_fastmap): Can't fail anymore.
38009         (re_search_2): Don't check re_compile_fastmap for failure.
38010         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
38011         Now also sets the new value (passed in a new argument).
38012         (re_match_2_internal): Use it.
38013         Also, use a new var `reg' of type size_t when looping through regs
38014         rather than reuse the inappropriate `mcnt'.
38015
38016 2000-10-25  Jim Meyering  <meyering@lucent.com>
38017
38018         * lib/obstack.c: Update from libc.
38019
38020 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
38021
38022         * regex.c (regex_compile): Change the way of handling a range from
38023         a char less than 256 to a char not less than 256.
38024
38025 2000-10-24  Andrew Innes  <andrewi@gnu.org>
38026
38027         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
38028         NT-Emacs only.
38029         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
38030         so that re_search functions only quit when callers expect them to.
38031
38032 2000-10-23  Jim Meyering  <meyering@lucent.com>
38033
38034         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
38035         wrong.  That set_locale call must not have any side effects.
38036         From Paul Eggert.
38037
38038 2000-10-22  Jim Meyering  <meyering@lucent.com>
38039
38040         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
38041         [CYCLIC]: Remove now-unused definition.
38042
38043         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
38044         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
38045         Suggestion from Ulrich Drepper.
38046
38047 2000-10-21  Jim Meyering  <meyering@lucent.com>
38048
38049         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
38050         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
38051         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
38052
38053 2000-10-21  Jim Meyering  <meyering@lucent.com>
38054
38055         * lib/dirname.c (memrchr): Declare if necessary.
38056         (dir_name): Remove the restriction that there be no
38057         trailing slashes.  Now, this code skips past them, effectively
38058         ignoring them.
38059         [TEST_DIRNAME] (main): New unit tests.
38060
38061         * lib/memrchr.c: New file from GNU libc.
38062         Undef __memrchr, too.
38063         [!weak_alias]: Define __memrchr to memrchr.
38064         Guard weak_alias use with `#ifdef weak_alias'.
38065
38066 2000-10-21  Jim Meyering  <meyering@lucent.com>
38067
38068         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
38069         (dir_name): Use dir_name_r.
38070         * lib/dirname.h (dir_name_r): Declare it.
38071
38072 2000-10-17  Jim Meyering  <meyering@lucent.com>
38073
38074         * lib/quote.h (PARAMS): Define and use.
38075         Reported by Akim Demaille.
38076
38077         * lib/getopt.c: Update from libc.
38078
38079 2000-10-16  Jim Meyering  <meyering@lucent.com>
38080
38081         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
38082         setlocale.
38083         From Jan Fedak.
38084
38085 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
38086
38087         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
38088
38089 2000-09-25  Jim Meyering  <meyering@lucent.com>
38090
38091         * lib/md5.h (rol): Define (from GnuPG).
38092
38093         * lib/sha.c: Give credit (GnuPG) where due.
38094         (M): Use rol rather than open-coding it.
38095         Add a FIXME comment.
38096
38097 2000-09-21  Jim Meyering  <meyering@lucent.com>
38098
38099         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
38100         Reported by Michael Stone.
38101
38102 2000-09-20  Jim Meyering  <meyering@lucent.com>
38103
38104         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
38105         (noinst_HEADERS): Add sha.h.
38106         Based on code from Scott G. Miller and from GnuPG.
38107
38108 2000-09-18  Jim Meyering  <meyering@lucent.com>
38109
38110         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
38111         LIBS. Otherwise, everyone ends up linking with -lelf for some
38112         configurations.
38113         Reported by Mike Stone.
38114
38115 2000-09-15  Jim Meyering  <meyering@lucent.com>
38116
38117         * lib/regex.c: Update from libc.
38118
38119 2000-09-10  Jim Meyering  <meyering@lucent.com>
38120
38121         * lib/getopt.c (_getopt_internal): Update from glibc.
38122
38123 2000-09-09  Jim Meyering  <meyering@lucent.com>
38124
38125         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
38126         think it should be used as a general replacement for isascii.
38127         * lib/fnmatch.c: Likewise.
38128         * lib/mbswidth.c: Likewise
38129         * lib/regex.c: Likewise.
38130
38131         Don't use atoi.
38132         * lib/userspec.c: Include sys/param.h and limits.h.
38133         Include xstrtol.h.
38134         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
38135         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
38136         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
38137         UID, GID.  Check range.
38138
38139 2000-09-06  Jim Meyering  <meyering@lucent.com>
38140
38141         * lib/getopt.c (_getopt_internal): Update from glibc.
38142
38143 2000-08-30  Jim Meyering  <meyering@lucent.com>
38144
38145         * lib/strftime.c: Merge in changes from GNU libc.
38146
38147 2000-08-26  Jim Meyering  <meyering@lucent.com>
38148
38149         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
38150         * m4/fpending.m4: New file.
38151
38152 2000-08-26  Jim Meyering  <meyering@lucent.com>
38153
38154         * lib/closeout.c: Include "__fpending.h".
38155         (close_stdout_status): Return right away if there's nothing to flush.
38156
38157         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
38158         * lib/__fpending.c: New file.
38159         * lib/__fpending.h: New file.
38160
38161 2000-08-20  Jim Meyering  <meyering@lucent.com>
38162
38163         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
38164         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
38165         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
38166
38167 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
38168
38169         Improve fileutils installation on systems where running
38170         programs (like install) can't be unlinked.
38171         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
38172         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
38173
38174 2000-08-07  Paul Eggert  <eggert@twinsun.com>
38175
38176         Standardize on "memory exhausted" instead of "Memory exhausted"
38177         or "virtual memory exhausted".
38178         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
38179         "virtual memory exhausted".
38180         * lib/same.c (same_name): Invoke xalloc_die instead of printing
38181         our own message.
38182         * lib/userspec.c (parse_user_spec): Likewise.
38183         * lib/bumpalloc.h: comment fix
38184         * lib/same.c, userspec.c: Include xalloc.h.
38185
38186         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
38187         not char *const and pointing to a constant array.
38188         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
38189         (xrealloc): Comment fix.
38190
38191         * lib/userspec.c (parse_user_spec):
38192         Don't translate a message until just before returning,
38193         to avoid unnecessary translation.
38194
38195 2000-08-07  Jim Meyering  <meyering@lucent.com>
38196
38197         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
38198         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
38199         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
38200         getgroups.c, gethostname.c, getopt.h, group-member.c,
38201         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
38202         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
38203         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
38204         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
38205         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
38206         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
38207         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
38208         yesno.c: Back out Copyright date changes for each file with no change
38209         this year.  This eases coordination with other programs using the same
38210         source code modules.  From Paul Eggert.
38211
38212 2000-08-06  Paul Eggert  <eggert@twinsun.com>
38213
38214         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
38215         not char, for compatibility with glibc 2.1.3 strftime.c.
38216
38217 2000-08-03  Greg McGary  <greg@mcgary.org>
38218
38219         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
38220         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
38221         (EXTEND_BUFFER): Use them.
38222
38223 2000-08-01  Jim Meyering  <meyering@lucent.com>
38224
38225         * lib/dirname.c (ISSLASH): Define.
38226         (BACKSLASH_IS_PATH_SEPARATOR): Define.
38227         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
38228         both `\' and `/' may be use as path separators.
38229         Based on a patch from Prashant TR.
38230
38231 2000-07-31  Paul Eggert  <eggert@twinsun.com>
38232
38233         * lib/quotearg.c (quotearg_n_options): Don't make the initial
38234         slot vector a constant, since it might get modified.
38235
38236 2000-07-31  Jim Meyering  <meyering@lucent.com>
38237
38238         * lib/xmalloc.c: Use `virtual memory exhausted', not
38239         `Memory exhausted'.
38240         * lib/obstack.c (print_and_abort): Likewise.
38241
38242 2000-07-30  Paul Eggert  <eggert@twinsun.com>
38243
38244         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
38245         buffer, so that the caller can always quote one small
38246         component of a "memory exhausted" message in slot 0.
38247         From a suggestion by Jim Meyering.
38248
38249 2000-07-30  Jim Meyering  <meyering@lucent.com>
38250
38251         * lib/makepath.c (make_path): Quote the other instance, too.
38252
38253         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
38254         (STATIC_BUF_SIZE): Define.
38255         (quotearg_n_options): Use only statically allocated storage when
38256         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
38257         than STATIC_BUF_SIZE.
38258
38259 2000-07-29  Jim Meyering  <meyering@lucent.com>
38260
38261         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
38262         * lib/dirname.c (dir_name): Likewise.
38263
38264         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
38265         `/'.
38266
38267         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
38268         (dir_name): Assert that there are no trailing slashes.
38269
38270 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
38271
38272         * lib/mbswidth.h (mbswidth): Add a flags argument.
38273         (mbswidth): New declaration.
38274         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
38275         * lib/mbswidth.c (mbswidth): Add a flags argument.
38276         (mbsnwidth): New function.
38277
38278 2000-07-24  Jim Meyering  <meyering@lucent.com>
38279
38280         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
38281
38282 2000-07-23  Paul Eggert  <eggert@twinsun.com>
38283
38284         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
38285
38286 2000-07-23  Paul Eggert  <eggert@twinsun.com>
38287
38288         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
38289         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
38290         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
38291         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
38292         invoke multibyte primitives.
38293
38294 2000-07-23  Paul Eggert  <eggert@twinsun.com>
38295
38296         * lib/quotearg.c:
38297         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
38298         so that mbstate_t is always defined.
38299
38300         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
38301         be 1 in at least one GCC installation, and this configuration
38302         error is likely to be common.  Ignoring MB_LEN_MAX hurts
38303         performance on hosts that have mbrtowc but have only unibyte
38304         locales, but I assume these hosts are rare.
38305
38306 2000-07-23  Paul Eggert  <eggert@twinsun.com>
38307
38308         * lib/mbswidth.c (_XOPEN_SOURCE):
38309         Don't define; this causes problems on Solaris 7.
38310         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
38311
38312 2000-07-23  Jim Meyering  <meyering@lucent.com>
38313
38314         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
38315         too: getgrgid, getpwuid, getuid.
38316
38317 2000-07-23  Jim Meyering  <meyering@lucent.com>
38318
38319         * lib/basename.c (base_name): Add an assertion.
38320
38321 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
38322
38323         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
38324         shadow its mbsinit function.
38325
38326 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
38327
38328         * lib/mbswidth.h: New file.
38329         * lib/mbswidth.c: New file.
38330         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
38331         (noinst_HEADERS): Add mbswidth.h.
38332
38333 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
38334
38335         * lib/config.charset: Add support for FreeBSD. Improve support for
38336         HP-UX and IRIX 6.
38337
38338 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
38339
38340         * m4/mbswidth.m4: New file.
38341         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
38342
38343 2000-07-15  Jim Meyering  <meyering@lucent.com>
38344
38345         * lib/makepath.c: Include quote.h.
38346         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
38347         corresponding argument in a `quote (...)' call.
38348         Give better diagnostics.
38349
38350         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
38351         (noinst_HEADERS): Add quote.h.
38352
38353         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
38354         from tar's src/misc.c.
38355         * lib/quote.h: New file.  Prototypes for same.
38356
38357 2000-07-14  Paul Eggert  <eggert@twinsun.com>
38358
38359         From a suggestion by Bruno Haible.
38360         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
38361         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
38362         to decide whether to define the BeOS workaround macro;
38363         this adjusts to the change to AC_MBSTATE_T.
38364
38365 2000-07-14  Jim Meyering  <meyering@lucent.com>
38366
38367         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
38368         jm_AC_TYPE_UINTMAX_T.
38369
38370 2000-07-13  Paul Eggert  <eggert@twinsun.com>
38371
38372         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
38373
38374         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
38375         quotearg_buffer_restyled): Add support for
38376         clocale_quoting_style.  Undo previous change to
38377         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
38378         and "{RIGHT QUOTATION MARK}" msgids.
38379
38380 2000-07-10  Paul Eggert  <eggert@twinsun.com>
38381
38382         From a suggestion by Bruno Haible.
38383         * m4/mbstate_t.m4 (AC_MBSTATE_T):
38384         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
38385         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
38386         and mbstate_t, to a single-part test that simply defines mbstate_t.
38387         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
38388         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
38389
38390 2000-07-10  Jim Meyering  <meyering@lucent.com>
38391
38392         * m4/strerror_r.m4: Mirror the correction made in autoconf.
38393
38394         * m4/gnu-source.m4: Output to confdefs.h directly.
38395         Suggestion from Akim Demaille.
38396
38397 2000-07-09  Paul Eggert  <eggert@twinsun.com>
38398
38399         The old behavior of quoting `like this' doesn't look good with
38400         newer, ISO-style fonts.  See:
38401         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
38402
38403         Instead, quote "like this" by default.  Let the translator
38404         tailor the locale-specific quoting behavior by providing
38405         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
38406
38407         * lib/quotearg.c (N_): New macro.
38408         (gettext_default): New function.
38409         (quotearg_buffer_restyled): Use
38410         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
38411         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
38412
38413 2000-07-09  Jim Meyering  <meyering@lucent.com>
38414
38415         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
38416         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
38417
38418         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
38419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
38420
38421 2000-07-09  Jim Meyering  <meyering@lucent.com>
38422
38423         * lib/Most files: Update copyright dates to include 2000.
38424
38425 2000-07-08  Jim Meyering  <meyering@lucent.com>
38426
38427         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
38428         if not defined.
38429         (xgethostname): Remove now-unnecessary #ifdef.
38430         Move declaration of `err' into loop where it's used.
38431
38432 2000-07-05  Paul Eggert  <eggert@twinsun.com>
38433         and Bruno Haible  <haible@clisp.cons.org>
38434
38435         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
38436         only if the test for an object-type mbstate_t fails.  This
38437         prevents us from mistakenly reporting that mbstate_t is a
38438         system object type after we "#define mbstate_t int" to work
38439         around its lack.
38440
38441 2000-07-05  Paul Eggert  <eggert@twinsun.com>
38442         and Bruno Haible  <haible@clisp.cons.org>
38443
38444         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
38445
38446 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
38447
38448         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
38449         to strerror_r.
38450         Include <ctype.h> for use of isalpha.
38451
38452 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
38453
38454         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
38455         by allocating a larger buffer. Test the gethostname return value for
38456         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
38457         returns an error and ENAMETOOLONG isn't defined.
38458
38459 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
38460
38461         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
38462         dimension.
38463
38464 2000-07-04  Jim Meyering  <meyering@lucent.com>
38465
38466         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
38467         of the deprecated AC_CHECKING.
38468
38469 2000-07-04  Jim Meyering  <meyering@lucent.com>
38470
38471         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
38472         Reported by Bruno Haible.
38473
38474 2000-07-04  Jim Meyering  <meyering@lucent.com>
38475
38476         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
38477         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
38478         lacks mbrtowc.
38479
38480 2000-07-03  Paul Eggert  <eggert@twinsun.com>
38481
38482         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
38483         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
38484
38485 2000-07-03  Paul Eggert  <eggert@twinsun.com>
38486         and Bruno Haible  <haible@clisp.cons.org>
38487
38488         * lib/quotearg.c (mbrtowc):
38489         Assign to *pwc, and return 1 only if result is nonzero.
38490         (iswprint): Use ISPRINT when substituting our own mbrtowc.
38491
38492 2000-07-03  Jim Meyering  <meyering@lucent.com>
38493
38494         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
38495
38496 2000-07-03  Jim Meyering  <meyering@lucent.com>
38497
38498         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
38499         This is necessary to get a definition of e.g., UTMP_FILE on
38500         HP-UX 10.20.
38501         From Bob Proulx.
38502
38503 2000-07-02  Jim Meyering  <meyering@lucent.com>
38504
38505         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
38506
38507         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
38508         AC_LIBOBJ(function_name).
38509         * m4/chown.m4: Likewise.
38510         * m4/fnmatch.m4: Likewise.
38511         * m4/ftruncate.m4: Likewise.
38512         * m4/getgroups.m4: Likewise.
38513         * m4/getline.m4: Likewise.
38514         * m4/group-member.m4: Likewise.
38515         * m4/jm-macros.m4: Likewise.
38516         * m4/lstat.m4: Likewise.
38517         * m4/malloc.m4: Likewise.
38518         * m4/memcmp.m4: Likewise.
38519         * m4/nanosleep.m4: Likewise.
38520         * m4/putenv.m4: Likewise.
38521         * m4/realloc.m4: Likewise.
38522         * m4/regex.m4: Likewise.
38523         * m4/stat.m4: Likewise.
38524         * m4/strftime.m4: Likewise.
38525
38526 2000-07-02  Jim Meyering  <meyering@lucent.com>
38527
38528         * lib/quotearg.c (mbstate_t): Don't define here.
38529
38530 2000-07-02  Jim Meyering  <meyering@lucent.com>
38531
38532         * lib/nanosleep.c (SIGCONT): Define if not already defined.
38533
38534 2000-07-01  Jim Meyering  <meyering@lucent.com>
38535
38536         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
38537
38538 2000-07-01  Jim Meyering  <meyering@lucent.com>
38539
38540         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
38541         problem.
38542
38543 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
38544
38545         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
38546         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
38547
38548 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
38549
38550         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
38551         per change in ../m4/ls-mntd-fs.m4.
38552         (read_filesystem_list): Ignore symbolic links.
38553
38554 2000-06-29  Jim Meyering  <meyering@lucent.com>
38555
38556         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
38557         for declaration of strcmp.
38558
38559         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
38560
38561         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
38562         Avoid warning by casting result to `char *' to remove `const'.
38563
38564 2000-06-28  Jim Meyering  <meyering@lucent.com>
38565
38566         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
38567         included by quotearg.c, for which we perform this test.  From
38568         Bruno Haible.
38569
38570 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
38571
38572         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
38573         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
38574         <utmpx.h> exists, put readutmp.o into LIBOBJS.
38575
38576 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
38577
38578         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
38579
38580 2000-06-26  Paul Eggert  <eggert@twinsun.com>
38581
38582         savedir now sets errno on failure and invokes xmalloc to get memory.
38583         Fix a couple of other minor bugs while we're at it.
38584
38585         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
38586         (NAMLEN): Remove macro.
38587         (malloc, realloc): Remove decls.
38588         (stpcpy): Likewise.
38589         ("xalloc.h"): Include.
38590         (NAME_SIZE_DEFAULT): New macro.
38591         (savedir): Use xmalloc / xrealloc to allocate memory.
38592         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
38593         Skip "" directory entries.
38594         Use strlen to calculate directory entry length, since the old method
38595         is rarely used these days and isn't worth supporting.
38596         Don't use a pointer after freeing it.
38597         Check for integer overflow when calculating allocation size.
38598         Use memcpy to copy entries, instead of stpcpy.
38599         Set errno properly when returning NULL.
38600         Check for readdir error.
38601
38602 2000-06-26  Jim Meyering  <meyering@lucent.com>
38603
38604         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
38605
38606 2000-06-25  Jim Meyering  <meyering@lucent.com>
38607
38608         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
38609         Linux header bug when _XOPEN_SOURCE is defined to 500.
38610
38611 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
38612
38613         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
38614         deficiency.
38615
38616 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
38617
38618         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
38619         Include xalloc.h.
38620         Don't include <stdlib.h>.  Don't declare malloc, realloc.
38621
38622 2000-06-24  Jim Meyering  <meyering@lucent.com>
38623
38624         * m4/strerror_r.m4: Revive this file -- to try out an experimental
38625         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
38626         for which strerror does return char*, but which lacks a conveniently
38627         accessible declaration of the function.  If the compile-test says
38628         strerror_r doesn't work, then resort to a `run'-test that works on
38629         BeOS and segfaults on DEC Unix.
38630
38631 2000-06-24  Jim Meyering  <meyering@lucent.com>
38632
38633         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
38634
38635 2000-06-23  Paul Eggert  <eggert@twinsun.com>
38636
38637         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
38638         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
38639
38640 2000-06-23  Paul Eggert  <eggert@twinsun.com>
38641
38642         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
38643         (mbrtowc, mbstate_t): Define substitutes if
38644         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
38645         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
38646         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
38647
38648 2000-06-23  Jim Meyering  <meyering@lucent.com>
38649
38650         * m4/afs.m4: Add missing AC_MSG_RESULT.
38651         Reported by Bruno Haible.
38652
38653         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
38654         Suggestion from Bruno Haible.
38655
38656 2000-06-23  Jim Meyering  <meyering@lucent.com>
38657
38658         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
38659
38660 2000-06-21  Jim Meyering  <meyering@lucent.com>
38661
38662         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
38663
38664 2000-06-21  Jim Meyering  <meyering@lucent.com>
38665
38666         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
38667         (noinst_HEADERS): Add getstr.h.
38668
38669         * lib/getline.c (getstr): Move into a separate file.
38670         * lib/getstr.c (getstr): New file, extracted from getline.c, with
38671         the following changes: new parameter, delim2; both delim[12]
38672         parameters have type `int', not `char'.  The latter would lose
38673         with 8-bit delimiters.
38674         * lib/getstr.h: New file.
38675
38676 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
38677
38678         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
38679         than 1024, return a memory chunk of least possible size, instead
38680         of size PATH_MAX + 2. In the loop, increment the size proportionally.
38681         Use free/xmalloc instead of xrealloc to avoid copying for very long
38682         paths.
38683
38684 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
38685
38686         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
38687         the empty string.
38688
38689 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
38690
38691         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
38692         address, not strdup.  Include <stdlib.h> and don't declare free().
38693
38694 2000-06-19  Jim Meyering  <meyering@lucent.com>
38695
38696         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
38697
38698 2000-06-18  Jim Meyering  <meyering@lucent.com>
38699
38700         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
38701
38702         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
38703         `checking whether...' message to be consistent with that of the
38704         lstat test.
38705
38706 2000-06-18  Jim Meyering  <meyering@lucent.com>
38707
38708         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
38709         Besides, these days every porting target provides a mkdir function.
38710
38711         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
38712         needed. (this snippet comes from src/system.h).
38713
38714 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
38715
38716         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
38717
38718 2000-06-15  Paul Eggert  <eggert@twinsun.com>
38719
38720         * lib/human.c (adjust_value): New function.
38721         (human_readable_inexact): Apply rounding style even when
38722         printing approximate values.
38723
38724 2000-06-14  Paul Eggert  <eggert@twinsun.com>
38725
38726         * lib/human.c (human_readable_inexact): Allow an input block
38727         size that is not a multiple of the output block size, and vice versa.
38728         Reported by Piergiorgio Sartor.
38729
38730 2000-06-14  Paul Eggert  <eggert@twinsun.com>
38731
38732         * lib/getdate.y (get_date): Apply relative times after time
38733         zone indicator, not before.  Reported by Todd A. Jacobs.
38734
38735 2000-06-13  Jim Meyering  <meyering@lucent.com>
38736
38737         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
38738
38739         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
38740
38741 2000-06-12  Paul Eggert  <eggert@twinsun.com>
38742
38743         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
38744
38745 2000-06-12  Jim Meyering  <meyering@lucent.com>
38746
38747         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
38748         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
38749         optional argument.
38750         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
38751         the optional argument, `lib'.
38752
38753 2000-06-08  Jim Meyering  <meyering@lucent.com>
38754
38755         * m4/largefile.m4: Remove file (now that it's part of autoconf).
38756
38757 2000-06-04  Paul Eggert  <eggert@twinsun.com>
38758
38759         Rewrite largefile configuration so that we don't need to run
38760         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
38761         AC_CANONICAL_HOST in configure.in -- jmm]
38762
38763         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
38764         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
38765         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
38766         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
38767         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
38768         All uses changed.
38769         Instead of inspecting the output of getconf, try to compile the
38770         test program without and with the macro definition.
38771         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
38772         for getconf.  Instead, check for the needed flags by compiling
38773         test programs.
38774
38775 2000-06-04  Paul Eggert  <eggert@twinsun.com>
38776
38777         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
38778
38779 2000-06-04  Jim Meyering  <meyering@lucent.com>
38780
38781         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
38782         SunOS 4.1.4 for which gid_t is an unsigned type.
38783
38784 2000-06-03  Jim Meyering  <meyering@lucent.com>
38785
38786         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
38787         now that autoconf requires that.
38788
38789         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
38790         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
38791         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
38792
38793 2000-06-03  Jim Meyering  <meyering@lucent.com>
38794
38795         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
38796
38797 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
38798
38799         * m4/glibc21.m4: New file.
38800         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
38801
38802 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
38803
38804         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
38805         newer, don't install charset.alias.
38806         * lib/config.charset: Change the Linux/glibc rules so they become empty
38807         on glibc-2.1 or newer.
38808
38809 2000-06-02  Jim Meyering  <meyering@lucent.com>
38810
38811         * lib/mountlist.c: Back out last change.  Instead, do this...
38812         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
38813         me_dummy member using the same `ignore'-testing code.
38814         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
38815         fs_type strings.
38816         From Mark D. Roth.
38817
38818 2000-05-29  Jim Meyering  <meyering@lucent.com>
38819
38820         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
38821         mounts with the `ignore' attribute.  Based on a patch from
38822         Mark D. Roth.
38823
38824 2000-05-28  Jim Meyering  <meyering@lucent.com>
38825
38826         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
38827         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
38828         * m4/stat.m4: Likewise.
38829         * m4/lstat.m4: Likewise.
38830         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
38831
38832         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
38833         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
38834
38835 2000-05-26  Jim Meyering  <meyering@lucent.com>
38836
38837         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
38838
38839 2000-05-24  Jim Meyering  <meyering@lucent.com>
38840
38841         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
38842         autoconf requires that.
38843         * m4/lib-check.m4: Likewise.
38844         * m4/jm-macros.m4: Likewise.
38845         * m4/strftime.m4: Likewise.
38846
38847         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
38848         AC_CHECK_DECLS, now that autoconf requires that.
38849
38850 2000-05-22  Jim Meyering  <meyering@lucent.com>
38851
38852         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
38853         * m4/lstat.m4: Likewise.
38854
38855 2000-05-22  Jim Meyering  <meyering@lucent.com>
38856
38857         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
38858
38859 2000-05-20  Jim Meyering  <meyering@lucent.com>
38860
38861         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
38862         (jm_PREREQ): Use it.
38863
38864 2000-05-18  Jim Meyering  <meyering@lucent.com>
38865
38866         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
38867         back, too, since it may have been modified by allocate_entry.
38868         (hash_delete): Rewrite to use neither the assignment operator
38869         nor the comma operator in an if-expression.
38870
38871 2000-05-15  Paul Eggert  <eggert@twinsun.com>
38872
38873         * lib/closeout.c:
38874         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
38875         Remove; no longer needed.
38876         "quotearg.h": Add include.
38877         (file_name): Do not bother to explicitly initialize to NULL; it's less
38878         efficient on some hosts.
38879         (close_stdout_status): Remove test as to whether stdout was already
38880         closed; it breaks for the case "echo x | sort >&-".
38881         Quote file name colons.
38882         Do not assume that _("write error") lacks format strings.
38883
38884 2000-05-15  Jim Meyering  <meyering@lucent.com>
38885
38886         * lib/version-etc.c (version_etc_copyright): Update the copyright
38887         string used in all --version output.
38888
38889 2000-05-14  Jim Meyering  <meyering@lucent.com>
38890
38891         * lib/closeout.c (close_stdout_set_file_name): New function.
38892         (close_stdout_status): Use new file-scoped global.
38893         Return right away if fstat says the stdout file descriptor is invalid.
38894         * lib/closeout.h (close_stdout_set_file_name): Declare.
38895
38896 2000-05-10  Jim Meyering  <meyering@lucent.com>
38897
38898         * lib/closeout.c [default_exit_status]: New file-scoped variable.
38899         (close_stdout_set_status): New function.
38900         * lib/closeout.h (close_stdout_set_status): Declare.
38901
38902 2000-05-09  Jim Meyering  <meyering@lucent.com>
38903
38904         * m4/gettext.m4: Rename this...
38905         * m4/libintl.m4: ...to this.
38906
38907 2000-05-08  Jim Meyering  <meyering@lucent.com>
38908
38909         * lib/long-options.c: Don't include closeout.h.
38910         (parse_long_options): Don't call close_stdout for --version.
38911
38912 2000-05-06  Paul Eggert  <eggert@twinsun.com>
38913
38914         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
38915         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
38916         2.1.3 bug.  This avoids a clash when files like regex.c define
38917         _GNU_SOURCE.
38918
38919 2000-05-06  Jim Meyering  <meyering@lucent.com>
38920
38921         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
38922         (AC_REPLACE_FUNCS): Add strnlen.
38923
38924         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
38925         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
38926
38927         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
38928         AC_SEARCH_LIBS call for nanosleep.
38929         (LIB_NANOSLEEP): Set and AC_SUBST.
38930
38931 2000-05-06  Jim Meyering  <meyering@lucent.com>
38932
38933         * lib/strnlen.c: Undefine __strnlen and strnlen.
38934         [!weak_alias]: Define __strnlen to strnlen.
38935
38936         * lib/atexit.c: New file, from libiberty.
38937
38938 2000-05-06  Jim Meyering  <meyering@lucent.com>
38939
38940         * lib/closeout.c (close_stdout_status): Also check for errors on the
38941         stderr stream.
38942
38943 2000-05-05  Jim Meyering  <meyering@lucent.com>
38944
38945         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
38946         AC_SEARCH_LIBS call for clock_gettime.
38947         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
38948
38949         * m4/search-libs.m4: Update from autoconf.
38950
38951         su doesn't work on Solaris 2.6.
38952         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
38953         <shadow.h>.  Reported by Dragos Harabor.
38954
38955 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
38956
38957         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
38958         memcpy instead of xmalloc, xrealloc, path_concat.
38959         (locale_charset): Treat empty environment variables as absent.
38960         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
38961
38962 2000-05-04  Jim Meyering  <meyering@lucent.com>
38963
38964         * lib/getopt.c: Update from glibc.
38965         * lib/obstack.c: Likewise.
38966         * lib/obstack.h: Likewise.
38967         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
38968         file
38969
38970         * lib/regex.h: Likewise.
38971         * lib/strndup.c: Likewise.
38972         * lib/strnlen.c: New file, from glibc.
38973
38974 2000-05-03  Jim Meyering  <meyering@lucent.com>
38975
38976         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
38977
38978 2000-05-02  Paul Eggert  <eggert@twinsun.com>
38979
38980         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
38981         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
38982         compile-time test, rather than inspecting host and OS, to
38983         decide whether to define _LARGEFILE_SOURCE.
38984
38985 2000-05-01  Jim Meyering  <meyering@lucent.com>
38986
38987         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
38988
38989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
38990         Based on a patch from Bruno Haible.
38991
38992 2000-05-01  Jim Meyering  <meyering@lucent.com>
38993
38994         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
38995
38996 2000-04-29  Jim Meyering  <meyering@lucent.com>
38997
38998         * lib/path-concat.c: Declare strdup only if it's not defined.
38999         * lib/canon-host.c: Likewise.
39000
39001 2000-04-28  Jim Meyering  <meyering@lucent.com>
39002
39003         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
39004         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
39005         is included first, then limits.h is included by locale.h by libintl.h.
39006         From John David Anglin.
39007
39008 2000-04-25  Jim Meyering  <meyering@lucent.com>
39009
39010         * lib/makepath.c (S_IRWXUGO): Define.
39011         (make_path): Always perform explicit chmod if MODE specifies any
39012         of the `special' permission bits.  Prompted by a bug report against
39013         install from Mate Wierdl and Joost van Baal.
39014
39015 2000-04-18  Jim Meyering  <meyering@lucent.com>
39016
39017         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
39018         (jm_PREREQ): Use it.
39019
39020 2000-04-18  Jim Meyering  <meyering@lucent.com>
39021
39022         * lib/README: New file.
39023
39024         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
39025         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
39026
39027 2000-04-17  Jim Meyering  <meyering@lucent.com>
39028
39029         Get it right :-)
39030         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
39031         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
39032         Suggestion from Akim Demaille.
39033
39034 2000-04-17  Jim Meyering  <meyering@lucent.com>
39035
39036         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
39037         the definition of it to rpl_strftime also defined-away the system's
39038         declaration.
39039
39040 2000-04-15  Jim Meyering  <meyering@lucent.com>
39041
39042         Use `C' to denote so-called `contiguous' files, the same way
39043         that tar does.
39044         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
39045         (ftypelet): Use S_ISCTG.
39046         From Michael Deutschmann.
39047
39048 2000-04-14  Jim Meyering  <meyering@lucent.com>
39049
39050         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
39051         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
39052         clobbered.
39053
39054 2000-04-14  Jim Meyering  <meyering@lucent.com>
39055
39056         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
39057
39058 2000-04-13  Jim Meyering  <meyering@lucent.com>
39059
39060         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
39061         AH_VERBATIM to insert required #ifndef into config.h.in.
39062         Suggestion from Akim Demaille.
39063
39064 2000-04-12  Jim Meyering  <meyering@lucent.com>
39065
39066         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
39067         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
39068         Christian Krackowizer.
39069
39070         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
39071         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
39072         (AC_SYS_LARGEFILE): Require.
39073         (AM_C_PROTOTYPES): Require.
39074
39075 2000-04-08  Jim Meyering  <meyering@lucent.com>
39076
39077         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
39078         names don't conflict.  Reported by Eli Zaretskii.
39079
39080 2000-04-07  Jim Meyering  <meyering@lucent.com>
39081
39082         * lib/putenv.c: Move inclusion of errno.h so it follows that of
39083         sys/types.h, to work around system header problems on AIX 3.2.5.
39084         From Bruno Haible.
39085
39086 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
39087
39088         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
39089         bug.  Deal with the different error behavior of Irix iconv.
39090
39091 2000-04-05  Paul Eggert  <eggert@twinsun.com>
39092
39093         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
39094         IRIX if the installer said otherwise.
39095
39096 2000-04-05  Jim Meyering  <meyering@lucent.com>
39097
39098         Portability tweaks required for ultrix4.3.
39099         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
39100         (jm_CHECK_DECLS): Add getutent to the list of functions.
39101         (_jm_DECL_HEADERS): Add utmpx.h.
39102         From John David Anglin.
39103
39104         * m4/strftime.m4: Back out the 2000-04-02 change.
39105         Instead of that change, simply undefine putenv in the test program.
39106
39107 2000-04-05  Jim Meyering  <meyering@lucent.com>
39108
39109         Portability tweaks required for ultrix4.3.
39110         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
39111         getutent.
39112         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
39113         * lib/canon-host.c: Declare strdup.
39114         * lib/path-concat.c: Likewise.
39115         From John David Anglin.
39116
39117 2000-04-04  Jim Meyering  <meyering@lucent.com>
39118
39119         Be more DOS 8.3-friendly.
39120         * lib/ref-add.sin: Renamed from ref-add.sed.in.
39121         * lib/ref-del.sin: Renamed from ref-del.sed.in.
39122         * lib/Makefile.am: Reflect renaming.
39123         Reported by Eli Zaretskii.
39124
39125         Use a temporary file name that won't clash with `charset.alias'
39126         in the DOS 8.3 name space.
39127         * lib/Makefile.am (charset_tmp): Define.
39128         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
39129         (uninstall-local): Likewise.
39130         Reported by Eli Zaretskii.
39131
39132 2000-04-03  Jim Meyering  <meyering@lucent.com>
39133
39134         * m4/gettext.m4: Fix typo in comment.
39135
39136         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
39137         textutils/configure.in).  Suggestion from Paul Eggert.
39138         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
39139
39140 2000-04-02  Paul Eggert  <eggert@twinsun.com>
39141
39142         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
39143         variable in the shell rather than using putenv, which isn't
39144         portable.  This avoids the configure-time inter-test dependency
39145         on the potentially-renamed putenv function.
39146
39147 2000-03-30  Paul Eggert  <eggert@twinsun.com>
39148
39149         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
39150         before checking struct stat.st_blksize, so that
39151         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
39152
39153 2000-03-29  Paul Eggert  <eggert@twinsun.com>
39154
39155         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
39156         since strftime.c uses HAVE_STRFTIME to decide whether to use
39157         the underlying strftime.
39158
39159 2000-03-29  Paul Eggert  <eggert@twinsun.com>
39160
39161         * lib/time/strftime.c (my_strftime): Make sure we call the system
39162         strftime, not ourselves, when invoking the underlying strftime.
39163
39164 2000-03-24  Jim Meyering  <meyering@lucent.com>
39165
39166         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
39167         (charset_alias): Define.
39168         (install-exec-local): Factor out common code.
39169         (uninstall-local): Split lines longer than 80.
39170         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
39171         (SUFFIXES): Define.
39172         (.sed.in.sed): New rule.  Don't redirect directly to $@.
39173         (CLEANFILES): Add ref-add.sed and ref-del.sed.
39174
39175 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
39176
39177         * lib/config.charset: Output a line containing "Packages using this
39178         file".
39179         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
39180         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
39181         ref-del.sed): New rules.
39182
39183 2000-03-17  Jim Meyering  <meyering@lucent.com>
39184
39185         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
39186         Otherwise, include <strings.h>
39187
39188 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
39189
39190         * lib/unicodeio.c (utf8_wctomb): New function.
39191         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
39192         format instead of in UCS-4 with platform dependent endianness.
39193
39194 2000-03-10  Jim Meyering  <meyering@lucent.com>
39195
39196         * m4/lib-check.m4: Look for getspnam in -lgen, too.
39197         From Marco Franzen.
39198
39199 2000-03-07  Paul Eggert  <eggert@twinsun.com>
39200
39201         * lib/savedir.c (savedir): Work even if directory size is
39202         negative; this can happen with some screwy NFS configurations.
39203
39204 2000-03-06  Jim Meyering  <meyering@lucent.com>
39205
39206         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
39207         if it's NULL (because we ran out of memory).  From Bruno Haible.
39208
39209 2000-03-05  Jim Meyering  <meyering@lucent.com>
39210
39211         * lib/localcharset.c ("path-concat.h"): Include.
39212         (get_charset_aliases): Use path_concat instead of ANSI string
39213         concatenation.
39214
39215         * lib/unicodeio.h (PARAMS): Define.
39216         Use it to guard prototype.
39217
39218 2000-03-04  Jim Meyering  <meyering@lucent.com>
39219
39220         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
39221         for lib/localcharset.c.
39222
39223 2000-03-04  Jim Meyering  <meyering@lucent.com>
39224
39225         * lib/Makefile.am (install-exec-local): Create $(libdir) before
39226         installing into it.
39227         (uninstall-local): Uncomment this rule so `make distcheck' works
39228         once again.
39229
39230         * lib/unicodeio.c (<errno.h>): Include it.
39231         (errno): Declare if not defined.
39232
39233         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
39234
39235         * lib/config.charset: New version, incorporating remarks from a linux
39236         i18n mailing list.  From Bruno Haible.
39237
39238 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
39239
39240         * m4/codeset.m4: New file.
39241         * m4/iconv.m4: New file.
39242         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
39243
39244 2000-03-03  Jim Meyering  <meyering@lucent.com>
39245
39246         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
39247
39248 2000-03-02  Jim Meyering  <meyering@lucent.com>
39249
39250         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
39251         the messages come out on separate lines.
39252
39253         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
39254         rather than jm_CHECK_DECLARATIONS.
39255         * m4/decl.m4: Remove now-unused file.
39256
39257         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
39258         geteuid.
39259
39260 2000-03-02  Jim Meyering  <meyering@lucent.com>
39261
39262         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
39263
39264 2000-03-01  Jim Meyering  <meyering@lucent.com>
39265
39266         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
39267         * lib/unicodeio.c: Likewise.
39268
39269 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
39270
39271         * lib/config.charset: New file.
39272         * lib/localcharset.c: New file.
39273         * lib/unicodeio.h, lib/unicodeio.c: New files.
39274         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
39275         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
39276         (noinst_HEADERS): Add unicodeio.h.
39277         (all-local, install-exec-local, charset.alias): New targets.
39278
39279 2000-02-28  Paul Eggert  <eggert@twinsun.com>
39280
39281         * lib/quotearg.c (ALERT_CHAR): New macro.
39282         (quotearg_buffer_restyled): Use it.
39283
39284 2000-02-27  Jim Meyering  <meyering@lucent.com>
39285
39286         * m4/check-decl.m4: Add getenv to the list.
39287
39288 2000-02-27  Jim Meyering  <meyering@lucent.com>
39289
39290         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
39291         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
39292
39293         * lib/backupfile.c: Guard inclusion of stdlib.h with
39294         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
39295         Declare malloc if needed.
39296
39297         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
39298         `#ifndef HAVE_DECL..'
39299         now that autoconf always defines the HAVE_DECL_ symbols.
39300         * lib/human.c: Likewise.
39301         * lib/same.c: Likewise.
39302         * lib/strtoumax.c: Likewise.
39303
39304         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
39305         declaration check was not run.
39306         * lib/hash.c: Likewise.
39307         * lib/human.c: Likewise.
39308         * lib/same.c: Likewise.
39309         * lib/strtoumax.c: Likewise.
39310
39311         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
39312         `.', then first look up the entire `.'-containing string as a login
39313         name.
39314
39315 2000-02-23  Jim Meyering  <meyering@lucent.com>
39316
39317         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
39318         in place of my hack.
39319
39320 2000-02-18  Paul Eggert  <eggert@twinsun.com>
39321
39322         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
39323         (textint): New typedef.
39324         (parser_control): Member year changed from int to textint.
39325         All uses changed.
39326         (YYSTYPE): Removed; replaced by %union with int and textint members.
39327         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
39328         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
39329         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
39330         (tSNUMBER, tUNUMBER): Now of type <textintval>.
39331         (date, number, to_year): Use width of number in digits, not its value,
39332         to determine whether it's a 2-digit year, or a 2-digit time.
39333         (yylex): Store number of digits of numeric tokens.
39334         Reported by John Kendall.
39335
39336         (parser_control): Changed from struct parser_control to typedef (for
39337         consistency).  All uses changed.
39338
39339         (tID): Removed; not used.
39340         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
39341
39342 2000-02-14  Paul Eggert  <eggert@twinsun.com>
39343
39344         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
39345         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
39346
39347 2000-02-12  Jim Meyering  <meyering@lucent.com>
39348
39349         * lib/userspec.c (ISDIGIT): Define it.
39350         (isdigit): Remove definition.
39351         (is_number): Use ISDIGIT, not isdigit.
39352         <libintl.h>: Include.
39353         (_ and N_): Define.
39354         (parse_user_spec): Mark translatable strings.
39355
39356 2000-02-10  Jim Meyering  <meyering@lucent.com>
39357
39358         With these changes, nanosleep.[ch] are finally enough like the other
39359         lib/* replacement files to compile on a few more losing systems.
39360
39361         * lib/nanosleep.h: Don't include config.h.
39362         Remove prototype from declaration of nanosleep.
39363         (PARAMS): Remove now-unneeded definition.
39364         * lib/nanosleep.c: #undef nanosleep.
39365         (rpl_nanosleep): Rename from nanosleep.
39366
39367 2000-02-10  Jim Meyering  <meyering@lucent.com>
39368
39369         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
39370         gnu_nanosleep to rpl_nanosleep.
39371
39372 2000-02-09  Jim Meyering  <meyering@lucent.com>
39373
39374         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
39375         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
39376
39377 2000-02-08  Akim Demaille  <akim@epita.fr>
39378
39379         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
39380         `[' and `]' and remove uses of `changequote'.
39381         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
39382         (AC_SYS_LARGEFILE): Likewise.
39383         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
39384         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
39385         of changequote.
39386         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
39387         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
39388         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
39389         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
39390
39391 2000-02-05  Jim Meyering  <meyering@lucent.com>
39392
39393         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
39394         Remove explicit use of AC_HEADER_TIME.  It is required by
39395         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
39396         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
39397         in autoconf whereby the expansion of the latter ended up preceding
39398         the expansion of its prerequisite, AC_HEADER_TIME.
39399         Reported by Volker Borchert.
39400
39401 2000-02-03  Jim Meyering  <meyering@lucent.com>
39402
39403         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
39404
39405 2000-02-03  Jim Meyering  <meyering@lucent.com>
39406
39407         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
39408         rather than with `#if HAVE_UTMPNAME'.
39409
39410 2000-02-02  Jim Meyering  <meyering@lucent.com>
39411
39412         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
39413         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
39414         Reported by Eli Zaretskii.
39415
39416 2000-02-01  Jim Meyering  <meyering@lucent.com>
39417
39418         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
39419
39420 2000-01-31  Jim Meyering  <meyering@lucent.com>
39421
39422         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
39423         functions.  Add the time.h and sys/time.h headers along with the
39424         AC_REQUIRE'ment of AC_HEADER_TIME.
39425
39426 2000-01-31  Jim Meyering  <meyering@lucent.com>
39427
39428         * lib/nanosleep.h (nanosleep): Guard declaration with
39429         `#if ! HAVE_DECL_NANOSLEEP'.
39430         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
39431         the declaration in that vendor's sys/timers.h.
39432         Reported by Christian Krackowizer.
39433
39434         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
39435         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
39436         (ISPRINT): Likewise.
39437         Reported by Tom Tromey.
39438
39439 2000-01-30  Jim Meyering  <meyering@lucent.com>
39440
39441         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
39442
39443         * m4/prereq.m4 (utmp_includes): Define.
39444         Check for ut_user and ut_name members in both struct utmpx
39445         and struct utmp.
39446
39447 2000-01-30  Jim Meyering  <meyering@lucent.com>
39448
39449         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
39450         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
39451         header files where only utmpx.ut_user is declared.
39452
39453         * lib/readutmp.h (UT_USER): Define.
39454
39455 2000-01-29  Jim Meyering  <meyering@lucent.com>
39456
39457         * m4/lib-check.m4: New file containing library-related checks from
39458         fileutils and sh-utils (textutils had none).
39459
39460 2000-01-28  Jim Meyering  <meyering@lucent.com>
39461
39462         * m4/perl.m4: Change format of warning message to look more like that
39463         from the missing script.  Suggestion from François Pinard.
39464
39465 2000-01-25  Jim Meyering  <meyering@lucent.com>
39466
39467         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
39468         well as time.h in the compile check.
39469         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
39470         Fix typo in cross-compiling case: s/yes/no/.
39471
39472 2000-01-23  Jim Meyering  <meyering@lucent.com>
39473
39474         * m4/jm-macros.m4: Move df-related tests here from
39475         fileutils/configure.in
39476
39477         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
39478         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
39479
39480         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
39481         s/space/ac_fsusage_space/.
39482         (jm_FILE_SYSTEM_USAGE): Take two parameters.
39483
39484         * m4/ftruncate.m4: New file (derived from part of
39485         fileutils/configure.in).
39486         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
39487         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
39488
39489         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
39490         AC_SUBST these here, rather than just in sh-util/configure.in, so
39491         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
39492         all the same.
39493         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
39494         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
39495         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
39496         (AC_SUBST(POW_LIBM)): Likewise.
39497         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
39498
39499 2000-01-23  Jim Meyering  <meyering@lucent.com>
39500
39501         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
39502         obstack.c.
39503
39504 2000-01-22  Jim Meyering  <meyering@lucent.com>
39505
39506         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
39507
39508         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
39509
39510         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
39511         configure.in
39512         (AC_CHECK_HEADERS): Likewise for sh-utils.
39513         (AC_CHECK_HEADERS): Likewise for textutils.
39514         Merge the three lists of headers.
39515
39516         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
39517         from fileutils' configure.in.
39518
39519         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
39520         code. Moved tests into their own function (_jm_DECL_HEADERS) in
39521         check-decl.m4.
39522
39523         * m4/check-decl.m4: Use #if rather than #ifdef.
39524         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
39525         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
39526         (_jm_DECL_HEADERS): Define new function.
39527         (jm_CHECK_DECLARATIONS): Require it.
39528
39529 2000-01-22  Jim Meyering  <meyering@lucent.com>
39530
39531         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
39532         [! HAVE_DECL_STRTOULL]: Declare strtoull.
39533         Required for some AIX systems.  Reported by Christian Krackowizer.
39534         [TESTING] (main): New function.
39535
39536         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
39537         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
39538         letters.
39539
39540         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
39541         iswprint.
39542
39543         * lib/strverscmp.c (ISDIGIT): Define.
39544         (strverscmp): Use ISDIGIT, not isdigit.
39545
39546 2000-01-19  Jim Meyering  <meyering@lucent.com>
39547
39548         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
39549         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
39550         defines `struct timespec' in <sys/time.h>
39551
39552         * m4/c-bs-a.m4: Remove uses of changequote altogether.
39553         Thanks to Akim for explaining.
39554
39555 2000-01-17  Paul Eggert  <eggert@twinsun.com>
39556
39557         * lib/nanosleep.c (nanosleep):
39558         Don't use SA_INTERRUPT to decide whether to call sigaction, as
39559         POSIX.1 doesn't require SA_INTERRUPT and some systems
39560         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
39561         it's been part of POSIX.1 since day 1 (in 1988).
39562
39563 2000-01-17  Jim Meyering  <meyering@lucent.com>
39564
39565         * lib/interlock: Remove unused file.  Reported by François Pinard.
39566
39567 2000-01-16  Paul Eggert  <eggert@twinsun.com>
39568
39569         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
39570         alert, backslash, formfeed, and vertical tab unnecessarily in
39571         shell quoting style.
39572
39573 2000-01-16  Jim Meyering  <meyering@lucent.com>
39574
39575         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
39576         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
39577         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
39578         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
39579
39580 2000-01-16  Jim Meyering  <meyering@lucent.com>
39581
39582         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
39583         because the latter didn't work.
39584
39585 2000-01-15  Jim Meyering  <meyering@lucent.com>
39586
39587         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
39588         (AC_REPLACE_FUNCS): Add memcpy and memset.
39589         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
39590         Add strpbrk.
39591         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
39592
39593 2000-01-12  Jim Meyering  <meyering@lucent.com>
39594
39595         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
39596         (jm_PREREQ): Use it.
39597         (jm_PREREQ_READUTMP): New macro.
39598         (jm_PREREQ): Use it.
39599
39600 2000-01-11  Paul Eggert  <eggert@twinsun.com>
39601
39602         Quote multibyte characters correctly.
39603         * m4/c-bs-a.m4: New file.
39604         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
39605         (jm_PREREQ): Use it.
39606
39607 2000-01-11  Paul Eggert  <eggert@twinsun.com>
39608
39609         * m4/uintmax_t.m4: Port to autoconf 2.13.
39610
39611 2000-01-08  Jim Meyering  <meyering@ascend.com>
39612
39613         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
39614         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
39615
39616 2000-01-04  Jim Meyering  <meyering@ascend.com>
39617
39618         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
39619         jm_STRUCT_DIRENT_D_TYPE.
39620         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
39621         jm_STRUCT_DIRENT_D_INO.
39622         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
39623         jm_STRUCT_UTIMBUF.
39624         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
39625         renamings.
39626         * m4/utime.m4: Likewise.
39627
39628         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
39629         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
39630
39631 2000-01-03  Paul Eggert  <eggert@twinsun.com>
39632
39633         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
39634         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
39635
39636 2000-01-02  Jim Meyering  <meyering@ascend.com>
39637
39638         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
39639         remember if this is necessary.
39640
39641 1999-12-26  Jim Meyering  <meyering@ascend.com>
39642
39643         * m4/jm-macros.m4: Use it here.
39644         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
39645
39646 1999-12-23  Jim Meyering  <meyering@ascend.com>
39647
39648         * m4/jm-macros.m4: Check for clock_gettime (moved from
39649         fileutils/configure.in)
39650         Check for gettimeofday.
39651
39652 1999-12-20  Jim Meyering  <meyering@ascend.com>
39653
39654         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
39655         autoconf-2.14a-1999-12-20.
39656
39657 1999-12-19  Jim Meyering  <meyering@ascend.com>
39658
39659         * m4/lstat-slash.m4: New file.
39660         * m4/jm-macros.m4: Use the new macro:
39661         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
39662
39663 1999-12-07  Jim Meyering  <meyering@ascend.com>
39664
39665         * m4/perl.m4: Require that File::Compare be available, too.
39666         Too many systems seem to lack it.
39667
39668         * m4/strftime.m4: Add checks for most of the cpp macros tested in
39669         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
39670
39671 1999-11-18  Paul Eggert  <eggert@twinsun.com>
39672
39673         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
39674         problem with the QNX 4.25 shell, which doesn't propagate exit
39675         status of failed commands inside shell assignments.
39676
39677 1999-11-17  Jim Meyering  <meyering@ascend.com>
39678
39679         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
39680
39681 1999-11-07  Jim Meyering  <meyering@ascend.com>
39682
39683         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
39684
39685 1999-11-06  Jim Meyering  <meyering@ascend.com>
39686
39687         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
39688         * m4/jm-macros.m4 (jm_MACROS): Use it here.
39689
39690 1999-11-05  Jim Meyering  <meyering@ascend.com>
39691
39692         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
39693         configure.in of textutils, fileutils, and sh-utils into this one
39694         (shared between those packages) file.
39695         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
39696         AC_STRUCT_ST_BLKSIZE.
39697
39698 1999-11-03  Jim Meyering  <meyering@ascend.com>
39699
39700         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
39701         of AC_CHECK_TYPE checks includes unistd.h.
39702         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
39703         Suggestion from Akim Demaille.
39704
39705 1999-10-30  Jim Meyering  <meyering@ascend.com>
39706
39707         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
39708         m4-quoted string.
39709         * m4/ls-mntd-fs.m4: Likewise.
39710         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
39711         * m4/jm-winsz1.m4: Likewise.
39712
39713         * m4/const.m4: Remove file, since the fix made it into the experimental
39714         version of autoconf.
39715         * m4/mktime.m4: Likewise.
39716
39717         * m4/check-type.m4: Remove file, now that the latest version of
39718         AC_CHECK_TYPE takes a third arg to specify additional #includes.
39719
39720         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
39721         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
39722         AC_CHECK_TYPE.
39723
39724 1999-10-04  Jim Meyering  <meyering@ascend.com>
39725
39726         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
39727
39728 1999-09-22  Paul Eggert  <eggert@twinsun.com>
39729
39730         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
39731         2.95.1 bug with HP-UX 10.20.
39732
39733 1999-09-17  Jim Meyering  <meyering@ascend.com>
39734
39735         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
39736         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
39737         due to missing strdup (against sh-utils-2.0).
39738
39739 1999-08-29  Jim Meyering  <meyering@ascend.com>
39740
39741         * m4/jm-macros.m4: Require jm_BISON.
39742         * m4/bison.m4: New file.
39743
39744 1999-08-17  Paul Eggert  <eggert@twinsun.com>
39745
39746         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
39747         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
39748
39749 1999-08-05  Jim Meyering  <meyering@ascend.com>
39750
39751         * m4/getline.m4: Rename test file from conftestdata to conftest.data
39752         to avoid conflicts with `conftest' on 8+3 filesystems.
39753         Suggestion from Eli Zaretskii.
39754
39755 1999-08-04  Jim Meyering  <meyering@ascend.com>
39756
39757         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
39758         fileutils and sh-utils (textutils's getline test was inadequate).
39759         (AM_FUNC_GETLINE): Run this test.
39760         (AC_CHECK_FUNCS): Check for getdelim.
39761         Reported by Bob Proulx.
39762
39763 1999-08-02  Jim Meyering  <meyering@ascend.com>
39764
39765         * m4/jm-macros.m4: Add a comment.
39766
39767 1999-08-01  Paul Eggert  <eggert@twinsun.com>
39768
39769         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
39770         <inttypes.h> defines strtoumax as a macro (and not as a
39771         function).
39772
39773 1999-08-01  Paul Eggert  <eggert@twinsun.com>
39774
39775         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
39776         that we can shift, multiply and divide unsigned long long
39777         values; Ultrix cc can't do it.
39778
39779 1999-08-01  Paul Eggert  <eggert@twinsun.com>
39780
39781         * m4/mktime.m4: New file, which is a preview of what should appear
39782         in the next public autoconf release.
39783
39784 1999-08-01  Paul Eggert  <eggert@twinsun.com>
39785
39786         * m4/lfs.m4: Remove this file.
39787         * m4/largefile.m4: New file.  It contains the old contents of
39788         lfs.m4, except that all names with prefix AC_LFS have been
39789         changed to use the prefix AC_SYS_LARGEFILE instead, to be
39790         compatible with future autoconf versions.  Also, some minor m4
39791         quoting problems have been fixed.
39792
39793 1999-08-01  Paul Eggert  <eggert@twinsun.com>
39794
39795         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
39796         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
39797         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
39798         and simplify the shell code.
39799
39800 1999-08-01  Jim Meyering  <meyering@ascend.com>
39801
39802         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
39803         m4.
39804
39805 1999-07-20  Jim Meyering  <meyering@ascend.com>
39806
39807         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
39808
39809 1999-07-15  Jim Meyering  <meyering@ascend.com>
39810
39811         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
39812
39813 1999-05-22  Jim Meyering  <meyering@ascend.com>
39814
39815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
39816
39817 1999-05-20  Jim Meyering  <meyering@ascend.com>
39818
39819         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
39820         Add a colon after each `then' in case $4 is empty.
39821
39822 1999-05-16  Jim Meyering  <meyering@ascend.com>
39823
39824         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
39825
39826 1999-05-10  Jim Meyering  <meyering@ascend.com>
39827
39828         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
39829
39830         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
39831         AC_FUNC_MKTIME.
39832
39833 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
39834
39835         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
39836
39837 1999-05-04  Paul Eggert  <eggert@twinsun.com>
39838
39839         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
39840         not CPPFLAGS, so that linking works correctly in IRIX.
39841
39842 1999-04-30  Paul Eggert  <eggert@twinsun.com>
39843
39844         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
39845
39846 1999-04-20  Paul Eggert  <eggert@twinsun.com>
39847
39848         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
39849         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
39850         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
39851         jm_AC_TYPE_UNSIGNED_LONG_LONG.
39852         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
39853
39854         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
39855
39856 1999-04-20  Jim Meyering  <meyering@ascend.com>
39857
39858         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
39859         AC_REPLACE xstroull if necessary.  From Paul Eggert.
39860         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
39861
39862 1999-04-18  Jim Meyering  <meyering@ascend.com>
39863
39864         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
39865         * m4/jm-macros.m4: Use it.
39866
39867 1999-04-06  Jim Meyering  <meyering@ascend.com>
39868
39869         * m4/strftime.m4: Remove test for %f.
39870
39871 1999-03-29  Jim Meyering  <meyering@ascend.com>
39872
39873         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
39874         superset of the AC_TYPE_* checks in the textutils, fileutils,
39875         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
39876         AC_TYPE_PID_T.
39877
39878 1999-03-28  Jim Meyering  <meyering@ascend.com>
39879
39880         * m4/jm-macros.m4: Define GNU_PACKAGE here.
39881         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
39882         replaced e.g., in the *.sh files of the sh-utils.
39883
39884 1999-03-20  Jim Meyering  <meyering@ascend.com>
39885
39886         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
39887         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
39888         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
39889
39890 1999-03-19  Jim Meyering  <meyering@ascend.com>
39891
39892         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
39893
39894 1999-03-12  Jim Meyering  <meyering@ascend.com>
39895
39896         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
39897
39898 1999-03-07  Jim Meyering  <meyering@ascend.com>
39899
39900         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
39901         declared.
39902
39903 1999-02-17  Jim Meyering  <meyering@ascend.com>
39904
39905         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
39906         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
39907
39908 1999-02-07  Jim Meyering  <meyering@ascend.com>
39909
39910         * m4/group-member.m4: New file -- extracted from sh-utils'
39911         configure.in.
39912
39913         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
39914         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
39915
39916 1999-02-06  Jim Meyering  <meyering@ascend.com>
39917
39918         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
39919         * m4/fnmatch.m4: Likewise.
39920         * m4/getgroups.m4: Likewise.
39921         * m4/lstat.m4: Likewise.
39922         * m4/malloc.m4: Likewise.
39923         * m4/putenv.m4: Likewise.
39924         * m4/realloc.m4: Likewise.
39925         * m4/regex.m4: Likewise.
39926         * m4/stat.m4: Likewise.
39927         * m4/strftime.m4: Likewise.
39928         Suggestion from Alain Magloire.
39929
39930         * m4/chown.m4: Use `.$ac_objext', not `.o'.
39931         * m4/fnmatch.m4: Likewise.
39932         * m4/getgroups.m4: Likewise.
39933         * m4/getline.m4: Likewise.
39934         * m4/lstat.m4: Likewise.
39935         * m4/malloc.m4: Likewise.
39936         * m4/memcmp.m4: Likewise.
39937         * m4/putenv.m4: Likewise.
39938         * m4/realloc.m4: Likewise.
39939         * m4/regex.m4: Likewise.
39940         * m4/stat.m4: Likewise.
39941         * m4/strftime.m4: Likewise.
39942         Suggestion from Alain Magloire.
39943
39944         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
39945         an argument.
39946
39947         * m4/regex.m4: Add a run-time Test for proper operation of
39948         re_compile_pattern.
39949
39950 1999-01-31  Jim Meyering  <meyering@ascend.com>
39951
39952         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
39953
39954 1999-01-30  Jim Meyering  <meyering@ascend.com>
39955
39956         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
39957
39958         * m4/jm-mktime.m4: Make this a wrapper around the official
39959         AM_FUNC_MKTIME rather than my private copy, now that the official one
39960         is up to date.
39961         * m4/mktime.m4: Remove file.
39962
39963         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
39964         * m4/uptime.m4: Likewise.
39965         * m4/uintmax_t.m4: Likewise.
39966
39967 1999-01-28  Jim Meyering  <meyering@ascend.com>
39968
39969         * m4/jm-macros.m4: Use jm_AFS.
39970         * m4/afs.m4: New file (from fileutils' configure.in).
39971
39972         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
39973         * m4/chown.m4: Likewise.
39974         * m4/d-ino.m4: Likewise.
39975         * m4/d-type.m4: Likewise.
39976         * m4/fnmatch.m4: Likewise.
39977         * m4/getgroups.m4: Likewise.
39978         * m4/gettext.m4: Likewise.
39979         * m4/jm-mktime.m4: Likewise.
39980         * m4/jm-winsz2.m4: Likewise.
39981         * m4/lcmessage.m4: Likewise.
39982         * m4/ls-mntd-fs.m4: Likewise.
39983         * m4/malloc.m4: Likewise.
39984         * m4/memcmp.m4: Likewise.
39985         * m4/putenv.m4: Likewise.
39986         * m4/realloc.m4: Likewise.
39987         * m4/st_mtim.m4: Likewise.
39988         * m4/strftime.m4: Likewise.
39989
39990 1999-01-16  Jim Meyering  <meyering@ascend.com>
39991
39992         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
39993         (ARGMATCH_DIE_DECL): Define.
39994
39995 1999-01-12  Jim Meyering  <meyering@ascend.com>
39996
39997         * m4/Makefile.am.in: Rewrite to avoid using fmt.
39998         Reported by Lars Hecking.
39999
40000 1999-01-10  Jim Meyering  <meyering@ascend.com>
40001
40002         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
40003         gross kludge.
40004         * m4/inttypes_h.m4: Likewise.
40005         * m4/lstat.m4: Likewise.
40006         * m4/malloc.m4: Likewise.
40007         * m4/readdir.m4: Likewise.
40008         * m4/realloc.m4: Likewise.
40009         * m4/st_dm_mode.m4: Likewise.
40010         * m4/stat.m4: Likewise.
40011         * m4/utimbuf.m4: Likewise.
40012         * m4/utimes.m4: Likewise.
40013
40014         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
40015         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
40016         comments in config.h.in are meaningful.
40017
40018         * m4/jm-macros.m4: Require autoconf-2.13 here.
40019
40020         * m4/regex.m4: By default, don't use the included regex.c on systems
40021         with glibc 2.  Suggestion from Uli Drepper.
40022
40023 1999-01-02  Jim Meyering  <meyering@ascend.com>
40024
40025         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
40026
40027 1998-12-18  Jim Meyering  <meyering@ascend.com>
40028
40029         * m4/Makefile.am.in (Makefile.am): Simplify rule.
40030         Based on a suggestion from Lars Hecking.
40031
40032 1998-11-16  Paul Eggert  <eggert@twinsun.com>
40033
40034         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
40035
40036 1998-11-16  Jim Meyering  <meyering@ascend.com>
40037
40038         * m4/lfs.m4: Double-quote the `uname...` expression.
40039
40040 1998-11-14  Jim Meyering  <meyering@ascend.com>
40041
40042         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
40043         * m4/stat.m4: Likewise.
40044
40045 1998-11-03  Jim Meyering  <meyering@ascend.com>
40046
40047         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
40048         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
40049
40050 1998-10-18  Jim Meyering  <meyering@ascend.com>
40051
40052         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
40053
40054 1998-10-17  Jim Meyering  <meyering@ascend.com>
40055
40056         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
40057         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
40058         calls for those previously hard-coded headers.  Instead, take a new
40059         parameter.
40060         (jm_CHECK_DECLARATIONS): Reflect interface change.
40061         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
40062         (jm_CHECK_DECL_LOCALTIME_R): New macro.
40063
40064         * m4/mktime.m4: Test for spring-forward gap before long-running test.
40065
40066 1998-10-14  Jim Meyering  <meyering@ascend.com>
40067
40068         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
40069         instead of "TZ=America/Vancouver".  From Paul Eggert.
40070
40071 1998-10-11  Jim Meyering  <meyering@ascend.com>
40072
40073         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
40074         This adds a test for a recently added compatibility fix for mktime.c.
40075         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
40076
40077 1998-09-27  Jim Meyering  <meyering@ascend.com>
40078
40079         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
40080
40081         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
40082         ../configure.in, including a change from Gordon Matzigkeit to allow
40083         cross-compiling for the Hurd.
40084
40085         * m4/glibc.m4: New file/macro to test for the GNU C Library
40086         versions 1 and 2.  From Gordon Matzigkeit.
40087         Indent.
40088
40089 1998-09-21  Jim Meyering  <meyering@ascend.com>
40090
40091         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
40092
40093 1998-08-18  Paul Eggert  <eggert@twinsun.com>
40094
40095         Port nanosecond-resolution times to UnixWare 2.1.2 and
40096         pedantic Solaris 2.6.
40097
40098         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
40099         AC_STRUCT_ST_MTIM.
40100         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
40101         Generate name of ns member, instead of just 1 or undef.
40102         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
40103
40104 1998-08-15  Jim Meyering  <meyering@ascend.com>
40105
40106         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
40107         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
40108         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
40109         instead of jm_TYPE_SSIZE_T.
40110
40111 1998-08-12  Jim Meyering  <meyering@ascend.com>
40112
40113         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
40114
40115 1998-08-02  Jim Meyering  <meyering@ascend.com>
40116
40117         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
40118         in acconfig.h manually.
40119
40120 1998-07-31  Paul Eggert  <eggert@twinsun.com>
40121
40122         * m4/st_mtim.m4: New file.
40123
40124 1998-07-28  Jim Meyering  <meyering@ascend.com>
40125
40126         * m4/utimes.m4: Undef stat.
40127
40128 1998-07-25  Jim Meyering  <meyering@ascend.com>
40129
40130         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
40131         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
40132
40133 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
40134
40135         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
40136         uid and gid actually remain unchanged.
40137
40138 1998-07-07  Jim Meyering  <meyering@ascend.com>
40139
40140         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
40141
40142 1998-07-04  Jim Meyering  <meyering@ascend.com>
40143
40144         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
40145         to prove that this macro can be used in packages without regex.c.
40146
40147 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
40148
40149         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
40150         is to be used.
40151
40152 1998-07-03  Jim Meyering  <meyering@ascend.com>
40153
40154         * m4/gettext.m4: Add -lintl if it's found to be necessary.
40155
40156         * m4/gettext.m4: New file -- from gettext-0.10.35.
40157         * m4/lcmessage.m4: Likewise.
40158         * m4/progtest.m4: Likewise.
40159
40160         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
40161         * m4/jm-macros.m4: Require the new macro.
40162
40163 1998-06-29  Jim Meyering  <meyering@ascend.com>
40164
40165         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
40166         for the definition of NGROUPS (used in a system header included
40167         by sys/mount.h).
40168
40169 1998-06-28  Jim Meyering  <meyering@ascend.com>
40170
40171         * m4/ls-mntd-fs.m4: New file.
40172         * m4/fstypename.m4: New file.
40173
40174         * m4/jm-macros.m4: Require the new macro.
40175         * m4/jm-glibc-io.m4: New file.
40176
40177 1998-05-19  Jim Meyering  <meyering@ascend.com>
40178
40179         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
40180         * m4/lchown.m4: New file.
40181
40182         * m4/Makefile.am.in: New file.
40183         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
40184
40185 1998-05-14  Jim Meyering  <meyering@ascend.com>
40186
40187         * m4/Makefile.am (EXTRA_DIST): Add them.
40188         * m4/jm-macros.m4: New file.
40189         * m4/utimbuf.m4: New file.
40190
40191 1998-05-12  Jim Meyering  <meyering@ascend.com>
40192
40193         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
40194
40195 1998-05-11  Jim Meyering  <meyering@ascend.com>
40196
40197         * m4/isc-posix.m4: New file.
40198
40199 1998-05-10  Jim Meyering  <meyering@ascend.com>
40200
40201         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
40202
40203 1998-05-09  Jim Meyering  <meyering@ascend.com>
40204
40205         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
40206         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
40207         with automake.
40208
40209         * m4/ssize_t.m4: New file.
40210         * m4/mktime.m4: Remove file -- the new automake has this now.
40211
40212 1998-04-26  Jim Meyering  <meyering@ascend.com>
40213
40214         * m4/assert.m4: New file.
40215         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
40216
40217 1998-04-05  Jim Meyering  <meyering@ascend.com>
40218
40219         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
40220         (jm_PREREQ): Use it here.
40221
40222 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
40223
40224         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
40225         in acconfig.h.
40226
40227 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
40228
40229         * m4/prereq.m4: New file.
40230         * m4/error.m4: New file.
40231         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
40232
40233 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
40234
40235         * m4/getline.m4: Don't set am_cv_func_working_getline before the
40236         cache-check for the same variable -- that defeated the purpose of
40237         the test; the test program was never run.  This was a problem only
40238         on systems with losing getline functions -- HP-UX 10.20 is one.
40239         Reported by Bjorn Helgaas.
40240
40241 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
40242
40243         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
40244
40245 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
40246
40247         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
40248
40249         * m4/const.m4: New file.  Use an initializer in this declaration
40250         typedef int charset[2]; const charset x;
40251         Reported by Bob Glickstein.
40252
40253 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
40254
40255         * m4/chown.m4: Fix reversed types on -1 args to chown.
40256         From Kaveh Ghazi.
40257
40258 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
40259
40260         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
40261         Add lseek and memchr.
40262
40263         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
40264         T.E.Dickey <dickey@clark.net> said that some older preprocessors
40265         have a 20-character limit on names.
40266
40267 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
40268
40269         * m4/inttypes_h.m4: New file.
40270         * m4/uintmax_t.m4: New file.
40271         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
40272
40273
40274         -----
40275
40276         Local Variables:
40277         coding: utf-8
40278         End:
40279
40280         Copyright (C) 1997-2008 Free Software Foundation, Inc.
40281
40282         Copying and distribution of this file, with or without
40283         modification, are permitted provided the copyright notice
40284         and this notice are preserved.