Implement 'round', 'roundf', 'roundl' modules.
[gnulib.git] / ChangeLog
1 2007-10-20  Ben Pfaff  <blp@gnu.org>
2
3         * lib/math.in.h: Declare round, roundf, roundl if we are providing
4         implementations.
5         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
6         * lib/round.c: New file.
7         * lib/roundf.c: New file.
8         * lib/roundl.c: New file.
9         * m4/round.m4: New file.
10         * m4/roundf.m4: New file.
11         * m4/roundl.m4: New file.
12         * m4/check-libm-func-m4: New file.
13         * modules/math: Replace round, roundf, roundl related @VARS@ in
14         math.in.h.
15         * modules/round: New file.
16         * modules/round-tests: New file.
17         * modules/roundf: New file.
18         * modules/roundf-tests: New file.
19         * modules/roundl: New file.
20         * modules/roundl-tests: New file.
21         * tests/test-round1.c: New file.
22         * tests/test-round2.c: New file.
23         * tests/test-roundf1.c: New file.
24         * tests/test-roundf2.c: New file.
25         * tests/test-roundl.c: New file.
26         * doc/functions/round.texi: Mention round module.
27         * doc/functions/roundf.texi: Mention roundf module.
28         * doc/functions/roundl.texi: Mention roundl module.
29         * MODULES.html.sh: Mention new modules.
30
31 2007-10-20  Jim Meyering  <meyering@redhat.com>
32
33         * lib/xprintf.c: Include <config.h> unconditionally.
34
35         Change xprintf's license to GPL.
36         * modules/xprintf (License): s/LGPL/GPL/, since this module
37         depends on modules (exit and exitfail) which are GPL.
38         Suggestion from Bruno Haible.
39
40         xprintf fixes.
41         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42         Use a clearer diagnostic.
43         Patch from Bruno Haible.
44
45 2007-10-20  Bruno Haible  <bruno@clisp.org>
46
47         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
48         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
49         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50
51 2007-10-20  Bruno Haible  <bruno@clisp.org>
52
53         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54         precision in the comparison result > x - 1 or similar.
55         * tests/test-ceilf2.c (correct_result_p): Likewise.
56         * tests/test-truncf2.c (correct_result_p): Likewise.
57         * tests/test-trunc2.c (correct_result_p): Likewise.
58         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59
60 2007-10-20  Bruno Haible  <bruno@clisp.org>
61
62         * modules/ceil: New file.
63         * m4/ceil.m4: New file.
64         * doc/functions/ceil.texi: Mention the 'ceil' module.
65
66 2007-10-20  Bruno Haible  <bruno@clisp.org>
67
68         * modules/floor: New file.
69         * m4/floor.m4: New file.
70         * doc/functions/floor.texi: Mention the 'floor' module.
71
72 2007-10-20  Bruno Haible  <bruno@clisp.org>
73
74         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
75         of %a.
76         * modules/floorf-tests (Depends-on): Likewise.
77         * modules/truncf-tests (Depends-on): Likewise.
78         * modules/trunc-tests (Depends-on): Likewise.
79         Reported by Ben Pfaff.
80
81 2007-10-19  Jim Meyering  <meyering@redhat.com>
82
83         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
84         Don't bother testing specific errno values.  Just test ferror.
85
86         New module: xprintf
87         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
88
89 2007-10-19  Bruno Haible  <bruno@clisp.org>
90
91         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
92         syntax.
93         * modules/javaexec (Makefile.am): Likewise.
94         * modules/relocatable-prog (Makefile.am): Likewise.
95         Suggested by Jim Meyering.
96
97 2007-10-18  Bruno Haible  <bruno@clisp.org>
98
99         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100         Reported by Jim Meyering.
101
102 2007-10-18  Eric Blake  <ebb9@byu.net>
103
104         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
105
106 2007-10-18  Bruno Haible  <bruno@clisp.org>
107
108         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
109         the format string into writable memory. Needed in Fortify conditions.
110
111 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
112             Bruno Haible  <bruno@clisp.org>
113
114         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
115         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
116         * modules/trim (Depends-on): Add mbchar.
117         (configure.ac): Add gl_FUNC_MBRTOWC.
118         (Makefile.am): Augment lib_SOURCES.
119
120 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
121
122         Modify glob.c to use fstatat and dirfd, to simplify it.
123         Suggested by Eric Blake.
124         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
125         Don't include <stdbool.h>; not used.
126         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
127         (link_exists_p): Simplify implementation, since we can now assume
128         dirfd and fstatat.
129         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
130
131 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
132
133         * gnulib-tool (func_get_dependencies): Fix sed script to
134         match only tests.
135
136 2007-10-17  Bruno Haible  <bruno@clisp.org>
137
138         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
139         allow locale names without encoding suffix.
140         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
141         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
142
143 2007-10-16  Bruno Haible  <bruno@clisp.org>
144
145         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
146         * lib/getgroups.c (getgroups): Likewise.
147         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
148
149 2007-10-16  Bruno Haible  <bruno@clisp.org>
150
151         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
152         * modules/malloc-posix (License): Likewise.
153         * modules/realloc-posix (License): Likewise.
154         * modules/calloc-posix (License): Likewise.
155         * modules/intprops (License): Change from GPL to LGPL, with
156         Paul Eggert's approval.
157
158 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
159
160         Merge glibc changes into lib/glob.c.
161
162         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
163         2007-10-15 04:59:03 UTC.  Here are the changes:
164
165         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
166
167         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
168
169         * lib/glob.c: Add some branch prediction throughout.
170
171         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
172
173         [BZ #5103]
174         * lib/glob.c (glob): Recognize patterns starting \/.
175
176         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
177
178         [BZ #3996]
179         * lib/glob.c (attribute_hidden): Define if not defined.
180         (glob): Unescape dirname, filename or username when needed and not
181         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
182         is NULL.  Handle unescaped [ in pattern without closing ].
183         Don't pass GLOB_CHECK down to recursive glob for directories.
184         (__glob_pattern_type): New function.
185         (__glob_pattern_p): Implement using __glob_pattern_type.
186         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
187         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
188         Remove unreachable code.
189
190         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
191
192         * lib/glob.c (glob_in_dir): Add some comments and asserts to
193         explain why there are no leaks.
194
195         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
196
197         [BZ #3253]
198         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
199         time, rather allocate increasingly bigger arrays of pointers, if
200         possible with alloca, if too large with malloc.
201
202 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
203
204         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
205         Problem reported by H.Merijn Brand in
206         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
207         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
208         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
209
210 2007-10-15  Bruno Haible  <bruno@clisp.org>
211
212         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
213         with explicit rpl_ prefix.
214         * lib/fopen.c (fopen): Likewise.
215         * lib/freopen.c (freopen): Likewise.
216         * lib/iconv.c (iconv): Likewise.
217         * lib/iconv_close.c (iconv_close): Likewise.
218
219 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
220
221         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
222
223 2007-10-15  Bruno Haible  <bruno@clisp.org>
224
225         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
226         <stddef.h> instead of <stdlib.h> since we only need NULL.
227         Reported by Ben Pfaff <blp@cs.stanford.edu>.
228
229 2007-10-15  Bruno Haible  <bruno@clisp.org>
230
231         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
232         Replace paragraph talking about LIBOBJS.
233         Reported by Colin Watson <cjwatson@debian.org>.
234
235 2007-10-15  Bruno Haible  <bruno@clisp.org>
236
237         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
238         <stdlib.h> before using NULL.
239
240 2007-10-15  Simon Josefsson  <simon@josefsson.org>
241
242         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
243         Reported by Albert Chin <china@thewrittenword.com>.
244
245 2007-10-14  Bruno Haible  <bruno@clisp.org>
246
247         * modules/iconv_open-utf-tests: New file.
248         * tests/test-iconv-utf.c: New file.
249
250         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
251         * modules/iconv_open-utf: New file.
252         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
253         (iconv, iconv_close): New declarations.
254         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
255         be defined.
256         (iconv_open): Add special handling of conversion between UTF-8 and
257         UTF-{16,32}{BE,LE}.
258         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
259         * lib/iconv_close.c: New file.
260         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
261         gl_FUNC_ICONV_OPEN.
262         (gl_FUNC_ICONV_OPEN): Use it.
263         (gl_FUNC_ICONV_OPEN_UTF): New macro.
264         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
265         and REPLACE_ICONV_UTF.
266         * modules/iconv_open (Depends-on): Add c-strcase.
267         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
268         ICONV_CONST.
269         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
270
271 2007-10-13  Albert Chin  <china@thewrittenword.com>
272             Bruno Haible  <bruno@clisp.org>
273
274         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
275         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
276
277 2007-10-13  Bruno Haible  <bruno@clisp.org>
278
279         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
280         defined, use the ISO C99 inline semantics.
281         * lib/argp.h (ARGP_EI): Likewise.
282
283 2007-10-13  Bruno Haible  <bruno@clisp.org>
284
285         Handle 'inline' change in gcc 4.3.0.
286         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
287         argp_fmtstream_write, argp_fmtstream_set_lmargin,
288         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
289         argp_fmtstream_point): Disable 'extern' declaration if the function
290         definition is going to be provided inline.
291         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
292         semantics, not the ISO C99 inline semantics.
293         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
294         'extern' declaration if the function definition is going to be provided
295         inline.
296         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
297         the GNU C inline semantics, not the ISO C99 inline semantics. With
298         GCC 4.2, avoid a warning.
299
300 2007-10-13  Bruno Haible  <bruno@clisp.org>
301
302         * lib/freading.h (freading): Enable the use of __freading for
303         glibc >= 2.7.
304         * lib/freading.c (freading): Likewise.
305
306 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
307
308         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
309         "warning: C99 inline functions are not supported; using GNU89".
310
311 2007-10-12  Bruno Haible  <bruno@clisp.org>
312
313         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
314         of 2.
315         * tests/test-ceilf2.c: New file.
316         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
317
318         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
319         * modules/ceilf-tests: Update.
320
321 2007-10-12  Bruno Haible  <bruno@clisp.org>
322
323         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
324         of 2.
325         * tests/test-floorf2.c: New file.
326         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
327
328         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
329         * modules/floorf-tests: Update.
330
331 2007-10-12  Bruno Haible  <bruno@clisp.org>
332
333         * tests/test-trunc2.c: New file.
334         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
335
336         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
337         * modules/trunc-tests: Update.
338
339 2007-10-12  Bruno Haible  <bruno@clisp.org>
340
341         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
342         of 2.
343         * tests/test-truncf2.c: New file.
344         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
345
346         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
347         * modules/truncf-tests: Update.
348
349 2007-10-11  Eric Blake  <ebb9@byu.net>
350
351         Don't claim strerror is broken on Interix.
352         * doc/functions/strerror.texi (strerror): Known broken systems are
353         now Solaris 8, and not Interix.
354         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
355         Interix on cross-compile.
356         Reported by Martin Koeppe in
357         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
358
359 2007-10-11  Bruno Haible  <bruno@clisp.org>
360
361         * modules/i-ring-tests: New file.
362         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
363         instead of assert.
364
365 2007-10-11  Bruno Haible  <bruno@clisp.org>
366
367         * modules/filenamecat-tests: New file.
368         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
369         * lib/filenamecat.c: Remove test code.
370
371 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
372
373         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
374
375         * lib/strerror.c: Include <string.h> always, to test interface,
376         and to remove the need for the dummy.
377         Include intprops.h to compute width instead of doing it ourselves
378         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
379         (strerror): Define it to return NULL if there's no system strerror.
380         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
381         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
382         ancient pre-strerror Unix systems well any more.  Saying "unknown
383         system error" is enough.
384         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
385         simpler strerror.c implementation.
386         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
387         Simplify the tests to reflect the simpler strerror implementation.
388         * modules/strerror (Depends-on): Add intprops.
389
390 2007-10-09  Eric Blake  <ebb9@byu.net>
391
392         Silence test-fpending.
393         * modules/fpending-tests (Files): Add wrapper script.
394         * tests/test-fpending.sh: New file.
395
396 2007-10-09  Bruno Haible  <bruno@clisp.org>
397
398         * MODULES.html.sh (func_module): Don't create a hyperlink for
399         function names like 'printf_frexp'.
400         (Misc): Add crc, memxor.
401         (Characteristics of floating types): New section.
402         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
403         isnanf-nolibm, signbit, trunc, truncf, truncl.
404         (Enhancements for ISO C 99 functions): New subsection Input/output.
405         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
406         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
407         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
408         (Compatibility checks for POSIX:2001 functions): Add clock-time.
409         (Enhancements for POSIX:2001 functions): Add chdir-long.
410         (File system functions): Add areadlink, chdir-safer, read-file.
411         Remove cycle-check.
412         (File system as inode set): New section.
413         (Date and time): Add gethrxtime.
414         (Multithreading): Add openmp.
415         (Internationalization functions): Add localename.
416         (Unicode string functions): Add unistr/u*-mbsnlen.
417         (Support for maintaining and releasing projects): Add git-version-gen.
418         (Lone files): Remove directories.
419
420 2007-10-08  Ben Pfaff  <blp@gnu.org>
421
422         * lib/xmalloca.h: Fix typo in comment.
423
424 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
425
426         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
427         when avoiding problems with integer overflow.  Use a portable test
428         instead.
429
430 2007-10-08  Simon Josefsson  <simon@josefsson.org>
431
432         * modules/dummy (License): Change to LGPLv2+.
433         * modules/float (License): Likewise
434         * modules/realloc (License): Likewise
435         * modules/stdlib (License): Likewise
436
437 2007-10-07  Bruno Haible  <bruno@clisp.org>
438
439         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
440         * floor.c (TWO_MANT_DIG): Likewise.
441         * ceil.c (TWO_MANT_DIG): Likewise.
442         Reported by Ben Pfaff.
443
444 2007-10-07  Bruno Haible  <bruno@clisp.org>
445
446         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
447         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
448         * lib/frexp.c (FUNC): Likewise.
449         * lib/printf-frexp.h (printf_frexp): Likewise.
450         * lib/printf-frexpl.h (printf_frexpl): Likewise.
451         * lib/printf-frexp.c (FUNC): Likewise.
452         Suggested by Jim Meyering.
453
454 2007-10-07  Jim Meyering  <meyering@redhat.com>
455
456         Make xnanosleep's integer overflow test more robust.
457         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
458         so that gcc-4.3.0 doesn't optimize away this test for overflow.
459
460 2007-10-07  Bruno Haible  <bruno@clisp.org>
461
462         * NEWS: Mention the license change.
463
464         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
465         abbreviations in the modules files.
466
467         Change copyright notice from GPLv2+ to GPLv3+.
468         * README: Change copyright notice.
469         * MODULES.html.sh: Likewise.
470         * build-aux/bootstrap.conf: Likewise.
471         * build-aux/config.libpath: Likewise.
472         * build-aux/csharpcomp.sh.in: Likewise.
473         * build-aux/csharpexec.sh.in: Likewise.
474         * build-aux/install-reloc: Likewise.
475         * build-aux/javacomp.sh.in: Likewise.
476         * build-aux/javaexec.sh.in: Likewise.
477         * build-aux/ldd.sh.in: Likewise.
478         * build-aux/reloc-ldflags: Likewise.
479         * build-aux/relocatable.sh.in: Likewise.
480         * build-aux/x-to-1.in: Likewise.
481         * check-module: Likewise.
482         * config/srclistvars.sh: Likewise.
483         * gnulib-tool: Likewise.
484         * lib/acl-internal.h: Likewise.
485         * lib/acl.c: Likewise.
486         * lib/acl.h: Likewise.
487         * lib/acl_entries.c: Likewise.
488         * lib/areadlink-with-size.c: Likewise.
489         * lib/areadlink.c: Likewise.
490         * lib/areadlink.h: Likewise.
491         * lib/argmatch.c: Likewise.
492         * lib/argmatch.h: Likewise.
493         * lib/argp-ba.c: Likewise.
494         * lib/argp-eexst.c: Likewise.
495         * lib/argp-fmtstream.c: Likewise.
496         * lib/argp-fmtstream.h: Likewise.
497         * lib/argp-fs-xinl.c: Likewise.
498         * lib/argp-help.c: Likewise.
499         * lib/argp-namefrob.h: Likewise.
500         * lib/argp-parse.c: Likewise.
501         * lib/argp-pin.c: Likewise.
502         * lib/argp-pv.c: Likewise.
503         * lib/argp-pvh.c: Likewise.
504         * lib/argp-xinl.c: Likewise.
505         * lib/argp.h: Likewise.
506         * lib/at-func.c: Likewise.
507         * lib/atanl.c: Likewise.
508         * lib/backupfile.c: Likewise.
509         * lib/backupfile.h: Likewise.
510         * lib/basename.c: Likewise.
511         * lib/binary-io.h: Likewise.
512         * lib/byteswap.in.h: Likewise.
513         * lib/c-stack.c: Likewise.
514         * lib/c-stack.h: Likewise.
515         * lib/c-strcasestr.c: Likewise.
516         * lib/c-strcasestr.h: Likewise.
517         * lib/c-strstr.c: Likewise.
518         * lib/c-strstr.h: Likewise.
519         * lib/c-strtod.c: Likewise.
520         * lib/calloc.c: Likewise.
521         * lib/canon-host.c: Likewise.
522         * lib/canon-host.h: Likewise.
523         * lib/canonicalize-lgpl.c: Likewise.
524         * lib/canonicalize.c: Likewise.
525         * lib/canonicalize.h: Likewise.
526         * lib/ceil.c: Likewise.
527         * lib/ceilf.c: Likewise.
528         * lib/ceill.c: Likewise.
529         * lib/chdir-long.c: Likewise.
530         * lib/chdir-long.h: Likewise.
531         * lib/chdir-safer.c: Likewise.
532         * lib/chdir-safer.h: Likewise.
533         * lib/chown.c: Likewise.
534         * lib/classpath.c: Likewise.
535         * lib/classpath.h: Likewise.
536         * lib/clean-temp.c: Likewise.
537         * lib/clean-temp.h: Likewise.
538         * lib/cloexec.c: Likewise.
539         * lib/close-stream.c: Likewise.
540         * lib/closein.c: Likewise.
541         * lib/closein.h: Likewise.
542         * lib/closeout.c: Likewise.
543         * lib/closeout.h: Likewise.
544         * lib/concat-filename.c: Likewise.
545         * lib/copy-file.c: Likewise.
546         * lib/copy-file.h: Likewise.
547         * lib/count-one-bits.h: Likewise.
548         * lib/crc.c: Likewise.
549         * lib/crc.h: Likewise.
550         * lib/creat-safer.c: Likewise.
551         * lib/csharpcomp.c: Likewise.
552         * lib/csharpcomp.h: Likewise.
553         * lib/csharpexec.c: Likewise.
554         * lib/csharpexec.h: Likewise.
555         * lib/cycle-check.c: Likewise.
556         * lib/cycle-check.h: Likewise.
557         * lib/diacrit.c: Likewise.
558         * lib/diacrit.h: Likewise.
559         * lib/diffseq.h: Likewise.
560         * lib/dirchownmod.c: Likewise.
561         * lib/dirent.in.h: Likewise.
562         * lib/dirfd.c: Likewise.
563         * lib/dirfd.h: Likewise.
564         * lib/dirname.c: Likewise.
565         * lib/dirname.h: Likewise.
566         * lib/dummy.c: Likewise.
567         * lib/dup-safer.c: Likewise.
568         * lib/dup2.c: Likewise.
569         * lib/eealloc.h: Likewise.
570         * lib/error.c: Likewise.
571         * lib/error.h: Likewise.
572         * lib/euidaccess.c: Likewise.
573         * lib/exclude.c: Likewise.
574         * lib/exclude.h: Likewise.
575         * lib/execute.c: Likewise.
576         * lib/execute.h: Likewise.
577         * lib/exitfail.c: Likewise.
578         * lib/exitfail.h: Likewise.
579         * lib/expl.c: Likewise.
580         * lib/fatal-signal.c: Likewise.
581         * lib/fatal-signal.h: Likewise.
582         * lib/fbufmode.c: Likewise.
583         * lib/fbufmode.h: Likewise.
584         * lib/fchdir.c: Likewise.
585         * lib/fchmodat.c: Likewise.
586         * lib/fchownat.c: Likewise.
587         * lib/fcntl--.h: Likewise.
588         * lib/fcntl-safer.h: Likewise.
589         * lib/fcntl.in.h: Likewise.
590         * lib/fd-safer.c: Likewise.
591         * lib/fflush.c: Likewise.
592         * lib/file-has-acl.c: Likewise.
593         * lib/file-set.c: Likewise.
594         * lib/file-type.c: Likewise.
595         * lib/file-type.h: Likewise.
596         * lib/fileblocks.c: Likewise.
597         * lib/filemode.c: Likewise.
598         * lib/filemode.h: Likewise.
599         * lib/filename.h: Likewise.
600         * lib/filenamecat.c: Likewise.
601         * lib/filenamecat.h: Likewise.
602         * lib/findprog.c: Likewise.
603         * lib/findprog.h: Likewise.
604         * lib/float.in.h: Likewise.
605         * lib/floor.c: Likewise.
606         * lib/floorf.c: Likewise.
607         * lib/floorl.c: Likewise.
608         * lib/fopen-safer.c: Likewise.
609         * lib/fopen.c: Likewise.
610         * lib/fpending.c: Likewise.
611         * lib/fpending.h: Likewise.
612         * lib/fprintf.c: Likewise.
613         * lib/fprintftime.h: Likewise.
614         * lib/fpucw.h: Likewise.
615         * lib/fpurge.c: Likewise.
616         * lib/fpurge.h: Likewise.
617         * lib/freadable.c: Likewise.
618         * lib/freadable.h: Likewise.
619         * lib/freadahead.c: Likewise.
620         * lib/freadahead.h: Likewise.
621         * lib/freading.c: Likewise.
622         * lib/freading.h: Likewise.
623         * lib/free.c: Likewise.
624         * lib/freopen.c: Likewise.
625         * lib/frexp.c: Likewise.
626         * lib/frexpl.c: Likewise.
627         * lib/fseek.c: Likewise.
628         * lib/fseterr.c: Likewise.
629         * lib/fseterr.h: Likewise.
630         * lib/fstatat.c: Likewise.
631         * lib/fstrcmp.c: Likewise.
632         * lib/fstrcmp.h: Likewise.
633         * lib/fsusage.c: Likewise.
634         * lib/fsusage.h: Likewise.
635         * lib/ftell.c: Likewise.
636         * lib/ftello.c: Likewise.
637         * lib/fts-cycle.c: Likewise.
638         * lib/fts.c: Likewise.
639         * lib/fts_.h: Likewise.
640         * lib/full-read.c: Likewise.
641         * lib/full-read.h: Likewise.
642         * lib/full-write.c: Likewise.
643         * lib/full-write.h: Likewise.
644         * lib/fwritable.c: Likewise.
645         * lib/fwritable.h: Likewise.
646         * lib/fwriteerror.c: Likewise.
647         * lib/fwriteerror.h: Likewise.
648         * lib/fwriting.c: Likewise.
649         * lib/fwriting.h: Likewise.
650         * lib/gcd.c: Likewise.
651         * lib/gcd.h: Likewise.
652         * lib/getcwd.c: Likewise.
653         * lib/getdate.h: Likewise.
654         * lib/getdate.y: Likewise.
655         * lib/getdomainname.c: Likewise.
656         * lib/getdomainname.h: Likewise.
657         * lib/getgroups.c: Likewise.
658         * lib/gethostname.c: Likewise.
659         * lib/gethrxtime.c: Likewise.
660         * lib/gethrxtime.h: Likewise.
661         * lib/getloadavg.c: Likewise.
662         * lib/getndelim2.c: Likewise.
663         * lib/getndelim2.h: Likewise.
664         * lib/getnline.c: Likewise.
665         * lib/getnline.h: Likewise.
666         * lib/getopt.c: Likewise.
667         * lib/getopt.in.h: Likewise.
668         * lib/getopt1.c: Likewise.
669         * lib/getopt_int.h: Likewise.
670         * lib/getpagesize.h: Likewise.
671         * lib/getsubopt.c: Likewise.
672         * lib/gettime.c: Likewise.
673         * lib/getugroups.c: Likewise.
674         * lib/getugroups.h: Likewise.
675         * lib/getusershell.c: Likewise.
676         * lib/gl_anyavltree_list1.h: Likewise.
677         * lib/gl_anyavltree_list2.h: Likewise.
678         * lib/gl_anyhash_list1.h: Likewise.
679         * lib/gl_anyhash_list2.h: Likewise.
680         * lib/gl_anylinked_list1.h: Likewise.
681         * lib/gl_anylinked_list2.h: Likewise.
682         * lib/gl_anyrbtree_list1.h: Likewise.
683         * lib/gl_anyrbtree_list2.h: Likewise.
684         * lib/gl_anytree_list1.h: Likewise.
685         * lib/gl_anytree_list2.h: Likewise.
686         * lib/gl_anytree_oset.h: Likewise.
687         * lib/gl_anytreehash_list1.h: Likewise.
688         * lib/gl_anytreehash_list2.h: Likewise.
689         * lib/gl_array_list.c: Likewise.
690         * lib/gl_array_list.h: Likewise.
691         * lib/gl_array_oset.c: Likewise.
692         * lib/gl_array_oset.h: Likewise.
693         * lib/gl_avltree_list.c: Likewise.
694         * lib/gl_avltree_list.h: Likewise.
695         * lib/gl_avltree_oset.c: Likewise.
696         * lib/gl_avltree_oset.h: Likewise.
697         * lib/gl_avltreehash_list.c: Likewise.
698         * lib/gl_avltreehash_list.h: Likewise.
699         * lib/gl_carray_list.c: Likewise.
700         * lib/gl_carray_list.h: Likewise.
701         * lib/gl_linked_list.c: Likewise.
702         * lib/gl_linked_list.h: Likewise.
703         * lib/gl_linkedhash_list.c: Likewise.
704         * lib/gl_linkedhash_list.h: Likewise.
705         * lib/gl_list.c: Likewise.
706         * lib/gl_list.h: Likewise.
707         * lib/gl_oset.c: Likewise.
708         * lib/gl_oset.h: Likewise.
709         * lib/gl_rbtree_list.c: Likewise.
710         * lib/gl_rbtree_list.h: Likewise.
711         * lib/gl_rbtree_oset.c: Likewise.
712         * lib/gl_rbtree_oset.h: Likewise.
713         * lib/gl_rbtreehash_list.c: Likewise.
714         * lib/gl_rbtreehash_list.h: Likewise.
715         * lib/gl_sublist.c: Likewise.
716         * lib/gl_sublist.h: Likewise.
717         * lib/group-member.c: Likewise.
718         * lib/group-member.h: Likewise.
719         * lib/hard-locale.c: Likewise.
720         * lib/hard-locale.h: Likewise.
721         * lib/hash-pjw.c: Likewise.
722         * lib/hash-pjw.h: Likewise.
723         * lib/hash-triple.c: Likewise.
724         * lib/hash.c: Likewise.
725         * lib/hash.h: Likewise.
726         * lib/human.c: Likewise.
727         * lib/human.h: Likewise.
728         * lib/i-ring.c: Likewise.
729         * lib/i-ring.h: Likewise.
730         * lib/idcache.c: Likewise.
731         * lib/imaxabs.c: Likewise.
732         * lib/imaxdiv.c: Likewise.
733         * lib/inet_pton.c: Likewise.
734         * lib/inet_pton.h: Likewise.
735         * lib/intprops.h: Likewise.
736         * lib/inttostr.c: Likewise.
737         * lib/inttostr.h: Likewise.
738         * lib/inttypes.in.h: Likewise.
739         * lib/isapipe.c: Likewise.
740         * lib/isdir.c: Likewise.
741         * lib/isnan.c: Likewise.
742         * lib/isnan.h: Likewise.
743         * lib/isnanf.c: Likewise.
744         * lib/isnanf.h: Likewise.
745         * lib/isnanl-nolibm.h: Likewise.
746         * lib/isnanl.c: Likewise.
747         * lib/isnanl.h: Likewise.
748         * lib/javacomp.c: Likewise.
749         * lib/javacomp.h: Likewise.
750         * lib/javaexec.c: Likewise.
751         * lib/javaexec.h: Likewise.
752         * lib/javaversion.c: Likewise.
753         * lib/javaversion.h: Likewise.
754         * lib/javaversion.java: Likewise.
755         * lib/lbrkprop.h: Likewise.
756         * lib/lchmod.h: Likewise.
757         * lib/lchown.c: Likewise.
758         * lib/ldexpl.c: Likewise.
759         * lib/linebreak.c: Likewise.
760         * lib/linebreak.h: Likewise.
761         * lib/linebuffer.c: Likewise.
762         * lib/linebuffer.h: Likewise.
763         * lib/locale.in.h: Likewise.
764         * lib/logl.c: Likewise.
765         * lib/long-options.c: Likewise.
766         * lib/long-options.h: Likewise.
767         * lib/lstat.c: Likewise.
768         * lib/lstat.h: Likewise.
769         * lib/math.in.h: Likewise.
770         * lib/mbchar.c: Likewise.
771         * lib/mbchar.h: Likewise.
772         * lib/mbfile.h: Likewise.
773         * lib/mbiter.h: Likewise.
774         * lib/mbscasecmp.c: Likewise.
775         * lib/mbscasestr.c: Likewise.
776         * lib/mbschr.c: Likewise.
777         * lib/mbscspn.c: Likewise.
778         * lib/mbslen.c: Likewise.
779         * lib/mbsncasecmp.c: Likewise.
780         * lib/mbsnlen.c: Likewise.
781         * lib/mbspbrk.c: Likewise.
782         * lib/mbspcasecmp.c: Likewise.
783         * lib/mbsrchr.c: Likewise.
784         * lib/mbssep.c: Likewise.
785         * lib/mbsspn.c: Likewise.
786         * lib/mbsstr.c: Likewise.
787         * lib/mbstok_r.c: Likewise.
788         * lib/mbswidth.c: Likewise.
789         * lib/mbswidth.h: Likewise.
790         * lib/mbuiter.h: Likewise.
791         * lib/memcasecmp.c: Likewise.
792         * lib/memcasecmp.h: Likewise.
793         * lib/memchr.c: Likewise.
794         * lib/memcmp.c: Likewise.
795         * lib/memcoll.c: Likewise.
796         * lib/memcoll.h: Likewise.
797         * lib/memcpy.c: Likewise.
798         * lib/memrchr.c: Likewise.
799         * lib/mkancesdirs.c: Likewise.
800         * lib/mkdir-p.c: Likewise.
801         * lib/mkdir-p.h: Likewise.
802         * lib/mkdir.c: Likewise.
803         * lib/mkdirat.c: Likewise.
804         * lib/mkdtemp.c: Likewise.
805         * lib/mkstemp-safer.c: Likewise.
806         * lib/mkstemp.c: Likewise.
807         * lib/modechange.c: Likewise.
808         * lib/modechange.h: Likewise.
809         * lib/mountlist.c: Likewise.
810         * lib/mountlist.h: Likewise.
811         * lib/mpsort.c: Likewise.
812         * lib/nanosleep.c: Likewise.
813         * lib/obstack.c: Likewise.
814         * lib/obstack.h: Likewise.
815         * lib/open-safer.c: Likewise.
816         * lib/open.c: Likewise.
817         * lib/openat-die.c: Likewise.
818         * lib/openat-priv.h: Likewise.
819         * lib/openat-proc.c: Likewise.
820         * lib/openat.c: Likewise.
821         * lib/openat.h: Likewise.
822         * lib/pagealign_alloc.c: Likewise.
823         * lib/pagealign_alloc.h: Likewise.
824         * lib/physmem.c: Likewise.
825         * lib/physmem.h: Likewise.
826         * lib/pipe-safer.c: Likewise.
827         * lib/pipe.c: Likewise.
828         * lib/pipe.h: Likewise.
829         * lib/posixtm.c: Likewise.
830         * lib/posixtm.h: Likewise.
831         * lib/posixver.c: Likewise.
832         * lib/printf-frexp.c: Likewise.
833         * lib/printf-frexp.h: Likewise.
834         * lib/printf-frexpl.c: Likewise.
835         * lib/printf-frexpl.h: Likewise.
836         * lib/printf.c: Likewise.
837         * lib/progname.c: Likewise.
838         * lib/progname.h: Likewise.
839         * lib/progreloc.c: Likewise.
840         * lib/putenv.c: Likewise.
841         * lib/quote.c: Likewise.
842         * lib/quote.h: Likewise.
843         * lib/quotearg.c: Likewise.
844         * lib/quotearg.h: Likewise.
845         * lib/raise.c: Likewise.
846         * lib/readline.c: Likewise.
847         * lib/readline.h: Likewise.
848         * lib/readlink.c: Likewise.
849         * lib/readtokens.c: Likewise.
850         * lib/readtokens.h: Likewise.
851         * lib/readtokens0.c: Likewise.
852         * lib/readtokens0.h: Likewise.
853         * lib/readutmp.c: Likewise.
854         * lib/readutmp.h: Likewise.
855         * lib/realloc.c: Likewise.
856         * lib/relocwrapper.c: Likewise.
857         * lib/rename-dest-slash.c: Likewise.
858         * lib/rename.c: Likewise.
859         * lib/rmdir.c: Likewise.
860         * lib/rpmatch.c: Likewise.
861         * lib/safe-read.c: Likewise.
862         * lib/safe-read.h: Likewise.
863         * lib/safe-write.c: Likewise.
864         * lib/safe-write.h: Likewise.
865         * lib/same-inode.h: Likewise.
866         * lib/same.c: Likewise.
867         * lib/same.h: Likewise.
868         * lib/save-cwd.c: Likewise.
869         * lib/save-cwd.h: Likewise.
870         * lib/savedir.c: Likewise.
871         * lib/savedir.h: Likewise.
872         * lib/savewd.c: Likewise.
873         * lib/savewd.h: Likewise.
874         * lib/search.in.h: Likewise.
875         * lib/setenv.c: Likewise.
876         * lib/setenv.h: Likewise.
877         * lib/settime.c: Likewise.
878         * lib/sh-quote.c: Likewise.
879         * lib/sh-quote.h: Likewise.
880         * lib/sig2str.c: Likewise.
881         * lib/sig2str.h: Likewise.
882         * lib/signal.in.h: Likewise.
883         * lib/signbitd.c: Likewise.
884         * lib/signbitf.c: Likewise.
885         * lib/signbitl.c: Likewise.
886         * lib/sigprocmask.c: Likewise.
887         * lib/sincosl.c: Likewise.
888         * lib/sleep.c: Likewise.
889         * lib/sprintf.c: Likewise.
890         * lib/sqrtl.c: Likewise.
891         * lib/stat-time.h: Likewise.
892         * lib/stdio--.h: Likewise.
893         * lib/stdio-safer.h: Likewise.
894         * lib/stdlib--.h: Likewise.
895         * lib/stdlib-safer.h: Likewise.
896         * lib/stdlib.in.h: Likewise.
897         * lib/stpcpy.c: Likewise.
898         * lib/stpncpy.c: Likewise.
899         * lib/strchrnul.c: Likewise.
900         * lib/strcspn.c: Likewise.
901         * lib/strerror.c: Likewise.
902         * lib/strftime.c: Likewise.
903         * lib/strftime.h: Likewise.
904         * lib/striconveh.c: Likewise.
905         * lib/striconveh.h: Likewise.
906         * lib/striconveha.c: Likewise.
907         * lib/striconveha.h: Likewise.
908         * lib/stripslash.c: Likewise.
909         * lib/strnlen1.c: Likewise.
910         * lib/strnlen1.h: Likewise.
911         * lib/strtod.c: Likewise.
912         * lib/strtoimax.c: Likewise.
913         * lib/strtok_r.c: Likewise.
914         * lib/strtol.c: Likewise.
915         * lib/strtoll.c: Likewise.
916         * lib/strtoul.c: Likewise.
917         * lib/strtoull.c: Likewise.
918         * lib/sysexits.in.h: Likewise.
919         * lib/tempname.c: Likewise.
920         * lib/tempname.h: Likewise.
921         * lib/timespec.h: Likewise.
922         * lib/tls.c: Likewise.
923         * lib/tls.h: Likewise.
924         * lib/tmpdir.c: Likewise.
925         * lib/tmpdir.h: Likewise.
926         * lib/tmpfile-safer.c: Likewise.
927         * lib/tmpfile.c: Likewise.
928         * lib/trigl.c: Likewise.
929         * lib/trigl.h: Likewise.
930         * lib/trim.c: Likewise.
931         * lib/trim.h: Likewise.
932         * lib/trunc.c: Likewise.
933         * lib/truncf.c: Likewise.
934         * lib/truncl.c: Likewise.
935         * lib/tsearch.c: Likewise.
936         * lib/unicodeio.c: Likewise.
937         * lib/unicodeio.h: Likewise.
938         * lib/unistd--.h: Likewise.
939         * lib/unistd-safer.h: Likewise.
940         * lib/unistdio/ulc-fprintf.c: Likewise.
941         * lib/unistdio/ulc-vfprintf.c: Likewise.
942         * lib/unlinkdir.c: Likewise.
943         * lib/unlinkdir.h: Likewise.
944         * lib/unlocked-io.h: Likewise.
945         * lib/unsetenv.c: Likewise.
946         * lib/userspec.c: Likewise.
947         * lib/utime.c: Likewise.
948         * lib/utimecmp.c: Likewise.
949         * lib/utimecmp.h: Likewise.
950         * lib/utimens.c: Likewise.
951         * lib/verify.h: Likewise.
952         * lib/verror.c: Likewise.
953         * lib/verror.h: Likewise.
954         * lib/version-etc-fsf.c: Likewise.
955         * lib/version-etc.c: Likewise.
956         * lib/version-etc.h: Likewise.
957         * lib/vfprintf.c: Likewise.
958         * lib/vprintf.c: Likewise.
959         * lib/vsprintf.c: Likewise.
960         * lib/w32spawn.h: Likewise.
961         * lib/wait-process.c: Likewise.
962         * lib/wait-process.h: Likewise.
963         * lib/wcwidth.c: Likewise.
964         * lib/write-any-file.c: Likewise.
965         * lib/xalloc-die.c: Likewise.
966         * lib/xalloc.h: Likewise.
967         * lib/xasprintf.c: Likewise.
968         * lib/xgetcwd.c: Likewise.
969         * lib/xgetcwd.h: Likewise.
970         * lib/xgetdomainname.c: Likewise.
971         * lib/xgetdomainname.h: Likewise.
972         * lib/xgethostname.c: Likewise.
973         * lib/xmalloc.c: Likewise.
974         * lib/xmalloca.c: Likewise.
975         * lib/xmalloca.h: Likewise.
976         * lib/xmemcoll.c: Likewise.
977         * lib/xnanosleep.c: Likewise.
978         * lib/xreadlink.c: Likewise.
979         * lib/xreadlink.h: Likewise.
980         * lib/xsetenv.c: Likewise.
981         * lib/xsetenv.h: Likewise.
982         * lib/xstriconv.c: Likewise.
983         * lib/xstriconv.h: Likewise.
984         * lib/xstrndup.c: Likewise.
985         * lib/xstrndup.h: Likewise.
986         * lib/xstrtod.c: Likewise.
987         * lib/xstrtod.h: Likewise.
988         * lib/xstrtol-error.c: Likewise.
989         * lib/xstrtol.c: Likewise.
990         * lib/xstrtol.h: Likewise.
991         * lib/xtime.h: Likewise.
992         * lib/xvasprintf.c: Likewise.
993         * lib/xvasprintf.h: Likewise.
994         * lib/yesno.c: Likewise.
995         * lib/yesno.h: Likewise.
996         * posix-modules: Likewise.
997         * tests/test-alloca-opt.c: Likewise.
998         * tests/test-arcfour.c: Likewise.
999         * tests/test-arctwo.c: Likewise.
1000         * tests/test-argmatch.c: Likewise.
1001         * tests/test-argp-2.sh: Likewise.
1002         * tests/test-argp.c: Likewise.
1003         * tests/test-arpa_inet.c: Likewise.
1004         * tests/test-array_list.c: Likewise.
1005         * tests/test-array_oset.c: Likewise.
1006         * tests/test-atexit.c: Likewise.
1007         * tests/test-avltree_list.c: Likewise.
1008         * tests/test-avltree_oset.c: Likewise.
1009         * tests/test-avltreehash_list.c: Likewise.
1010         * tests/test-base64.c: Likewise.
1011         * tests/test-binary-io.c: Likewise.
1012         * tests/test-byteswap.c: Likewise.
1013         * tests/test-c-ctype.c: Likewise.
1014         * tests/test-c-strcasecmp.c: Likewise.
1015         * tests/test-c-strcasestr.c: Likewise.
1016         * tests/test-c-strncasecmp.c: Likewise.
1017         * tests/test-c-strstr.c: Likewise.
1018         * tests/test-canonicalize-lgpl.c: Likewise.
1019         * tests/test-canonicalize.c: Likewise.
1020         * tests/test-carray_list.c: Likewise.
1021         * tests/test-ceilf.c: Likewise.
1022         * tests/test-ceill.c: Likewise.
1023         * tests/test-count-one-bits.c: Likewise.
1024         * tests/test-crc.c: Likewise.
1025         * tests/test-dirname.c: Likewise.
1026         * tests/test-fbufmode.c: Likewise.
1027         * tests/test-fcntl.c: Likewise.
1028         * tests/test-fflush.c: Likewise.
1029         * tests/test-floorf.c: Likewise.
1030         * tests/test-floorl.c: Likewise.
1031         * tests/test-fopen.c: Likewise.
1032         * tests/test-fprintf-posix.c: Likewise.
1033         * tests/test-fprintf-posix.h: Likewise.
1034         * tests/test-fpurge.c: Likewise.
1035         * tests/test-freadable.c: Likewise.
1036         * tests/test-freadahead.c: Likewise.
1037         * tests/test-freading.c: Likewise.
1038         * tests/test-freopen.c: Likewise.
1039         * tests/test-frexp.c: Likewise.
1040         * tests/test-frexpl.c: Likewise.
1041         * tests/test-fseek.c: Likewise.
1042         * tests/test-fseeko.c: Likewise.
1043         * tests/test-fseterr.c: Likewise.
1044         * tests/test-fstrcmp.c: Likewise.
1045         * tests/test-ftell.c: Likewise.
1046         * tests/test-ftello.c: Likewise.
1047         * tests/test-fwritable.c: Likewise.
1048         * tests/test-fwriting.c: Likewise.
1049         * tests/test-getaddrinfo.c: Likewise.
1050         * tests/test-getpass.c: Likewise.
1051         * tests/test-gettimeofday.c: Likewise.
1052         * tests/test-hmac-md5.c: Likewise.
1053         * tests/test-hmac-sha1.c: Likewise.
1054         * tests/test-iconv.c: Likewise.
1055         * tests/test-iconvme.c: Likewise.
1056         * tests/test-inttypes.c: Likewise.
1057         * tests/test-isnan.c: Likewise.
1058         * tests/test-isnanf.c: Likewise.
1059         * tests/test-isnanl-nolibm.c: Likewise.
1060         * tests/test-isnanl.c: Likewise.
1061         * tests/test-isnanl.h: Likewise.
1062         * tests/test-ldexpl.c: Likewise.
1063         * tests/test-linked_list.c: Likewise.
1064         * tests/test-linkedhash_list.c: Likewise.
1065         * tests/test-locale.c: Likewise.
1066         * tests/test-localename.c: Likewise.
1067         * tests/test-lock.c: Likewise.
1068         * tests/test-lseek.c: Likewise.
1069         * tests/test-malloca.c: Likewise.
1070         * tests/test-math.c: Likewise.
1071         * tests/test-mbscasecmp.c: Likewise.
1072         * tests/test-mbscasestr1.c: Likewise.
1073         * tests/test-mbscasestr2.c: Likewise.
1074         * tests/test-mbscasestr3.c: Likewise.
1075         * tests/test-mbscasestr4.c: Likewise.
1076         * tests/test-mbschr.c: Likewise.
1077         * tests/test-mbscspn.c: Likewise.
1078         * tests/test-mbsncasecmp.c: Likewise.
1079         * tests/test-mbspbrk.c: Likewise.
1080         * tests/test-mbspcasecmp.c: Likewise.
1081         * tests/test-mbsrchr.c: Likewise.
1082         * tests/test-mbsspn.c: Likewise.
1083         * tests/test-mbsstr1.c: Likewise.
1084         * tests/test-mbsstr2.c: Likewise.
1085         * tests/test-mbsstr3.c: Likewise.
1086         * tests/test-md5.c: Likewise.
1087         * tests/test-memmem.c: Likewise.
1088         * tests/test-netinet_in.c: Likewise.
1089         * tests/test-open.c: Likewise.
1090         * tests/test-printf-frexp.c: Likewise.
1091         * tests/test-printf-frexpl.c: Likewise.
1092         * tests/test-printf-posix.c: Likewise.
1093         * tests/test-printf-posix.h: Likewise.
1094         * tests/test-rbtree_list.c: Likewise.
1095         * tests/test-rbtree_oset.c: Likewise.
1096         * tests/test-rbtreehash_list.c: Likewise.
1097         * tests/test-read-file.c: Likewise.
1098         * tests/test-rijndael.c: Likewise.
1099         * tests/test-search.c: Likewise.
1100         * tests/test-signbit.c: Likewise.
1101         * tests/test-sleep.c: Likewise.
1102         * tests/test-snprintf-posix.c: Likewise.
1103         * tests/test-snprintf-posix.h: Likewise.
1104         * tests/test-snprintf.c: Likewise.
1105         * tests/test-sprintf-posix.c: Likewise.
1106         * tests/test-sprintf-posix.h: Likewise.
1107         * tests/test-stat-time.c: Likewise.
1108         * tests/test-stdbool.c: Likewise.
1109         * tests/test-stdint.c: Likewise.
1110         * tests/test-stdio.c: Likewise.
1111         * tests/test-stdlib.c: Likewise.
1112         * tests/test-stpncpy.c: Likewise.
1113         * tests/test-strcasestr.c: Likewise.
1114         * tests/test-striconv.c: Likewise.
1115         * tests/test-striconveh.c: Likewise.
1116         * tests/test-striconveha.c: Likewise.
1117         * tests/test-string.c: Likewise.
1118         * tests/test-sys_select.c: Likewise.
1119         * tests/test-sys_socket.c: Likewise.
1120         * tests/test-sys_stat.c: Likewise.
1121         * tests/test-sys_time.c: Likewise.
1122         * tests/test-sysexits.c: Likewise.
1123         * tests/test-time.c: Likewise.
1124         * tests/test-tls.c: Likewise.
1125         * tests/test-trunc.c: Likewise.
1126         * tests/test-truncf.c: Likewise.
1127         * tests/test-truncl.c: Likewise.
1128         * tests/test-unistd.c: Likewise.
1129         * tests/test-vasnprintf-posix.c: Likewise.
1130         * tests/test-vasnprintf-posix2.c: Likewise.
1131         * tests/test-vasnprintf.c: Likewise.
1132         * tests/test-vasprintf-posix.c: Likewise.
1133         * tests/test-vasprintf.c: Likewise.
1134         * tests/test-verify.c: Likewise.
1135         * tests/test-vfprintf-posix.c: Likewise.
1136         * tests/test-vprintf-posix.c: Likewise.
1137         * tests/test-vsnprintf-posix.c: Likewise.
1138         * tests/test-vsnprintf.c: Likewise.
1139         * tests/test-vsprintf-posix.c: Likewise.
1140         * tests/test-wchar.c: Likewise.
1141         * tests/test-wctype.c: Likewise.
1142         * tests/test-wcwidth.c: Likewise.
1143         * tests/test-xstrtol.c: Likewise.
1144         * tests/test-xvasprintf.c: Likewise.
1145         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
1146         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
1147         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1148         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1149         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1150         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
1151         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1152         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1153         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1154         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
1155         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1156         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1157         * tests/uniname/test-uninames.c: Likewise.
1158         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
1159         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
1160         * tests/unistdio/test-u16-printf1.h: Likewise.
1161         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
1162         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
1163         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
1164         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
1165         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
1166         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
1167         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
1168         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
1169         * tests/unistdio/test-u32-printf1.h: Likewise.
1170         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
1171         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
1172         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
1173         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
1174         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
1175         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
1176         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
1177         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
1178         * tests/unistdio/test-u8-printf1.h: Likewise.
1179         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
1180         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
1181         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
1182         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
1183         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
1184         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
1185         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
1186         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
1187         * tests/unistdio/test-ulc-printf1.h: Likewise.
1188         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
1189         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
1190         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
1191         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
1192         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
1193         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
1194         * tests/uniwidth/test-u16-strwidth.c: Likewise.
1195         * tests/uniwidth/test-u16-width.c: Likewise.
1196         * tests/uniwidth/test-u32-strwidth.c: Likewise.
1197         * tests/uniwidth/test-u32-width.c: Likewise.
1198         * tests/uniwidth/test-u8-strwidth.c: Likewise.
1199         * tests/uniwidth/test-u8-width.c: Likewise.
1200         * tests/uniwidth/test-uc_width.c: Likewise.
1201         * config/srclist-update: Likewise.
1202         (fixlicense): Update to GPLv3+.
1203
1204         Change copyright notice from LGPLv2.1+ to LGPLv3+.
1205         * tests/test-tsearch.c: Change copyright notice.
1206
1207         Change copyright notice from LGPLv2.0+ to LGPLv3+.
1208         * lib/c-strcaseeq.h: Change copyright notice.
1209         * lib/streq.h: Likewise.
1210         * lib/uniconv.h: Likewise.
1211         * lib/uniconv/u-conv-from-enc.h: Likewise.
1212         * lib/uniconv/u-conv-to-enc.h: Likewise.
1213         * lib/uniconv/u-strconv-from-enc.h: Likewise.
1214         * lib/uniconv/u-strconv-to-enc.h: Likewise.
1215         * lib/uniconv/u16-conv-from-enc.c: Likewise.
1216         * lib/uniconv/u16-conv-to-enc.c: Likewise.
1217         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
1218         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
1219         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
1220         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
1221         * lib/uniconv/u32-conv-from-enc.c: Likewise.
1222         * lib/uniconv/u32-conv-to-enc.c: Likewise.
1223         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
1224         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
1225         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
1226         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
1227         * lib/uniconv/u8-conv-from-enc.c: Likewise.
1228         * lib/uniconv/u8-conv-to-enc.c: Likewise.
1229         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
1230         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
1231         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
1232         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
1233         * lib/uniname.h: Likewise.
1234         * lib/uniname/uniname.c: Likewise.
1235         * lib/unistdio.h: Likewise.
1236         * lib/unistdio/u-asnprintf.h: Likewise.
1237         * lib/unistdio/u-asprintf.h: Likewise.
1238         * lib/unistdio/u-printf-args.c: Likewise.
1239         * lib/unistdio/u-printf-args.h: Likewise.
1240         * lib/unistdio/u-printf-parse.h: Likewise.
1241         * lib/unistdio/u-snprintf.h: Likewise.
1242         * lib/unistdio/u-sprintf.h: Likewise.
1243         * lib/unistdio/u-vasprintf.h: Likewise.
1244         * lib/unistdio/u-vsnprintf.h: Likewise.
1245         * lib/unistdio/u-vsprintf.h: Likewise.
1246         * lib/unistdio/u16-asnprintf.c: Likewise.
1247         * lib/unistdio/u16-asprintf.c: Likewise.
1248         * lib/unistdio/u16-printf-parse.c: Likewise.
1249         * lib/unistdio/u16-snprintf.c: Likewise.
1250         * lib/unistdio/u16-sprintf.c: Likewise.
1251         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
1252         * lib/unistdio/u16-u16-asprintf.c: Likewise.
1253         * lib/unistdio/u16-u16-snprintf.c: Likewise.
1254         * lib/unistdio/u16-u16-sprintf.c: Likewise.
1255         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
1256         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
1257         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
1258         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
1259         * lib/unistdio/u16-vasnprintf.c: Likewise.
1260         * lib/unistdio/u16-vasprintf.c: Likewise.
1261         * lib/unistdio/u16-vsnprintf.c: Likewise.
1262         * lib/unistdio/u16-vsprintf.c: Likewise.
1263         * lib/unistdio/u32-asnprintf.c: Likewise.
1264         * lib/unistdio/u32-asprintf.c: Likewise.
1265         * lib/unistdio/u32-printf-parse.c: Likewise.
1266         * lib/unistdio/u32-snprintf.c: Likewise.
1267         * lib/unistdio/u32-sprintf.c: Likewise.
1268         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
1269         * lib/unistdio/u32-u32-asprintf.c: Likewise.
1270         * lib/unistdio/u32-u32-snprintf.c: Likewise.
1271         * lib/unistdio/u32-u32-sprintf.c: Likewise.
1272         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
1273         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
1274         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
1275         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
1276         * lib/unistdio/u32-vasnprintf.c: Likewise.
1277         * lib/unistdio/u32-vasprintf.c: Likewise.
1278         * lib/unistdio/u32-vsnprintf.c: Likewise.
1279         * lib/unistdio/u32-vsprintf.c: Likewise.
1280         * lib/unistdio/u8-asnprintf.c: Likewise.
1281         * lib/unistdio/u8-asprintf.c: Likewise.
1282         * lib/unistdio/u8-printf-parse.c: Likewise.
1283         * lib/unistdio/u8-snprintf.c: Likewise.
1284         * lib/unistdio/u8-sprintf.c: Likewise.
1285         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
1286         * lib/unistdio/u8-u8-asprintf.c: Likewise.
1287         * lib/unistdio/u8-u8-snprintf.c: Likewise.
1288         * lib/unistdio/u8-u8-sprintf.c: Likewise.
1289         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
1290         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
1291         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
1292         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
1293         * lib/unistdio/u8-vasnprintf.c: Likewise.
1294         * lib/unistdio/u8-vasprintf.c: Likewise.
1295         * lib/unistdio/u8-vsnprintf.c: Likewise.
1296         * lib/unistdio/u8-vsprintf.c: Likewise.
1297         * lib/unistdio/ulc-asnprintf.c: Likewise.
1298         * lib/unistdio/ulc-asprintf.c: Likewise.
1299         * lib/unistdio/ulc-printf-parse.c: Likewise.
1300         * lib/unistdio/ulc-snprintf.c: Likewise.
1301         * lib/unistdio/ulc-sprintf.c: Likewise.
1302         * lib/unistdio/ulc-vasnprintf.c: Likewise.
1303         * lib/unistdio/ulc-vasprintf.c: Likewise.
1304         * lib/unistdio/ulc-vsnprintf.c: Likewise.
1305         * lib/unistdio/ulc-vsprintf.c: Likewise.
1306         * lib/unistr.h: Likewise.
1307         * lib/unistr/u-cpy-alloc.h: Likewise.
1308         * lib/unistr/u-cpy.h: Likewise.
1309         * lib/unistr/u-endswith.h: Likewise.
1310         * lib/unistr/u-move.h: Likewise.
1311         * lib/unistr/u-set.h: Likewise.
1312         * lib/unistr/u-startswith.h: Likewise.
1313         * lib/unistr/u-stpcpy.h: Likewise.
1314         * lib/unistr/u-stpncpy.h: Likewise.
1315         * lib/unistr/u-strcat.h: Likewise.
1316         * lib/unistr/u-strcpy.h: Likewise.
1317         * lib/unistr/u-strcspn.h: Likewise.
1318         * lib/unistr/u-strdup.h: Likewise.
1319         * lib/unistr/u-strlen.h: Likewise.
1320         * lib/unistr/u-strncat.h: Likewise.
1321         * lib/unistr/u-strncpy.h: Likewise.
1322         * lib/unistr/u-strnlen.h: Likewise.
1323         * lib/unistr/u-strpbrk.h: Likewise.
1324         * lib/unistr/u-strspn.h: Likewise.
1325         * lib/unistr/u-strstr.h: Likewise.
1326         * lib/unistr/u-strtok.h: Likewise.
1327         * lib/unistr/u16-check.c: Likewise.
1328         * lib/unistr/u16-chr.c: Likewise.
1329         * lib/unistr/u16-cmp.c: Likewise.
1330         * lib/unistr/u16-cpy-alloc.c: Likewise.
1331         * lib/unistr/u16-cpy.c: Likewise.
1332         * lib/unistr/u16-endswith.c: Likewise.
1333         * lib/unistr/u16-mblen.c: Likewise.
1334         * lib/unistr/u16-mbsnlen.c: Likewise.
1335         * lib/unistr/u16-mbtouc-aux.c: Likewise.
1336         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
1337         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
1338         * lib/unistr/u16-mbtouc.c: Likewise.
1339         * lib/unistr/u16-mbtoucr.c: Likewise.
1340         * lib/unistr/u16-move.c: Likewise.
1341         * lib/unistr/u16-next.c: Likewise.
1342         * lib/unistr/u16-prev.c: Likewise.
1343         * lib/unistr/u16-set.c: Likewise.
1344         * lib/unistr/u16-startswith.c: Likewise.
1345         * lib/unistr/u16-stpcpy.c: Likewise.
1346         * lib/unistr/u16-stpncpy.c: Likewise.
1347         * lib/unistr/u16-strcat.c: Likewise.
1348         * lib/unistr/u16-strchr.c: Likewise.
1349         * lib/unistr/u16-strcmp.c: Likewise.
1350         * lib/unistr/u16-strcpy.c: Likewise.
1351         * lib/unistr/u16-strcspn.c: Likewise.
1352         * lib/unistr/u16-strdup.c: Likewise.
1353         * lib/unistr/u16-strlen.c: Likewise.
1354         * lib/unistr/u16-strmblen.c: Likewise.
1355         * lib/unistr/u16-strmbtouc.c: Likewise.
1356         * lib/unistr/u16-strncat.c: Likewise.
1357         * lib/unistr/u16-strncmp.c: Likewise.
1358         * lib/unistr/u16-strncpy.c: Likewise.
1359         * lib/unistr/u16-strnlen.c: Likewise.
1360         * lib/unistr/u16-strpbrk.c: Likewise.
1361         * lib/unistr/u16-strrchr.c: Likewise.
1362         * lib/unistr/u16-strspn.c: Likewise.
1363         * lib/unistr/u16-strstr.c: Likewise.
1364         * lib/unistr/u16-strtok.c: Likewise.
1365         * lib/unistr/u16-to-u32.c: Likewise.
1366         * lib/unistr/u16-to-u8.c: Likewise.
1367         * lib/unistr/u16-uctomb-aux.c: Likewise.
1368         * lib/unistr/u16-uctomb.c: Likewise.
1369         * lib/unistr/u32-check.c: Likewise.
1370         * lib/unistr/u32-chr.c: Likewise.
1371         * lib/unistr/u32-cmp.c: Likewise.
1372         * lib/unistr/u32-cpy-alloc.c: Likewise.
1373         * lib/unistr/u32-cpy.c: Likewise.
1374         * lib/unistr/u32-endswith.c: Likewise.
1375         * lib/unistr/u32-mblen.c: Likewise.
1376         * lib/unistr/u32-mbsnlen.c: Likewise.
1377         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
1378         * lib/unistr/u32-mbtouc.c: Likewise.
1379         * lib/unistr/u32-mbtoucr.c: Likewise.
1380         * lib/unistr/u32-move.c: Likewise.
1381         * lib/unistr/u32-next.c: Likewise.
1382         * lib/unistr/u32-prev.c: Likewise.
1383         * lib/unistr/u32-set.c: Likewise.
1384         * lib/unistr/u32-startswith.c: Likewise.
1385         * lib/unistr/u32-stpcpy.c: Likewise.
1386         * lib/unistr/u32-stpncpy.c: Likewise.
1387         * lib/unistr/u32-strcat.c: Likewise.
1388         * lib/unistr/u32-strchr.c: Likewise.
1389         * lib/unistr/u32-strcmp.c: Likewise.
1390         * lib/unistr/u32-strcpy.c: Likewise.
1391         * lib/unistr/u32-strcspn.c: Likewise.
1392         * lib/unistr/u32-strdup.c: Likewise.
1393         * lib/unistr/u32-strlen.c: Likewise.
1394         * lib/unistr/u32-strmblen.c: Likewise.
1395         * lib/unistr/u32-strmbtouc.c: Likewise.
1396         * lib/unistr/u32-strncat.c: Likewise.
1397         * lib/unistr/u32-strncmp.c: Likewise.
1398         * lib/unistr/u32-strncpy.c: Likewise.
1399         * lib/unistr/u32-strnlen.c: Likewise.
1400         * lib/unistr/u32-strpbrk.c: Likewise.
1401         * lib/unistr/u32-strrchr.c: Likewise.
1402         * lib/unistr/u32-strspn.c: Likewise.
1403         * lib/unistr/u32-strstr.c: Likewise.
1404         * lib/unistr/u32-strtok.c: Likewise.
1405         * lib/unistr/u32-to-u16.c: Likewise.
1406         * lib/unistr/u32-to-u8.c: Likewise.
1407         * lib/unistr/u32-uctomb.c: Likewise.
1408         * lib/unistr/u8-check.c: Likewise.
1409         * lib/unistr/u8-chr.c: Likewise.
1410         * lib/unistr/u8-cmp.c: Likewise.
1411         * lib/unistr/u8-cpy-alloc.c: Likewise.
1412         * lib/unistr/u8-cpy.c: Likewise.
1413         * lib/unistr/u8-endswith.c: Likewise.
1414         * lib/unistr/u8-mblen.c: Likewise.
1415         * lib/unistr/u8-mbsnlen.c: Likewise.
1416         * lib/unistr/u8-mbtouc-aux.c: Likewise.
1417         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
1418         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
1419         * lib/unistr/u8-mbtouc.c: Likewise.
1420         * lib/unistr/u8-mbtoucr.c: Likewise.
1421         * lib/unistr/u8-move.c: Likewise.
1422         * lib/unistr/u8-next.c: Likewise.
1423         * lib/unistr/u8-prev.c: Likewise.
1424         * lib/unistr/u8-set.c: Likewise.
1425         * lib/unistr/u8-startswith.c: Likewise.
1426         * lib/unistr/u8-stpcpy.c: Likewise.
1427         * lib/unistr/u8-stpncpy.c: Likewise.
1428         * lib/unistr/u8-strcat.c: Likewise.
1429         * lib/unistr/u8-strchr.c: Likewise.
1430         * lib/unistr/u8-strcmp.c: Likewise.
1431         * lib/unistr/u8-strcpy.c: Likewise.
1432         * lib/unistr/u8-strcspn.c: Likewise.
1433         * lib/unistr/u8-strdup.c: Likewise.
1434         * lib/unistr/u8-strlen.c: Likewise.
1435         * lib/unistr/u8-strmblen.c: Likewise.
1436         * lib/unistr/u8-strmbtouc.c: Likewise.
1437         * lib/unistr/u8-strncat.c: Likewise.
1438         * lib/unistr/u8-strncmp.c: Likewise.
1439         * lib/unistr/u8-strncpy.c: Likewise.
1440         * lib/unistr/u8-strnlen.c: Likewise.
1441         * lib/unistr/u8-strpbrk.c: Likewise.
1442         * lib/unistr/u8-strrchr.c: Likewise.
1443         * lib/unistr/u8-strspn.c: Likewise.
1444         * lib/unistr/u8-strstr.c: Likewise.
1445         * lib/unistr/u8-strtok.c: Likewise.
1446         * lib/unistr/u8-to-u16.c: Likewise.
1447         * lib/unistr/u8-to-u32.c: Likewise.
1448         * lib/unistr/u8-uctomb-aux.c: Likewise.
1449         * lib/unistr/u8-uctomb.c: Likewise.
1450         * lib/unitypes.h: Likewise.
1451         * lib/uniwidth.h: Likewise.
1452         * lib/uniwidth/cjk.h: Likewise.
1453         * lib/uniwidth/u16-strwidth.c: Likewise.
1454         * lib/uniwidth/u16-width.c: Likewise.
1455         * lib/uniwidth/u32-strwidth.c: Likewise.
1456         * lib/uniwidth/u32-width.c: Likewise.
1457         * lib/uniwidth/u8-strwidth.c: Likewise.
1458         * lib/uniwidth/u8-width.c: Likewise.
1459         * lib/uniwidth/width.c: Likewise.
1460
1461 2007-10-07  Bruno Haible  <bruno@clisp.org>
1462
1463         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
1464         The file is still under LGPL (see modules/inttypes).
1465
1466 2007-10-06  Bruno Haible  <bruno@clisp.org>
1467
1468         * modules/trunc (Dependencies): Add 'extensions'.
1469         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
1470         Reported by Ben Pfaff <blp@gnu.org>.
1471
1472 2007-10-06  Bruno Haible  <bruno@clisp.org>
1473
1474         * modules/freopen-tests: New file.
1475         * tests/test-freopen.c: New file.
1476
1477         * modules/fopen-tests: New file.
1478         * tests/test-fopen.c: New file.
1479
1480         * modules/fopen: New file.
1481         * lib/fopen.c: New file.
1482         * m4/fopen.m4: New file.
1483         * modules/freopen: New file.
1484         * lib/freopen.c: New file.
1485         * m4/freopen.m4: New file.
1486         * lib/stdio.in.h (fopen, freopen): New declarations.
1487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
1488         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
1489         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
1490         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
1491         * doc/functions/fopen.texi: Mention the 'fopen' module.
1492         * doc/functions/freopen.texi: Mention the 'freopen' module.
1493
1494 2007-10-06  Bruno Haible  <bruno@clisp.org>
1495
1496         * modules/open-tests: New file.
1497         * tests/test-open.c: New file.
1498
1499         * modules/open: New file.
1500         * lib/open.c: New file.
1501         * m4/open.m4: New file.
1502         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
1503         lib/open.c does.
1504         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
1505         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
1506         macros.
1507         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
1508         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
1509         REPLACE_OPEN.
1510         * doc/functions/open.texi: Mention the 'open' module.
1511
1512 2007-10-04  Bruno Haible  <bruno@clisp.org>
1513
1514         * modules/ceill-tests: New file.
1515         * tests/test-ceill.c: New file.
1516
1517         * modules/ceill: New file.
1518         * lib/ceill.c: Replace entire file.
1519         * m4/ceill.m4: New file.
1520         * lib/math.in.h (ceill): Replace declaration.
1521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
1522         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
1523         * doc/functions/ceill.texi: Mention the 'ceill' module.
1524         * modules/mathl (Files): Remove lib/ceill.c.
1525         (Depends-on): Add ceill.
1526
1527 2007-10-04  Bruno Haible  <bruno@clisp.org>
1528
1529         * modules/ceilf-tests: New file.
1530         * tests/test-ceilf.c: New file.
1531
1532         * modules/ceilf: New file.
1533         * lib/ceil.c: New file.
1534         * lib/ceilf.c: New file.
1535         * m4/ceilf.m4: New file.
1536         * lib/math.in.h (ceilf): New declaration.
1537         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
1538         HAVE_DECL_CEILF.
1539         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
1540         HAVE_DECL_CEILF.
1541         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
1542
1543 2007-10-04  Bruno Haible  <bruno@clisp.org>
1544
1545         * modules/floorl-tests: New file.
1546         * tests/test-floorl.c: New file.
1547
1548         * modules/floorl: New file.
1549         * lib/floorl.c: Replace entire file.
1550         * m4/floorl.m4: New file.
1551         * lib/math.in.h (floorl): Replace declaration.
1552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
1553         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
1554         * doc/functions/floorl.texi: Mention the 'floorl' module.
1555         * modules/mathl (Files): Remove lib/floorl.c.
1556         (Depends-on): Add floorl.
1557
1558 2007-10-04  Bruno Haible  <bruno@clisp.org>
1559
1560         * modules/floorf-tests: New file.
1561         * tests/test-floorf.c: New file.
1562
1563         * modules/floorf: New file.
1564         * lib/floor.c: New file.
1565         * lib/floorf.c: New file.
1566         * m4/floorf.m4: New file.
1567         * lib/math.in.h (floorf): New declaration.
1568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
1569         HAVE_DECL_FLOORF.
1570         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
1571         HAVE_DECL_FLOORF.
1572         * doc/functions/floorf.texi: Mention the 'floorf' module.
1573
1574 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
1575             Bruno Haible  <bruno@clisp.org>
1576
1577         Advertise for the Git server instead of the CVS server.
1578         * doc/gnulib-intro.texi (Steady Development): Mention the Git
1579         repository instead of the CVS one.
1580         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
1581         about all VCS systems generically.
1582         * doc/gnulib.texi (Introduction): Capitalize `Git'.
1583
1584 2007-10-04  Bruno Haible  <bruno@clisp.org>
1585
1586         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
1587         means.
1588         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
1589
1590 2007-10-04  Bruno Haible  <bruno@clisp.org>
1591
1592         * modules/truncl-tests: New file.
1593         * tests/test-truncl.c: New file.
1594
1595         * modules/truncl: New file.
1596         * lib/truncl.c: New file.
1597         * m4/truncl.m4: New file.
1598         * lib/math.in.h (truncl): New declaration.
1599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
1600         HAVE_DECL_TRUNCL.
1601         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
1602         HAVE_DECL_TRUNCL.
1603         * doc/functions/truncl.texi: Mention the 'truncl' module.
1604
1605 2007-10-04  Bruno Haible  <bruno@clisp.org>
1606
1607         * modules/truncf-tests: New file.
1608         * tests/test-truncf.c: New file.
1609
1610         * modules/truncf: New file.
1611         * lib/trunc.c: Make paramerizable through USE_* macros.
1612         * lib/truncf.c: New file.
1613         * m4/truncf.m4: New file.
1614         * lib/math.in.h (truncf): New declaration.
1615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
1616         HAVE_DECL_TRUNCF.
1617         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
1618         HAVE_DECL_TRUNCF.
1619         * doc/functions/truncf.texi: Mention the 'truncf' module.
1620
1621 2007-10-03  Bruno Haible  <bruno@clisp.org>
1622
1623         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
1624         augmentation also for tests modules.
1625         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
1626         * modules/atexit-tests (Makefile.am): Likewise.
1627         * modules/binary-io-tests (Makefile.am): Likewise.
1628         * modules/c-strcase-tests (Makefile.am): Likewise.
1629         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
1630         * modules/canonicalize-tests (Makefile.am): Likewise.
1631         * modules/closein-tests (Makefile.am): Likewise.
1632         * modules/fprintf-posix-tests (Makefile.am): Likewise.
1633         * modules/freadahead-tests (Makefile.am): Likewise.
1634         * modules/fseek-tests (Makefile.am): Likewise.
1635         * modules/fseeko-tests (Makefile.am): Likewise.
1636         * modules/ftell-tests (Makefile.am): Likewise.
1637         * modules/ftello-tests (Makefile.am): Likewise.
1638         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
1639         * modules/isnanl-tests (Makefile.am): Likewise.
1640         * modules/lseek-tests (Makefile.am): Likewise.
1641         * modules/mbscasecmp-tests (Makefile.am): Likewise.
1642         * modules/mbscasestr-tests (Makefile.am): Likewise.
1643         * modules/mbschr-tests (Makefile.am): Likewise.
1644         * modules/mbscspn-tests (Makefile.am): Likewise.
1645         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
1646         * modules/mbspbrk-tests (Makefile.am): Likewise.
1647         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
1648         * modules/mbsrchr-tests (Makefile.am): Likewise.
1649         * modules/mbsspn-tests (Makefile.am): Likewise.
1650         * modules/mbsstr-tests (Makefile.am): Likewise.
1651         * modules/printf-posix-tests (Makefile.am): Likewise.
1652         * modules/snprintf-posix-tests (Makefile.am): Likewise.
1653         * modules/sprintf-posix-tests (Makefile.am): Likewise.
1654         * modules/tsearch-tests (Makefile.am): Likewise.
1655         * modules/uniname/uniname-tests (Makefile.am): Likewise.
1656         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
1657         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
1658         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
1659         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
1660         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
1661         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
1662         * modules/vprintf-posix-tests (Makefile.am): Likewise.
1663         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
1664         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
1665         * modules/xstrtoimax-tests (Makefile.am): Likewise.
1666         * modules/xstrtol-tests (Makefile.am): Likewise.
1667         * modules/xstrtoumax-tests (Makefile.am): Likewise.
1668         * modules/yesno-tests (Makefile.am): Likewise.
1669
1670 2007-10-03  Bruno Haible  <bruno@clisp.org>
1671
1672         * modules/trunc-tests: New file.
1673         * tests/test-trunc.c: New file.
1674
1675         * modules/trunc: New file.
1676         * lib/trunc.c: New file.
1677         * m4/trunc.m4: New file.
1678         * lib/math.in.h (trunc): New declaration.
1679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
1680         HAVE_DECL_TRUNC.
1681         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
1682         HAVE_DECL_TRUNC.
1683         * doc/functions/trunc.texi: Mention the 'trunc' module.
1684
1685 2007-10-03  Bruno Haible  <bruno@clisp.org>
1686
1687         * tests/test-fpending.c: New file, mostly copied
1688         from coreutils/lib/t-fpending.c.
1689         * modules/fpending-tests: New file.
1690
1691 2007-10-03  Bruno Haible  <bruno@clisp.org>
1692
1693         Port the stdio extensions to QNX (untested).
1694         * lib/fseterr.c (fseterr): Add support for QNX.
1695         * lib/fbufmode.c (fbufmode): Likewise.
1696         * lib/freadable.c (freadable): Likewise.
1697         * lib/fwritable.c (fwritable): Likewise.
1698         * lib/freading.c (freading): Likewise.
1699         * lib/fwriting.c (fwriting): Likewise.
1700         * lib/freadahead.c (freadahed): Likewise.
1701         * lib/fpurge.c (fpurge): Likewise.
1702         * lib/fseeko.c (rpl_fseeko): Likewise.
1703
1704 2007-10-03  Bruno Haible  <bruno@clisp.org>
1705             Jim Meyering  <jim@meyering.net>
1706             Eric Blake  <ebb9@byu.net>
1707
1708         * doc/relocatable.texi: Use @command instead of @program.
1709
1710 2007-10-02  Jim Meyering  <jim@meyering.net>
1711
1712         Perform one more "_.h" -> ".in.h" substitution.
1713         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
1714         instead of unistd_.h here, too.
1715
1716 2007-10-01  Bruno Haible  <bruno@clisp.org>
1717
1718         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
1719         Needed for the alloca-opt module.
1720
1721 2007-09-30  Bruno Haible  <bruno@clisp.org>
1722
1723         * lib/alloca.in.h: Renamed from lib/alloca_.h.
1724         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
1725         alloca_.h.
1726         * lib/argz.in.h: Renamed from lib/argz_.h.
1727         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
1728         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
1729         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
1730         byteswap_.h.
1731         * lib/dirent.in.h: Renamed from lib/dirent_.h.
1732         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
1733         dirent_.h.
1734         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
1735         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
1736         fcntl_.h.
1737         * lib/float.in.h: Renamed from lib/float_.h.
1738         * modules/float (Files, Makefile.am): Use float.in.h instead of
1739         float_.h.
1740         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
1741         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
1742         fnmatch_.h.
1743         * lib/getopt.in.h: Renamed from lib/getopt_.h.
1744         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
1745         getopt_.h.
1746         * lib/glob.in.h: Renamed from lib/glob_.h.
1747         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
1748         * lib/iconv.in.h: Renamed from lib/iconv_.h.
1749         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
1750         iconv_.h.
1751         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
1752         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
1753         inttypes_.h.
1754         * lib/locale.in.h: Renamed from lib/locale_.h.
1755         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
1756         locale_.h.
1757         * lib/math.in.h: Renamed from lib/math_.h.
1758         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
1759         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
1760         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
1761         of netinet_in_.h. Add dependency.
1762         * lib/poll.in.h: Renamed from lib/poll_.h.
1763         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
1764         * lib/search.in.h: Renamed from lib/search_.h.
1765         * modules/search (Files, Makefile.am): Use search.in.h instead of
1766         search_.h.
1767         * lib/signal.in.h: Renamed from lib/signal_.h.
1768         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
1769         _signal.h.
1770         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
1771         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
1772         stdbool_.h.
1773         * lib/stdint.in.h: Renamed from lib/stdint_.h.
1774         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
1775         stdint_.h.
1776         * lib/stdio.in.h: Renamed from lib/stdio_.h.
1777         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
1778         stdio_.h.
1779         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
1780         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
1781         stdlib_.h.
1782         * lib/string.in.h: Renamed from lib/string_.h.
1783         * modules/string (Files, Makefile.am): Use string.in.h instead of
1784         string_.h.
1785         * doc/gnulib-tool.texi (Initial import): Update.
1786         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
1787         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
1788         of sys_select_.h. Add dependency.
1789         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
1790         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
1791         of sys_socket_.h.
1792         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
1793         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
1794         sys_stat_.h.
1795         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
1796         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
1797         sys_time_.h.
1798         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
1799         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
1800         sysexits_.h.
1801         * lib/time.in.h: Renamed from lib/time_.h.
1802         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
1803         * lib/unistd.in.h: Renamed from lib/unistd_.h.
1804         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
1805         unistd_.h.
1806         * lib/wchar.in.h: Renamed from lib/wchar_.h.
1807         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
1808         wchar_.h.
1809         * lib/wctype.in.h: Renamed from lib/wctype_.h.
1810         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
1811         wctype_.h.
1812         * build-aux/bootstrap (slurp): Update.
1813         * lib/.cppi-disable: Update.
1814
1815 2007-09-30  Bruno Haible  <bruno@clisp.org>
1816
1817         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
1818         Needed on BeOS.
1819
1820 2007-09-30  Bruno Haible  <bruno@clisp.org>
1821
1822         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
1823
1824 2007-09-29  Bruno Haible  <bruno@clisp.org>
1825
1826         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
1827
1828 2007-09-29  Bruno Haible  <bruno@clisp.org>
1829
1830         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
1831         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
1832         * build-aux/install-reloc: Compile also areadlink.c.
1833         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
1834
1835 2007-09-29  Bruno Haible  <bruno@clisp.org>
1836
1837         * gnulib-tool (func_emit_initmacro_done): Indentation.
1838
1839 2007-09-29  Bruno Haible  <bruno@clisp.org>
1840
1841         * README: Add CVS checkout update instructions.
1842         Info from Bob Proulx <bob@proulx.com>.
1843
1844 2007-09-28  Eric Blake  <ebb9@byu.net>
1845
1846         Provide move-if-change.
1847         * build-aux/move-if-change: New file, based on best practice
1848         rather than any canonical upstream location.
1849
1850 2007-09-28  Jim Meyering  <jim@meyering.net>
1851
1852         Fix canonicalize loop-detection corner case.
1853         Do not attempt to stat the symlink values stored via seen_triple.
1854         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
1855         on linux-2.6.18, (but not 2.6.22).
1856         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
1857         triple_compare.  The former compares dev,ino,filename, while the latter
1858         would actually stat dirname(filename) when dev and ino were equal.
1859         * lib/hash-triple.c: Install <string.h>.
1860         (STREQ): Define.
1861         (triple_compare_ino_str): New function.
1862         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
1863
1864 2007-09-28  Eric Blake  <ebb9@byu.net>
1865
1866         Enforce that AC_REPLACE_FUNCS files exist.
1867         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
1868         override check for typos.
1869
1870         Fix test-closein on Solaris 10.
1871         * tests/test-closein.c (main): Don't assume stdin can be inherited
1872         closed on all systems.
1873         * tests/test-closein.sh: Likewise.
1874         Reported by Piotr Tarnowski.
1875
1876 2007-09-28  Jim Meyering  <jim@meyering.net>
1877
1878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
1879
1880 2007-09-27  Jim Meyering  <jim@meyering.net>
1881
1882         canonicalize: Avoid a false-positive cycle failure.
1883         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
1884         Sort.  Remove cycle-check.
1885         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
1886         not cycle-check.h.
1887         (seen_triple): New function.
1888         (canonicalize_filename_mode): Use it instead of cycle-check.
1889         * tests/test-canonicalize.c: Add a test for this bug.
1890         * tests/test-canonicalize.sh: Set up and run the test.
1891
1892         New module, file-set, from coreutils.
1893         * modules/file-set: Define it.
1894         * lib/file-set.c, lib/file-set.h: Implement.
1895
1896         New module, hash-triple, from coreutils.
1897         * modules/hash-triple: Define it.
1898         * lib/hash-triple.c, lib/hash-triple.h: Implement.
1899
1900 2007-09-25  Eric Blake  <ebb9@byu.net>
1901
1902         Fix strerror on Interix.
1903         * lib/string_.h (strerror): Declare replacement.
1904         * doc/functions/strerror.texi (strerror): Document the Interix
1905         shortcoming.
1906         * modules/string (Makefile.am): Support new hooks.
1907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
1908         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
1909         gl_FUNC_STRERROR_SEPARATE.
1910         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
1911         * lib/strerror.c (rpl_strerror): Provide replacement.
1912         * modules/strerror (Depends-on): Add string.
1913         (configure.ac): Detect use of module.
1914         * tests/test-strerror.c: New file.
1915         * modules/strerror-tests: New test module.
1916         * modules/argp (Depends-on): Add strerror.
1917         * modules/error (Depends-on): Likewise.
1918         Reported by Martin Koeppe.
1919
1920 2007-09-24  Bruno Haible  <bruno@clisp.org>
1921
1922         * README: Update git instructions.
1923
1924 2007-09-24  Eric Blake  <ebb9@byu.net>
1925
1926         Revert fpending breakage from 2007-09-08.
1927         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
1928         __fpending.c.
1929
1930 2007-09-24  Jim Meyering  <jim@meyering.net>
1931
1932         filenamecat.c: Add a test.
1933         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
1934         showing how the function works when DIR is the empty string.
1935
1936 2007-09-21  Simon Josefsson  <simon@josefsson.org>
1937
1938         * tests/test-canonicalize.sh: Turn on executable bit.
1939
1940 2007-09-19  Eric Blake  <ebb9@byu.net>
1941
1942         * README: Update CVS instructions.
1943
1944 2007-09-18  Bruno Haible  <bruno@clisp.org>
1945
1946         * modules/areadlink: New file.
1947         * lib/areadlink.h (areadlink): New declaration.
1948         * lib/areadlink.c: New file, based on lib/xreadlink.c.
1949
1950 2007-09-17  Jim Meyering  <jim@meyering.net>
1951
1952         * lib/savewd.c (ESTALE) [!defined]: Define.
1953         Reported to be required on Interix by Martin Koeppe.
1954
1955 2007-09-17  Bruno Haible  <bruno@clisp.org>
1956
1957         * gnulib-tool (func_version): Use $version.
1958
1959 2007-09-16  Bruno Haible  <bruno@clisp.org>
1960
1961         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
1962         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
1963         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
1964         Reported by Greg Schafer <gschafer@zip.com.au>.
1965
1966 2007-09-15  Bruno Haible  <bruno@clisp.org>
1967
1968         * gnulib-tool (sed): Try a little harder to make bash understand the
1969         alias.
1970         Reported by Bruce Korb <bruce.korb@gmail.com>.
1971
1972 2007-09-13  Eric Blake  <ebb9@byu.net>
1973
1974         * ChangeLog: Remove conflict markers.
1975
1976 2007-09-13  Simon Josefsson  <simon@josefsson.org>
1977
1978         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
1979         Reported by Bruno Haible <bruno@clisp.org>.
1980
1981 2007-09-12  Bruno Haible  <bruno@clisp.org>
1982
1983         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
1984         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
1985         is not defined.
1986
1987 2007-09-12  Eric Blake  <ebb9@byu.net>
1988
1989         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
1990         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
1991         Autoconf definition.
1992         * modules/euidaccess (Depends-on): Add extensions, for
1993         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
1994         * modules/fnmatch (Depends-on): Likewise.
1995         * modules/getaddrinfo (Depends-on): Likewise.
1996         * modules/getdelim (Depends-on): Likewise.
1997         * modules/getline (Depends-on): Likewise.
1998         * modules/getsubopt (Depends-on): Likewise.
1999         * modules/gettext (Depends-on): Likewise.
2000         * modules/group-member (Depends-on): Likewise.
2001         * modules/mbchar (Depends-on): Likewise.
2002         * modules/memmem (Depends-on): Likewise.
2003         * modules/mempcpy (Depends-on): Likewise.
2004         * modules/memrchr (Depends-on): Likewise.
2005         * modules/pagealign_alloc (Depends-on): Likewise.
2006         * modules/readutmp (Depends-on): Likewise.
2007         * modules/stpcpy (Depends-on): Likewise.
2008         * modules/stpncpy (Depends-on): Likewise.
2009         * modules/strchrnul (Depends-on): Likewise.
2010         * modules/strndup (Depends-on): Likewise.
2011         * modules/strsep (Depends-on): Likewise.
2012         * modules/strverscmp (Depends-on): Likewise.
2013         * modules/vasprintf (Depends-on): Likewise.
2014         * modules/wcwidth (Depends-on): Likewise.
2015         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
2016         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
2017         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
2018         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
2019         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
2020         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2021         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
2022         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
2023         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
2024         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
2025         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
2026         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
2027         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
2028         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
2029         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
2030         * m4/readutmp.m4 (gl_READUTMP): Likewise.
2031         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2032         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
2033         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2034         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
2035         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
2036         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
2037         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
2038         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
2039         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
2040         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2041         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
2042         so that lock.m4 can be used in gettext without extensions module.
2043
2044 2007-09-11  Bruno Haible  <bruno@clisp.org>
2045
2046         * m4/isc-posix.m4: Remove file.
2047         Suggested by Eric Blake.
2048
2049 2007-09-11  Eric Blake  <ebb9@byu.net>
2050
2051         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
2052
2053 2007-09-10  Bruno Haible  <bruno@clisp.org>
2054
2055         * posix-modules: Fix typo in error message.
2056         Reported by Matt <mkraai@beckman.com>.
2057
2058 2007-09-09  Bruno Haible  <bruno@clisp.org>
2059
2060         * doc/functions/getdelim.texi: Update list of platforms lacking the
2061         function.
2062         * doc/functions/getline.texi: Likewise.
2063
2064 2007-09-09  Jim Meyering  <jim@meyering.net>
2065
2066         * lib/hash.c (hash_initialize): Detect calloc failure.
2067         Reported by Bruno Haible.
2068
2069 2007-09-09  Bruno Haible  <bruno@clisp.org>
2070
2071         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
2072         malloc or realloc fails.
2073
2074 2007-09-09  Bruno Haible  <bruno@clisp.org>
2075
2076         * modules/getcwd (Depends-on): Add malloc-posix.
2077         * modules/glob (Depends-on): Likewise.
2078         * modules/putenv (Depends-on): Likewise.
2079         * modules/strdup (Depends-on): Likewise.
2080         * modules/getdelim (Depends-on): Add realloc-posix.
2081         * modules/read-file (Depends-on): Likewise.
2082
2083 2007-09-09  Bruno Haible  <bruno@clisp.org>
2084
2085         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
2086         (gl_FUNC_MALLOC_POSIX): Require it.
2087         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
2088         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
2089         * modules/realloc (Files): Add m4/malloc.m4.
2090         * modules/calloc (Files): Likewise.
2091
2092 2007-09-09  Bruno Haible  <bruno@clisp.org>
2093
2094         * modules/malloc-posix: New file.
2095         * modules/malloc (Depends-on): Add malloc-posix.
2096         * lib/malloc.c: Include errno.h.
2097         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
2098         and a POSIX-compatible malloc into a single function. Set ENOMEM
2099         when returning NULL.
2100         * m4/malloc.m4: New file.
2101         * doc/functions/malloc.texi: Mention the malloc-posix module.
2102         * lib/stdlib_.h (malloc): New declaration.
2103         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2104         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
2105         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
2106         and HAVE_MALLOC_POSIX.
2107
2108 2007-09-09  Bruno Haible  <bruno@clisp.org>
2109
2110         * modules/realloc-posix: New file.
2111         * modules/realloc (Depends-on): Add realloc-posix.
2112         * lib/realloc.c: Include errno.h.
2113         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
2114         and a POSIX-compatible realloc into a single function. Set ENOMEM
2115         when returning NULL.
2116         * m4/realloc.m4: New file.
2117         * doc/functions/realloc.texi: Mention the realloc-posix module.
2118         * lib/stdlib_.h (realloc): New declaration.
2119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2120         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
2121         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
2122         and HAVE_REALLOC_POSIX.
2123
2124 2007-09-09  Bruno Haible  <bruno@clisp.org>
2125
2126         * modules/calloc-posix: New file.
2127         * modules/calloc (Depends-on): Add calloc-posix.
2128         * lib/calloc.c: Include errno.h.
2129         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
2130         and a POSIX-compatible calloc into a single function. Set ENOMEM
2131         when returning NULL.
2132         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
2133         * doc/functions/calloc.texi: Mention the calloc-posix module.
2134         * lib/stdlib_.h (calloc): New declaration.
2135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2136         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
2137         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
2138         and HAVE_CALLOC_POSIX.
2139
2140 2007-09-09  Bruno Haible  <bruno@clisp.org>
2141
2142         Allow for modules to show an arbitrary notice.
2143         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
2144         * gnulib-tool: New option --extract-notice.
2145         (func_usage): Document it.
2146         (sed_extract_prog): Update.
2147         (func_get_notice): New function.
2148         (func_modules_notice): New function.
2149         (func_import, func_create_testdir): Invoke it.
2150         Suggested by Jim Meyering.
2151
2152 2007-09-09  Bruno Haible  <bruno@clisp.org>
2153
2154         * gnulib-tool: New options --verbose, --quiet.
2155         (func_usage): Document them.
2156         (verbose): New variable.
2157         (func_execute_command): New function.
2158         (func_import): Don't show the module list and the file list if
2159         $verbose < 0.
2160         (func_create_testdir): Likewise. Use func_execute_command.
2161         (func_create_megatestdir): Use func_execute_command.
2162
2163 2007-09-08  Bruno Haible  <bruno@clisp.org>
2164
2165         * gnulib-tool (func_import): Prefer rsync over wget when available,
2166         for fetching the PO files.
2167
2168 2007-09-08  Bruno Haible  <bruno@clisp.org>
2169
2170         * posix-modules: New file. Portions copied from gnulib-tool.
2171         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
2172
2173 2007-09-08  Jim Meyering  <jim@meyering.net>
2174
2175         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
2176         * lib/fpending.h: Rename from __fpending.h.
2177         * lib/fpending.c: Rename from __fpending.c.
2178         Include "fpending.h", not "__fpending.h".
2179         * lib/__fpending.h, lib/__fpending.c: Remove files.
2180         * modules/fpending (Files): Reflect new file names.
2181         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
2182
2183 2007-09-08  Bruno Haible  <bruno@clisp.org>
2184
2185         * m4/inttypes-h.m4: Remove stub file.
2186
2187 2007-09-07  Simon Josefsson  <simon@josefsson.org>
2188
2189         * doc/headers/stdint.texi: Discuss #include_next issue.
2190
2191 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
2192
2193         * build-aux/bootstrap: Remove obsolete comment about wget --help.
2194
2195 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2196
2197         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
2198         in variable name.
2199
2200 2007-09-03  Jim Meyering  <jim@meyering.net>
2201
2202         New module: git-version-gen.
2203         * modules/git-version-gen: New file.
2204
2205         Import changes from coreutils for bootstrap script.
2206
2207         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
2208
2209         bootstrap: uses rsync to download the .po files
2210         * build-aux/bootstrap (po_download_command_format): New global.
2211         (download_po_files): Use rsync.
2212         (update_po_files): Don't remove .po files after download,
2213         so future rsync runs can take advantage of the copies.
2214
2215         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
2216
2217         Solve the unnecessary-.po-file-regeneration problem once and for all.
2218         * build-aux/bootstrap (download_po_files): New function, renamed from
2219         get_translations.  Now, downloads, but doesn't update LINGUAS.
2220         (update_po_files): New function.
2221
2222         bootstrap: Ignore more.
2223         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
2224         uniwidth to e.g., lib/.gitignore.
2225         (slurp): Handle the sys_stat_.h -> sys mapping, too.
2226
2227         * build-aux/bootstrap: New setting: vc_ignore.
2228         (insert_sorted_if_absent): Create $file if absent.
2229         Adapt to new, possibly empty, list: $vc_ignore.
2230
2231         bootstrap: generate more ignorable names
2232         * build-aux/bootstrap (slurp): When generating ignorable names,
2233         also map .sin to .sed, .gperf to .c, and .y to .c.
2234
2235 2007-09-03  Jim Meyering  <jim@meyering.net>
2236
2237         * build-aux/git-version-gen: New file, from coreutils.  For details, see
2238         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
2239
2240 2007-09-02  Bruno Haible  <bruno@clisp.org>
2241
2242         Fix mis-recognition of 'mcs' on QNX 6.
2243         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
2244         output contains the string "Mono".
2245         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
2246         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
2247
2248 2007-09-01  Bruno Haible  <bruno@clisp.org>
2249
2250         Fix collision between uniwidth/* and linebreak modules.
2251         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
2252         u32_width): Remove declarations.
2253         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
2254         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
2255         streq3, streq2, streq1, streq0): Remove functions.
2256         (STREQ): Remove macro.
2257         (is_cjk_encoding): Remove function.
2258         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
2259         (uc_width, u8_width, u16_width, u32_width): Remove functions.
2260         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
2261         * NEWS: Document the change.
2262
2263 2007-09-01  Bruno Haible  <bruno@clisp.org>
2264
2265         * lib/streq.h: Add double-inclusion guard.
2266
2267 2007-09-01  Karl Berry  <karl@gnu.org>
2268
2269         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
2270
2271 2007-08-28  Jim Meyering  <jim@meyering.net>
2272
2273         Rename mreadlink_with_size to areadlink_with_size.
2274         * NEWS: Document the change.
2275         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
2276         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
2277         * lib/mreadlink.h: Rename this to...
2278         * lib/areadlink.h: ...this.
2279         * modules/mreadlink-with-size: Rename this to...
2280         * modules/areadlink-with-size: ...this.
2281         * lib/canonicalize.c: Reflect the renaming.
2282         * modules/canonicalize: Likewise.
2283
2284 2007-08-26  Bruno Haible  <bruno@clisp.org>
2285
2286         * gnulib-tool (func_import): When deciding which files to remove,
2287         consider also dangling symbolic links.
2288         Reported by Eric Blake.
2289
2290 2007-08-26  Bruno Haible  <bruno@clisp.org>
2291
2292         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
2293
2294 2007-08-23  Simon Josefsson  <simon@josefsson.org>
2295
2296         * lib/readline.c: Don't include getline.h, the prototype is now
2297         found in stdio.h.
2298
2299 2007-08-23  Jim Meyering  <jim@meyering.net>
2300
2301         Getdelim touchup.
2302         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
2303         around the funlockfile call, since funlockfile never sets errno.
2304         Don't set errno upon failed realloc.
2305
2306 2007-08-22  Eric Blake  <ebb9@byu.net>
2307
2308         Getline touchups.
2309         * lib/getdelim.c (getdelim): Revert regression that required *n to
2310         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
2311         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
2312         getdelim, rather than whether implementation is missing.
2313         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
2314         * lib/stdio_.h (getline): Also declare if replacement is
2315         required.
2316         * doc/functions/getdelim.texi: New file.
2317         * doc/functions/getline.texi: Likewise.
2318         * doc/gnulib.texi (Function Substitutes): Add new files.
2319         Reported by Bruno Haible.
2320
2321 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
2322
2323         * users.txt: Add Guile.
2324
2325 2007-08-22  Eric Blake  <ebb9@byu.net>
2326
2327         * tests/test-getdelim.c (main): Use remove, not unlink.
2328         * tests/test-getline.c (main): Likewise.
2329
2330         Move getline and getdelim into stdio.h, per POSIX 200x.
2331         * modules/getline (Files): Remove getline.h.
2332         (Depends-on): Add stdio.
2333         (configure.ac): Add module indicator.
2334         * modules/getdelim (Files): Remove getdelim.h.
2335         (Depends-on): Add stdio.
2336         (configure.ac): Add module indicator.
2337         * modules/stdio (Makefile.am): Work with new indicators.
2338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
2339         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
2340         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2341         * lib/getdelim.h: Delete.
2342         * lib/getline.h: Delete.
2343         * lib/stdio_.h (getdelim, getline): Declare.
2344         * modules/getdelim-tests: New module.
2345         * modules/getline-tests: Likewise.
2346         * tests/test-getdelim.c: New file.
2347         * tests/test-getline.c: Likewise.
2348         * NEWS: Document the change.
2349         * lib/getline.c: Update choice of header.
2350         * lib/csharpcomp.c: Likewise.
2351         * lib/getpass.c: Likewise.
2352         * lib/javacomp.c: Likewise.
2353         * lib/javaversion.c: Likewise.
2354         * lib/yesno.c: Likewise.
2355         * lib/getdelim.c: Likewise.
2356         (getdelim): Set errno on failure, and avoid memory leak.
2357
2358 2007-08-19  Bruno Haible  <bruno@clisp.org>
2359
2360         * modules/closein (Depends-on): Add freadahead.
2361         * lib/closein.c: Include freadahead.h.
2362         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
2363         is zero.
2364
2365 2007-08-19  Bruno Haible  <bruno@clisp.org>
2366
2367         * modules/freadahead-tests: New file.
2368         * tests/test-freadahead.sh: New file.
2369         * tests/test-freadahead.c: New file.
2370
2371         * modules/freadahead: New file.
2372         * lib/freadahead.h: New file.
2373         * lib/freadahead.c: New file.
2374         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
2375         fbufmode, fpurge, freadable, fwritable.
2376
2377 2007-08-19  Eric Blake  <ebb9@byu.net>
2378
2379         Test yesno in combination with closein.
2380         * lib/yesno.c (yesno): Document use of stdin.
2381         * modules/yesno-tests (Files): New module.
2382         * tests/test-yesno.c (main): New file.
2383         * tests/test-yesno.sh: Likewise.
2384
2385 2007-08-19  Bruno Haible  <bruno@clisp.org>
2386
2387         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
2388         * lib/fseeko.c (rpl_fseeko): Likewise.
2389         * lib/fseterr.c (fseterr): Likewise.
2390
2391 2007-08-19  Bruno Haible  <bruno@clisp.org>
2392
2393         * tests/test-lseek.c (main): Disable a test for BeOS.
2394         * doc/functions/lseek.texi: Document the BeOS bug.
2395
2396 2007-08-19  Bruno Haible  <bruno@clisp.org>
2397             Eric Blake  <ebb9@byu.net>
2398
2399         * lib/lseek.c: Include <sys/stat.h>.
2400         (rpl_lseek): Add workaround code also for Unix platforms.
2401         Needed for BeOS.
2402         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
2403         * doc/functions/lseek.texi: Document BeOS definiency.
2404
2405 2007-08-18  Bruno Haible  <bruno@clisp.org>
2406
2407         * modules/fstrcmp-tests: New file.
2408         * tests/test-fstrcmp.c: New file.
2409
2410 2007-08-18  Bruno Haible  <bruno@clisp.org>
2411
2412         * modules/fstrcmp: New file, from GNU gettext with modifications.
2413         * lib/fstrcmp.h: New file, from GNU gettext.
2414         * lib/fstrcmp.c: New file, from GNU gettext.
2415         * MODULES.html.sh (String handling): Add fstrcmp.
2416
2417 2007-08-18  Bruno Haible  <bruno@clisp.org>
2418
2419         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
2420         'bool'.
2421         (diag, compareseq): Remove const from the ctxt argument.
2422         (USE_HEURISTIC): Undefine at the end.
2423
2424 2007-08-18  Jim Meyering  <jim@meyering.net>
2425
2426         New file: lib/idcache.h
2427         * NEWS: Mention the addition.
2428         * modules/idcache (Files): Add lib/idcache.h
2429         * lib/idcache.c: Include "idcache.h".
2430         Don't include <sys/types.h>.
2431         Add a FIXME comment.
2432         Move file-scoped "static" declarations to the top.
2433         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
2434
2435 2007-08-17  Bruno Haible  <bruno@clisp.org>
2436         and Paul Eggert  <eggert@cs.ucla.edu>
2437
2438         * MODULES.html.sh: Add diffseq.
2439         * modules/diffseq: New file.
2440         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
2441         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
2442
2443 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2444
2445         Import changes from coreutils for bootstrap script.
2446
2447         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
2448
2449         * build-aux/bootstrap (slurp): Work even in environments where
2450         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
2451         current code does not slurp files whose names start with ".", and
2452         this looks like it might be a troublesome area.
2453
2454         2007-07-11  Jim Meyering  <jim@meyering.net>
2455
2456         If there's a GPL vN copyright comment, require that N == 3.
2457
2458         2007-07-08  Jim Meyering  <jim@meyering.net>
2459
2460         Run the coreutils-specific code only if tests/Makefile.am.in exists.
2461         * build-aux/bootstrap (mam_template): Move definition out of loop.
2462
2463         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
2464
2465         * build-aux/bootstrap (symlink_to_dir): Rename function from
2466         symlink_to_gnulib.  Add a directory parameter.  Update all
2467         callers.
2468         (cp_mark_as_generated): Also check for -- and link to -- files in
2469         gl/.
2470
2471         2007-07-08  Jim Meyering  <jim@meyering.net>
2472
2473         Adapt to deeper hierarchy in gnulib.
2474         * build-aux/bootstrap (symlink_to_dir): If the destination
2475         directory doesn't exist, create it. This is required at least for
2476         "lib/uniwidth/cjk.h".
2477
2478         2007-05-15  Jim Meyering  <jim@meyering.net>
2479
2480         * build-aux/bootstrap: Now that generated Makefile.am files
2481         are no longer under version control, they must be created at
2482         bootstrap time.
2483
2484 2007-08-14  Ben Pfaff  <blp@gnu.org>
2485
2486         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
2487
2488 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2489
2490         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
2491         given the changes below.
2492         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
2493         even on hosts that have padding bits beyond the supported 64.
2494
2495 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2496
2497         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
2498         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
2499         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
2500         depends on it.
2501         (xstrtol_error): Remove.
2502         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
2503         but with a different signature.
2504         (ATTRIBUTE_NORETURN, __attribute__): New macros.
2505         * lib/xstrtol-error.c: Include exitfail.h.
2506         (xstrtol_fatal): New function, with a different signature from the
2507         old xstrtol_error, so that the caller need not worry about passing
2508         in an exit status, or about storage management of the option argument.
2509         (xstrtol_error): Now a static function.  Redo signature to
2510         implement xstrtol_fatal.  Output the correct number of hyphens in
2511         front of the option so that the caller need not worry about
2512         storage management.
2513         (N_): New macro.
2514         (_): Remove; not used now.
2515         * modules/xstrtol: Depend on getopt.
2516         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
2517         of old STRTOL_FATAL_ERROR macro.
2518         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
2519         of test program.
2520         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
2521         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
2522
2523 2007-08-08  Eric Blake  <ebb9@byu.net>
2524
2525         * lib/xstrtol-error.c: Add missing include.
2526
2527         Move xstrtol messages into gnulib domain, when --pobase is used.
2528         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
2529         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
2530         * modules/xstrtol (Files): Distribute new file.
2531         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
2532         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
2533         * tests/test-xstrtol.c: ...into new file.
2534         * tests/test-xstrtoul.c: Also test xstrtoul.
2535         * tests/test-xstrtoimax.c: Also test xstrtoimax.
2536         * tests/test-xstrtoumax.c: Also test xstrtoumax.
2537         * tests/test-xstrtol.sh: Drive the tests.
2538         * tests/test-xstrtoimax.sh: Likewise.
2539         * tests/test-xstrtoumax.sh: Likewise.
2540         * modules/xstrtol-tests: New module.
2541         * modules/xstrtoimax-tests: Likewise.
2542         * modules/xstrtoumax-tests: Likewise.
2543
2544 2007-08-08  Jim Meyering  <jim@meyering.net>
2545
2546         New function: mfile_name_concat.
2547         * lib/filenamecat.c (mfile_name_concat): New function, just like
2548         file_name_concat, but return NULL upon failure rather than exiting
2549         with a diagnostic.
2550         * lib/filenamecat.h: Declare it.
2551
2552 2007-08-07  Bruno Haible  <bruno@clisp.org>
2553
2554         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
2555         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
2556         warning from gcc.
2557         Reported by Eric Blake.
2558
2559 2007-08-07  Simon Josefsson  <simon@josefsson.org>
2560
2561         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
2562         * modules/crypto/arcfour (License): Likewise.
2563         * modules/crypto/des-tests (License): Likewise.
2564         * modules/crypto/gc-arctwo-tests (License): Likewise.
2565         * modules/crypto/gc-des-tests (License): Likewise.
2566         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
2567         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
2568         * modules/crypto/gc-md2-tests (License): Likewise.
2569         * modules/crypto/gc-md4-tests (License): Likewise.
2570         * modules/crypto/gc-md5-tests (License): Likewise.
2571         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
2572         * modules/crypto/gc-rijndael-tests (License): Likewise.
2573         * modules/crypto/gc-sha1-tests (License): Likewise.
2574         * modules/crypto/gc-tests (License): Likewise.
2575         * modules/crypto/hmac-md5 (License): Likewise.
2576         * modules/crypto/hmac-sha1 (License): Likewise.
2577         * modules/crypto/md2-tests (License): Likewise.
2578         * modules/crypto/md4-tests (License): Likewise.
2579         * modules/crypto/md5 (License): Likewise.
2580         * modules/crypto/rijndael (License): Likewise.
2581         * modules/crypto/sha1 (License): Likewise.
2582         * modules/memxor (License): Likewise.
2583
2584 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
2585         and Bruno Haible  <bruno@clisp.org>
2586
2587         * NEWS: Describe interface changes to human, xstrtol.
2588         * lib/human.h: Include <xstrtol.h>.
2589         (human_options): Return enum strtol_error, not int.  Remove
2590         bool arg; take int * instead.
2591         * lib/human.c: Don't include "gettext.h".
2592         (_): Remove; no longer used.
2593         Don't include <xstrtol.h>, since human.h does it.
2594         (human_options): Adjust to abovementioned interface changes.
2595         Do not report error to stderr; that's now the caller's
2596         responsibility.
2597         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
2598         interface change.
2599         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
2600         Str, Argument_type_string.  All uses changed.  Put " argument"
2601         in diagnostics to make them clearer.  Change wording of suffix
2602         message for clarity.
2603         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
2604         Argument_type_string.
2605         (STRTOL_FATAL_WARN): Remove; no longer used.
2606         * modules/human (Depends-on): Remove gettext-h.
2607
2608 2007-08-06  Simon Josefsson  <simon@josefsson.org>
2609
2610         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
2611
2612 2007-07-31  Bruno Haible  <bruno@clisp.org>
2613
2614         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
2615         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
2616         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
2617
2618 2007-07-31  Bruno Haible  <bruno@clisp.org>
2619
2620         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
2621         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
2622
2623 2007-07-30  Bruno Haible  <bruno@clisp.org>
2624
2625         * modules/base64 (License): Use the synonymous term "LGPLv2+".
2626         * modules/c-ctype (License): Likewise.
2627         * modules/c-strcase (License): Likewise.
2628         * modules/check-version (License): Likewise.
2629         * modules/iconv (License): Likewise.
2630         * modules/iconv_open (License): Likewise.
2631         * modules/read-file (License): Likewise.
2632         * modules/striconv (License): Likewise.
2633         * modules/strverscmp (License): Likewise.
2634         * modules/vasprintf (License): Likewise.
2635         * modules/crypto/des (License): Likewise.
2636         * modules/crypto/gc (License): Likewise.
2637         * modules/crypto/gc-arcfour (License): Likewise.
2638         * modules/crypto/gc-arctwo (License): Likewise.
2639         * modules/crypto/gc-des (License): Likewise.
2640         * modules/crypto/gc-hmac-md5 (License): Likewise.
2641         * modules/crypto/gc-hmac-sha1 (License): Likewise.
2642         * modules/crypto/gc-md2 (License): Likewise.
2643         * modules/crypto/gc-md4 (License): Likewise.
2644         * modules/crypto/gc-md5 (License): Likewise.
2645         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
2646         * modules/crypto/gc-random (License): Likewise.
2647         * modules/crypto/gc-rijndael (License): Likewise.
2648         * modules/crypto/gc-sha1 (License): Likewise.
2649         * modules/crypto/md2 (License): Likewise.
2650         * modules/crypto/md4 (License): Likewise.
2651
2652 2007-07-30  Jim Meyering  <jim@meyering.net>
2653
2654         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
2655         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
2656         it has valid stat data.  This bug would cause du not to count the
2657         sizes of inaccessible directories.
2658         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
2659         in <http://bugzilla.redhat.com/250077>.
2660
2661 2007-07-25  Peter O'Gorman  <peter@pogma.com>
2662             Bruno Haible  <bruno@clisp.org>
2663
2664         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
2665         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
2666         #include_next, gives a diagnostic about it, but reports no error in
2667         the exit code.
2668         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
2669
2670 2007-07-24  Ben Pfaff  <blp@gnu.org>
2671
2672         Improve name: "count-one-bits" is better than "popcount".
2673         * MODULES.html.sh: Update name.
2674         * lib/popcount.h: Renamed lib/count-one-bits.h.
2675         (popcount): Renamed count_one_bits.
2676         (popcountl): Renamed count_one_bits_l.
2677         (popcountll): Renamed count_one_bits_ll.
2678         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
2679         * modules/popcount: Renamed module/count-one-bits.
2680         * modules/popcount-tests: Renamed module/count-one-bits-tests.
2681         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
2682
2683 2007-07-23  Ben Pfaff  <blp@gnu.org>
2684
2685         * lib/popcount.h (popcount32): Reduce size of constants, to allow
2686         better code generation, and add U to large constants to avoid
2687         warnings, in non-GCC case.
2688         Suggested by Bruno Haible.
2689
2690 2007-07-23  Ben Pfaff  <blp@gnu.org>
2691
2692         * lib/popcount.h: Use verify_true instead of if...abort.
2693         * modules/popcount: Depend on verify module.
2694         Suggested by Jim Meyering.
2695
2696 2007-07-23  Bruno Haible  <bruno@clisp.org>
2697
2698         * gnulib-tool (func_import): Create a .cvsignore file also when the
2699         directory is not yet in CVS but the toplevel directory is. When
2700         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
2701         Reported by Karl Berry.
2702
2703 2007-07-22  Ben Pfaff  <blp@gnu.org>
2704
2705         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
2706         case.
2707         Suggested by Eric Blake.
2708
2709 2007-07-22  Ben Pfaff  <blp@gnu.org>
2710
2711         New module: popcount.
2712         * MODULES.html.sh: Add popcount.
2713         * modules/popcount: New file.
2714         * modules/popcount-tests: New file.
2715         * tests/test-popcount.c: New file.
2716         * lib/popcount.h: New file.
2717         * m4/popcount.m4: New file.
2718
2719 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2720
2721         * build-aux/announce-gen: Update to GPLv3.
2722
2723         * build-aux/config.guess: Update from config.
2724
2725 2007-07-21  Bruno Haible  <bruno@clisp.org>
2726
2727         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
2728         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
2729
2730 2007-07-20  Jim Meyering  <jim@meyering.net>
2731
2732         * check-module: Diagnose a self-dependency.
2733
2734 2007-07-19  Bruno Haible  <bruno@clisp.org>
2735
2736         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
2737         empty.
2738         Reported by Eric Blake.
2739
2740 2007-07-18  Bruno Haible  <bruno@clisp.org>
2741
2742         * gnulib-tool: New options --po-base, --po-domain.
2743         (func_usage): Document them.
2744         (pobase, po_domain): New variables.
2745         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
2746         DEFAULT_TEXT_DOMAIN.
2747         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
2748         (func_import): Consider pobase and po_domain. Create a po/ directory.
2749         (func_create_testdir): Set pobase and po_domain to empty.
2750         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
2751         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
2752
2753 2007-07-18  Bruno Haible  <bruno@clisp.org>
2754
2755         * gnulib-tool (func_get_automake_snippet): Synthesize also an
2756         EXTRA_DIST augmentation for files in build-aux/.
2757
2758 2007-07-16  Bruno Haible  <bruno@clisp.org>
2759
2760         * modules/lseek (License): Use the synonymous term "LGPLv2+".
2761         * modules/getdelim (License): Likewise.
2762
2763 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2764
2765         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
2766         * modules/d-type (License): Likewise.
2767         * modules/extensions (License): Likewise.
2768         * modules/fnmatch (License): Likewise.
2769         * modules/fseeko (License): Likewise.
2770         * modules/getaddrinfo (License): Likewise.
2771         * modules/getline (License): Likewise.
2772         * modules/getlogin_r (License): Likewise.
2773         * modules/getpass (License): Likewise.
2774         * modules/gettimeofday (License): Likewise.
2775         * modules/glob (License): Likewise.
2776         * modules/inet_ntop (License): Likewise.
2777         * modules/malloc (License): Likewise.
2778         * modules/malloca (License): Likewise.
2779         * modules/memmem (License): Likewise.
2780         * modules/mempcpy (License): Likewise.
2781         * modules/memset (License): Likewise.
2782         * modules/minmax (License): Likewise.
2783         * modules/mktime (License): Likewise.
2784         * modules/netinet_in (License): Likewise.
2785         * modules/pathmax (License): Likewise.
2786         * modules/poll (License): Likewise.
2787         * modules/regex (License): Likewise.
2788         * modules/snprintf (License): Likewise.
2789         * modules/stdbool (License): Likewise.
2790         * modules/stdint (License): Likewise.
2791         * modules/stdio (License): Likewise.
2792         * modules/strcase (License): Likewise.
2793         * modules/strcasestr (License): Likewise.
2794         * modules/strdup (License): Likewise.
2795         * modules/string (License): Likewise.
2796         * modules/strndup (License): Likewise.
2797         * modules/strnlen (License): Likewise.
2798         * modules/strpbrk (License): Likewise.
2799         * modules/strptime (License): Likewise.
2800         * modules/strsep (License): Likewise.
2801         * modules/sys_select (License): Likewise.
2802         * modules/sys_socket (License): Likewise.
2803         * modules/sys_stat (License): Likewise.
2804         * modules/sys_time (License): Likewise.
2805         * modules/time (License): Likewise.
2806         * modules/time_r (License): Likewise.
2807         * modules/timegm (License): Likewise.
2808         * modules/unistd (License): Likewise.
2809         * modules/vsnprintf (License): Likewise.
2810         * modules/wctype (License): Likewise.
2811
2812 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2813
2814         * modules/argz (License): LGPLv2+.
2815
2816 2007-07-15  Karl Berry  <karl@gnu.org>
2817
2818         * doc/gnulib.texi: revise node structure per new fdl.texi.
2819
2820 2007-07-14  Bruno Haible  <bruno@clisp.org>
2821
2822         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
2823         the output file.
2824         * lib/uniname/uninames.h: Regenerated.
2825
2826 2007-07-14  Karl Berry  <karl@gnu.org>
2827
2828         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
2829         omitting sectioning and index commands.
2830
2831 2007-07-13  Bruno Haible  <bruno@clisp.org>
2832
2833         New gnulib-tool option --more-symlinks.
2834         * gnulib-tool (func_usage): Document --more-symlinks.
2835         (do_copyrights): New variable.
2836         Recognize option --more-symlinks.
2837         (func_import): Don't add a copyright notice transform to
2838         sed_transform_lib_file if do_copyrights is empty.
2839
2840 2007-07-13  Bruno Haible  <bruno@clisp.org>
2841
2842         * lib/vasnprintf.c (decimal_point_char): Define also if
2843         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
2844         && !NEED_PRINTF_DIRECTIVE_A.
2845         Reported by Clemens Koller <clemens.koller@anagramm.de> via
2846         Gary V. Vaughan <gary@gnu.org>.
2847
2848 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
2849
2850         * lib/inttypes_.h: Undo previous change, since it was fixed
2851         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
2852
2853 2007-07-13  Bruno Haible  <bruno@clisp.org>
2854
2855         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
2856         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
2857
2858 2007-07-13  Jim Meyering  <jim@meyering.net>
2859
2860         df: Don't fail for Tru64's "file-on-file mount".
2861         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
2862         so we fall through and use statfs instead.  Details here:
2863         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
2864         Reported by Albert Chin.
2865
2866 2007-07-13  Bruno Haible  <bruno@clisp.org>
2867
2868         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
2869         * modules/configmake (License): Likewise.
2870         * modules/gettext (License): Likewise.
2871         * modules/gettext-h (License): Likewise.
2872         * modules/include_next (License): Likewise.
2873         * modules/link-warning (License): Likewise.
2874         * modules/localcharset (License): Likewise.
2875         * modules/localename (License): Likewise.
2876         * modules/lock (License): Likewise.
2877         * modules/relocatable-lib-lgpl (License): Likewise.
2878         * modules/size_max (License): Likewise.
2879         * modules/vasnprintf (License): Likewise.
2880         * modules/wchar (License): Likewise.
2881         * modules/xsize (License): Likewise.
2882
2883 2007-07-13  Bruno Haible  <bruno@clisp.org>
2884
2885         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
2886         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
2887
2888 2007-07-12  Bruno Haible  <bruno@clisp.org>
2889
2890         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
2891         in the modules files.
2892
2893 2007-07-11  Karl Berry  <karl@gnu.org>
2894
2895         * MODULES.html.sh (func_module): use
2896          sed -e '\|^'"${includefile}"'$|d'
2897          instead of /.../d, to avoid errors on $includefile's containing /.
2898
2899 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2900
2901         * gnulib-tool (func_import): Avoid duplication of --avoid
2902         statements
2903         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
2904         names to `_' in variable names.
2905
2906 2007-07-10  Eric Blake  <ebb9@byu.net>
2907
2908         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
2909         * NEWS: Document this change.
2910
2911 2007-07-08  Bruno Haible  <bruno@clisp.org>
2912
2913         Update to Unicode 5.0.
2914         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
2915         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
2916         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
2917         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
2918         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
2919         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
2920         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
2921         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
2922         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
2923         U+10A3F, U+1D242..U+1D244.
2924         (nonspacing_table_ind): Update.
2925         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
2926         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
2927
2928 2007-07-08  Bruno Haible  <bruno@clisp.org>
2929
2930         Update to Unicode 5.0.
2931         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
2932         code transform. Extend the name index field of unicode_name_to_code and
2933         unicode_code_to_name from 16 to 24 bits.
2934         * lib/uniname/uniname.c (unicode_character_name,
2935         unicode_name_character): Add the range 0x12xxx to the code transform.
2936         * lib/uniname/uninames.h: Regenerated.
2937         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
2938
2939 2007-07-07  Bruno Haible  <bruno@clisp.org>
2940
2941         * modules/wcwidth-tests: New file.
2942         * tests/test-wcwidth.c: New file.
2943
2944         Work around MacOS X wcwidth() bug.
2945         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
2946         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
2947         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
2948         original wcwidth in non-UTF-8 locales.
2949         * modules/wcwidth (Depends-on): Add localcharset, streq,
2950         uniwidth/width.
2951         * doc/functions/wcwidth.texi: Update.
2952
2953 2007-07-07  Bruno Haible  <bruno@clisp.org>
2954
2955         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
2956         (wcwidth): New declaration.
2957         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
2958         macros.
2959         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
2960         here. Prepare for creating <wchar.h> unconditionally.
2961         * modules/wchar (Depends-on): Add link-warning.
2962         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
2963         REPLACE_WCWIDTH, and GL_LINK_WARNING.
2964         * lib/wcwidth.h: Remove file.
2965         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
2966         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
2967         * modules/wcwidth (Files): Remove lib/wcwidth.h.
2968         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
2969         (Include): Replace wcwidth.h with <wchar.h>.
2970         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
2971         * lib/mbchar.h: Don't include wcwidth.h.
2972         * lib/mbswidth.c: Likewise.
2973         * NEWS: Mention the change.
2974
2975 2007-07-07  Bruno Haible  <bruno@clisp.org>
2976
2977         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
2978         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
2979         definition with an external declaration.
2980         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
2981         defined as a function. Remove AC_C_INLINE requirement.
2982         * modules/wcwidth (Files): Add lib/wcwidth.c.
2983         (Makefile.am): Remove redundant statement.
2984
2985 2007-07-07  Bruno Haible  <bruno@clisp.org>
2986
2987         * MODULES.html.sh (Unicode string functions): Add the new modules.
2988
2989         * tests/uniwidth/test-u32-strwidth.c: New file.
2990         * modules/uniwidth/u32-strwidth-tests: New file.
2991
2992         * lib/uniwidth/u32-strwidth.c: New file.
2993         * modules/uniwidth/u32-strwidth: New file.
2994
2995         * tests/uniwidth/test-u16-strwidth.c: New file.
2996         * modules/uniwidth/u16-strwidth-tests: New file.
2997
2998         * lib/uniwidth/u16-strwidth.c: New file.
2999         * modules/uniwidth/u16-strwidth: New file.
3000
3001         * tests/uniwidth/test-u8-strwidth.c: New file.
3002         * modules/uniwidth/u8-strwidth-tests: New file.
3003
3004         * lib/uniwidth/u8-strwidth.c: New file.
3005         * modules/uniwidth/u8-strwidth: New file.
3006
3007         * tests/uniwidth/test-u32-width.c: New file.
3008         * modules/uniwidth/u32-width-tests: New file.
3009
3010         * lib/uniwidth/u32-width.c: New file.
3011         * modules/uniwidth/u32-width: New file.
3012
3013         * tests/uniwidth/test-u16-width.c: New file.
3014         * modules/uniwidth/u16-width-tests: New file.
3015
3016         * lib/uniwidth/u16-width.c: New file.
3017         * modules/uniwidth/u16-width: New file.
3018
3019         * tests/uniwidth/test-u8-width.c: New file.
3020         * modules/uniwidth/u8-width-tests: New file.
3021
3022         * lib/uniwidth/u8-width.c: New file.
3023         * modules/uniwidth/u8-width: New file.
3024
3025         * tests/uniwidth/test-uc_width.c: New file.
3026         * modules/uniwidth/width-tests: New file.
3027
3028         * lib/uniwidth/width.c: New file, from GNU libiconv.
3029         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
3030         * modules/uniwidth/width: New file.
3031
3032         * lib/uniwidth.h: New file, from GNU libiconv.
3033         * modules/uniwidth/base: New file.
3034
3035 2007-07-07  Bruno Haible  <bruno@clisp.org>
3036
3037         * lib/uniname.h: New file, from GNU gettext.
3038         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
3039         * lib/uniname/uninames.h: New file, from GNU gettext.
3040         * lib/uniname/uniname.c: New file, from GNU gettext.
3041         * tests/uniname/test-uninames.sh: New file.
3042         * tests/uniname/test-uninames.c: New file, from GNU gettext.
3043         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
3044         * modules/uniname/base: New file.
3045         * modules/uniname/uniname: New file.
3046         * modules/uniname/uniname-tests: New file.
3047         * MODULES.html.sh (Unicode string functions): Add the new modules.
3048
3049 2007-07-06  Bruno Haible  <bruno@clisp.org>
3050
3051         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
3052
3053 2007-07-06  Bruno Haible  <bruno@clisp.org>
3054
3055         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
3056         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
3057         includes <cygwin/sys_time.h> which includes <sys/select.h> which
3058         include <sys/time.h>.
3059         Reported by Eric Blake.
3060
3061 2007-07-06  Eric Blake  <ebb9@byu.net>
3062
3063         Fix testing canonicalize on cygwin.
3064         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
3065         Revert patch from 2007-06-19.
3066         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
3067         canonicalize module is also in use.
3068         * tests/test-canonicalize.c: New file.
3069         * tests/test-canonicalize.sh: Likewise.
3070         * modules/canonicalize-tests: Likewise.
3071
3072 2007-07-06  Jim Meyering  <jim@meyering.net>
3073
3074         * lib/getugroups.c (getugroups): Detect getgrent failure.
3075         Adjust comment to reflect reality: this function may return -1.
3076
3077 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3078
3079         * build-aux/bootstrap (TP_URL,get_translations): Update to use
3080         the new TP address.
3081         (usage): Fix typo
3082         (gnulib_mk): New variable.
3083
3084 2007-07-05  Jim Meyering  <jim@meyering.net>
3085
3086         Don't let endgrent clobber errno, no matter how improbable.
3087         * lib/getugroups.c (getugroups): Save and restore errno around
3088         endgrent call.
3089
3090         Close the group DB even when failing with 2^31 or more members.
3091         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
3092
3093 2007-07-04  Jim Meyering  <jim@meyering.net>
3094
3095         * lib/getugroups.h: New file.
3096         * lib/getugroups.c: Include "getugroups.h".
3097         Remove uses of "register" keyword.
3098         Move local variable, "cp", down into scope where used.
3099         Give "username" parameter the "const" attribute.
3100         * modules/getugroups (Files): Add lib/getugroups.h
3101
3102 2007-07-04  Karl Berry  <karl@gnu.org>
3103
3104         * MODULES.html.sh (func_all_modules): Complete rename of
3105         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
3106
3107 2007-07-02  Bruno Haible  <bruno@clisp.org>
3108
3109         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
3110         mode, when inttypes.h comes from gnulib.
3111         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
3112
3113 2007-07-02  Simon Josefsson  <simon@josefsson.org>
3114
3115         * NEWS: Mention lgpl module name change.
3116
3117         * modules/lgpl-2.1: Renamed from lgpl.
3118
3119         * NEWS: Mention gpl module name change.
3120
3121         * modules/gpl-3.0: New file, based on gpl-2.0.
3122
3123         * modules/gpl-2.0: Renamed from gpl.
3124
3125         * modules/gpl: Fix filename, doc/gpl.texi is now found at
3126         doc/gpl-2.0.texi.
3127
3128 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3129
3130         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
3131         #define __STDC_LIMIT_MACROS temporarily while including
3132         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
3133         Problem reported by Joel E. Denny in
3134         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
3135
3136 2007-07-01  Bruno Haible  <bruno@clisp.org>
3137
3138         * lib/unistdio.h: New file.
3139         * lib/unistdio/u-asnprintf.h: New file.
3140         * lib/unistdio/u-asprintf.h: New file.
3141         * lib/unistdio/u-printf-args.c: New file.
3142         * lib/unistdio/u-printf-args.h: New file.
3143         * lib/unistdio/u-printf-parse.h: New file.
3144         * lib/unistdio/u-snprintf.h: New file.
3145         * lib/unistdio/u-sprintf.h: New file.
3146         * lib/unistdio/u-vasprintf.h: New file.
3147         * lib/unistdio/u-vsnprintf.h: New file.
3148         * lib/unistdio/u-vsprintf.h: New file.
3149         * lib/unistdio/ulc-asnprintf.c: New file.
3150         * lib/unistdio/ulc-asprintf.c: New file.
3151         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
3152         * lib/unistdio/ulc-printf-parse.c: New file.
3153         * lib/unistdio/ulc-snprintf.c: New file.
3154         * lib/unistdio/ulc-sprintf.c: New file.
3155         * lib/unistdio/ulc-vasnprintf.c: New file.
3156         * lib/unistdio/ulc-vasprintf.c: New file.
3157         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
3158         * lib/unistdio/ulc-vsnprintf.c: New file.
3159         * lib/unistdio/ulc-vsprintf.c: New file.
3160         * lib/unistdio/u8-asnprintf.c: New file.
3161         * lib/unistdio/u8-asprintf.c: New file.
3162         * lib/unistdio/u8-printf-parse.c: New file.
3163         * lib/unistdio/u8-snprintf.c: New file.
3164         * lib/unistdio/u8-sprintf.c: New file.
3165         * lib/unistdio/u8-vasnprintf.c: New file.
3166         * lib/unistdio/u8-vasprintf.c: New file.
3167         * lib/unistdio/u8-vsnprintf.c: New file.
3168         * lib/unistdio/u8-vsprintf.c: New file.
3169         * lib/unistdio/u8-u8-asnprintf.c: New file.
3170         * lib/unistdio/u8-u8-asprintf.c: New file.
3171         * lib/unistdio/u8-u8-snprintf.c: New file.
3172         * lib/unistdio/u8-u8-sprintf.c: New file.
3173         * lib/unistdio/u8-u8-vasnprintf.c: New file.
3174         * lib/unistdio/u8-u8-vasprintf.c: New file.
3175         * lib/unistdio/u8-u8-vsnprintf.c: New file.
3176         * lib/unistdio/u8-u8-vsprintf.c: New file.
3177         * lib/unistdio/u16-asnprintf.c: New file.
3178         * lib/unistdio/u16-asprintf.c: New file.
3179         * lib/unistdio/u16-printf-parse.c: New file.
3180         * lib/unistdio/u16-snprintf.c: New file.
3181         * lib/unistdio/u16-sprintf.c: New file.
3182         * lib/unistdio/u16-vasnprintf.c: New file.
3183         * lib/unistdio/u16-vasprintf.c: New file.
3184         * lib/unistdio/u16-vsnprintf.c: New file.
3185         * lib/unistdio/u16-vsprintf.c: New file.
3186         * lib/unistdio/u16-u16-asnprintf.c: New file.
3187         * lib/unistdio/u16-u16-asprintf.c: New file.
3188         * lib/unistdio/u16-u16-snprintf.c: New file.
3189         * lib/unistdio/u16-u16-sprintf.c: New file.
3190         * lib/unistdio/u16-u16-vasnprintf.c: New file.
3191         * lib/unistdio/u16-u16-vasprintf.c: New file.
3192         * lib/unistdio/u16-u16-vsnprintf.c: New file.
3193         * lib/unistdio/u16-u16-vsprintf.c: New file.
3194         * lib/unistdio/u32-asnprintf.c: New file.
3195         * lib/unistdio/u32-asprintf.c: New file.
3196         * lib/unistdio/u32-printf-parse.c: New file.
3197         * lib/unistdio/u32-snprintf.c: New file.
3198         * lib/unistdio/u32-sprintf.c: New file.
3199         * lib/unistdio/u32-vasnprintf.c: New file.
3200         * lib/unistdio/u32-vasprintf.c: New file.
3201         * lib/unistdio/u32-vsnprintf.c: New file.
3202         * lib/unistdio/u32-vsprintf.c: New file.
3203         * lib/unistdio/u32-u32-asnprintf.c: New file.
3204         * lib/unistdio/u32-u32-asprintf.c: New file.
3205         * lib/unistdio/u32-u32-snprintf.c: New file.
3206         * lib/unistdio/u32-u32-sprintf.c: New file.
3207         * lib/unistdio/u32-u32-vasnprintf.c: New file.
3208         * lib/unistdio/u32-u32-vasprintf.c: New file.
3209         * lib/unistdio/u32-u32-vsnprintf.c: New file.
3210         * lib/unistdio/u32-u32-vsprintf.c: New file.
3211         * tests/unistdio/test-ulc-asnprintf1.c: New file.
3212         * tests/unistdio/test-ulc-asnprintf1.h: New file.
3213         * tests/unistdio/test-ulc-printf1.h: New file.
3214         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
3215         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
3216         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
3217         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
3218         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
3219         * tests/unistdio/test-ulc-vasprintf1.c: New file.
3220         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
3221         * tests/unistdio/test-ulc-vsprintf1.c: New file.
3222         * tests/unistdio/test-u8-asnprintf1.c: New file.
3223         * tests/unistdio/test-u8-asnprintf1.h: New file.
3224         * tests/unistdio/test-u8-printf1.h: New file.
3225         * tests/unistdio/test-u8-vasnprintf1.c: New file.
3226         * tests/unistdio/test-u8-vasnprintf2.c: New file.
3227         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
3228         * tests/unistdio/test-u8-vasnprintf3.c: New file.
3229         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
3230         * tests/unistdio/test-u8-vasprintf1.c: New file.
3231         * tests/unistdio/test-u8-vsnprintf1.c: New file.
3232         * tests/unistdio/test-u8-vsprintf1.c: New file.
3233         * tests/unistdio/test-u16-asnprintf1.c: New file.
3234         * tests/unistdio/test-u16-asnprintf1.h: New file.
3235         * tests/unistdio/test-u16-printf1.h: New file.
3236         * tests/unistdio/test-u16-vasnprintf1.c: New file.
3237         * tests/unistdio/test-u16-vasnprintf2.c: New file.
3238         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
3239         * tests/unistdio/test-u16-vasnprintf3.c: New file.
3240         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
3241         * tests/unistdio/test-u16-vasprintf1.c: New file.
3242         * tests/unistdio/test-u16-vsnprintf1.c: New file.
3243         * tests/unistdio/test-u16-vsprintf1.c: New file.
3244         * tests/unistdio/test-u32-asnprintf1.c: New file.
3245         * tests/unistdio/test-u32-asnprintf1.h: New file.
3246         * tests/unistdio/test-u32-printf1.h: New file.
3247         * tests/unistdio/test-u32-vasnprintf1.c: New file.
3248         * tests/unistdio/test-u32-vasnprintf2.c: New file.
3249         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
3250         * tests/unistdio/test-u32-vasnprintf3.c: New file.
3251         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
3252         * tests/unistdio/test-u32-vasprintf1.c: New file.
3253         * tests/unistdio/test-u32-vsnprintf1.c: New file.
3254         * tests/unistdio/test-u32-vsprintf1.c: New file.
3255         * modules/unistdio/base: New file.
3256         * modules/unistdio/u-printf-args: New file.
3257         * modules/unistdio/ulc-asnprintf: New file.
3258         * modules/unistdio/ulc-asprintf: New file.
3259         * modules/unistdio/ulc-fprintf: New file.
3260         * modules/unistdio/ulc-printf-parse: New file.
3261         * modules/unistdio/ulc-snprintf: New file.
3262         * modules/unistdio/ulc-sprintf: New file.
3263         * modules/unistdio/ulc-vasnprintf: New file.
3264         * modules/unistdio/ulc-vasprintf: New file.
3265         * modules/unistdio/ulc-vfprintf: New file.
3266         * modules/unistdio/ulc-vsnprintf: New file.
3267         * modules/unistdio/ulc-vsprintf: New file.
3268         * modules/unistdio/u8-asnprintf: New file.
3269         * modules/unistdio/u8-asprintf: New file.
3270         * modules/unistdio/u8-printf-parse: New file.
3271         * modules/unistdio/u8-snprintf: New file.
3272         * modules/unistdio/u8-sprintf: New file.
3273         * modules/unistdio/u8-vasnprintf: New file.
3274         * modules/unistdio/u8-vasprintf: New file.
3275         * modules/unistdio/u8-vsnprintf: New file.
3276         * modules/unistdio/u8-vsprintf: New file.
3277         * modules/unistdio/u8-u8-asnprintf: New file.
3278         * modules/unistdio/u8-u8-asprintf: New file.
3279         * modules/unistdio/u8-u8-snprintf: New file.
3280         * modules/unistdio/u8-u8-sprintf: New file.
3281         * modules/unistdio/u8-u8-vasnprintf: New file.
3282         * modules/unistdio/u8-u8-vasprintf: New file.
3283         * modules/unistdio/u8-u8-vsnprintf: New file.
3284         * modules/unistdio/u8-u8-vsprintf: New file.
3285         * modules/unistdio/u16-asnprintf: New file.
3286         * modules/unistdio/u16-asprintf: New file.
3287         * modules/unistdio/u16-printf-parse: New file.
3288         * modules/unistdio/u16-snprintf: New file.
3289         * modules/unistdio/u16-sprintf: New file.
3290         * modules/unistdio/u16-vasnprintf: New file.
3291         * modules/unistdio/u16-vasprintf: New file.
3292         * modules/unistdio/u16-vsnprintf: New file.
3293         * modules/unistdio/u16-vsprintf: New file.
3294         * modules/unistdio/u16-u16-asnprintf: New file.
3295         * modules/unistdio/u16-u16-asprintf: New file.
3296         * modules/unistdio/u16-u16-snprintf: New file.
3297         * modules/unistdio/u16-u16-sprintf: New file.
3298         * modules/unistdio/u16-u16-vasnprintf: New file.
3299         * modules/unistdio/u16-u16-vasprintf: New file.
3300         * modules/unistdio/u16-u16-vsnprintf: New file.
3301         * modules/unistdio/u16-u16-vsprintf: New file.
3302         * modules/unistdio/u32-asnprintf: New file.
3303         * modules/unistdio/u32-asprintf: New file.
3304         * modules/unistdio/u32-printf-parse: New file.
3305         * modules/unistdio/u32-snprintf: New file.
3306         * modules/unistdio/u32-sprintf: New file.
3307         * modules/unistdio/u32-vasnprintf: New file.
3308         * modules/unistdio/u32-vasprintf: New file.
3309         * modules/unistdio/u32-vsnprintf: New file.
3310         * modules/unistdio/u32-vsprintf: New file.
3311         * modules/unistdio/u32-u32-asnprintf: New file.
3312         * modules/unistdio/u32-u32-asprintf: New file.
3313         * modules/unistdio/u32-u32-snprintf: New file.
3314         * modules/unistdio/u32-u32-sprintf: New file.
3315         * modules/unistdio/u32-u32-vasnprintf: New file.
3316         * modules/unistdio/u32-u32-vasprintf: New file.
3317         * modules/unistdio/u32-u32-vsnprintf: New file.
3318         * modules/unistdio/u32-u32-vsprintf: New file.
3319         * modules/unistdio/ulc-asnprintf-tests: New file.
3320         * modules/unistdio/ulc-vasnprintf-tests: New file.
3321         * modules/unistdio/ulc-vasprintf-tests: New file.
3322         * modules/unistdio/ulc-vsnprintf-tests: New file.
3323         * modules/unistdio/ulc-vsprintf-tests: New file.
3324         * modules/unistdio/u8-asnprintf-tests: New file.
3325         * modules/unistdio/u8-vasnprintf-tests: New file.
3326         * modules/unistdio/u8-vasprintf-tests: New file.
3327         * modules/unistdio/u8-vsnprintf-tests: New file.
3328         * modules/unistdio/u8-vsprintf-tests: New file.
3329         * modules/unistdio/u16-asnprintf-tests: New file.
3330         * modules/unistdio/u16-vasnprintf-tests: New file.
3331         * modules/unistdio/u16-vasprintf-tests: New file.
3332         * modules/unistdio/u16-vsnprintf-tests: New file.
3333         * modules/unistdio/u16-vsprintf-tests: New file.
3334         * modules/unistdio/u32-asnprintf-tests: New file.
3335         * modules/unistdio/u32-vasnprintf-tests: New file.
3336         * modules/unistdio/u32-vasprintf-tests: New file.
3337         * modules/unistdio/u32-vsnprintf-tests: New file.
3338         * modules/unistdio/u32-vsprintf-tests: New file.
3339         * MODULES.html.sh (Unicode string functions): Add the new modules.
3340
3341 2007-07-01  Bruno Haible  <bruno@clisp.org>
3342
3343         * lib/sprintf.c (sprintf): Limit the available length estimation,
3344         to avoid address wraparound.
3345         * lib/vsprintf.c (vsprintf): Likewise.
3346         * modules/sprintf-posix (Dependencies): Add stdint.
3347         * modules/vsprintf-posix (Dependencies): Likewise.
3348
3349 2007-07-01  Bruno Haible  <bruno@clisp.org>
3350
3351         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
3352         Windows PATH as well. Conservative double-quoting. Comments.
3353
3354 2007-07-01  Bruno Haible  <bruno@clisp.org>
3355             Eric Blake  <ebb9@byu.net>
3356             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3357
3358         * gnulib-tool (self_abspathname): Fix algorithm to cope with
3359         empty components in $PATH, denoting '.'.
3360
3361 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3362
3363         * gnulib-tool: Fix indentation.
3364         (func_create_megatestdir): Likewise.
3365         Report by Bruno Haible.
3366
3367 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3368
3369         Sync from Automake.
3370         * build-aux/gnupload: Fix shell portability issues with for loops.
3371         Report by Karl Berry.
3372
3373 2007-06-29  Simon Josefsson  <simon@josefsson.org>
3374
3375         * build-aux/maint.mk (POURL): Use translationproject.org.
3376
3377 2007-06-27  Simon Josefsson  <simon@josefsson.org>
3378             Bruno Haible  <bruno@clisp.org>
3379
3380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
3381         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
3382         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
3383         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
3384         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
3385
3386 2007-06-27  Bruno Haible  <bruno@clisp.org>
3387
3388         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
3389         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
3390
3391 2007-06-26  Karl Berry  <karl@gnu.org>
3392
3393         * MODULES.html.sh: remove xreadlink-with-size.
3394
3395 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3396
3397         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
3398         method that I hope also handles the double-include problem noted
3399         by Bruno Haible in
3400         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
3401
3402 2007-06-23  Bruno Haible  <bruno@clisp.org>
3403
3404         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3405         Don't let the 'mostlyclean' target fail if the last subdirectory could
3406         not be removed.
3407         Reported by Karl Berry.
3408
3409 2007-06-23  Bruno Haible  <bruno@clisp.org>
3410
3411         * gnulib-tool (echo): Add a speedier workaround for ksh.
3412         * tests/test-echo.sh: Likewise.
3413
3414 2007-06-23  Bruno Haible  <bruno@clisp.org>
3415
3416         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
3417         * tests/test-echo.sh: Likewise.
3418
3419 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3420
3421         * gnulib-tool (IFS): Initialize early, so we don't set it to
3422         empty later.
3423         (self_abspathname): Rewrite algorithm to set it, reindent.
3424         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
3425         (func_create_megatestdir): Merge some sed scripts.
3426
3427 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3428
3429         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
3430         exposed by Sun Studio 11 cc on Solaris 8.
3431
3432 2007-06-22  Bruno Haible  <bruno@clisp.org>
3433
3434         * gnulib-tool (echo): Ensure the echo primitive does not interpret
3435         backslashes.
3436         * tests/test-echo.sh: New file.
3437
3438 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3439
3440         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
3441         simplify `sed_replace_build_aux' scripts, they are portable but
3442         echoing them with `echo' is not.
3443         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
3444
3445 2007-06-21  Karl Berry  <karl@gnu.org>
3446
3447         * config/srclist.txt: guess we can't handle the licenses via
3448         srclist at the moment.
3449
3450 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3451
3452         * MODULES.html.sh: Add include_next.
3453         * modules/include_next: New file.
3454
3455 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3456
3457         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
3458         INCLUDE_NEXT.
3459         (gl_CHECK_NEXT_HEADERS): New macro.
3460         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
3461         the obsolescent gl_ABSOLUTE_HEADER.
3462         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3463         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
3464         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
3465         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3466         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3467         * m4/math_h.m4 (gl_MATH_H): Likewise.
3468         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
3469         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3470         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3471         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3472         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3473         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3474         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3475         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3476         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3477         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3478         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
3479         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
3480         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3481         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3482         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3483         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3484         * m4/inttypes.m4 (gl_INTTYPES_H): Define
3485         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
3486         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
3487         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
3488         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
3489         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
3490         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
3491         * lib/float_.h: Likewise.
3492         * lib/inttypes_.h: Likewise.
3493         * lib/math_.h: Likewise.
3494         * lib/search_.h: Likewise.
3495         * lib/signal_.h: Likewise.
3496         * lib/stdint_.h: Likewise.
3497         * lib/stdio_.h: Likewise.
3498         * lib/stdlib_.h: Likewise.
3499         * lib/string_.h: Likewise.
3500         * lib/sys_stat_.h: Likewise.
3501         * lib/sys_time_.h: Likewise.
3502         * lib/time_.h: Likewise.
3503         * lib/unistd_.h: Likewise.
3504         * lib/wchar_.h: Likewise.
3505         * lib/wctype_.h: Likewise.
3506         * lib/dirent_.h: Likewise.
3507         * lib/iconv_.h: Likewise.
3508         * lib/locale_.h: Likewise.
3509         * lib/netinet_in_.h: Likewise.
3510         * lib/sys_select_.h: Likewise.
3511         * lib/sys_socket_.h: Likewise.
3512         * lib/sysexits_.h: Likewise.
3513         * modules/fcntl (Depends-on): Depend on include_next, not
3514         absolute_header.
3515         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
3516         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
3517         * modules/fchdir: Likewise.
3518         * modules/float: Likewise.
3519         * modules/iconv_open: Likewise.
3520         * modules/inttypes: Likewise.
3521         * modules/locale: Likewise.
3522         * modules/math: Likewise.
3523         * modules/netinet_in: Likewise.
3524         * modules/search: Likewise.
3525         * modules/signal: Likewise.
3526         * modules/stdint: Likewise.
3527         * modules/stdio: Likewise.
3528         * modules/stdlib: Likewise.
3529         * modules/string: Likewise.
3530         * modules/sys_select: Likewise.
3531         * modules/sys_socket: Likewise.
3532         * modules/sys_stat: Likewise.
3533         * modules/sys_time: Likewise.
3534         * modules/sysexits: Likewise.
3535         * modules/time: Likewise.
3536         * modules/unistd: Likewise.
3537         * modules/wchar: Likewise.
3538         * modules/wctype: Likewise.
3539         * modules/sys_stat: Change maintainer to "all".
3540         * modules/unistd: Likewise.
3541
3542 2007-06-20  Karl Berry  <karl@gnu.org>
3543
3544         * config/srclist.txt: track www changes in license files.
3545
3546 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
3547
3548         * build-aux/bootstrap: Remove stray dot.
3549         Make sure build_aux settings are honored when linking
3550         gnulib_extra_files.
3551
3552 2007-06-19  Eric Blake  <ebb9@byu.net>
3553
3554         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
3555         Allow compilation on cygwin.
3556
3557 2007-06-19  Jim Meyering  <jim@meyering.net>
3558
3559         xreadlink-with-size: Remove module.  No longer used.
3560         Ex-callers now use xreadlink or mreadlink-with-size.
3561         * modules/xreadlink-with-size: Remove module.
3562         * lib/xreadlink-with-size.c: Remove file.
3563         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
3564         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
3565         just before the function definition *is* accurate.
3566
3567         Eliminate one way canonicalize_filename_mode could exit.
3568         * lib/canonicalize.c (canonicalize_filename_mode):
3569         Use mreadlink_with_size, not xreadlink_with_size.
3570
3571 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3572
3573         Detect porting problems to FreeBSD/arm, which has time_t wider than
3574         long int.  Original problem reported for GNU diff by Xin Li in
3575         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
3576         * modules/getdate (Depends-on): Add intprops, verify.
3577         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
3578         is an integer type no wider than long int.
3579
3580 2007-06-18  Jim Meyering  <jim@meyering.net>
3581
3582         New module: mreadlink-with-size.
3583         * MODULES.html.sh: Add mreadlink-with-size.
3584         * modules/mreadlink-with-size: New module
3585         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
3586         not xreadlink-with-size.
3587         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
3588
3589 2007-06-16  Bruno Haible  <bruno@clisp.org>
3590
3591         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
3592         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
3593         Reported by Gary V. Vaughan <gary@gnu.org>.
3594
3595 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3596
3597         Revamp lchown so that it lives in unistd.h where it belongs.
3598         * lib/lchown.h: Remove.
3599         * lib/dirchownmod.c: Don't include lib/lchown.h.
3600         * lib/fchownat.c: Likewise.
3601         * lib/openat.c: Likewise.
3602         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
3603         does not follow symlinks.
3604         (EOPNOTSUPP): Define if not defined.
3605         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
3606         is defined to 0.
3607         (lchown): New decl.
3608         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
3609         Do not check for lchown decl.
3610         Set REPLACE_LCHOWN.
3611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
3612         REPLACE_LCHOWN.
3613         * modules/chown: Make it clear it follows symlinks.
3614         * modules/lchown: Make it clear it doesn't follow symlinks.
3615         (Files): Remove lib/lchown.h
3616         (Depends-on): Add unistd.
3617         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
3618         (Include): Include <unistd.h>, not "lchown.h".
3619         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
3620         REPLACE_LCHOWN.
3621
3622 2007-06-15  Jim Meyering  <jim@meyering.net>
3623
3624         Change license (GPL to LGPL) of fsusage and dependents.
3625         * modules/fsusage (License): Change to LGPL.
3626         * modules/full-read (License): Likewise.
3627         * modules/full-write (License): Likewise.
3628         * modules/safe-read (License): Likewise.
3629         * modules/safe-write (License): Likewise.
3630
3631 2007-06-14  Ben Pfaff  <blp@gnu.org>
3632
3633         Missing part of allocsa -> malloca transition.
3634         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
3635         gl_MALLOCA.
3636
3637 2007-06-12  Bruno Haible  <bruno@clisp.org>
3638
3639         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
3640         to ia64, x86_64, i386.
3641         Reported by Eric Blake.
3642
3643 2007-06-12  Bruno Haible  <bruno@clisp.org>
3644
3645         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
3646         cross-compiling to x86_64.
3647
3648 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3649
3650         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
3651         glitch reported by Ralf Wildenhues in
3652         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
3653
3654         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
3655         Vin Shelton.
3656
3657 2007-06-11  Bruno Haible  <bruno@clisp.org>
3658
3659         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
3660         replacement string.
3661         Reported by Eric Blake.
3662
3663 2007-06-10  Bruno Haible  <bruno@clisp.org>
3664
3665         Prepare vasnprintf code for use with Unicode strings.
3666         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
3667         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
3668         TYPE_U32_STRING.
3669         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
3670         a_u32_string variants.
3671         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
3672         * lib/printf-args.c: Don't include config.h and the specification
3673         header if PRINTF_FETCHARGS is already defined.
3674         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
3675         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
3676         TYPE_U16_STRING, TYPE_U32_STRING.
3677         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
3678         u16_directive, u16_directives, u32_directive, u32_directives): New
3679         types.
3680         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
3681         New declarations.
3682         * lib/printf-parse.c: Don't include config.h and the specification
3683         header if PRINTF_PARSE is already defined. Eliminate the set of
3684         parameters for WIDE_CHAR_VERSION; the user of this file must provide
3685         them now. Include c-ctype.h.
3686         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
3687         directive and CHAR_T_ONLY_ASCII.
3688         * lib/vasnprintf.c: Don't include config.h and the specification header
3689         if VASNPRINTF is already defined.
3690         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
3691         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
3692         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
3693         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
3694         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
3695         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
3696         code accordingly.
3697         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
3698         pad_ourselves also in this case, with the 'c' and 's' directives, and
3699         with a different notion of "width".
3700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
3701
3702 2007-06-10  Bruno Haible  <bruno@clisp.org>
3703
3704         * modules/unistr/u32-mbsnlen: New file.
3705         * lib/unistr/u32-mbsnlen.c: New file.
3706
3707         * modules/unistr/u16-mbsnlen: New file.
3708         * lib/unistr/u16-mbsnlen.c: New file.
3709
3710         * modules/unistr/u8-mbsnlen: New file.
3711         * lib/unistr/u8-mbsnlen.c: New file.
3712
3713         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
3714         declarations.
3715
3716 2007-06-10  Bruno Haible  <bruno@clisp.org>
3717
3718         * lib/string_.h (mbsnlen): New declaration.
3719         * lib/mbsnlen.c: New file.
3720         * m4/mbsnlen.m4: New file.
3721         * modules/mbsnlen: New file.
3722         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
3723         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
3724         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
3725
3726 2007-06-10  Bruno Haible  <bruno@clisp.org>
3727
3728         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
3729
3730 2007-06-10  Bruno Haible  <bruno@clisp.org>
3731
3732         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
3733         * lib/mbuiter.h: Likewise.
3734
3735 2007-06-10  Bruno Haible  <bruno@clisp.org>
3736
3737         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
3738         declaration.
3739
3740 2007-06-10  Karl Berry  <karl@gnu.org>
3741
3742         * config/srclist.txt: remove gettext entries, Bruno prefers
3743         to update individually.
3744
3745 2007-06-10  Bruno Haible  <bruno@clisp.org>
3746
3747         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
3748         'maxlen'. Ensure only length + width bytes are allocated, not
3749         length + 1 + width.
3750
3751 2007-06-09  Bruno Haible  <bruno@clisp.org>
3752
3753         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
3754         (CHAR_T): Remove macro.
3755         (VASNPRINTF): Update.
3756
3757 2007-06-09  Bruno Haible  <bruno@clisp.org>
3758
3759         * MODULES.html.sh (Unicode string functions): Add the new modules.
3760
3761         * modules/uniconv/u32-conv-to-enc: New file.
3762         * lib/uniconv/u32-conv-to-enc.c: New file.
3763         * modules/uniconv/u32-conv-to-enc-tests: New file.
3764         * tests/uniconv/test-u32-conv-to-enc.c: New file.
3765
3766         * modules/uniconv/u16-conv-to-enc: New file.
3767         * lib/uniconv/u16-conv-to-enc.c: New file.
3768         * lib/uniconv/u-conv-to-enc.h: New file.
3769         * modules/uniconv/u16-conv-to-enc-tests: New file.
3770         * tests/uniconv/test-u16-conv-to-enc.c: New file.
3771
3772         * modules/uniconv/u8-conv-to-enc: New file.
3773         * lib/uniconv/u8-conv-to-enc.c: New file.
3774         * modules/uniconv/u8-conv-to-enc-tests: New file.
3775         * tests/uniconv/test-u8-conv-to-enc.c: New file.
3776
3777         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
3778         u32_conv_to_encoding): New declarations.
3779
3780 2007-06-09  Bruno Haible  <bruno@clisp.org>
3781
3782         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
3783
3784 2007-06-09  Bruno Haible  <bruno@clisp.org>
3785
3786         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
3787         * modules/malloca: Renamed from modules/allocsa, updated.
3788         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
3789         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
3790         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
3791         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
3792         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
3793         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
3794         * modules/xmalloca: Renamed from modules/xallocsa, updated.
3795         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
3796         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
3797         * modules/c-strcasestr (Depends-on): Update.
3798         * lib/c-strcasestr.c: Update.
3799         * modules/c-strstr (Depends-on): Update.
3800         * lib/c-strstr.c: Update.
3801         * modules/canonicalize-lgpl (Depends-on): Update.
3802         * lib/canonicalize-lgpl.c: Update.
3803         * modules/clean-temp (Depends-on): Update.
3804         * lib/clean-temp.c: Update.
3805         * modules/csharpcomp (Depends-on): Update.
3806         * lib/csharpcomp.c: Update.
3807         * modules/csharpexec (Depends-on): Update.
3808         * lib/csharpexec.c: Update.
3809         * modules/javacomp (Depends-on): Update.
3810         * lib/javacomp.c: Update.
3811         * modules/javaexec (Depends-on): Update.
3812         * lib/javaexec.c: Update.
3813         * modules/mbscasestr (Depends-on): Update.
3814         * lib/mbscasestr.c: Update.
3815         * modules/mbsstr (Depends-on): Update.
3816         * lib/mbsstr.c: Update.
3817         * modules/setenv (Depends-on): Update.
3818         * lib/setenv.c: Update.
3819         * modules/strcasestr (Depends-on): Update.
3820         * lib/strcasestr.c: Update.
3821         * modules/striconveha (Depends-on): Update.
3822         * lib/striconveha.c: Update.
3823         * modules/relocatable-prog-wrapper (Files): Update.
3824         * lib/relocwrapper.c: Update.
3825         * build-aux/install-reloc: Update.
3826         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
3827
3828 2007-06-08  Bruno Haible  <bruno@clisp.org>
3829
3830         Port to uClibc.
3831         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
3832         * lib/fpurge.c (fpurge): Likewise.
3833         * lib/freading.c (freading): Likewise.
3834         * lib/fseeko.c (rpl_fseeko): Likewise.
3835         * lib/fseterr.c (fseterr): Likewise.
3836         * lib/fwriting.c (fwriting): Likewise.
3837         * tests/test-fflush.c (main): Avoid a failure on uClibc.
3838
3839 2007-06-08  Bruno Haible  <bruno@clisp.org>
3840
3841         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
3842         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
3843         * modules/gettext (Files): Add m4/intlmacosx.m4.
3844
3845 2007-06-07  Bruno Haible  <bruno@clisp.org>
3846
3847         * modules/localename-tests: New file.
3848         * tests/test-localename.c: New file.
3849
3850         New module 'localename'.
3851         * lib/localename.h: New file.
3852         * lib/localename.c: New file, from GNU gettext.
3853         * m4/localename.m4: New file.
3854         * modules/localename: New file.
3855
3856 2007-06-07  Bruno Haible  <bruno@clisp.org>
3857
3858         Work around the lack of <wchar.h> on some builds of uClibc.
3859         * doc/headers/wchar.texi: Update.
3860         * lib/wchar_.h: Include <wchar.h> only if it exists.
3861         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
3862         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
3863         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
3864         doesn't exist.
3865         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
3866         * modules/mbfile (Depends-on): Add wchar.
3867         * modules/mbiter (Depends-on): Likewise.
3868         * modules/mbuiter (Depends-on): Likewise.
3869         Reported by Simon Josefsson.
3870
3871 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3872
3873         Work around problem reported by Steven M. Schweda in
3874         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
3875         Tru64 5.1B with the Compaq compiler environment installed declares
3876         an 'isblank' function but does not define it in the C library.
3877         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
3878         * lib/regex_internal.h (isblank): Likewise.
3879         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
3880         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3881
3882 2007-06-05  Bruno Haible  <bruno@clisp.org>
3883
3884         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
3885         ia64.
3886         * modules/printf-safe: New file.
3887         * modules/fprintf-posix (Depends-on): Add printf-safe.
3888         * modules/printf-posix (Depends-on): Likewise.
3889         * modules/snprintf-posix (Depends-on): Likewise.
3890         * modules/sprintf-posix (Depends-on): Likewise.
3891         * modules/vasnprintf-posix (Depends-on): Likewise.
3892         * modules/vasprintf-posix (Depends-on): Likewise.
3893         * modules/vfprintf-posix (Depends-on): Likewise.
3894         * modules/vprintf-posix (Depends-on): Likewise.
3895         * modules/vsnprintf-posix (Depends-on): Likewise.
3896         * modules/vsprintf-posix (Depends-on): Likewise.
3897         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
3898         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
3899         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
3900         "no" on i386, x86_64, ia64.
3901         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
3902         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3903         on i386, x86_64, ia64.
3904         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
3905         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3906         on i386, x86_64, ia64.
3907         * tests/test-vasnprintf-posix.c: Include float.h.
3908         (LDBL80_WORDS): New macro.
3909         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3910         on i386, x86_64, ia64.
3911         * tests/test-vasprintf-posix.c: Include float.h.
3912         (LDBL80_WORDS): New macro.
3913         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3914         on i386, x86_64, ia64.
3915         * tests/test-snprintf-posix.c: Include float.h.
3916         * tests/test-sprintf-posix.c: Likewise.
3917         * tests/test-vsnprintf-posix.c: Likewise.
3918         * tests/test-vsprintf-posix.c: Likewise.
3919
3920 2007-06-05  Bruno Haible  <bruno@clisp.org>
3921
3922         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
3923         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
3924         non-IEEE numbers on i386, x86_64, ia64.
3925         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
3926         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
3927         * tests/test-isnanl.h: Include float.h.
3928         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
3929
3930 2007-06-05  Bruno Haible  <bruno@clisp.org>
3931
3932         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
3933         also the %a / %A. Handle the %a / %A code before this extra handling.
3934
3935 2007-06-05  Bruno Haible  <bruno@clisp.org>
3936
3937         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
3938         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
3939
3940 2007-06-05  Bruno Haible  <bruno@clisp.org>
3941
3942         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
3943         typo in variable name.
3944
3945 2007-06-05  Eric Blake  <ebb9@byu.net>
3946
3947         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
3948         Reported by Simon Josefsson.
3949
3950 2007-06-04  Bruno Haible  <bruno@clisp.org>
3951
3952         Avoid test failures on some PowerPC platforms.
3953         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
3954         Define differently for PowerPC.
3955         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
3956         Reported by Gary V. Vaughan <gary@gnu.org>.
3957
3958 2007-06-02  Bruno Haible  <bruno@clisp.org>
3959
3960         Fix test-stdint failure on FreeBSD/ia64.
3961         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
3962         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
3963         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
3964         * doc/headers/stdint.texi: Update.
3965
3966 2007-06-01  Bruno Haible  <bruno@clisp.org>
3967
3968         * tests/test-binary-io.c (main): Pass a third argument to open().
3969         Reported by Gary V. Vaughan <gary@gnu.org>.
3970
3971 2007-06-01  Bruno Haible  <bruno@clisp.org>
3972
3973         * doc/functions/frexpl.texi: Update for mingw.
3974
3975 2007-06-01  Bruno Haible  <bruno@clisp.org>
3976
3977         * tests/test-lseek.c (main): Disable test of errno for invalid third
3978         argument.
3979         * doc/functions/lseek.texi: Update.
3980         Reported by Gary V. Vaughan <gary@gnu.org>.
3981
3982 2007-05-28  Bruno Haible  <bruno@clisp.org>
3983
3984         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
3985
3986 2007-05-31  Eric Blake  <ebb9@byu.net>
3987
3988         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
3989         cross compiling.
3990
3991 2007-05-30  Eric Blake  <ebb9@byu.net>
3992         and Bruno Haible  <bruno@clisp.org>
3993
3994         Work around mingw test failures exposed by m4-1.4.9b.
3995         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
3996         * tests/test-unistd.c: Disable uid_t and git_t tests for the
3997         moment.
3998
3999 2007-05-30  Bruno Haible  <bruno@clisp.org>
4000
4001         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
4002         assuming that they are closed. Needed on HP-UX 11.
4003
4004 2007-05-29  Bruno Haible  <bruno@clisp.org>
4005
4006         Fix a problem with #include_next.
4007         * lib/dirent_.h: Split the double-inclusion guard.
4008         * lib/fcntl_.h: Likewise.
4009         * lib/float_.h: Likewise.
4010         * lib/iconv_.h: Likewise.
4011         * lib/inttypes_.h: Likewise.
4012         * lib/locale_.h: Likewise.
4013         * lib/math_.h: Likewise.
4014         * lib/netinet_in_.h: Likewise.
4015         * lib/search_.h: Likewise.
4016         * lib/signal_.h: Likewise.
4017         * lib/stdint_.h: Likewise.
4018         * lib/stdio_.h: Likewise.
4019         * lib/stdlib_.h: Likewise.
4020         * lib/string_.h: Likewise.
4021         * lib/sys_select_.h: Likewise.
4022         * lib/sys_socket_.h: Likewise.
4023         * lib/sys_stat_.h: Likewise.
4024         * lib/sys_time_.h: Likewise.
4025         * lib/sysexits_.h: Likewise.
4026         * lib/time_.h: Likewise.
4027         * lib/unistd_.h: Likewise.
4028         * lib/wchar_.h: Likewise.
4029         * lib/wctype_.h: Likewise.
4030
4031 2007-05-29  Bruno Haible  <bruno@clisp.org>
4032
4033         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
4034         for the moment.
4035
4036 2007-05-29  Bruno Haible  <bruno@clisp.org>
4037
4038         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
4039         invocation.
4040         Reported by Eric Blake.
4041
4042 2007-05-29  Bruno Haible  <bruno@clisp.org>
4043
4044         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
4045         compiling case.
4046
4047 2007-05-29  Eric Blake  <ebb9@byu.net>
4048             Bruno Haible  <bruno@clisp.org>
4049
4050         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
4051         cross compiles.
4052
4053 2007-05-28  Eric Blake  <ebb9@byu.net>
4054
4055         * modules/closein-tests (test_closein_LDADD): Support test on
4056         cygwin with libtool.
4057
4058 2007-05-28  Bruno Haible  <bruno@clisp.org>
4059
4060         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
4061         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
4062         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
4063         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
4064         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
4065         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
4066         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
4067         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
4068         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
4069
4070 2007-05-28  Eric Blake  <ebb9@byu.net>
4071
4072         Unconditionally include <config.h> in unit tests.
4073         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
4074         * tests/test-allocsa.c, tests/test-arcfour.c,
4075         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
4076         tests/test-array_list.c, tests/test-array_oset.c,
4077         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
4078         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
4079         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
4080         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
4081         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
4082         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
4083         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
4084         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
4085         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
4086         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
4087         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
4088         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
4089         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
4090         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
4091         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
4092         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
4093         test-md5.c, test-memmem.c, test-printf-posix.c,
4094         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
4095         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
4096         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
4097         test-strcasestr.c, test-striconv.c, test-striconveh.c,
4098         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
4099         test-vasnprintf-posix2.c, test-vasnprintf.c,
4100         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
4101         test-vfprintf-posix.c, test-vprintf-posix.c,
4102         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
4103         test-xvasprintf.c: Likewise.
4104
4105 2007-05-28  Bruno Haible  <bruno@clisp.org>
4106
4107         * gnulib-tool (func_import): Remember the --with-tests command-line
4108         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
4109         Reported by Eric Blake.
4110
4111 2007-05-28  Bruno Haible  <bruno@clisp.org>
4112
4113         * modules/ftell-tests: New file.
4114         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
4115         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
4116
4117         * lib/ftell.c: New file.
4118         * modules/ftell: New file.
4119         * m4/ftell.m4: New file.
4120         * doc/functions/ftell.texi: Update.
4121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
4122         REPLACE_FTELL.
4123         * lib/stdio_.h (rpl_ftell): New declaration.
4124         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
4125         REPLACE_FTELL.
4126
4127 2007-05-28  Eric Blake  <ebb9@byu.net>
4128
4129         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
4130
4131 2007-05-28  Bruno Haible  <bruno@clisp.org>
4132
4133         * modules/fseek-tests: New file.
4134         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
4135         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
4136
4137         * lib/fseek.c: New file.
4138         * modules/fseek: New file.
4139         * m4/fseek.m4: New file.
4140         * doc/functions/fseek.texi: Update.
4141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
4142         REPLACE_FSEEK.
4143         * lib/stdio_.h (rpl_fseek): New declaration.
4144         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
4145         REPLACE_FSEEK.
4146
4147 2007-05-28  Bruno Haible  <bruno@clisp.org>
4148
4149         * lib/stdio_.h (fflush): More comments.
4150
4151 2007-05-28  Bruno Haible  <bruno@clisp.org>
4152
4153         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
4154         runtime test.
4155
4156 2007-05-28  Eric Blake  <ebb9@byu.net>
4157
4158         Improve lseek module.
4159         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
4160         * lib/unistd_.h (lseek): Scale back link warning message.
4161         * tests/test-lseek.c: Beef up test.
4162         * tests/test-lseek.sh: Exercise more facets of lseek.
4163         Reported by Bruno Haible.
4164
4165 2007-05-28  Bruno Haible  <bruno@clisp.org>
4166
4167         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
4168         to define.
4169
4170 2007-05-27  Bruno Haible  <bruno@clisp.org>
4171
4172         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
4173
4174 2007-05-27  Bruno Haible  <bruno@clisp.org>
4175
4176         * modules/openmp: New file.
4177         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
4178         Noah Misch.
4179
4180 2007-05-26  Bruno Haible  <bruno@clisp.org>
4181
4182         * modules/chdir-long (Depends-on): Add fchdir.
4183         * modules/chdir-safer (Depends-on): Likewise.
4184         * modules/fts (Depends-on): Likewise.
4185         * modules/fts-lgpl (Depends-on): Likewise.
4186         * modules/openat (Depends-on): Likewise.
4187         * modules/savewd (Depends-on): Likewise.
4188
4189 2007-05-24  Eric Blake  <ebb9@byu.net>
4190
4191         Fix lseek on mingw.
4192         * modules/lseek: New module.
4193         * m4/lseek.m4: New file.
4194         * lib/lseek.c: New file.
4195         * modules/lseek-tests: New file.
4196         * tests/test-lseek.c: New file.
4197         * tests/test-lseek.sh: New file.
4198         * MODULES.html.sh: Document lseek module.
4199         * modules/fflush (Depends-on): Add lseek, fseeko.
4200         * modules/fseeko (Depends-on): Likewise.
4201         * modules/ftello (Depends-on): Likewise.
4202         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
4203         broken.
4204         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
4205         broken.
4206         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
4207         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
4208         * lib/ftello.c (rpl_ftello): Likewise.
4209         * tests/test-fseeko.c (main): Test this.
4210         * tests/test-fseeko.sh: Likewise.
4211         * tests/test-ftello.c (main): Likewise.
4212         * tests/test-ftello.sh: Likewise.
4213         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
4214         implies replacing fseek.
4215         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
4216         HAVE_FTELLO.
4217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
4218         * modules/unistd (Makefile.am): Likewise.
4219         * lib/unistd_.h (lseek): Declare a replacement.
4220         * doc/functions/lseek.texi (lseek): Document this fix.
4221         * doc/functions/fseek.texi (fseek): Likewise.
4222         * doc/functions/ftell.texi (ftell): Likewise.
4223
4224 2007-05-24  Bruno Haible  <bruno@clisp.org>
4225
4226         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
4227         in the printed representation of a NaN.
4228         * tests/test-vasprintf-posix.c (test_function): Likewise.
4229         * tests/test-snprintf-posix.h (test_function): Likewise.
4230         * tests/test-sprintf-posix.h (test_function): Likewise.
4231         Reported by Eric Blake.
4232
4233 2007-05-23  Eric Blake  <ebb9@byu.net>
4234
4235         Fix fseeko/ftello on cygwin 1.5.24.
4236         * doc/functions/fseeko.texi (fseeko): Document the fix.
4237         * doc/functions/ftello.texi (ftello): Document the fix.
4238         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
4239         * doc/functions/stdout.text (stdout): New file.
4240         * doc/functions/stderr.text (stderr): New file.
4241         * doc/gnulib.texi (Function Substitutes): Use new files.
4242         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
4243         prior to 1.7.0.
4244         * tests/test-ftello.c (main): Likewise for ftello.
4245         * tests/test-fseeko.sh: New file.
4246         * tests/test-ftello.sh: New file.
4247         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
4248         with seekable stdin.
4249         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
4250         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
4251         (gl_REPLACE_FSEEKO): New macro.
4252         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
4253         * modules/fseeko (Files): Distribute fseeko.c.
4254         * modules/ftello (Files): Distribute ftello.c.
4255         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
4256         mode.
4257         * lib/ftello.c (rpl_ftello): New file.
4258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
4259         fseeko, ftello.
4260         (gl_STDIN_LARGE_OFFSET): New macro.
4261         * modules/stdio (Makefile.am): Perform the replacement.
4262         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
4263
4264 2007-05-23  Bruno Haible  <bruno@clisp.org>
4265
4266         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
4267         GNULIB_POSIXCHECK is defined.
4268
4269 2007-05-21  Bruno Haible  <bruno@clisp.org>
4270
4271         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
4272         Check also the output for NaN arguments. When cross-compiling, guess
4273         no on IRIX.
4274         * lib/vasnprintf.c: Update comments.
4275         * tests/test-vasnprintf-posix.c (strisnan): New function.
4276         (test_function): Use it.
4277         * tests/test-vasprintf-posix.c (strisnan): New function.
4278         (test_function): Use it.
4279         * tests/test-snprintf-posix.h (strisnan): New function.
4280         (test_function): Use it.
4281         * tests/test-sprintf-posix.h (strisnan): New function.
4282         (test_function): Use it.
4283         Reported by Eric Blake.
4284
4285 2007-05-20  Bruno Haible  <bruno@clisp.org>
4286
4287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
4288         numbers that fails on BeOS.
4289         * doc/functions/frexpl.texi: Update.
4290
4291 2007-05-20  Jim Meyering  <jim@meyering.net>
4292
4293         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
4294         forced upon us by glibc-2.6.
4295
4296 2007-05-20  Bruno Haible  <bruno@clisp.org>
4297
4298         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
4299         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
4300         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
4301         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
4302         NEED_PRINTF_INFINITE.
4303         (is_infinitel): New function.
4304         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
4305         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
4306         gl_PREREQ_VASNPRINTF_INFINITE.
4307         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
4308         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4309         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
4310         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
4311         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
4312         gl_PREREQ_VASNPRINTF_INFINITE.
4313         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4314         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4315         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4316         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4317         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4318         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4319         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4320         * doc/functions/fprintf.texi: Update.
4321         * doc/functions/printf.texi: Update.
4322         * doc/functions/snprintf.texi: Update.
4323         * doc/functions/sprintf.texi: Update.
4324         * doc/functions/vfprintf.texi: Update.
4325         * doc/functions/vprintf.texi: Update.
4326         * doc/functions/vsnprintf.texi: Update.
4327         * doc/functions/vsprintf.texi: Update.
4328
4329 2007-05-20  Bruno Haible  <bruno@clisp.org>
4330
4331         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
4332         was not found in libc.
4333         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4334
4335 2007-05-20  Bruno Haible  <bruno@clisp.org>
4336
4337         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
4338         printed as "-nan" instead of "nan".
4339         * tests/test-vasprintf-posix.c (test_function): Likewise.
4340         * tests/test-snprintf-posix.h (test_function): Likewise.
4341         * tests/test-sprintf-posix.h (test_function): Likewise.
4342         Needed for HP-UX 11.
4343
4344 2007-05-20  Jim Meyering  <jim@meyering.net>
4345
4346         Fix buggy test for the fchownat-deref bug.
4347         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
4348         symlink required for the run-test.  Without it, this test would
4349         always declare that fchownat doesn't work, and client code would
4350         unnecessarily use the replacement function with fixed libc.
4351         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
4352         Reported by Greg Schafer.
4353
4354 2007-05-19  Bruno Haible  <bruno@clisp.org>
4355
4356         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
4357         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
4358         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
4359         Needed for IRIX 6.5 and Solaris 2.5.1.
4360
4361 2007-05-19  Bruno Haible  <bruno@clisp.org>
4362
4363         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
4364         (test_function): Skip tests involving -0.0 on platforms where
4365         -0.0 = 0.0.
4366         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
4367         (test_function): Skip tests involving -0.0 on platforms where
4368         -0.0 = 0.0.
4369         * tests/test-snprintf-posix.h (have_minus_zero): New function.
4370         (test_function): Skip tests involving -0.0 on platforms where
4371         -0.0 = 0.0.
4372         * tests/test-sprintf-posix.h (have_minus_zero): New function.
4373         (test_function): Skip tests involving -0.0 on platforms where
4374         -0.0 = 0.0.
4375         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
4376         tests.
4377         * tests/test-printf-posix.h (test_function): Likewise.
4378         * tests/test-printf-posix.output: Remove all -0.0 related results.
4379         Needed for IRIX 6.5.
4380
4381 2007-05-19  Bruno Haible  <bruno@clisp.org>
4382
4383         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
4384         printed as "nan0x7fffffff" instead of "nan".
4385         * tests/test-vasprintf-posix.c (test_function): Likewise.
4386         * tests/test-snprintf-posix.h (test_function): Likewise.
4387         * tests/test-sprintf-posix.h (test_function): Likewise.
4388         * tests/test-fprintf-posix.h (NaN): Remove macro.
4389         (test_function): Remove all NaN related tests.
4390         * tests/test-printf-posix.h (NaN): Remove macro.
4391         (test_function): Remove all NaN related tests.
4392         * tests/test-printf-posix.output: Remove all NaN related results.
4393         Needed for IRIX 6.5.
4394
4395 2007-05-19  Bruno Haible  <bruno@clisp.org>
4396
4397         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
4398         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
4399
4400 2007-05-19  Bruno Haible  <bruno@clisp.org>
4401
4402         * lib/float_.h: New file.
4403         * m4/float_h.m4: New file.
4404         * modules/float: New file.
4405         * modules/isnanl (Dependencies): Add float.
4406         * modules/isnanl-nolibm (Dependencies): Likewise.
4407         * modules/mathl (Dependencies): Likewise.
4408         * modules/printf-frexpl (Dependencies): Likewise.
4409         * modules/signbit (Dependencies): Likewise.
4410         * modules/vasnprintf (Dependencies): Likewise.
4411         * doc/headers/float.texi: Update.
4412
4413 2007-05-19  Jim Meyering  <jim@meyering.net>
4414
4415         * lib/utimens.c (gl_futimens): Rename from futimens,
4416         now that glibc-2.6 declares futimens.
4417         * lib/utimens.h: Likewise.
4418
4419 2007-05-19  Bruno Haible  <bruno@clisp.org>
4420
4421         Avoid test failures on mingw.
4422         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
4423         * tests/test-printf-posix.sh: Likewise.
4424         * tests/test-vfprintf-posix.sh: Likewise.
4425         * tests/test-vprintf-posix.sh: Likewise.
4426
4427 2007-05-19  Bruno Haible  <bruno@clisp.org>
4428
4429         Fix *printf result for NaN, Inf, -0.0 on mingw.
4430         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
4431         * lib/vasnprintf.c: Include math.h and isnan.h.
4432         (is_infinite_or_zero): New function.
4433         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
4434         values in the %f, %F, %e, %E, %g, %G directives.
4435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
4436         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4437         gl_PRINTF_INFINITE and test its result. Invoke
4438         gl_PREREQ_VASNPRINTF_INFINITE.
4439         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4440         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4441         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4442         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4443         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4444         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4445         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4446         * doc/functions/fprintf.texi: Update.
4447         * doc/functions/printf.texi: Update.
4448         * doc/functions/snprintf.texi: Update.
4449         * doc/functions/sprintf.texi: Update.
4450         * doc/functions/vfprintf.texi: Update.
4451         * doc/functions/vprintf.texi: Update.
4452         * doc/functions/vsnprintf.texi: Update.
4453         * doc/functions/vsprintf.texi: Update.
4454
4455 2007-05-19  Bruno Haible  <bruno@clisp.org>
4456
4457         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
4458         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
4459         Instead of multiplying with 10^k, set extra_zeroes to k.
4460         (scale10_round_long_double): Remove function.
4461
4462 2007-05-18  Bruno Haible  <bruno@clisp.org>
4463
4464         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
4465         introduced on 2007-05-06.
4466
4467 2007-05-18  Bruno Haible  <bruno@clisp.org>
4468
4469         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
4470         %g directives.
4471         * tests/test-vasprintf-posix.c (test_function): Likewise.
4472         * tests/test-snprintf-posix.h (test_function): Likewise.
4473         * tests/test-sprintf-posix.h (test_function): Likewise.
4474
4475 2007-05-18  Bruno Haible  <bruno@clisp.org>
4476
4477         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
4478         (strmatch): New function.
4479         (test_function): Test the %f directive on numbers of various exponents.
4480         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
4481         (strmatch): New function.
4482         (test_function): Test the %f directive on numbers of various exponents.
4483         * tests/test-snprintf-posix.h (strmatch): New function.
4484         (test_function): Test the %f directive on numbers of various exponents.
4485         * tests/test-sprintf-posix.h (strmatch): New function.
4486         (test_function): Test the %f directive on numbers of various exponents.
4487         * tests/test-snprintf-posix.c (SIZEOF): New macro.
4488         * tests/test-sprintf-posix.c (SIZEOF): New macro.
4489         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
4490         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
4491
4492 2007-05-18  Bruno Haible  <bruno@clisp.org>
4493
4494         Add support for 'long double' number output.
4495         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
4496         * lib/vasnprintf.c: Include math.h and float+.h.
4497         (mp_limb_t): New type.
4498         (GMP_LIMB_BITS): New macro.
4499         (mp_twolimb_t): New type.
4500         (GMP_TWOLIMB_BITS): New macro.
4501         (mpn_t): New type.
4502         (multiply, divide, convert_to_decimal, decode_long_double,
4503         scale10_round_long_double, scale10_round_decimal_long_double,
4504         floorlog10l): New functions.
4505         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
4506         for the %f, %F, %e, %E, %g, %G directives.
4507         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
4508         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4509         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
4510         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
4511         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4513         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4514         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4515         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4516         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4517         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4518         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
4519         * modules/snprintf-posix (Depends-on): Likewise.
4520         * modules/sprintf-posix (Depends-on): Likewise.
4521         * modules/vasnprintf-posix (Depends-on): Likewise.
4522         * modules/vasprintf-posix (Depends-on): Likewise.
4523         * modules/vfprintf-posix (Depends-on): Likewise.
4524         * modules/vsnprintf-posix (Depends-on): Likewise.
4525         * modules/vsprintf-posix (Depends-on): Likewise.
4526         * modules/vasnprintf (Files): Add lib/float+.h.
4527         * doc/functions/fprintf.texi: Update.
4528         * doc/functions/printf.texi: Update.
4529         * doc/functions/snprintf.texi: Update.
4530         * doc/functions/sprintf.texi: Update.
4531         * doc/functions/vfprintf.texi: Update.
4532         * doc/functions/vprintf.texi: Update.
4533         * doc/functions/vsnprintf.texi: Update.
4534         * doc/functions/vsprintf.texi: Update.
4535
4536 2007-05-18  Bruno Haible  <bruno@clisp.org>
4537
4538         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
4539
4540 2007-05-18  Bruno Haible  <bruno@clisp.org>
4541
4542         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
4543         for printing 64-bit integers. Needed for mingw.
4544
4545 2007-05-18  Bruno Haible  <bruno@clisp.org>
4546
4547         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
4548         gl_FUNC_FREXPL_WORKS.
4549         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
4550
4551 2007-05-18  Bruno Haible  <bruno@clisp.org>
4552
4553         * modules/frexpl-nolibm-tests: New file.
4554
4555         * modules/frexpl-nolibm: New file.
4556         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
4557
4558 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4559
4560         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
4561         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
4562         GCC 4.2, which otherwise issues a lot of warnings.
4563         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
4564         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
4565         Likewise.
4566         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
4567         * modules/iconv_open (iconv.h): Likewise.
4568         * modules/locale (locale.h): Likewise.
4569         * modules/netinet_in (netinet/in.h): Likewise.
4570         * modules/sys_select (sys_select.h): Likewise.
4571         * modules/sys_socket (sys/socket.h): Likewise.
4572         * modules/sys_stat (sys/stat.h): Likewise.
4573         * modules/sysexits (sysexits.h): Likewise.
4574         * modules/unistd (unistd.h): Likewise.
4575
4576 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4577
4578         * modules/closein-tests (Makefile.am): Distribute
4579         `test-closein.sh'.
4580
4581 2007-05-17  Bruno Haible  <bruno@clisp.org>
4582
4583         * tests/test-printf-posix.output: Renamed from
4584         tests/test-fprintf-posix.out.
4585         * modules/fprintf-posix-tests: Update.
4586         * modules/printf-posix-tests: Update.
4587         * modules/vfprintf-posix-tests: Update.
4588         * modules/vprintf-posix-tests: Update.
4589         * tests/test-fprintf-posix.sh: Update.
4590         * tests/test-printf-posix.sh: Update.
4591         * tests/test-vfprintf-posix.sh: Update.
4592         * tests/test-vprintf-posix.sh: Update.
4593         Reported by Ralf Wildenhues.
4594
4595 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4596
4597         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
4598         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
4599         GCC 4.2, which otherwise issues a lot of warnings.
4600         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
4601         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
4602         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
4603         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
4604         it should no longer be needed.
4605         * lib/string_.h: Likewise.
4606         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
4607         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
4608         * modules/inttypes (inttypes.h): Likewise.
4609         * modules/math (math.h): Likewise.
4610         * modules/search (search.h): Likewise.
4611         * modules/signal (signal.h): Likewise.
4612         * modules/stdint (stdint.h): Likewise.
4613         * modules/stdio (stdio.h): Likewise.
4614         * modules/stdlib (stdlib.h): Likewise.
4615         * modules/string (string.h): Likewise.
4616         * modules/sys_time (sys/time.h): Likewise.
4617         * modules/time (time.h): Likewise.
4618         * modules/wchar (wchar.h): Likewise.
4619         * modules/wctype (wtype.h): Likewise.
4620
4621 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
4622
4623         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
4624
4625 2007-05-13  Bruno Haible  <bruno@clisp.org>
4626
4627         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
4628         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4629         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
4630         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4631         (gl_PREREQ_STRTOK_R): Don't require it here.
4632
4633 2007-05-13  Bruno Haible  <bruno@clisp.org>
4634
4635         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
4636         when used in C++ mode.
4637
4638 2007-05-12  Bruno Haible  <bruno@clisp.org>
4639
4640         * lib/linebuffer.h: Tweak doc.
4641         * lib/linebuffer.c: Likewise.
4642
4643 2007-05-12  James Youngman  <jay@gnu.org>
4644
4645         * lib/linebuffer.c (readlinebuffer_delim): New function,
4646         like readlinebuffer, but use a caller-specified delimiter.
4647         (readlinebuffer): Just call readlinebuffer_delim with '\n'
4648         as the delimiter.
4649         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
4650
4651 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4652
4653         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
4654         * modules/openat (Files): Remove openat-die.c.
4655         (Depends-on): Add openat-die.
4656         * modules/openat-die: New module.
4657
4658 2007-05-06  Bruno Haible  <bruno@clisp.org>
4659
4660         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
4661         Update with info about Cygwin.
4662         * doc/functions/fprintf.texi: Update.
4663         * doc/functions/printf.texi: Update.
4664         * doc/functions/snprintf.texi: Update.
4665         * doc/functions/sprintf.texi: Update.
4666         * doc/functions/vfprintf.texi: Update.
4667         * doc/functions/vprintf.texi: Update.
4668         * doc/functions/vsnprintf.texi: Update.
4669         * doc/functions/vsprintf.texi: Update.
4670         Reported by Eric Blake.
4671
4672 2007-05-06  Bruno Haible  <bruno@clisp.org>
4673
4674         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
4675         padding ourselves for the floating-point directives.
4676         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
4677         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
4678         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4679         gl_PRINTF_FLAG_ZERO and test its result. Invoke
4680         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
4681         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4682         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
4683         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4684         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4685         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4688         * tests/test-snprintf-posix.h (test_function): Also check the width
4689         and some flags in the %f directive.
4690         * tests/test-sprintf-posix.h (test_function): Likewise.
4691         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4692         * tests/test-vasprintf-posix.c (test_function): Likewise.
4693         * doc/functions/fprintf.texi: Update.
4694         * doc/functions/printf.texi: Update.
4695         * doc/functions/snprintf.texi: Update.
4696         * doc/functions/sprintf.texi: Update.
4697         * doc/functions/vfprintf.texi: Update.
4698         * doc/functions/vprintf.texi: Update.
4699         * doc/functions/vsnprintf.texi: Update.
4700         * doc/functions/vsprintf.texi: Update.
4701
4702 2007-05-06  Bruno Haible  <bruno@clisp.org>
4703
4704         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
4705         pass the ' flag character to sprintf or snprintf.
4706         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
4707         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
4708         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4709         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
4710         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
4711         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4712         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
4713         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4714         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4715         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4716         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4717         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4718         * tests/test-snprintf-posix.h (test_function): Also check the grouping
4719         flag.
4720         * tests/test-sprintf-posix.h (test_function): Likewise.
4721         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4722         * tests/test-vasprintf-posix.c (test_function): Likewise.
4723         * doc/functions/fprintf.texi: Update.
4724         * doc/functions/printf.texi: Update.
4725         * doc/functions/snprintf.texi: Update.
4726         * doc/functions/sprintf.texi: Update.
4727         * doc/functions/vfprintf.texi: Update.
4728         * doc/functions/vprintf.texi: Update.
4729         * doc/functions/vsnprintf.texi: Update.
4730         * doc/functions/vsprintf.texi: Update.
4731
4732 2007-05-01  Bruno Haible  <bruno@clisp.org>
4733
4734         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
4735
4736 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
4737
4738         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
4739         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
4740
4741 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4742
4743         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
4744         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
4745         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
4746
4747 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
4748
4749         * lib/argp-help.c (struct hol_entry): New member `ord'.
4750         (HOL_ENTRY_PTRCMP): Use ord for comparison
4751         (hol_sort): Initialize ord.
4752
4753 2007-05-01  Bruno Haible  <bruno@clisp.org>
4754
4755         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
4756         Reported by Eric Blake.
4757         * doc/gnulib.texi (Function Substitutes): Update.
4758
4759 2007-05-01  Bruno Haible  <bruno@clisp.org>
4760
4761         * doc/functions.texi: Remove file, now redundant through
4762         doc/functions/*.texi.
4763
4764 2007-05-01  Bruno Haible  <bruno@clisp.org>
4765
4766         * modules/argp (Depends-on): Add sleep.
4767
4768 2007-05-01  Bruno Haible  <bruno@clisp.org>
4769
4770         * modules/sleep-tests: New file.
4771         * tests/test-sleep.c: New file.
4772
4773         * modules/sleep: New file.
4774         * lib/sleep.c: New file.
4775         * m4/sleep.m4: New file.
4776         * lib/unistd_.h (sleep): New declaration.
4777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
4778         HAVE_SLEEP.
4779         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
4780         * doc/functions/sleep.texi: Document the sleep module.
4781
4782 2007-05-01  Bruno Haible  <bruno@clisp.org>
4783
4784         * lib/sigprocmask.h: Remove file.
4785         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
4786         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
4787         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
4788         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
4789         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
4790         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
4791         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
4792         HAVE_SIGSET_T as a shell variable.
4793         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
4794         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
4795         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
4796         (Depends-on): Add signal. Remove verify.
4797         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
4798         (Include): Mention <signal.h> instead of sigprocmask.h.
4799         * NEWS: Mention the change.
4800         * lib/fatal-signal.c: Don't include sigprocmask.h.
4801
4802 2007-05-01  Bruno Haible  <bruno@clisp.org>
4803
4804         * modules/signal: New file.
4805         * lib/signal_.h: New file.
4806         * m4/signal_h.m4: New file.
4807
4808 2007-05-01  Bruno Haible  <bruno@clisp.org>
4809
4810         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
4811         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
4812         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
4813         HAVE_WCTYPE_CTMP_BUG into wctype.h.
4814
4815 2007-05-01  Bruno Haible  <bruno@clisp.org>
4816
4817         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
4818         configure time.
4819         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
4820         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
4821         * modules/sys_stat (Makefile.am): Substitute their values into
4822         sys/stat.h.
4823
4824 2007-05-01  Bruno Haible  <bruno@clisp.org>
4825
4826         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
4827         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
4828         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
4829
4830 2007-05-01  Bruno Haible  <bruno@clisp.org>
4831
4832         * doc/header/assert.texi: Undo last change: don't mention the gnulib
4833         'assert' module here.
4834
4835 2007-05-01  Bruno Haible  <bruno@clisp.org>
4836
4837         * doc/functions/*.texi: New files.
4838         * doc/functions/google-ranking.txt: New file.
4839         * doc/gnulib.texi (Function Substitutes): New chapter.
4840         (ctime, inet_ntoa): Remove sections.
4841         * doc/ctime.texi: Remove file.
4842         * doc/inet_ntoa.texi: Remove file.
4843         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
4844         dependencies.
4845         (%.info): New rule, specifying a --reference-limit.
4846
4847 2007-05-01  Bruno Haible  <bruno@clisp.org>
4848
4849         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
4850
4851 2007-05-01  Bruno Haible  <bruno@clisp.org>
4852
4853         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
4854         the portability of 'mkdir' to mingw systems.
4855
4856 2007-05-01  Bruno Haible  <bruno@clisp.org>
4857
4858         * doc/headers/google-ranking.txt: New file.
4859
4860 2007-04-30  Eric Blake  <ebb9@byu.net>
4861
4862         Prefer fseeko to fseek.
4863         * modules/getpass (Depends-on): Add fseeko.
4864         * lib/getpass.c (getpass): Use fseeko, not fseek.
4865
4866 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
4867
4868         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
4869         assumes the sorting is stable, while most qsort implementations
4870         are not.  Use argument addresses to ensure they never compare as
4871         equal.
4872
4873         * tests/test-argp-2.sh (usage-indent test): Fix output
4874         (func_compare): Restore diff options
4875         * tests/test-argp.c: Restore #include "progname.h"
4876
4877 2007-04-29  Bruno Haible  <bruno@clisp.org>
4878
4879         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
4880         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4881         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
4882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4883         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
4884         (configure.ac): Define CHECK_SNPRINTF_POSIX.
4885         (TESTS, check_PROGRAMS): Add test-snprintf.
4886         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
4887         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
4888         (TESTS, check_PROGRAMS): Add test-vsnprintf.
4889         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
4890         assertions that fail on HP-UX, OSF/1, or IRIX.
4891         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
4892
4893 2007-04-29  Bruno Haible  <bruno@clisp.org>
4894
4895         * MODULES.html.sh (posix_functions): Remove 'contents'.
4896
4897 2007-04-29  Karl Berry  <karl@gnu.org>
4898
4899         * config/srclist.txt (gendocs_template_min): new entry.
4900
4901 2007-04-29  Bruno Haible  <bruno@clisp.org>
4902
4903         Work around fpurge bug on BSD systems.
4904         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
4905         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
4906         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
4907         fpurge to rpl_fpurge if the system already has this function.
4908         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
4909         the case where the system already has this function. Correct invariants
4910         on BSD systems.
4911         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
4912         BSD systems.
4913
4914 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
4915
4916         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
4917         proposed by Sven Verdoolaege.
4918
4919         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
4920         options.
4921         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
4922         (usage and help tests): Update
4923
4924 2007-04-29  Bruno Haible  <bruno@clisp.org>
4925
4926         * tests/test-fflush.c (main): Use a file of size 17, not 10.
4927         Print more information in case of failure. Disable a test on BeOS.
4928
4929 2007-04-29  Bruno Haible  <bruno@clisp.org>
4930
4931         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
4932         This helps debugging on systems on which no gdb is available.
4933
4934 2007-04-29  Bruno Haible  <bruno@clisp.org>
4935
4936         * lib/freading.h: Improve comments.
4937         * lib/fwriting.h: Likewise.
4938         * tests/test-freading.c (main): Don't check freading immediately after
4939         repositioning. Needed for glibc.
4940
4941 2007-04-29  Bruno Haible  <bruno@clisp.org>
4942
4943         * lib/freading.c (freading): Trivial simplification.
4944
4945 2007-04-28  Bruno Haible  <bruno@clisp.org>
4946
4947         * tests/test-fwriting.c (main): Also test the interaction between
4948         fflush and fwriting.
4949         * modules/fwriting-tests (Depends-on): Add fflush.
4950
4951         * tests/test-freading.c (main): Also test the interaction between
4952         fflush and freading.
4953         * modules/freading-tests (Depends-on): Add fflush.
4954
4955 2007-04-28  Bruno Haible  <bruno@clisp.org>
4956
4957         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
4958         fseeko and ftello.
4959         Suggested by Eric Blake.
4960
4961 2007-04-28  Jim Meyering  <jim@meyering.net>
4962
4963         Avoid false-negative in gl_STDINT_H's C99 conformance test.
4964         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
4965         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
4966
4967 2007-04-27  Eric Blake  <ebb9@byu.net>
4968
4969         * doc/headers/assert.texi (assert.h): Document assert module use.
4970
4971 2007-04-27  Bruno Haible  <bruno@clisp.org>
4972
4973         * doc/headers/*.texi: New files.
4974         * doc/gnulib.texi (Header File Substitutes): New chapter.
4975         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
4976         dependencies.
4977         (standards.info ,standards.html, standards.dvi): Update dependencies.
4978         (mostlyclean, clean): New targets.
4979
4980 2007-04-27  Bruno Haible  <bruno@clisp.org>
4981
4982         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
4983         * modules/sysexits (Files, Makefile.am): Update.
4984
4985         * lib/sys_socket_.h: Renamed from lib/socket_.h.
4986         * modules/sys_socket (Files, Makefile.am): Update.
4987
4988         * lib/sys_stat_.h: Renamed from lib/stat_.h.
4989         * modules/sys_stat (Files, Makefile.am): Update.
4990
4991 2007-04-27  Eric Blake  <ebb9@byu.net>
4992
4993         * lib/freading.h: Improve comments.
4994         * lib/fwriting.h: Likewise.
4995         * lib/fflush.c: Likewise.
4996
4997         Fix closein for mingw.
4998         * modules/closein-tests: Add tests for closein.
4999         * tests/test-closein.c: New file.
5000         * tests/test-closein.sh: Likewise.
5001         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
5002         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
5003
5004 2007-04-27  Bruno Haible  <bruno@clisp.org>
5005
5006         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
5007         version is < 6.
5008         * lib/math_.h [__DECC]: Likewise.
5009         * lib/stdio_.h [__DECC]: Likewise.
5010         * lib/stdlib_.h [__DECC]: Likewise.
5011         * lib/string_.h [__DECC]: Likewise.
5012         * lib/time_.h [__DECC]: Likewise.
5013         * lib/wchar_.h [__DECC]: Likewise.
5014         * lib/wctype_.h [__DECC]: Likewise.
5015
5016 2007-04-27  Bruno Haible  <bruno@clisp.org>
5017
5018         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
5019
5020 2007-04-27  Bruno Haible  <bruno@clisp.org>
5021
5022         * lib/fflush.c: Add comments.
5023         * modules/fpurge-tests (Depends-on): Add fflush.
5024         * modules/freadable-tests (Depends-on): Likewise.
5025         * modules/fwritable-tests (Depends-on): Likewise.
5026
5027 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
5028
5029         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
5030         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
5031         Report by Bruno Haible <bruno@clisp.org>.
5032
5033 2007-04-26  Eric Blake  <ebb9@byu.net>
5034
5035         Fix fflush on mingw.
5036         * modules/fflush (Depends-on): Add freading.
5037         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
5038         but unread data.
5039
5040 2007-04-26  Eric Blake  <ebb9@byu.net>
5041         and Bruno Haible  <bruno@clisp.org>
5042
5043         Implement freading and fwriting.
5044         * lib/freading.c: New file.
5045         * lib/freading.h: Likewise.
5046         * m4/freading.m4: Likewise.
5047         * modules/freading: Likewise.
5048         * modules/freading-tests: Likewise.
5049         * tests/test-freading.c: Likewise.
5050         * lib/fwriting.c: New file.
5051         * lib/fwriting.h: Likewise.
5052         * m4/fwriting.m4: Likewise.
5053         * modules/fwriting: Likewise.
5054         * modules/fwriting-tests: Likewise.
5055         * tests/test-fwriting.c: Likewise.
5056         * MODULES.html.sh (File stream based Input/Output): Mention them.
5057
5058 2007-04-26  Bruno Haible  <bruno@clisp.org>
5059
5060         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
5061         'long' when we assume it.
5062         Suggested by Eric Blake.
5063
5064 2007-04-26  Bruno Haible  <bruno@clisp.org>
5065
5066         Ensure fseeko, ftello are declared on glibc systems.
5067         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
5068         * modules/fseeko (configure.ac-early): Likewise.
5069         * modules/ftello (configure.ac-early): Likewise.
5070         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
5071         AC_FUNC_FSEEKO for this.
5072         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
5073         (gl_CHECK_FSEEKO): Remove macro.
5074
5075 2007-04-26  Bruno Haible  <bruno@clisp.org>
5076
5077         * tests/test-fflush.c (main): Also check the ftell result after
5078         fflush and fseek/fseeko.
5079         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
5080         file descriptor position cache in the stream.
5081         * lib/fseeko.c (rpl_fseeko): Likewise.
5082
5083 2007-04-26  Bruno Haible  <bruno@clisp.org>
5084
5085         * modules/fflush-tests (Depends-on): Add fseeko.
5086
5087 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
5088             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5089
5090         * lib/argz_.h: ensure error_t definition is obtained in same
5091         mechanism system argz.h would have.
5092         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
5093         argz facilities are known bad.  Err on the side of caution if
5094         cross-compiling.
5095
5096 2007-04-25  Eric Blake  <ebb9@byu.net>
5097
5098         * lib/fpurge.c (includes): Use stdlib.h for free.
5099         * tests/test-fflush.c (main): Also test fflush-fseeko.
5100
5101 2007-04-25  Bruno Haible  <bruno@clisp.org>
5102
5103         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
5104         * lib/fseeko.c: New file.
5105         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
5106         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
5107         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
5108         gl_FUNC_FSEEKO.
5109         (gl_FUNC_FSEEKO): Invoke it.
5110         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
5111         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
5112         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
5113
5114 2007-04-25  Bruno Haible  <bruno@clisp.org>
5115
5116         * modules/fflush (Depends-on): Add ftello.
5117
5118 2007-04-25  Bruno Haible  <bruno@clisp.org>
5119
5120         * modules/ftello-tests: New file.
5121         * tests/test-ftello.c: New file.
5122
5123         * modules/ftello: New file.
5124         * m4/ftello.m4: New file.
5125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
5126         HAVE_FTELLO.
5127         * lib/stdio_.h (ftello): New declaration.
5128         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
5129         HAVE_FTELLO.
5130
5131 2007-04-25  Bruno Haible  <bruno@clisp.org>
5132
5133         * modules/fseeko-tests: New file.
5134         * tests/test-fseeko.c: New file.
5135
5136         * modules/fseeko: New file.
5137         * m4/fseeko.m4: New file.
5138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
5139         HAVE_FSEEKO.
5140         * lib/stdio_.h (fseeko): New declaration.
5141         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
5142         HAVE_FSEEKO.
5143
5144 2007-04-25  Bruno Haible  <bruno@clisp.org>
5145
5146         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
5147
5148 2007-04-25  Bruno Haible  <bruno@clisp.org>
5149
5150         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
5151         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
5152         * tests/test-unistd.c: Likewise.
5153         * tests/test-fcntl.c: Likewise.
5154
5155 2007-04-23  Eric Blake  <ebb9@byu.net>
5156
5157         * lib/fflush.c: Fix missing include.
5158         Reported by Bruno Haible.
5159
5160 2007-04-23  Bruno Haible  <bruno@clisp.org>
5161
5162         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
5163         Reported by Eric Blake.
5164
5165 2007-04-23  Bruno Haible  <bruno@clisp.org>
5166
5167         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
5168
5169 2007-04-23  Bruno Haible  <bruno@clisp.org>
5170
5171         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
5172
5173 2007-04-23  Bruno Haible  <bruno@clisp.org>
5174
5175         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
5176         Needed on HP-UX 11.
5177
5178 2007-04-16  Eric Blake  <ebb9@byu.net>
5179
5180         Make fflush rely on fpurge.
5181         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
5182         open coding all variants.
5183         * modules/fflush (Depends-on): Add fpurge and unistd.
5184         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
5185         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
5186
5187         Fix --with-tests compilation on cygwin.
5188         * modules/argmatch-tests (Makefile.am): List gnulib library first
5189         in LDADD.
5190         * modules/argp-tests (Makefile.am): Likewise.
5191         * modules/array-list-tests (Makefile.am): Likewise.
5192         * modules/array-oset-tests (Makefile.am): Likewise.
5193         * modules/avltree-list-tests (Makefile.am): Likewise.
5194         * modules/avltree-oset-tests (Makefile.am): Likewise.
5195         * modules/avltreehash-list-tests (Makefile.am): Likewise.
5196         * modules/carray-list-tests (Makefile.am): Likewise.
5197         * modules/dirname-tests (Makefile.am): Likewise.
5198         * modules/frexp-tests (Makefile.am): Likewise.
5199         * modules/isnanl-tests (Makefile.am): Likewise.
5200         * modules/linked-list-tests (Makefile.am): Likewise.
5201         * modules/linkedhash-list-tests (Makefile.am): Likewise.
5202         * modules/lock-tests (Makefile.am): Likewise.
5203         * modules/rbtree-list-tests (Makefile.am): Likewise.
5204         * modules/rbtree-oset-tests (Makefile.am): Likewise.
5205         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
5206         * modules/tls-tests (Makefile.am): Likewise.
5207         * modules/tsearch-tests (Makefile.am): Likewise.
5208         * modules/xvasprintf-tests (Makefile.am): Likewise.
5209
5210         Fix fpurge for cygwin.
5211         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
5212         value.
5213         * modules/fpurge-tests (Depends-on): Clean up trash.
5214
5215 2007-04-16  Simon Josefsson  <simon@josefsson.org>
5216
5217         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
5218
5219         * m4/autobuild.m4: Re-indent.
5220
5221 2007-04-13  Bruno Haible  <bruno@clisp.org>
5222
5223         * modules/fpurge-tests: New file.
5224         * tests/test-fpurge.c: New file.
5225
5226         * modules/fpurge: New file.
5227         * lib/fpurge.h: New file.
5228         * lib/fpurge.c: New file.
5229         * m4/fpurge.m4: New file.
5230
5231 2007-04-13  Bruno Haible  <bruno@clisp.org>
5232
5233         * modules/fbufmode-tests: New file.
5234         * tests/test-fbufmode.c: New file.
5235
5236         * modules/fbufmode: New file.
5237         * lib/fbufmode.h: New file.
5238         * lib/fbufmode.c: New file.
5239         * m4/fbufmode.m4: New file.
5240
5241 2007-04-13  Bruno Haible  <bruno@clisp.org>
5242
5243         * modules/fwritable-tests: New file.
5244         * tests/test-fwritable.c: New file.
5245
5246         * modules/fwritable: New file.
5247         * lib/fwritable.h: New file.
5248         * lib/fwritable.c: New file.
5249         * m4/fwritable.m4: New file.
5250
5251 2007-04-13  Bruno Haible  <bruno@clisp.org>
5252
5253         * modules/freadable-tests: New file.
5254         * tests/test-freadable.c: New file.
5255
5256         * modules/freadable: New file.
5257         * lib/freadable.h: New file.
5258         * lib/freadable.c: New file.
5259         * m4/freadable.m4: New file.
5260
5261 2007-04-13  Bruno Haible  <bruno@clisp.org>
5262
5263         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
5264         MOSTLYCLEANFILES.
5265
5266 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5267
5268         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
5269         gzip bootstrap.conf to avoid dragging in i18n machinery.
5270         (gnulib_tool_option): Use it.
5271
5272 2007-04-13  Bruno Haible  <bruno@clisp.org>
5273
5274         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
5275         %F directives.
5276         * tests/test-vasprintf-posix.c (test_function): Likewise.
5277         * tests/test-snprintf-posix.h (test_function): Likewise.
5278         * tests/test-sprintf-posix.h (test_function): Likewise.
5279         * tests/test-fprintf-posix.h (test_function): Likewise.
5280         * tests/test-printf-posix.h (test_function): Likewise.
5281         * tests/test-fprintf-posix.out: Likewise.
5282
5283 2007-04-13  Bruno Haible  <bruno@clisp.org>
5284
5285         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
5286         * modules/tls-tests (configure.ac): Likewise.
5287         Reported by Arto C. Nirkko <anirkko@insel.ch>.
5288
5289 2007-04-13  Bruno Haible  <bruno@clisp.org>
5290
5291         * lib/tls.c (glthread_tls_get): Fix return type.
5292         Patch by Arto C. Nirkko <anirkko@insel.ch>.
5293
5294 2007-04-12  Eric Blake  <ebb9@byu.net>
5295
5296         * modules/gettime (Depends-on): Remove gettime.
5297         Reported by Dmitry V. Levin.
5298
5299 2007-04-12  Bruno Haible  <bruno@clisp.org>
5300
5301         * modules/fflush (Include): Mention <stdio.h>.
5302         * modules/strtoimax (Include): Mention <inttypes.h>.
5303         * modules/strtoumax (Include): Likewise.
5304
5305 2007-04-12  Eric Blake  <ebb9@byu.net>
5306
5307         * .cvsignore: New file.
5308         * .gitignore: Likewise.
5309
5310 2007-04-12  Bruno Haible  <bruno@clisp.org>
5311
5312         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
5313         not before, since $(LDADD) often contains libgnu.a.
5314         * modules/striconv-tests (test_striconv_LDADD): Likewise.
5315         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
5316         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
5317         Needed on Cygwin.
5318
5319 2007-04-12  Eric Blake  <ebb9@byu.net>
5320
5321         Work around glibc's failure to flush stdin on fclose.
5322         * lib/closein.c (close_stdin): Flush stdin before closing.
5323
5324         Work around glibc's failure to reset seekable stdin on exit.
5325         * modules/closein: New module.
5326         * lib/closein.c: New file.
5327         * lib/closein.h: Likewise.
5328         * m4/closein.m4: Likewise.
5329         * MODULES.html.sh (File stream based Input/Output): Document it.
5330
5331 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5332
5333         * gnulib-tool: Rename generated 'autobuild' script to
5334         'do-autobuild' in --create-megatestdir output.
5335
5336         * doc/gnulib.texi (Build robot for gnulib): Fix.
5337
5338 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5339
5340         * modules/sysexits (Depends-on): Add absolute-header.
5341
5342 2007-04-12  Eric Blake  <ebb9@byu.net>
5343
5344         No need to preserve errno on success.
5345         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
5346         Reported by Bruno Haible.
5347
5348 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5349
5350         * MODULES.html.sh (Support for maintaining and releasing
5351         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
5352
5353 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5354
5355         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
5356
5357 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5358
5359         * modules/autobuild: New module.
5360
5361         * m4/autobuild.m4: New file.
5362
5363 2007-04-11  Bruno Haible  <bruno@clisp.org>
5364
5365         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
5366         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
5367         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
5368         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
5369         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
5370         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5371         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5372         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
5373         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5374         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5375         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
5376         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5377         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5378         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
5379         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5380         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5381         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
5382         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5383         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
5385         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5386         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5387         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
5388         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5389         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5390         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
5391         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5392         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5393         Reported by Eric Blake.
5394
5395 2007-04-11  Bruno Haible  <bruno@clisp.org>
5396
5397         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
5398
5399 2007-04-10  Bruno Haible  <bruno@clisp.org>
5400
5401         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
5402         for NaN and Infinity. Needed on FreeBSD 6.1.
5403         * tests/test-vasnprintf-posix.c (test_function): Undo last change
5404         regarding results for "%010a" of Infinity and NaN.
5405         * tests/test-vasprintf-posix.c (test_function): Likewise.
5406         * tests/test-snprintf-posix.h (test_function): Likewise.
5407         * tests/test-sprintf-posix.h (test_function): Likewise.
5408         * tests/test-fprintf-posix.h (test_function): Likewise.
5409         * tests/test-printf-posix.h (test_function): Likewise.
5410         * tests/test-fprintf-posix.out: Likewise.
5411
5412 2007-04-10  Bruno Haible  <bruno@clisp.org>
5413
5414         * modules/locale-tests: New file.
5415         * tests/test-locale.c: New file.
5416
5417         * modules/locale: New file.
5418         * lib/locale_.h: New file.
5419         * m4/locale_h.m4: New file.
5420
5421 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5422             Bruno Haible  <bruno@clisp.org>
5423
5424         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
5425         be determined, test for availability of the copysignf, copysign,
5426         copysignl functions.
5427         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
5428         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
5429         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
5430
5431 2007-04-09  Eric Blake  <ebb9@byu.net>
5432
5433         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
5434         * modules/stdio (Makefile.am): Support fflush.
5435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5436         * modules/fflush: New file.
5437         * lib/fflush.c: Likewise.
5438         * m4/fflush.m4: Likewise.
5439         * modules/fflush-tests: New test.
5440         * tests/test-fflush.c: Likewise.
5441         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
5442
5443 2007-04-06  Bruno Haible  <bruno@clisp.org>
5444
5445         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
5446         (VASNPRINTF): Use signbit for faster determination whether to print a
5447         minus sign.
5448         * modules/vasnprintf (Files): Remove lib/float+.h.
5449         * modules/fprintf-posix (Depends-on): Add signbit.
5450         * modules/snprintf-posix (Depends-on): Likewise.
5451         * modules/sprintf-posix (Depends-on): Likewise.
5452         * modules/vasnprintf-posix (Depends-on): Likewise.
5453         * modules/vasprintf-posix (Depends-on): Likewise.
5454         * modules/vfprintf-posix (Depends-on): Likewise.
5455         * modules/vsnprintf-posix (Depends-on): Likewise.
5456         * modules/vsprintf-posix (Depends-on): Likewise.
5457
5458 2007-04-06  Bruno Haible  <bruno@clisp.org>
5459
5460         * tests/test-frexp.c (main): Test also the sign bit of zero results.
5461         * tests/test-frexpl.c (main): Likewise.
5462         * tests/test-ldexpl.c (main): Likewise.
5463         * modules/frexp-tests (Depends-on): Add signbit.
5464         * modules/frexpl-tests (Depdends-on): Likewise.
5465         * modules/ldexpl-tests (Depdends-on): Likewise.
5466
5467 2007-04-06  Bruno Haible  <bruno@clisp.org>
5468
5469         * modules/signbit-tests: New file.
5470         * tests/test-signbit.c: New file.
5471
5472         * modules/signbit: New file.
5473         * lib/signbitf.c: New file.
5474         * lib/signbitd.c: New file.
5475         * lib/signbitl.c: New file.
5476         * m4/signbit.m4: New file.
5477         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
5478         (signbit): New macro.
5479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
5480         REPLACE_SIGNBIT.
5481         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
5482         REPLACE_FREXPL into math.h.
5483
5484 2007-04-06  Bruno Haible  <bruno@clisp.org>
5485
5486         * modules/isnanf-nolibm-tests: New file.
5487         * tests/test-isnanf.c: New file.
5488
5489         * modules/isnanf-nolibm: New file.
5490         * lib/isnanf.h: New file.
5491         * lib/isnanf.c: New file.
5492         * lib/isnan.c: Consider the USE_FLOAT macro.
5493         * m4/isnanf.m4: New file.
5494
5495 2007-04-06  Bruno Haible  <bruno@clisp.org>
5496
5497         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
5498         (Link): New section.
5499
5500         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
5501
5502 2007-04-06  Bruno Haible  <bruno@clisp.org>
5503
5504         Assume the 'long double' type.
5505         * m4/longdouble.m4: Remove file.
5506         * config/srclist.txt: Don't mention longdouble.m4.
5507         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
5508         * lib/float+.h: Likewise.
5509         * lib/frexp.c: Likewise.
5510         * lib/printf-args.h: Likewise.
5511         * lib/printf-args.c: Likewise.
5512         * lib/printf-frexp.c: Likewise.
5513         * lib/printf-parse.c: Likewise.
5514         * lib/vasnprintf.c: Likewise.
5515         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
5516         * m4/intl.m4: Likewise.
5517         * m4/isnanl.m4: Likewise.
5518         * m4/printf.m4: Likewise.
5519         * m4/printf-frexpl.m4: Likewise.
5520         * m4/vasnprintf.m4: Likewise.
5521         * modules/allocsa (Files): Remove m4/longdouble.m4.
5522         * modules/gettext (Files): Likewise.
5523         * modules/relocatable-prog-wrapper (Files): Likewise.
5524         * modules/vasnprintf (Files): Likewise.
5525         * modules/isnanl (Files): Likewise.
5526         (Include): Simplify.
5527         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
5528         (Include): Simplify.
5529         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
5530         (Include): Simplify.
5531         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
5532         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5533         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
5534         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5535         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
5536         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5537         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
5538         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5539         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
5540         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5541         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
5542         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5543         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
5544         * tests/test-isnanl.c: Likewise.
5545         * tests/test-snprintf-posix.h: Likewise.
5546         * tests/test-sprintf-posix.h: Likewise.
5547         * tests/test-vasnprintf-posix.c: Likewise.
5548         * tests/test-vasnprintf-posix2.c: Likewise.
5549         * tests/test-vasprintf-posix.c: Likewise.
5550
5551 2007-04-06  Bruno Haible  <bruno@clisp.org>
5552
5553         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
5554         * lib/math_.h [__DECC]: Include the overridden include file through
5555         #include_next, outside the double-inclusion guard.
5556         * lib/stdio_.h [__DECC]: Likewise.
5557         * lib/stdlib_.h [__DECC]: Likewise.
5558         * lib/string_.h [__DECC]: Likewise.
5559         * lib/time_.h [__DECC]: Likewise.
5560         * lib/wchar_.h [__DECC]: Likewise.
5561         * lib/wctype_.h [__DECC]: Likewise.
5562         * lib/inttypes_.h [__DECC]: Likewise.
5563         Reported by Albert Chin <china@thewrittenword.com> in
5564         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
5565
5566 2007-04-04  Eric Blake  <ebb9@byu.net>
5567
5568         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
5569         1.5.x.
5570
5571 2007-04-04  Bruno Haible  <bruno@clisp.org>
5572
5573         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
5574         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
5575
5576 2007-04-04  Bruno Haible  <bruno@clisp.org>
5577
5578         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
5579         results for "%010a" of Infinity and NaN.
5580         * tests/test-vasprintf-posix.c (test_function): Likewise.
5581         * tests/test-snprintf-posix.h (test_function): Likewise.
5582         * tests/test-sprintf-posix.h (test_function): Likewise.
5583         * tests/test-fprintf-posix.h (test_function): Remove these tests.
5584         * tests/test-printf-posix.h (test_function): Likewise.
5585         * tests/test-fprintf-posix.out: Update.
5586         Needed for FreeBSD 6.1.
5587
5588 2007-04-04  Bruno Haible  <bruno@clisp.org>
5589
5590         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
5591         directly used by the gnulib modules nor by gnulib-tool.
5592
5593 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5594
5595         * DEPENDENCIES: Give overall description of version dependency
5596         desirability.  Use more-typical names for apps.
5597         Add shell, coreutils, diffutils, grep, tar, gzip.
5598
5599 2007-04-04  Simon Josefsson  <simon@josefsson.org>
5600
5601         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
5602
5603 2007-04-04  Karl Berry  <karl@gnu.org>
5604
5605         * MODULES.html.sh (func_module): missing '.
5606
5607 2007-04-03  Bruno Haible  <bruno@clisp.org>
5608
5609         * modules/argmatch-tests (Makefile.am): New variable
5610         test_argmatch_LDADD.
5611         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
5612         * modules/array-list-tests (Makefile.am): New variable
5613         test_array_list_LDADD.
5614         * modules/array-oset-tests (Makefile.am): New variable
5615         test_array_oset_LDADD.
5616         * modules/avltree-list-tests (Makefile.am): New variable
5617         test_avltree_list_LDADD.
5618         * modules/avltree-oset-tests (Makefile.am): New variable
5619         test_avltree_oset_LDADD.
5620         * modules/avltreehash-list-tests (Makefile.am): New variable
5621         test_avltreehash_list_LDADD.
5622         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
5623         test_canonicalize_lgpl_LDADD.
5624         * modules/carray-list-tests (Makefile.am): New variable
5625         test_carray_list_LDADD.
5626         * modules/dirname-tests (Makefile.am): New variable
5627         test_dirname_LDADD.
5628         * modules/linked-list-tests (Makefile.am): New variable
5629         test_linked_list_LDADD.
5630         * modules/linkedhash-list-tests (Makefile.am): New variable
5631         test_linkedhash_list_LDADD.
5632         * modules/rbtree-list-tests (Makefile.am): New variable
5633         test_rbtree_list_LDADD.
5634         * modules/rbtree-oset-tests (Makefile.am): New variable
5635         test_rbtree_oset_LDADD.
5636         * modules/rbtreehash-list-tests (Makefile.am): New variable
5637         test_rbtreehash_list_LDADD.
5638         * modules/xvasprintf-tests (Makefile.am): New variable
5639         test_xvasprintf_LDADD.
5640         Reported by Eric Blake.
5641
5642 2007-04-03  Eric Blake  <ebb9@byu.net>
5643
5644         * DEPENDENCIES: Weaken m4 requirements.
5645
5646 2007-04-03  Bruno Haible  <bruno@clisp.org>
5647
5648         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
5649         * modules/isnanl-tests (configure.ac): Likewise.
5650
5651 2007-04-03  Ben Pfaff  <blp@gnu.org>
5652
5653         * modules/iconv_open: Add $(srcdir)/ to source directory
5654         references in Makefile fragments that call gperf, to fix VPATH
5655         builds.
5656
5657 2007-04-03  Bruno Haible  <bruno@clisp.org>
5658
5659         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
5660         * lib/ldexpl.c: Undo last change.
5661
5662 2007-04-03  Bruno Haible  <bruno@clisp.org>
5663
5664         * modules/printf-frexpl (Depends-on): Undo last change.
5665         (Files): Add m4/ldexpl.m4.
5666
5667 2007-04-03  Bruno Haible  <bruno@clisp.org>
5668
5669         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
5670         * modules/isnanl (Link): New section.
5671
5672         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
5673         * modules/frexp (Link): New section.
5674
5675         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
5676         * modules/frexpl (Link): New section.
5677
5678         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
5679         * modules/ldexpl (Link): New section.
5680
5681 2007-04-03  Bruno Haible  <bruno@clisp.org>
5682
5683         * modules/TEMPLATE-EXTENDED: New file.
5684         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
5685
5686 2007-04-03  Bruno Haible  <bruno@clisp.org>
5687
5688         * DEPENDENCIES: New file.
5689         Suggested by Simon Josefsson.
5690
5691 2007-04-03  Bruno Haible  <bruno@clisp.org>
5692
5693         * doc/gnulib.texi: Escape @.
5694
5695 2007-04-03  James Youngman  <jay@gnu.org>
5696         and Paul Eggert  <eggert@cs.ucla.edu>
5697
5698         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
5699         birthtime on all systems that have birthtime, not just those which
5700         use st_birthtimensec rather than st_birthtim.  Putting zero in
5701         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
5702         that the birth time is not available for files on an NFS mount.
5703
5704 2007-04-03  Simon Josefsson  <simon@josefsson.org>
5705
5706         * modules/memxor: Move back from crypto/, suggested by Bruno.
5707         * modules/crypto/hmac-sha1: Fix memxor dependency.
5708
5709         * modules/crypto/gc: Moved from ../.
5710
5711 2007-04-02  Eric Blake  <ebb9@byu.net>
5712
5713         * lib/ldexpl.c (includes): Avoid libm.
5714
5715         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
5716
5717 2007-04-02  Bruno Haible  <bruno@clisp.org>
5718
5719         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
5720         on IRIX.
5721
5722 2007-04-02  Bruno Haible  <bruno@clisp.org>
5723
5724         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
5725         x86 or x86_64 platforms running MacOS X.
5726         Reported by Ryan Schmidt <@ryandesign.com>.
5727
5728 2007-04-02  Bruno Haible  <bruno@clisp.org>
5729
5730         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
5731         i386.
5732
5733 2007-04-01  Simon Josefsson  <simon@josefsson.org>
5734
5735         * modules/crypto/arcfour: Moved from ../.
5736         * modules/crypto/arcfour-tests: Moved from ../.
5737         * modules/crypto/arctwo: Moved from ../.
5738         * modules/crypto/arctwo-tests: Moved from ../.
5739         * modules/crypto/des: Moved from ../.
5740         * modules/crypto/des-tests: Moved from ../.
5741         * modules/crypto/gc-arcfour: Moved from ../.
5742         * modules/crypto/gc-arcfour-tests: Moved from ../.
5743         * modules/crypto/gc-arctwo: Moved from ../.
5744         * modules/crypto/gc-arctwo-tests: Moved from ../.
5745         * modules/crypto/gc-des: Moved from ../.
5746         * modules/crypto/gc-des-tests: Moved from ../.
5747         * modules/crypto/gc-hmac-md5: Moved from ../.
5748         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
5749         * modules/crypto/gc-hmac-sha1: Moved from ../.
5750         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
5751         * modules/crypto/gc-md2: Moved from ../.
5752         * modules/crypto/gc-md2-tests: Moved from ../.
5753         * modules/crypto/gc-md4: Moved from ../.
5754         * modules/crypto/gc-md4-tests: Moved from ../.
5755         * modules/crypto/gc-md5: Moved from ../.
5756         * modules/crypto/gc-md5-tests: Moved from ../.
5757         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
5758         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
5759         * modules/crypto/gc-random: Moved from ../.
5760         * modules/crypto/gc-rijndael: Moved from ../.
5761         * modules/crypto/gc-rijndael-tests: Moved from ../.
5762         * modules/crypto/gc-sha1: Moved from ../.
5763         * modules/crypto/gc-sha1-tests: Moved from ../.
5764         * modules/crypto/gc-tests: Moved from ../.
5765         * modules/crypto/hmac-md5: Moved from ../.
5766         * modules/crypto/hmac-md5-tests: Moved from ../.
5767         * modules/crypto/hmac-sha1: Moved from ../.
5768         * modules/crypto/hmac-sha1-tests: Moved from ../.
5769         * modules/crypto/md2: Moved from ../.
5770         * modules/crypto/md2-tests: Moved from ../.
5771         * modules/crypto/md4: Moved from ../.
5772         * modules/crypto/md4-tests: Moved from ../.
5773         * modules/crypto/md5: Moved from ../.
5774         * modules/crypto/md5-tests: Moved from ../.
5775         * modules/crypto/memxor: Moved from ../.
5776         * modules/crypto/rijndael: Moved from ../.
5777         * modules/crypto/rijndael-tests: Moved from ../.
5778         * modules/crypto/sha1: Moved from ../.
5779
5780 2007-03-30  James Youngman  <jay@gnu.org>
5781
5782         * tests/test-stat-time.c (prepare_test): use chmod() rather than
5783         rename() to change the ctime of a file (because ctime is unaffected
5784         by rename on jfs2 on AIX 5.1).
5785         (main): Start by doing cleanup, in case a previous run failed leaving
5786         test files behind.
5787
5788 2007-03-31  Bruno Haible  <bruno@clisp.org>
5789
5790         Support old proprietary implementations of iconv.
5791         * modules/iconv_open: New file.
5792         * lib/iconv_.h: New file.
5793         * m4/iconv_h.m4: New file.
5794         * lib/iconv_open.c: New file.
5795         * lib/iconv_open-aix.gperf: New file.
5796         * lib/iconv_open-hpux.gperf: New file.
5797         * lib/iconv_open-irix.gperf: New file.
5798         * lib/iconv_open-osf.gperf: New file.
5799         * m4/iconv_open.m4: New file.
5800         * modules/linebreak (Depends-on): Add iconv_open.
5801         * modules/striconv (Depends-on): Likewise.
5802         * modules/striconveh (Depends-on): Likewise.
5803         * modules/unicodeio (Depends-on): Likewise.
5804         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
5805         (iconv_t)(-1).
5806         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
5807         conversion if cd is (iconv_t)(-1).
5808         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
5809         is not possible.
5810
5811 2007-03-31  Bruno Haible  <bruno@clisp.org>
5812
5813         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
5814         work on Solaris either. Protect also second use of "autodetect_jp".
5815
5816 2007-03-31  Bruno Haible  <bruno@clisp.org>
5817
5818         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
5819         the function is not present.
5820
5821 2007-03-31  Bruno Haible  <bruno@clisp.org>
5822
5823         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
5824         the function is not present.
5825
5826 2007-03-31  Bruno Haible  <bruno@clisp.org>
5827
5828         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
5829         a bug in HP-UX iconv_open().
5830
5831 2007-03-31  Bruno Haible  <bruno@clisp.org>
5832
5833         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
5834         (Mathematics <math.h>): New section, add fpieee.
5835         (Input/output <stdio.h>): Add fseterr.
5836         (Mathematics <math.h>): New section, add printf-frexp.
5837         (Container data structures): Add sublist.
5838         (Core language properties): Add fpucw, inline.
5839         (Functions for greatest-width integer types <inttypes.h>): Add
5840         imaxabs, imaxdiv, inttypes.
5841         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
5842         isnanl-nolibm, ldexp.
5843         (Mathematics <math.h>): New section, add printf-frexpl.
5844         (Support for systems lacking POSIX:2001): Add fprintf-posix,
5845         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
5846         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
5847         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
5848         (Unicode string functions): Add unistr/u*-mbtoucr.
5849         (Java): Add javacomp-script, javaexec-script.
5850         (C#): Add csharpcomp-script, csharpexec-script.
5851         (Support for building libraries and executables): Add havelib,
5852         relocatable-*.
5853         (Support for maintaining and releasing projects): Renamed from
5854         'Support for maintaining and release projects'. Add announce-gen.
5855
5856 2007-03-31  Bruno Haible  <bruno@clisp.org>
5857
5858         * README: Talk primarily about git.
5859         (git and CVS): Renamed from CVS.
5860         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
5861         gnulib is available through git.
5862         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
5863
5864 2007-03-30  Bruno Haible  <bruno@clisp.org>
5865
5866         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
5867         * lib/poll_.h: Likewise.
5868         * lib/stat_.h: Likewise.
5869         * lib/sys_time_.h: Likewise.
5870         * lib/sysexit_.h: Likewise.
5871         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
5872         * lib/stdbool_.h: Likewise.
5873         * lib/byteswap_.h: Add double-inclusion guard.
5874
5875 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
5876
5877         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
5878
5879 2007-03-30  Karl Berry  <karl@gnu.org>
5880
5881         * config/srclist-update: double space after USA in the license
5882         substitution, since that's how it's usually (?) written.
5883
5884 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5885
5886         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
5887         reported by Bruno Haible.
5888
5889 2007-03-29  Bruno Haible  <bruno@clisp.org>
5890
5891         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
5892         a bug in AIX iconv().
5893
5894 2007-03-29  Bruno Haible  <bruno@clisp.org>
5895
5896         * modules/ldexpl-tests: New file.
5897         * tests/test-ldexpl.c: New file.
5898
5899 2007-03-29  Bruno Haible  <bruno@clisp.org>
5900
5901         * lib/ldexpl.c: Include fpucw.h.
5902         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
5903         multiplication.
5904         * modules/ldexpl (Depends-on): Add fpucw.
5905
5906 2007-03-29  Bruno Haible  <bruno@clisp.org>
5907
5908         * modules/ldexpl: New file.
5909         * m4/ldexpl.m4: New file.
5910         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
5911         set.
5912         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
5913         REPLACE_LDEXPL.
5914         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
5915         REPLACE_LDEXPL.
5916         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
5917         gl_FUNC_LDEXPL_WORKS.
5918         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
5919         * modules/mathl (Files): Remove lib/ldexpl.c.
5920         (Depends-on): Add ldexpl.
5921
5922 2007-03-29  Bruno Haible  <bruno@clisp.org>
5923
5924         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
5925
5926 2007-03-29  Bruno Haible  <bruno@clisp.org>
5927
5928         * tests/test-striconveh.c (main): Don't assume that a direct conversion
5929         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
5930         and possibly also HP-UX.
5931         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
5932         work on AIX, IRIX, HP-UX, OSF/1.
5933         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
5934         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
5935         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
5936         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
5937         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
5938         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
5939
5940 2007-03-29  Bruno Haible  <bruno@clisp.org>
5941
5942         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
5943
5944 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
5945
5946         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
5947         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
5948
5949 2007-03-29  Eric Blake  <ebb9@byu.net>
5950
5951         * lib/acl-internal.h: Remove redundant include.
5952         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
5953         Cygwin when a file is locked.
5954
5955 2007-03-29  Bruno Haible  <bruno@clisp.org>
5956
5957         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
5958         file.
5959         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
5960
5961 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
5962
5963         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
5964         try to remove a parent directory if the child couldn't be removed
5965         (except for the first rmdir, which could fail because the child
5966         doesn't exist).  Problem reported by Jeff Blaine in
5967         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
5968
5969 2007-03-28  Bruno Haible  <bruno@clisp.org>
5970
5971         * lib/striconveh.c (utf8conv_carefully): New function.
5972         (mem_cd_iconveh_internal): Invoke it.
5973
5974 2007-03-28  Bruno Haible  <bruno@clisp.org>
5975
5976         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
5977         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
5978         input.
5979         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
5980         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
5981         unistr/u8-uctomb.
5982
5983 2007-03-28  Bruno Haible  <bruno@clisp.org>
5984
5985         * modules/unistr/u8-mbtoucr: New file.
5986         * lib/unistr/u8-mbtoucr.c: New file.
5987         * modules/unistr/u16-mbtoucr: New file.
5988         * lib/unistr/u16-mbtoucr.c: New file.
5989         * modules/unistr/u16-mbtoucr: New file.
5990         * lib/unistr/u16-mbtoucr.c: New file.
5991         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
5992
5993 2007-03-27  Simon Josefsson  <simon@josefsson.org>
5994             Bruno Haible  <bruno@clisp.org>
5995
5996         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
5997         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
5998         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
5999
6000         * m4/stdio_h.m4: Add stubs for vasprintf too.
6001
6002         * modules/stdio: Support vasprintf in sed command.
6003
6004         * modules/vasprintf: Depend on stdio for prototypes.  Remove
6005         vasprintf.h.  Add stdio module indicator.
6006
6007         * lib/stdio_.h: Declare asprintf and vasprintf, based on
6008         vasprintf.h.
6009
6010         * lib/vasprintf.h: File removed.
6011
6012         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
6013         * lib/vasprintf.c: Ditto.
6014         * lib/xvasprintf.c: Ditto.
6015         * tests/test-vasprintf-posix.c: Ditto.
6016         * tests/test-vasprintf.c: Ditto.
6017
6018 2007-03-27  Bruno Haible  <bruno@clisp.org>
6019
6020         Make vasnprintf multithread-safe.
6021         * lib/vasnprintf.c (decimal_point_char): New function.
6022         (VASNPRINTF): Use it.
6023         Suggested by Simon Josefsson.
6024
6025 2007-03-27  Eric Blake  <ebb9@byu.net>
6026
6027         Support sub-second birthtime on cygwin.
6028         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
6029         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
6030         (get_stat_birthtime): Also work with st_birthtim.
6031
6032 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
6033
6034         * lib/stat-time.h (USE_BIRTHTIME): Remove.
6035         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
6036         (get_stat_birthtime_ns): Do not try to use "spare" fields.
6037         (get_stat_birthtime_ns): Simplify compile-time tests.
6038         (get_stat_birthtime): Change the API to look like
6039         get_stat_mtime etc., except return a negative tv_nsec on error.
6040         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
6041         Don't check for "spare" fields.
6042         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
6043         or for struct stat.st_birthtime, as these tests aren't used.
6044         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
6045
6046 2007-03-27  Bruno Haible  <bruno@clisp.org>
6047
6048         * lib/stat-time.h: Include <sys/stat.h>.
6049
6050 2007-03-27  James Youngman  <jay@gnu.org>
6051
6052         * lib/stat-time.h (get_stat_birthtime): New function for
6053           retrieving st_birthtime as provided by UFS2 (hence *BSD).
6054         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
6055           and its variants.
6056         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
6057         * modules/stat-time-test: New file.
6058         * tests/test-stat-time.c: New test, devised by Bruno Haible.
6059
6060 2007-03-26  Bruno Haible  <bruno@clisp.org>
6061
6062         Better support of signalling NaNs.
6063         * lib/atanl.c: Include isnanl.h.
6064         (atanl): Perform test for NaN at the beginning of the function and
6065         through a call to isnanl.
6066         * lib/cosl.c: Include isnanl.h.
6067         (cosl): Perform test for NaN at the beginning of the function and
6068         through a call to isnanl.
6069         * lib/ldexpl.c: Include isnanl.h.
6070         (ldexpl): Perform test for NaN through a call to isnanl.
6071         * lib/logl.c: Include isnanl.h.
6072         (logl): Perform test for NaN at the beginning of the function and
6073         through a call to isnanl.
6074         * lib/sinl.c: Include isnanl.h.
6075         (sinl): Perform test for NaN at the beginning of the function and
6076         through a call to isnanl.
6077         * lib/sqrtl.c: Include isnanl.h.
6078         (sqrtl): Perform test for NaN at the beginning of the function and
6079         through a call to isnanl.
6080         * lib/tanl.c: Include isnanl.h.
6081         (tanl): Perform test for NaN at the beginning of the function and
6082         through a call to isnanl.
6083         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
6084         * modules/mathl (Depends-on): Add isnanl.
6085
6086 2007-03-26  Eric Blake  <ebb9@byu.net>
6087
6088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
6089         regression in logic sense of previous patch.
6090
6091 2007-03-26  Bruno Haible  <bruno@clisp.org>
6092
6093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
6094         unportable shell command "if ! ...".
6095         Reported by Ralf Wildenhues.
6096
6097 2007-03-25  Bruno Haible  <bruno@clisp.org>
6098
6099         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
6100         <sysexits.h> file, and only add EX_CONFIG.
6101         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
6102         absolute file name and whether it is sufficient. Substitute also
6103         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
6104         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
6105         ABSOLUTE_SYSEXITS_H into sysexits.h.
6106
6107 2007-03-25  Bruno Haible  <bruno@clisp.org>
6108
6109         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
6110         hints is NULL.
6111
6112 2007-03-25  Bruno Haible  <bruno@clisp.org>
6113
6114         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
6115         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
6116
6117 2007-03-25  Bruno Haible  <bruno@clisp.org>
6118
6119         * lib/vasnprintf.c: Include langinfo.h.
6120         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
6121         multithread-safe.
6122         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
6123         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
6124         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6125         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6126         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6127         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6128         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6129         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
6130         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6131         Reported by Simon Josefsson.
6132
6133 2007-03-25  Bruno Haible  <bruno@clisp.org>
6134
6135         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
6136         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
6137         * modules/vasnprintf (Depends-on): Add stdint.
6138
6139 2007-03-25  Bruno Haible  <bruno@clisp.org>
6140
6141         * modules/fpieee: New file.
6142         * m4/fpieee.m4: New file.
6143         * modules/isnan-nolibm (Depends-on): Add fpieee.
6144         * modules/isnanl-nolibm (Depends-on): Add fpieee.
6145         * modules/isnanl (Depends-on): Add fpieee.
6146
6147 2007-03-25  Bruno Haible  <bruno@clisp.org>
6148
6149         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
6150
6151 2007-03-25  Bruno Haible  <bruno@clisp.org>
6152
6153         Avoid test failures on IRIX 6.5.
6154         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
6155         (main): Use it.
6156         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
6157         macros.
6158         (main): Use them.
6159
6160 2007-03-25  Bruno Haible  <bruno@clisp.org>
6161
6162         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
6163         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
6164         exists but doesn't work.
6165         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
6166         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
6167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
6168         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
6169
6170 2007-03-25  Bruno Haible  <bruno@clisp.org>
6171
6172         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
6173         returns inf. Needed on IRIX 6.5.
6174
6175 2007-03-25  Bruno Haible  <bruno@clisp.org>
6176
6177         * tests/test-frexpl.c: Include isnanl-nolibm.h.
6178         (main): Use isnanl instead of x != x idiom.
6179         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
6180
6181         * tests/test-frexp.c: Include isnan.h.
6182         (main): Use isnan instead of x != x idiom.
6183         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
6184
6185 2007-03-25  Bruno Haible  <bruno@clisp.org>
6186
6187         * tests/test-frexp.c (NaN): New function/macro.
6188         (main): Use it instead of 0.0 / 0.0.
6189         * tests/test-isnan.c (NaN): New function/macro.
6190         (main): Use it instead of 0.0 / 0.0.
6191         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
6192         (test_function): Use it instead of 0.0 / 0.0.
6193         * tests/test-vasprintf-posix.c (NaN): New function/macro.
6194         (test_function): Use it instead of 0.0 / 0.0.
6195         * tests/test-snprintf-posix.h (NaN): New function/macro.
6196         (test_function): Use it instead of 0.0 / 0.0.
6197         * tests/test-sprintf-posix.h (NaN): New function/macro.
6198         (test_function): Use it instead of 0.0 / 0.0.
6199         * tests/test-fprintf-posix.h (NaN): New function/macro.
6200         (test_function): Use it instead of 0.0 / 0.0.
6201         * tests/test-printf-posix.h (NaN): New function/macro.
6202         (test_function): Use it instead of 0.0 / 0.0.
6203
6204         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
6205
6206 2007-03-25  Bruno Haible  <bruno@clisp.org>
6207
6208         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
6209
6210 2007-03-25  Bruno Haible  <bruno@clisp.org>
6211
6212         * lib/regexec.c (merge_state_with_log): Make static.
6213
6214 2007-03-25  Bruno Haible  <bruno@clisp.org>
6215
6216         * lib/trigl.c (kernel_rem_pio2): Make static.
6217
6218 2007-03-25  Bruno Haible  <bruno@clisp.org>
6219
6220         * lib/sincosl.c (sincosl_table): Make static.
6221
6222 2007-03-25  Bruno Haible  <bruno@clisp.org>
6223
6224         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
6225         if the compiler does not support C99.
6226
6227 2007-03-25  Bruno Haible  <bruno@clisp.org>
6228
6229         * modules/time (Makefile.am): Ensure all rule action lines start with a
6230         tab.
6231
6232 2007-03-24  Bruno Haible  <bruno@clisp.org>
6233
6234         * modules/tsearch-tests: New file.
6235         * tests/test-tsearch.sh: New file.
6236         * tests/test-tsearch.c: New file, mostly copied from glibc.
6237
6238         * modules/search-tests: New file.
6239         * tests/test-search.c: New file.
6240
6241         * modules/search: New file.
6242         * lib/search_.h: New file, incorporating lib/tsearch.h.
6243         * m4/search_h.m4: New file.
6244         * lib/tsearch.h: Remove file.
6245         * lib/tsearch.c: Include search.h instead of tsearch.h.
6246         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
6247         HAVE_TSEARCH.
6248         * modules/tsearch (Files): Remove lib/tsearch.h.
6249         (Depends-on): Add search.
6250         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
6251         (Include): Change tsearch.h into search.h.
6252
6253 2007-03-24  Bruno Haible  <bruno@clisp.org>
6254
6255         * modules/fpucw: New file.
6256         * lib/fpucw.h: New file.
6257         * lib/frexp.c: Include fpucw.h.
6258         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
6259         (FUNC): Use them.
6260         * lib/printf-frexp.c: Include fpucw.h.
6261         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
6262         (FUNC): Use them.
6263         * lib/vasnprintf.c: Include fpucw.h.
6264         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
6265         'long double' calculations.
6266         * tests/test-frexpl.c: Include fpucw.h.
6267         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
6268         * tests/test-printf-frexpl.c: Include fpucw.h.
6269         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
6270         * modules/frexpl (Depends-on): Add fpucw.
6271         * modules/printf-frexpl (Depends-on): Likewise.
6272         * modules/fprintf-posix (Depends-on): Likewise.
6273         * modules/snprintf-posix (Depends-on): Likewise.
6274         * modules/sprintf-posix (Depends-on): Likewise.
6275         * modules/vasnprintf-posix (Depends-on): Likewise.
6276         * modules/vasprintf-posix (Depends-on): Likewise.
6277         * modules/vfprintf-posix (Depends-on): Likewise.
6278         * modules/vsnprintf-posix (Depends-on): Likewise.
6279         * modules/vsprintf-posix (Depends-on): Likewise.
6280         * modules/frexpl-tests (Depends-on): Likewise.
6281         * modules/printf-frexpl-tests (Depends-on): Likewise.
6282
6283 2007-03-24  Bruno Haible  <bruno@clisp.org>
6284
6285         * lib/float+.h: New file.
6286         * lib/isnan.c: Include float+.h.
6287         (SIZE): New macro.
6288         (FUNC): Compare only SIZE bytes of the value.
6289         * lib/vasnprintf.c: Include float+.h.
6290         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
6291         SIZEOF_LDBL or SIZEOF_DBL bytes.
6292         * modules/isnan-nolibm (Files): Add lib/float+.h.
6293         * modules/isnanl-nolibm (Files): Add lib/float+.h.
6294         * modules/isnanl (Files): Add lib/float+.h.
6295         * modules/vasnprintf (Files): Add lib/float+.h.
6296
6297 2007-03-24  Bruno Haible  <bruno@clisp.org>
6298
6299         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
6300         include isnanl-nolibm.h.
6301
6302 2007-03-24  Bruno Haible  <bruno@clisp.org>
6303
6304         * tests/test-read-file.c (main): Don't produce spurious output for
6305         expected situations. Make the test fail if it encountered unexpected
6306         results.
6307
6308 2007-03-24  Bruno Haible  <bruno@clisp.org>
6309
6310         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
6311         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
6312
6313 2007-03-24  Bruno Haible  <bruno@clisp.org>
6314
6315         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
6316
6317 2007-03-24  Bruno Haible  <bruno@clisp.org>
6318
6319         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
6320         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
6321
6322         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
6323         * modules/utf8-ucs4: Turn into a symbolic link to module
6324         unistr/u8-mbtouc.
6325
6326         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
6327         utf8-ucs4-unsafe.
6328         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
6329         unistr/u8-mbtouc-unsafe.
6330
6331         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
6332         * modules/utf16-ucs4: Turn into a symbolic link to module
6333         unistr/u16-mbtouc.
6334
6335         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
6336         utf16-ucs4-unsafe.
6337         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
6338         unistr/u16-mbtouc-unsafe.
6339
6340         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
6341         * modules/ucs4-utf8: Turn into a symbolic link to module
6342         unistr/u8-ubtomb.
6343
6344         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
6345         * modules/ucs4-utf16: Turn into a symbolic link to module
6346         unistr/u16-ubtomb.
6347
6348 2007-03-24  Bruno Haible  <bruno@clisp.org>
6349
6350         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
6351         Enable the function only if HAVE_INLINE.
6352         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
6353         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
6354         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
6355         Enable the function only if HAVE_INLINE.
6356         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
6357         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
6358         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
6359         Enable the function only if HAVE_INLINE.
6360         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
6361         Enable the function only if HAVE_INLINE.
6362         * modules/utf8-ucs4: Update.
6363         * modules/utf8-ucs4-unsafe: Update.
6364         * modules/utf16-ucs4: Update.
6365         * modules/utf16-ucs4-unsafe: Update.
6366         * modules/ucs4-utf8: Update.
6367         * modules/ucs4-utf16: Update.
6368
6369 2007-03-24  Bruno Haible  <bruno@clisp.org>
6370
6371         * lib/utf8-ucs4.h: Remove file.
6372         * lib/utf8-ucs4-unsafe.h: Remove file.
6373         * lib/utf16-ucs4.h: Remove file.
6374         * lib/utf16-ucs4-unsafe.h: Remove file.
6375         * lib/ucs4-utf8.h: Remove file.
6376         * lib/ucs4-utf16.h: Remove file.
6377         * lib/unistr.h: Include their previous contents.
6378         * m4/utf-ucs4.m4: Remove file.
6379         * m4/ucs4-utf.m4: Remove file.
6380         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
6381         (Depends-on): Add unistr/base.
6382         (configure.ac): Remove gl_UTF_UCS4.
6383         (Makefile.am): Update.
6384         (Include): Change to unistr.h.
6385         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
6386         (Depends-on): Add unistr/base.
6387         (configure.ac): Remove gl_UTF_UCS4.
6388         (Makefile.am): Update.
6389         (Include): Change to unistr.h.
6390         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
6391         (Depends-on): Add unistr/base.
6392         (configure.ac): Remove gl_UTF_UCS4.
6393         (Makefile.am): Update.
6394         (Include): Change to unistr.h.
6395         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
6396         (Depends-on): Add unistr/base.
6397         (configure.ac): Remove gl_UTF_UCS4.
6398         (Makefile.am): Update.
6399         (Include): Change to unistr.h.
6400         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
6401         (Depends-on): Add unistr/base.
6402         (configure.ac): Remove gl_UCS4_UTF.
6403         (Makefile.am): Update.
6404         (Include): Change to unistr.h.
6405         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
6406         (Depends-on): Add unistr/base.
6407         (configure.ac): Remove gl_UCS4_UTF.
6408         (Makefile.am): Update.
6409         (Include): Change to unistr.h.
6410         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
6411         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
6412         utf8-ucs4-unsafe.h.
6413         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
6414         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
6415         utf16-ucs4-unsafe.h.
6416         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
6417         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
6418         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
6419         * lib/unistr/u8-strchr.c: Likewise.
6420         * lib/unistr/u8-strrchr.c: Likewise.
6421         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
6422         * lib/unistr/u16-strchr.c: Likewise.
6423         * lib/unistr/u16-strrchr.c: Likewise.
6424         * lib/striconveh.c: Update.
6425         * lib/linebreak.c: Update.
6426
6427 2007-03-24  Bruno Haible  <bruno@clisp.org>
6428
6429         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
6430         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
6431
6432 2007-03-22  Bruno Haible  <bruno@clisp.org>
6433
6434         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
6435
6436 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
6437
6438         * MODULES.html.sh (File system functions): New module write-any-file.
6439         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
6440         * m4/write-any-file.m4: New files.
6441
6442 2007-03-23  Eric Blake  <ebb9@byu.net>
6443
6444         * gnulib-tool: Rearrange space-tab sequences, since some editors
6445         like to eat them.
6446
6447 2007-03-23  Eric Blake  <ebb9@byu.net>
6448
6449         * lib/version-etc.c (version_etc_va): Update license wording to
6450         be more concise.  Recommended by Richard Stallman.
6451
6452 2007-03-22  Bruno Haible  <bruno@clisp.org>
6453
6454         * lib/poll.c (MSG_PEEK): New fallback definition.
6455
6456 2007-03-22  Bruno Haible  <bruno@clisp.org>
6457
6458         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
6459         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
6460         (main): Update.
6461         Fixes a compilation error on BeOS.
6462
6463 2007-03-22  Bruno Haible  <bruno@clisp.org>
6464
6465         * modules/frexpl-tests: New file.
6466         * tests/test-frexpl.c: New file.
6467
6468         * modules/frexpl: New file.
6469         * m4/frexpl.m4: New file.
6470         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
6471         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
6472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
6473         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
6474         (Depends-on): Add frexpl. Remove isnanl-nolibm.
6475         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
6476
6477 2007-03-22  Bruno Haible  <bruno@clisp.org>
6478
6479         * lib/frexpl.c: Share code with lib/frexp.c.
6480         * modules/mathl (Files): Add lib/frexp.c.
6481         (Depends-on): Add isnanl-nolibm.
6482
6483 2007-03-22  Bruno Haible  <bruno@clisp.org>
6484
6485         * modules/printf-frexp (Files): Add m4/frexp.m4.
6486         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
6487         only if the found frexp function actually works.
6488
6489 2007-03-22  Bruno Haible  <bruno@clisp.org>
6490
6491         * lib/frexp.c: Remove older implementation that uses divisions.
6492
6493 2007-03-21  Bruno Haible  <bruno@clisp.org>
6494
6495         * modules/frexp-tests: New file.
6496         * tests/test-frexp.c: New file.
6497
6498         * modules/frexp: New file.
6499         * lib/frexp.c: New file.
6500         * m4/frexp.m4: New file.
6501         * lib/math_.h (frexp): New declaration.
6502         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
6503         REPLACE_FREXP.
6504         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
6505
6506 2007-03-21  Bruno Haible  <bruno@clisp.org>
6507
6508         * modules/isnanl-tests: New file.
6509         * tests/test-isnanl.c: New file.
6510
6511         * modules/isnanl: New file.
6512         * lib/isnanl.h: New file.
6513         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
6514         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
6515         gl_FUNC_ISNANL_WORKS.
6516         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
6517         New macros.
6518
6519 2007-03-21  Bruno Haible  <bruno@clisp.org>
6520
6521         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
6522         lib/isnanl.h.
6523         (Include): Update.
6524         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
6525         * lib/vasnprintf.c: Update.
6526         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
6527         tests/test-isnanl.h, remove tests/test-isnanl.c.
6528         (Makefile.am): Update.
6529         * tests/test-isnanl-nolibm.c: New file.
6530         * tests/test-isnanl.h: New file.
6531         * tests/test-isnanl.c: Remove file.
6532
6533 2007-03-21  Jim Meyering  <jim@meyering.net>
6534
6535         When trying to open ".", treat ESTALE like EACCES.
6536         * lib/savewd.c (savewd_save): Resort to forking not just upon
6537         failure with EACCES, but also when errno is ESTALE.
6538
6539 2007-03-20  Bruno Haible  <bruno@clisp.org>
6540
6541         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
6542         Needed on AIX 5.1. Reported by Matthew Woehlke.
6543
6544 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6545
6546         Suggestions by Bruno Haible:
6547         * lib/acl-internal.h: Include "gettext.h" rather than rolling
6548         our own.
6549         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
6550         * modules/acl (Depends-on): Add gettext.
6551
6552 2007-03-19  Bruno Haible  <bruno@clisp.org>
6553
6554         * modules/iconvme: Remove file.
6555         * lib/iconvme.h: Remove file.
6556         * lib/iconvme.c: Remove file.
6557         * m4/iconvme.m4: Remove file.
6558
6559 2007-03-19  Bruno Haible  <bruno@clisp.org>
6560
6561         * doc/relocatable-maint.texi: Break long shell script line.
6562         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
6563
6564 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6565
6566         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
6567         handle file_has_acl.
6568         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
6569         * lib/acl.c: Move header inclusions and related macro defns into
6570         lib/acl-internal.h.
6571         (S_ISLNK): Remove defn, since that's now done for us.
6572         (file_has_acl): Move to lib/file-has-acl.c.
6573         Call acl_trivial if available.  This is the crucial part of the fix.
6574         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
6575         shared within the library.  Rewrite a bit, partly to make it compatible
6576         with the GNU coding style.
6577         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
6578         Remove unnecessary double-quotes.
6579         Don't test for acl_to_text; the build will catch that.
6580         Replace acl_entries if it doesn't exist and it is needed.
6581         Check for -lsec and acl_trivial (as used on Solaris 10).
6582         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
6583         lib/file-has-acl.c.
6584         (Depends-on): Add sys_stat, for S_ISLNK.
6585
6586 2007-03-19  Ben Pfaff  <blp@gnu.org>
6587
6588         * doc/gnulib.texi: Fix typos.
6589         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
6590
6591 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6592
6593         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
6594         If size is zero here, buf must be zero.
6595
6596 2007-03-19  Simon Josefsson  <simon@josefsson.org>
6597
6598         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
6599         <bruno@clisp.org>.
6600
6601 2007-03-18  Bruno Haible  <bruno@clisp.org>
6602
6603         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
6604         Suggested by Eric Blake.
6605
6606 2007-03-18  Ben Pfaff  <blp@gnu.org>
6607
6608         * doc/relocatable.texi: Recommend using as prefix a directory
6609         that does not exist and will never be created.  Based on
6610         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
6611         and others.
6612
6613 2007-03-17  Bruno Haible  <bruno@clisp.org>
6614
6615         * lib/fchownat.c: Include lchown.h.
6616
6617 2007-03-17  Bruno Haible  <bruno@clisp.org>
6618
6619         Fix endless loop when the given allocated size was > INT_MAX.
6620         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
6621         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
6622         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
6623         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
6624         * lib/sprintf.c (sprintf): Likewise.
6625
6626 2007-03-17  Bruno Haible  <bruno@clisp.org>
6627
6628         * tests/test-argp-2.sh (func_compare): Output a context diff.
6629
6630 2007-03-17  Bruno Haible  <bruno@clisp.org>
6631
6632         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
6633         locale's decimal-point character.
6634
6635 2007-03-17  Bruno Haible  <bruno@clisp.org>
6636
6637         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
6638         before comparing it. Needed because on some platforms (e.g. x86) a
6639         'long double' occupies less bytes than sizeof (long double).
6640
6641 2007-03-17  Bruno Haible  <bruno@clisp.org>
6642
6643         * tests/test-crc.c (main): Make printf statements 64-bit clean.
6644         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
6645         * tests/test-getaddrinfo.c (simple): Likewise.
6646         * tests/test-read-file.c (main): Likewise.
6647
6648 2007-03-17  Bruno Haible  <bruno@clisp.org>
6649
6650         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
6651
6652 2007-03-17  Bruno Haible  <bruno@clisp.org>
6653
6654         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
6655         unused variable.
6656
6657 2007-03-17  Bruno Haible  <bruno@clisp.org>
6658
6659         * tests/test-c-strcasecmp.c: Include c-strcase.h.
6660         * tests/test-c-strncasecmp.c: Likewise.
6661
6662 2007-03-17  Bruno Haible  <bruno@clisp.org>
6663
6664         * modules/stdlib (Depends-on): Add unistd.
6665         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
6666         Needed for MacOS X 10.3.
6667
6668 2007-03-17  Bruno Haible  <bruno@clisp.org>
6669
6670         * lib/unistr/u-strdup.h: Include <stdlib.h>.
6671
6672 2007-03-17  Bruno Haible  <bruno@clisp.org>
6673
6674         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
6675
6676 2007-03-17  Bruno Haible  <bruno@clisp.org>
6677
6678         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
6679         to reflect files copied from gnulib (with or without modifications).
6680         Suggested by Jim Meyering.
6681
6682 2007-03-17  Eric Blake  <ebb9@byu.net>
6683
6684         * NEWS: Document stdlib change from 2007-02-18.
6685
6686 2007-03-17  Jim Meyering  <jim@meyering.net>
6687
6688         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
6689         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
6690         someone uses a name containing shell meta-characters.
6691         Reported by Alfred M. Szmidt.
6692
6693         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
6694
6695 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
6696
6697         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
6698         and copy gettext configuration files only if configure.ac contains
6699         a use of AM_GNU_GETTEXT_VERSION.
6700
6701 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
6702
6703         * build-aux/bootstrap (gnulib_name): New variable.
6704         (gnulib_tool_options): Use it.
6705
6706 2007-03-13  Simon Josefsson  <simon@josefsson.org>
6707
6708         * tests/test-des.c: Use new namespace.
6709
6710 2007-03-15  Bruno Haible  <bruno@clisp.org>
6711
6712         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
6713         Reported by James Youngman <jay@gnu.org>.
6714
6715 2007-03-15  Bruno Haible  <bruno@clisp.org>
6716
6717         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
6718         declared prototype. Needed with cc on OSF/1 5.1.
6719
6720 2007-03-15  Bruno Haible  <bruno@clisp.org>
6721
6722         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
6723         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
6724         (struct gl_list_implementation): Add dispose_fn argument to the
6725         'create_empty', 'create' methods.
6726         (struct gl_list_impl_base): Add field 'dispose_fn'.
6727         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
6728         argument.
6729         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
6730         dispose_fn argument.
6731         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
6732         dispose_fn on the dropped values.
6733         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
6734         dispose_fn argument.
6735         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
6736         dropped values.
6737         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
6738         (gl_tree_remove_node): Call dispose_fn on the dropped value.
6739         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
6740         (gl_tree_remove_node): Call dispose_fn on the dropped value.
6741         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
6742         argument.
6743         (gl_tree_list_free): Call dispose_fn on the dropped values.
6744         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
6745         the dropped values.
6746         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
6747         Add dispose_fn argument.
6748         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
6749         Call dispose_fn on the dropped values.
6750         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
6751         Add dispose_fn argument.
6752         (gl_sublist_create): Initialize the 'dispose_fn' field.
6753         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
6754         * tests/test-array_list.c (main): Update.
6755         * tests/test-carray_list.c (main): Update.
6756         * tests/test-avltree_list.c (main): Update.
6757         * tests/test-rbtree_list.c (main): Update.
6758         * tests/test-avltreehash_list.c (main): Update.
6759         * tests/test-rbtreehash_list.c (main): Update.
6760         * tests/test-linked_list.c (main): Update.
6761         * tests/test-linkedhash_list.c (main): Update.
6762         * tests/test-array_oset.c (main): Update.
6763
6764 2007-03-15  Bruno Haible  <bruno@clisp.org>
6765
6766         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
6767         (gl_oset_create_empty): Add dispose_fn argument.
6768         (struct gl_oset_implementation): Add dispose_fn argument to
6769         'create_empty' method.
6770         (struct gl_oset_impl_base): Add dispose_fn field.
6771         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
6772         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
6773         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
6774         values.
6775         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
6776         (gl_tree_oset_free): Call dispose_fn on the dropped values.
6777         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
6778         dropped value.
6779         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
6780         dropped value.
6781         * tests/test-array_oset.c (main): Update.
6782         * tests/test-avltree_oset.c (main): Update.
6783         * tests/test-rbtree_oset.c (main): Update.
6784         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
6785
6786 2007-03-13  Bruno Haible  <bruno@clisp.org>
6787
6788         * tests/test-stdbool.c (i): Update after last patch.
6789
6790 2007-03-12  Bruno Haible  <bruno@clisp.org>
6791
6792         * lib/quotearg.c: Include <wctype.h> early, before the definition of
6793         the iswprint macro. Needed on Solaris 2.5.1.
6794
6795 2007-03-12  Bruno Haible  <bruno@clisp.org>
6796
6797         * tests/test-printf-frexp.c (main): Declare x as volatile.
6798
6799 2007-03-12  Simon Josefsson  <simon@josefsson.org>
6800
6801         * doc/gnulib.texi (Build robot for gnulib): New section.
6802
6803 2007-03-12  Jim Meyering  <jim@meyering.net>
6804
6805         * build-aux/bootstrap: New file.
6806         * build-aux/bootstrap.conf: New file, from coreutils.
6807
6808 2007-03-11  Bruno Haible  <bruno@clisp.org>
6809
6810         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
6811
6812 2007-03-12  Simon Josefsson  <simon@josefsson.org>
6813
6814         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
6815         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
6816         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
6817
6818 2007-03-11  Bruno Haible  <bruno@clisp.org>
6819
6820         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
6821         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
6822
6823 2007-03-11  Bruno Haible  <bruno@clisp.org>
6824
6825         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
6826         formula. Needed for SunPRO C 5.0.
6827
6828 2007-03-11  Bruno Haible  <bruno@clisp.org>
6829
6830         * modules/long-options (Depends-on): Add getopt.
6831
6832 2007-03-11  Bruno Haible  <bruno@clisp.org>
6833
6834         * modules/modechange (Depends-on): Add stdbool.
6835
6836 2007-03-11  Bruno Haible  <bruno@clisp.org>
6837
6838         * modules/i-ring (Depends-on): Add stdbool.
6839
6840 2007-03-11  Bruno Haible  <bruno@clisp.org>
6841
6842         * modules/gc-des (Depends-on): Add stdbool.
6843
6844 2007-03-11  Bruno Haible  <bruno@clisp.org>
6845
6846         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
6847
6848 2007-03-11  Bruno Haible  <bruno@clisp.org>
6849
6850         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
6851
6852 2007-03-11  Bruno Haible  <bruno@clisp.org>
6853
6854         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
6855
6856 2007-03-11  Bruno Haible  <bruno@clisp.org>
6857
6858         * lib/vasnprintf.c (sprintf): Undefine.
6859
6860 2007-03-11  Bruno Haible  <bruno@clisp.org>
6861
6862         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
6863         initializers in SunPRO C and Compaq C compilers.
6864
6865 2007-03-11  Bruno Haible  <bruno@clisp.org>
6866
6867         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
6868         decrementing code ANSI C compliant.
6869
6870 2007-03-11  Bruno Haible  <bruno@clisp.org>
6871
6872         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
6873         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
6874
6875 2007-03-11  Bruno Haible  <bruno@clisp.org>
6876
6877         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
6878         <stdbool.h> substitute doesn't pass.
6879
6880 2007-03-11  Bruno Haible  <bruno@clisp.org>
6881
6882         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
6883
6884 2007-03-11  Bruno Haible  <bruno@clisp.org>
6885
6886         * gnulib-tool (func_create_megatestdir): Create also an autobuild
6887         script, for submission to autobuild.josefsson.org.
6888
6889 2007-03-10  Bruno Haible  <bruno@clisp.org>
6890
6891         * modules/canonicalize-lgpl-tests: New file.
6892         * tests/test-canonicalize-lgpl.sh: New file.
6893         * tests/test-canonicalize-lgpl.c: New file.
6894
6895         * modules/c-strcase-tests: New file.
6896         * tests/test-c-strcase.sh: New file.
6897         * tests/test-c-strcasecmp.c: New file.
6898         * tests/test-c-strncasecmp.c: New file.
6899
6900         * modules/atexit-tests: New file.
6901         * tests/test-atexit.sh: New file.
6902         * tests/test-atexit.c: New file.
6903
6904 2007-03-10  Bruno Haible  <bruno@clisp.org>
6905
6906         * tests/test-binary-io.sh: Use temporary filenames that are not so
6907         likely to clash with those of other tests (in a parallel make).
6908         * tests/test-binary-io.c: Likewise.
6909
6910 2007-03-10  Bruno Haible  <bruno@clisp.org>
6911
6912         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
6913         fallback; use #error instead.
6914         Suggested by Simon Josefsson.
6915
6916 2007-03-10  Bruno Haible  <bruno@clisp.org>
6917
6918         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
6919         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
6920         first and the last.
6921
6922 2007-03-10  Bruno Haible  <bruno@clisp.org>
6923
6924         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
6925
6926 2007-03-10  Bruno Haible  <bruno@clisp.org>
6927
6928         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
6929         "make distcheck".
6930         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
6931         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
6932         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
6933
6934 2007-03-10  Bruno Haible  <bruno@clisp.org>
6935
6936         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
6937         variable.
6938         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
6939         variable.
6940
6941 2007-03-09  Eric Blake  <ebb9@byu.net>
6942         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
6943
6944         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
6945         types are not being provided by gnulib.
6946         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
6947         types are supported.
6948
6949 2007-03-10  Bruno Haible  <bruno@clisp.org>
6950
6951         * lib/stdio_.h (__attribute__): New macro.
6952         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
6953         vsprintf): Specify __attribute__ __format__ for GCC.
6954         Suggested by Eric Blake.
6955
6956 2007-03-09  Bruno Haible  <bruno@clisp.org>
6957
6958         * modules/printf-posix-tests: New file.
6959         * tests/test-printf-posix.sh: New file.
6960         * tests/test-printf-posix.c: New file.
6961
6962         * modules/printf-posix: New file.
6963         * lib/printf.c: New file.
6964         * m4/printf-posix-rpl.m4: New file.
6965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
6966         REPLACE_PRINTF.
6967         * lib/stdio_.h (printf): New declaration.
6968         (format, __format__, ____printf____, ____scanf____, ____strftime____,
6969         ____strfmon____): New macros.
6970         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
6971         REPLACE_PRINTF.
6972
6973 2007-03-09  Bruno Haible  <bruno@clisp.org>
6974
6975         * tests/test-vasnprintf-posix2.sh: New file.
6976         * tests/test-vasnprintf-posix2.c: New file.
6977         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
6978         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
6979         (Makefile.am): Activate test-vasnprintf-posix2.sh.
6980
6981         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
6982         a locale dependent decimal point, rather than always '.'.
6983
6984 2007-03-09  Eric Blake  <ebb9@byu.net>
6985
6986         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
6987         spite of platforms like Tandem/NSK that define it to -1.
6988
6989 2007-03-08  Bruno Haible  <bruno@clisp.org>
6990
6991         * modules/vprintf-posix-tests: New file.
6992         * tests/test-vprintf-posix.sh: New file.
6993         * tests/test-vprintf-posix.c: New file.
6994         * tests/test-printf-posix.h: New file.
6995
6996         * modules/vprintf-posix: New file.
6997         * lib/vprintf.c: New file.
6998         * m4/vprintf-posix.m4: New file.
6999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
7000         REPLACE_VPRINTF.
7001         * lib/stdio_.h (vprintf): New declaration.
7002         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
7003         REPLACE_VPRINTF.
7004
7005 2007-03-08  Bruno Haible  <bruno@clisp.org>
7006
7007         * modules/fprintf-posix-tests: New file.
7008         * tests/test-fprintf-posix.sh: New file.
7009         * tests/test-fprintf-posix.c: New file.
7010
7011         * modules/fprintf-posix: New file.
7012         * lib/fprintf.c: New file.
7013         * m4/fprintf-posix.m4: New file.
7014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
7015         REPLACE_FPRINTF.
7016         * lib/stdio_.h (fprintf): New declaration.
7017         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
7018         REPLACE_FPRINTF.
7019
7020 2007-03-08  Bruno Haible  <bruno@clisp.org>
7021
7022         * modules/vfprintf-posix-tests: New file.
7023         * tests/test-vfprintf-posix.sh: New file.
7024         * tests/test-vfprintf-posix.c: New file.
7025         * tests/test-fprintf-posix.h: New file.
7026         * tests/test-fprintf-posix.out: New file.
7027
7028         * modules/vfprintf-posix: New file.
7029         * lib/vfprintf.c: New file.
7030         * m4/vfprintf-posix.m4: New file.
7031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
7032         REPLACE_VFPRINTF.
7033         * lib/stdio_.h (vfprintf): New declaration.
7034         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
7035         REPLACE_VFPRINTF.
7036
7037 2007-03-08  Bruno Haible  <bruno@clisp.org>
7038
7039         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
7040
7041 2007-03-08  Bruno Haible  <bruno@clisp.org>
7042
7043         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
7044         instead of 'expr' invocations.
7045         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7046         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7047         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7048         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7049         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7050         Suggested by Paul Eggert.
7051
7052 2007-03-08  Bruno Haible  <bruno@clisp.org>
7053
7054         * modules/fseterr-tests: New file.
7055         * tests/test-fseterr.c: New file.
7056
7057         * modules/fseterr: New file.
7058         * lib/fseterr.h: New file.
7059         * lib/fseterr.c: New file.
7060
7061 2007-03-08  Bruno Haible  <bruno@clisp.org>
7062
7063         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
7064         * lib/getopt_.h: Likewise.
7065         * lib/mbswidth.h: Likewise.
7066         * lib/setenv.h: Likewise.
7067         * lib/vasnprintf.h: Likewise.
7068         * lib/vasprintf.h: Likewise.
7069         * lib/verror.h: Likewise.
7070         * lib/xsetenv.h: Likewise.
7071         * lib/xvasprintf.h: Likewise.
7072
7073 2007-03-08  Jim Meyering  <jim@meyering.net>
7074
7075         * users.txt: Add parted.
7076
7077         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
7078
7079 2007-03-07  Bruno Haible  <bruno@clisp.org>
7080
7081         * m4/printf.m4: Make the shell script snippets copy&pastable.
7082
7083 2007-03-02  Bruno Haible  <bruno@clisp.org>
7084
7085         * lib/netinet_in_.h: New file.
7086         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
7087         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
7088         * modules/netinet_in (Files): Add lib/netinet_in_.h.
7089         (Depends-on): Add absolute-header.
7090         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
7091         into netinet/in.h.
7092
7093 2007-03-03  Bruno Haible  <bruno@clisp.org>
7094
7095         * lib/sys_select_.h: New file.
7096         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
7097         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
7098         * modules/sys_select (Files): Add lib/sys_select_.h.
7099         (Depends-on): Add absolute-header.
7100         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
7101         into sys/select.h.
7102
7103 2007-03-02  Bruno Haible  <bruno@clisp.org>
7104
7105         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
7106         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
7107         values.
7108         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
7109         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
7110         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
7111         * modules/sys_socket (Depends-on): Add absolute-header.
7112         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
7113         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
7114         (Include): Remove requirement of inclusion of <sys/types.h>.
7115
7116 2007-03-02  Bruno Haible  <bruno@clisp.org>
7117
7118         * lib/byteswap_.h (bswap_32): Fix formula.
7119
7120 2007-03-06  Bruno Haible  <bruno@clisp.org>
7121
7122         * modules/sprintf-posix-tests: New file.
7123         * tests/test-sprintf-posix.c: New file.
7124
7125         * modules/sprintf-posix: New file.
7126         * lib/sprintf.c: New file.
7127         * m4/sprintf-posix.m4: New file.
7128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
7129         REPLACE_SPRINTF.
7130         * lib/stdio_.h (sprintf): New declaration.
7131         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
7132         REPLACE_SPRINTF.
7133
7134 2007-03-06  Bruno Haible  <bruno@clisp.org>
7135
7136         * modules/vsprintf-posix-tests: New file.
7137         * tests/test-vsprintf-posix.c: New file.
7138         * tests/test-sprintf-posix.h: New file.
7139
7140         * modules/vsprintf-posix: New file.
7141         * lib/vsprintf.c: New file.
7142         * m4/vsprintf-posix.m4: New file.
7143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
7144         REPLACE_VSPRINTF.
7145         * lib/stdio_.h (vsprintf): New declaration.
7146         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
7147         REPLACE_VSPRINTF.
7148
7149 2007-03-06  Bruno Haible  <bruno@clisp.org>
7150
7151         * modules/vsnprintf (Depend-on): Remove minmax.
7152
7153 2007-03-06  Bruno Haible  <bruno@clisp.org>
7154
7155         * modules/snprintf-posix-tests: New file.
7156         * tests/test-snprintf-posix.c: New file.
7157
7158         * modules/snprintf-posix: New file.
7159         * m4/snprintf-posix.m4: New file.
7160         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
7161         gl_FUNC_SNPRINTF.
7162         (gl_FUNC_SNPRINTF): Invoke it.
7163         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
7164         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
7165         is set.
7166         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
7167
7168 2007-03-06  Bruno Haible  <bruno@clisp.org>
7169
7170         * modules/vsnprintf-posix-tests: New file.
7171         * tests/test-vsnprintf-posix.c: New file.
7172         * tests/test-snprintf-posix.h: New file.
7173
7174         * modules/vsnprintf-posix: New file.
7175         * m4/vsnprintf-posix.m4: New file.
7176         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
7177         gl_FUNC_VSNPRINTF.
7178         (gl_FUNC_VSNPRINTF): Invoke it.
7179         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
7180         * lib/stdio_.h (vsnprintf): Define as a replacement if
7181         REPLACE_VSNPRINTF is set.
7182         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
7183
7184 2007-03-06  Bruno Haible  <bruno@clisp.org>
7185
7186         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
7187         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
7188
7189 2007-03-06  Bruno Haible  <bruno@clisp.org>
7190
7191         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
7192         (asinl): Declare also if HAVE_DECL_ASINL is set.
7193         (atanl): Declare also if HAVE_DECL_ATANL is set.
7194         (ceill): Declare also if HAVE_DECL_CEILL is set.
7195         (cosl): Declare also if HAVE_DECL_COSL is set.
7196         (expl): Declare also if HAVE_DECL_EXPL is set.
7197         (floorl): Declare also if HAVE_DECL_FLOORL is set.
7198         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
7199         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
7200         (logl): Declare also if HAVE_DECL_LOGL is set.
7201         (sinl): Declare also if HAVE_DECL_SINL is set.
7202         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
7203         (tanl): Declare also if HAVE_DECL_TANL is set.
7204         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
7205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
7206         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
7207         declaration of frexpl, ldexpl.
7208         * modules/printf-frexpl (Depends-on): Add math.
7209         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
7210
7211 2007-03-05  Bruno Haible  <bruno@clisp.org>
7212
7213         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
7214         frexpl and ldexpl are declared.
7215         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
7216
7217 2007-03-05  Bruno Haible  <bruno@clisp.org>
7218
7219         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
7220         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
7221
7222 2007-03-05  Bruno Haible  <bruno@clisp.org>
7223
7224         * lib/stdio_.h: Include <stddef.h>.
7225
7226 2007-03-05  Bruno Haible  <bruno@clisp.org>
7227
7228         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
7229
7230 2007-03-05  Bruno Haible  <bruno@clisp.org>
7231
7232         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
7233         NetBSD 4, from Ralf Wildenhues.
7234
7235 2007-03-04  Bruno Haible  <bruno@clisp.org>
7236
7237         * lib/vasprintf.h: Update #if logic for the case when the functions
7238         exist but are overridden.
7239
7240 2007-03-04  Bruno Haible  <bruno@clisp.org>
7241
7242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
7243         implementations: glibc-2.4 and MacOS X 10.3.
7244         * tests/test-vasnprintf-posix.c (test_function): Test also the case
7245         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
7246         * tests/test-vasprintf-posix.c (test_function): Likewise.
7247
7248 2007-03-04  Bruno Haible  <bruno@clisp.org>
7249
7250         * modules/vasprintf-posix-tests: New file.
7251         * tests/test-vasprintf-posix.c: New file.
7252
7253         * modules/vasprintf-posix: New file.
7254         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
7255         defined.
7256         * m4/vasprintf-posix.m4: New file.
7257         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
7258         gl_FUNC_VASPRINTF.
7259         (gl_FUNC_VASPRINTF): Invoke it.
7260         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
7261         here.
7262         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
7263
7264 2007-03-04  Bruno Haible  <bruno@clisp.org>
7265
7266         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
7267         REPLACE_GETTIMEOFDAY.
7268         * modules/sys_time (Makefile.am): Likewise.
7269         * m4/sys_time_h.m4: Likewise.
7270         * m4/gettimeofday.m4: Likewise.
7271
7272 2007-03-04  Bruno Haible  <bruno@clisp.org>
7273
7274         * modules/vasnprintf-posix-tests: New file.
7275         * tests/test-vasnprintf-posix.c: New file.
7276
7277         * modules/vasnprintf-posix: New file.
7278         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
7279         printf-frexpl.h.
7280         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
7281         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
7282         REPLACE_VASNPRINTF is defined.
7283         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
7284         gl_FUNC_VASNPRINTF.
7285         (gl_FUNC_VASNPRINTF): Invoke it.
7286         * m4/vasnprintf-posix.m4: New file.
7287         * m4/printf.m4: New file.
7288
7289 2007-03-04  Bruno Haible  <bruno@clisp.org>
7290
7291         Compile progreloc.c only if --enable-relocatable is specified.
7292         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
7293         if --enable-relocatable was specified.
7294         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
7295         lib_SOURCES.
7296
7297 2007-03-04  Jim Meyering  <jim@meyering.net>
7298
7299         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
7300         Use it consistently, rather than enumerating errno constants.
7301
7302 2007-03-04  Bruno Haible  <bruno@clisp.org>
7303
7304         * modules/xvasprintf-tests: New file.
7305         * tests/test-xvasprintf.c: New file.
7306
7307         * modules/vasprintf-tests: New file.
7308         * tests/test-vasprintf.c: New file.
7309
7310         * modules/vasnprintf-tests: New file.
7311         * tests/test-vasnprintf.c: New file.
7312
7313         * modules/vsnprintf-tests: New file.
7314         * tests/test-vsnprintf.c: New file.
7315
7316         * modules/snprintf-tests: New file.
7317         * tests/test-snprintf.c: New file.
7318
7319 2007-03-04  Bruno Haible  <bruno@clisp.org>
7320
7321         Compile relocatable.c only if --enable-relocatable is specified.
7322         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
7323         gl_RELOCATABLE_LIBRARY.
7324         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
7325         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
7326         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
7327         gl_RELOCATABLE_LIBRARY.
7328         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
7329         (Makefile.am): Remove lib_SOURCES.
7330         * modules/relocatable-lib-lgpl (configure.ac): Invoke
7331         gl_RELOCATABLE_LIBRARY.
7332         (Makefile.am): Remove lib_SOURCES.
7333         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
7334         always.
7335         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7336         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
7337
7338 2007-03-04  Bruno Haible  <bruno@clisp.org>
7339
7340         * modules/argmatch-tests: New file.
7341         * tests/test-argmatch.c: New file.
7342
7343         * tests/test-allocsa.c (main): Halve the number of loop runs.
7344
7345         * modules/alloca-opt-tests: New file.
7346         * tests/test-alloca-opt.c: New file.
7347
7348 2007-03-04  Jim Meyering  <jim@meyering.net>
7349
7350         Work around difference between Linux ACLs and Solaris 10 ZFS.
7351         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
7352         for EINVAL.
7353
7354 2007-03-03  Bruno Haible  <bruno@clisp.org>
7355
7356         * modules/relocatable-prog (Depends-on): Add back progreloc's
7357         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
7358
7359 2007-03-03  Bruno Haible  <bruno@clisp.org>
7360
7361         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
7362         * modules/relocatable-lib: New file.
7363
7364 2007-03-03  Bruno Haible  <bruno@clisp.org>
7365
7366         * modules/relocatable-prog: Renamed from modules/relocatable.
7367         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
7368
7369 2007-03-03  Bruno Haible  <bruno@clisp.org>
7370
7371         * modules/relocatable-script (Files): Add doc/relocatable.texi,
7372         m4/relocatable-lib.m4.
7373         (Depends-on): Remove 'relocatable'.
7374         (configure.ac): Add gl_RELOCATABLE_NOP.
7375
7376 2007-03-03  Bruno Haible  <bruno@clisp.org>
7377
7378         * modules/relocatable-prog-wrapper: New file.
7379         * modules/relocatable (Depends-on): Add it. Remove all other
7380         dependencies except progname.
7381         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
7382
7383         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
7384         (gl_FUNC_STRERROR): Nop.
7385         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
7386
7387         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
7388         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
7389
7390         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
7391         (gl_FUNC_READLINK): Update.
7392
7393         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
7394
7395 2007-03-03  Bruno Haible  <bruno@clisp.org>
7396
7397         * lib/xreadlink.c: Include <unistd.h> unconditionally.
7398         * modules/xreadlink (Depends-on): Add unistd.
7399         * modules/xreadlink-with-size (Depends-on): Likewise.
7400
7401 2007-03-03  Bruno Haible  <bruno@clisp.org>
7402
7403         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
7404         extracted from gt_FUNC_SETENV.
7405         (gt_FUNC_SETENV): Remove macro.
7406         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
7407         remove gt_FUNC_SETENV.
7408
7409 2007-03-03  Bruno Haible  <bruno@clisp.org>
7410
7411         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
7412         ENABLE_RELOCATABLE here.
7413         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
7414
7415 2007-03-03  Bruno Haible  <bruno@clisp.org>
7416
7417         * modules/rbtreehash-list-tests (Depends-on): Add progname.
7418         * tests/test-rbtreehash_list.c: Include progname.h.
7419         (main): Call set_program_name.
7420
7421         * modules/rbtree-oset-tests (Depends-on): Add progname.
7422         * tests/test-rbtree_oset.c: Include progname.h.
7423         (main): Call set_program_name.
7424
7425         * modules/rbtree-list-tests (Depends-on): Add progname.
7426         * tests/test-rbtree_list.c: Include progname.h.
7427         (main): Call set_program_name.
7428
7429         * modules/linked-list-tests (Depends-on): Add progname.
7430         * tests/test-linked_list.c: Include progname.h.
7431         (main): Call set_program_name.
7432
7433 2007-03-03  Bruno Haible  <bruno@clisp.org>
7434
7435         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
7436         All uses of __restrict changed to _Restrict_.
7437         * lib/glob_.h (__restrict): Remove macro.
7438
7439 2007-03-02  Bruno Haible  <bruno@clisp.org>
7440
7441         * modules/gettext (configure.ac): Require gettext infrastructure
7442         from version 0.16.1.
7443
7444 2007-03-02  Bruno Haible  <bruno@clisp.org>
7445
7446         * modules/linkedhash-list-tests (Depends-on): Add progname.
7447         * tests/test-linkedhash_list.c: Include progname.h.
7448         (main): Call set_program_name.
7449
7450         * modules/carray-list-tests (Depends-on): Add progname.
7451         * tests/test-carray_list.c: Include progname.h.
7452         (main): Call set_program_name.
7453
7454         * modules/avltreehash-list-tests (Depends-on): Add progname.
7455         * tests/test-avltreehash_list.c: Include progname.h.
7456         (main): Call set_program_name.
7457
7458         * modules/avltree-oset-tests (Depends-on): Add progname.
7459         * tests/test-avltree_oset.c: Include progname.h.
7460         (main): Call set_program_name.
7461
7462         * modules/avltree-list-tests (Depends-on): Add progname.
7463         * tests/test-avltree_list.c: Include progname.h.
7464         (main): Call set_program_name.
7465
7466         * modules/array-oset-tests (Depends-on): Add progname.
7467         * tests/test-array_oset.c: Include progname.h.
7468         (main): Call set_program_name.
7469
7470         * modules/array-list-tests (Depends-on): Add progname.
7471         * tests/test-array_list.c: Include progname.h.
7472         (main): Call set_program_name.
7473
7474         * modules/argp-tests (Depends-on): Add progname.
7475         * tests/test-argp.c: Include argp.h first. Include progname.h.
7476         (main): Call set_program_name.
7477
7478 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
7479
7480         * doc/gnulib-tool.texi (Initial import): Reword description of
7481         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
7482         limited effect even if defined after the first system include.
7483
7484 2007-03-01  Bruno Haible  <bruno@clisp.org>
7485
7486         * build-aux/config.libpath: Update to libtool-1.5.22.
7487         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7488
7489 2007-03-01  Bruno Haible  <bruno@clisp.org>
7490
7491         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
7492         foo_CFLAGS.
7493         Reported by Ralf Wildenhues.
7494
7495 2007-03-01  Bruno Haible  <bruno@clisp.org>
7496
7497         * build-aux/install-reloc: Remove object files left over by some
7498         compilers.
7499         Reported by Ralf Wildenhues.
7500
7501 2007-03-01  Bruno Haible  <bruno@clisp.org>
7502
7503         * build-aux/install-reloc: Break long lines.
7504
7505 2007-03-01  Bruno Haible  <bruno@clisp.org>
7506
7507         * doc/relocatable.texi: Document that it may not work on OpenBSD.
7508         Reported by Ralf Wildenhues.
7509
7510 2007-03-01  Bruno Haible  <bruno@clisp.org>
7511
7512         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
7513         include ordering constraints.
7514
7515 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
7516
7517         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
7518         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
7519         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
7520         as another example.
7521         * lib/time_.h: Fix misspelling.
7522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7523         Require gl_HEADER_TIME_H_DEFAULTS.
7524         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
7525         * m4/time_r.m4 (gl_TIME_R): Likewise.
7526         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
7527
7528 2007-03-01  Bruno Haible  <bruno@clisp.org>
7529
7530         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
7531         * m4/utimens.m4 (gl_UTIMENS): Likewise.
7532
7533 2007-03-01  Jim Meyering  <jim@meyering.net>
7534
7535         * modules/xreadlink (Maintainer): Add my name.
7536         * modules/xreadlink-with-size (Depends-on): Alphabetize.
7537
7538 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
7539             Bruno Haible  <bruno@clisp.org>
7540
7541         * build-aux/install-reloc: Compile also c-ctype.c.
7542         * build-aux/relocatable.sh.in: New file.
7543         * doc/relocatable.texi: New file.
7544         * doc/relocatable-maint.texi: New file.
7545         * doc/gnulib.texi: Include relocatable-maint.texi.
7546         * lib/progreloc.c: Include unistd.h unconditionally.
7547         * lib/relocwrapper.c: Include unistd.h unconditionally.
7548         Include c-ctype.h.
7549         (add_dotbin): Use c_tolower.
7550         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
7551         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
7552         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
7553         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
7554         to m4/relocatable-lib.m4.
7555         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
7556         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
7557         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
7558         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
7559         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
7560         * modules/relocatable: New file.
7561         * modules/relocatable-lib: New file.
7562         * modules/relocatable-script: New file.
7563
7564 2007-02-28  Bruno Haible  <bruno@clisp.org>
7565
7566         Import --enable-relocatable infrastructure.
7567         * build-aux/config.libpath: New file, from GNU gettext.
7568         * build-aux/install-reloc: New file, from GNU gettext.
7569         * build-aux/reloc-ldflags: New file, from GNU gettext.
7570         * lib/relocatable.h: New file, from GNU gettext.
7571         * lib/relocatable.c: New file, from GNU gettext.
7572         * lib/relocwrapper.c: New file, from GNU gettext.
7573         * m4/relocatable.m4: New file, from GNU gettext.
7574
7575 2007-02-28  Bruno Haible  <bruno@clisp.org>
7576
7577         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
7578
7579         * modules/xreadlink: New file, from GNU gettext with modifications.
7580         * lib/xreadlink.c: New file, from GNU gettext.
7581         * lib/xreadlink.h: Add comments.
7582         (xreadlink): New declaration.
7583
7584         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
7585         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
7586         lib/xreadlink-with-size.c.
7587         (configure.ac): Remove gl_XREADLINK invocation.
7588         (Makefile.am): Augment lib_SOURCES.
7589         * m4/xreadlink.m4: Remove file.
7590         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
7591         (xreadlink_with_size): Renamed from xreadink.
7592         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
7593         * modules/canonicalize (Depends-on): Replace xreadlink with
7594         xreadlink-with-size.
7595         * lib/canonicalize.c (canonicalize_filename_mode): Update.
7596
7597 2007-02-25  Jim Meyering  <jim@meyering.net>
7598
7599         * build-aux/announce-gen: When complaining about excess arguments,
7600         list them.
7601
7602 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
7603
7604         * README: Document signed integer overflow situation more
7605         accurately.
7606
7607 2007-02-25  Bruno Haible  <bruno@clisp.org>
7608
7609         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
7610         'a' or 'A' conversion.
7611
7612 2007-02-25  Bruno Haible  <bruno@clisp.org>
7613
7614         * modules/filename: Renamed from modules/pathname.
7615         (Files): Replace lib/pathname.h with lib/filename.h. Replace
7616         lib/concatpath.c with lib/concat-filename.c.
7617         (Makefile.am): Update.
7618         (Include): Replace pathname.h with filename.h.
7619         * lib/filename.h: Renamed from lib/pathname.h.
7620         (concatenated_filename): Renamed from concatenated_pathname.
7621         * lib/concat-filename.c: Renamed from lib/concatpath.c.
7622         (concatenated_filename): Renamed from concatenated_pathname.
7623         * lib/findprog.c: Include filename.h instead of pathname.h.
7624         (find_in_path): Update.
7625         * lib/javacomp.c: Include filename.h instead of pathname.h.
7626         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
7627         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
7628         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
7629         is_oldgcj_14_13_usable, is_javac_usable): Update.
7630         * lib/javaexec.c: Include filename.h instead of pathname.h.
7631         (execute_java_class): Update.
7632         * modules/findprog: Update.
7633         * modules/javacomp: Update.
7634         * modules/javaexec: Update.
7635         * MODULES.html.sh (File system functions): Add 'filename', remove
7636         'pathname'.
7637
7638 2007-02-25  Bruno Haible  <bruno@clisp.org>
7639
7640         * modules/printf-frexpl-tests: New file.
7641         * tests/test-printf-frexpl.c: New file.
7642
7643         * modules/printf-frexpl: New file.
7644         * lib/printf-frexpl.h: New file.
7645         * lib/printf-frexpl.c: New file.
7646         * m4/printf-frexpl.m4: New file.
7647
7648 2007-02-25  Bruno Haible  <bruno@clisp.org>
7649
7650         * modules/printf-frexp-tests: New file.
7651         * tests/test-printf-frexp.c: New file.
7652
7653         * modules/printf-frexp: New file.
7654         * lib/printf-frexp.h: New file.
7655         * lib/printf-frexp.c: New file.
7656         * m4/printf-frexp.m4: New file.
7657
7658 2007-02-25  Bruno Haible  <bruno@clisp.org>
7659
7660         Assume automake >= 1.10 for the tests.
7661         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
7662         * modules/arctwo-tests: Likewise.
7663         * modules/argp-tests: Likewise.
7664         * modules/avltree-list-tests: Likewise.
7665         * modules/avltree-oset-tests: Likewise.
7666         * modules/avltreehash-list-tests: Likewise.
7667         * modules/carray-list-tests: Likewise.
7668         * modules/crc-tests: Likewise.
7669         * modules/des-tests: Likewise.
7670         * modules/gc-arcfour-tests: Likewise.
7671         * modules/gc-arctwo-tests: Likewise.
7672         * modules/gc-des-tests: Likewise.
7673         * modules/gc-hmac-md5-tests: Likewise.
7674         * modules/gc-hmac-sha1-tests: Likewise.
7675         * modules/gc-md2-tests: Likewise.
7676         * modules/gc-md4-tests: Likewise.
7677         * modules/gc-md5-tests: Likewise.
7678         * modules/gc-pbkdf2-sha1-tests: Likewise.
7679         * modules/gc-rijndael-tests: Likewise.
7680         * modules/gc-sha1-tests: Likewise.
7681         * modules/gc-tests: Likewise.
7682         * modules/getaddrinfo-tests: Likewise.
7683         * modules/hmac-md5-tests: Likewise.
7684         * modules/hmac-sha1-tests: Likewise.
7685         * modules/linked-list-tests: Likewise.
7686         * modules/linkedhash-list-tests: Likewise.
7687         * modules/lock-tests: Likewise.
7688         * modules/md2-tests: Likewise.
7689         * modules/md4-tests: Likewise.
7690         * modules/md5-tests: Likewise.
7691         * modules/rbtree-list-tests: Likewise.
7692         * modules/rbtree-oset-tests: Likewise.
7693         * modules/rbtreehash-list-tests: Likewise.
7694         * modules/read-file-tests: Likewise.
7695         * modules/rijndael-tests: Likewise.
7696         * modules/stdint-tests: Likewise.
7697         * modules/tls-tests: Likewise.
7698
7699 2007-02-24  Bruno Haible  <bruno@clisp.org>
7700
7701         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
7702         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
7703         function; instead check whether isnan with a double argument links.
7704         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
7705         function; instead check whether isnan with a 'long double' argument
7706         links.
7707         Reported by Eric Blake <ebb9@byu.net>.
7708
7709 2007-02-24  Bruno Haible  <bruno@clisp.org>
7710
7711         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
7712         defined.
7713         * lib/isnanl.c: Remove all code. Just include isnan.c.
7714         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
7715
7716 2007-02-25  Jim Meyering  <jim@meyering.net>
7717
7718         Avoid conflicting types for 'unsetenv' on FreeBSD.
7719         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
7720         conflicting with FreeBSD's (5.0 and 6.1) function declaration
7721         in stdlib.h.
7722
7723 2007-02-24  Bruno Haible  <bruno@clisp.org>
7724
7725         * modules/isnanl-nolibm-tests: New file.
7726         * tests/test-isnanl.c: New file.
7727
7728         * modules/isnanl-nolibm: New file.
7729         * lib/isnanl.h: New file.
7730         * lib/isnanl.c: New file.
7731         * m4/isnanl.m4: New file.
7732
7733 2007-02-24  Bruno Haible  <bruno@clisp.org>
7734
7735         * modules/isnan-nolibm-tests: New file.
7736         * tests/test-isnan.c: New file.
7737
7738         * modules/isnan-nolibm: New file.
7739         * lib/isnan.h: New file.
7740         * lib/isnan.c: New file.
7741         * m4/isnan.m4: New file.
7742
7743 2007-02-24  Bruno Haible  <bruno@clisp.org>
7744
7745         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
7746         assume that an exponent fits in 20 bits.
7747
7748 2007-02-24  Jim Meyering  <jim@meyering.net>
7749
7750         * m4/regex.m4: Update the description of the configure-time option,
7751         --without-included-regex, to state accurately what the defaults are,
7752         and perhaps to give people an idea why using this option is risky.
7753
7754 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7755
7756         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
7757         loops on small arguments.  This attempts to avoid the problem
7758         Bruno Haible reported for AIX 4.3.2 in
7759         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
7760
7761 2007-02-23  Bruno Haible  <bruno@clisp.org>
7762
7763         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
7764         Needed for help2man.
7765
7766 2007-02-23  Karl Berry  <karl@gnu.org>
7767
7768         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
7769         exists, foo.h should be cvs-ignored, not committed.
7770
7771 2007-02-23  Eric Blake  <ebb9@byu.net>
7772
7773         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
7774         * lib/stat-time.h (includes): Likewise.
7775         * lib/utimecmp.c (includes): Likewise.
7776         * lib/utimens.h (includes): Likewise.
7777         * lib/getdate.y (includes): Also include "timespec.h" for use
7778         internal to the module.
7779         * modules/utimens (Depends-on): Revert yesterday's patch.
7780         * modules/nanosleep (Depends-on): Add missing dependency.
7781
7782 2007-02-22  Bruno Haible  <bruno@clisp.org>
7783
7784         * lib/glob.c: Don't include getlogin_r.h.
7785
7786 2007-02-22  Jim Meyering  <jim@meyering.net>
7787
7788         * modules/utimens (Depends-on): Add timespec, required for
7789         utimens.h's inclusion of timespec.h.
7790
7791 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
7792
7793         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
7794         long unreadable paths in GNU/Linux.  Problem reported by Andreas
7795         Schwab in
7796         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
7797         I'll try to think of a better way to fix the Solaris problem.
7798
7799         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
7800         like glibc; on Solaris 10, it fails with errno == EINVAL.
7801         POSIX says the behavior is unspecified if the first argument is NULL,
7802         so play it safe and never pass NULL to the system getcwd.
7803
7804 2007-02-21  Jim Meyering  <jim@meyering.net>
7805
7806         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
7807         of gettimeofday.  It would conflict with the one now always
7808         provided via sys_time_.h.  Reported by Matthew Woehlke, as
7809         an IRIX 6.5 build failure.
7810
7811 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7812
7813         Minor fixups to port to Solaris 10 with Sun C 5.8.
7814         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
7815         * modules/getcwd (Depends-on): Add dirfd.
7816         * lib/putenv.c (putenv): #undef it.
7817         (rpl_putenv): New decl.
7818         (malloc, free): Include <stdlib.h> rather than prototyping separately.
7819
7820 2007-02-20  Bruno Haible  <bruno@clisp.org>
7821
7822         * modules/stdio-tests: New file.
7823         * tests/test-stdio.c: New file.
7824
7825         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
7826         (Depends-on): Add stdio.
7827         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
7828         (Include): Use <stdio.h> instead of vsnprintf.h.
7829         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
7830         HAVE_DECL_VSNPRINTF.
7831         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
7832
7833         * modules/snprintf (Files): Remove lib/snprintf.h.
7834         (Depends-on): Add stdio.
7835         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
7836         (Include): Use <stdio.h> instead of snprintf.h.
7837         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
7838         HAVE_DECL_SNPRINTF.
7839         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
7840         * lib/getaddrinfo.c: Likewise.
7841
7842         * modules/stdio: New file.
7843         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
7844         * lib/snprintf.h: Remove file.
7845         * lib/vsnprintf.h: Remove file.
7846         * lib/.cppi-disable: Remove snprintf.h.
7847         * m4/stdio_h.m4: New file.
7848         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
7849
7850 2007-02-20  Jim Meyering  <jim@meyering.net>
7851
7852         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
7853         used by e.g., mingw.  From Bruno Haible.
7854
7855 2007-02-19  Bruno Haible  <bruno@clisp.org>
7856
7857         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
7858         warnings.
7859         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7860
7861 2007-02-19  Bruno Haible  <bruno@clisp.org>
7862
7863         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
7864         from mingw users.
7865
7866 2007-02-19  Bruno Haible  <bruno@clisp.org>
7867
7868         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
7869         warnings.
7870         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
7871
7872 2007-02-19  Jim Meyering  <jim@meyering.net>
7873
7874         Don't use FD after a successful "fdopendir (fd)".
7875         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
7876         Reset it by calling dirfd on the just-obtained DIR*.
7877
7878         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
7879         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
7880
7881 2007-02-18  Bruno Haible  <bruno@clisp.org>
7882
7883         * lib/readlink.c: Include <unistd.h>.
7884         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
7885         HAVE_READLINK.
7886         * modules/readlink (Depends-on): Add unistd.
7887         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7888         (Include): Add <unistd.h>.
7889
7890         * lib/getlogin_r.h: Remove file.
7891         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
7892         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
7893         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
7894         HAVE_DECL_GETLOGIN_R.
7895         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
7896         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7897         (Include): Use <unistd.h> instead of getlogin_r.h.
7898
7899         * lib/getcwd.h: Remove file.
7900         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
7901         * lib/xgetcwd.c: Likewise.
7902         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
7903         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
7904         * modules/getcwd (Files): Remove lib/getcwd.h.
7905         (Depends-on): Add unistd.
7906         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7907         (Include): Use <unistd.h> instad of getcwd.h.
7908
7909         * lib/ftruncate.c: Include <unistd.h> first.
7910         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
7911         Set HAVE_FTRUNCATE.
7912         * modules/ftruncate (Depends-on): Add unistd.
7913         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7914
7915         * lib/fchdir.c: Include <unistd.h> first.
7916         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
7917         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
7918         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
7919         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7920         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
7921
7922         * lib/dup2.c: Include <unistd.h> first.
7923         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
7924         HAVE_DUP2.
7925         * modules/dup2 (Depends-on): Add unistd.
7926         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7927
7928         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
7929         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
7930         REPLACE_CHOWN. Don't define chown as a macro here.
7931         * modules/chown (Depends-on): Add unistd.
7932         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7933
7934         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
7935         Add definition for GL_LINK_WARNING.
7936         (chown, dup2): New declarations.
7937         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
7938         link warning.
7939         (ftruncate): New declaration.
7940         (getcwd): New declaration, taken from old getcwd.h.
7941         (getlogin_r): New declaration, taken from old getlogin_r.h.
7942         (readlink): New declaration.
7943         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
7944         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
7945         (gl_PREREQ_UNISTD): Remove macro.
7946         (gl_UNISTD_MODULE_INDICATOR): New macro.
7947         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
7948         many new variables. Don't set UNISTD_H.
7949         * modules/unistd (Description): Change.
7950         (Depends-on): Add link-warning.
7951         (configure.ac): Update.
7952         (Makefile.am): Create unistd.h always. Substitute many new variables
7953         into it.
7954
7955 2007-02-18  Bruno Haible  <bruno@clisp.org>
7956
7957         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
7958         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
7959         HAVE_GETSUBOPT.
7960         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
7961         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
7962         * lib/getsubopt.h: Remove file.
7963         * modules/getsubopt (Files): Remove lib/getsubopt.h.
7964         (Depends-on): Add stdlib.
7965         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7966         (Includes): Use <stdlib.h> instead of getsubopt.h.
7967         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
7968         Set HAVE_GETSUBOPT.
7969         * lib/getsubopt.c: Don't include getsubopt.h.
7970
7971 2007-02-18  Bruno Haible  <bruno@clisp.org>
7972
7973         * modules/fchdir (Depends-on): Add dup2.
7974
7975 2007-02-18  Bruno Haible  <bruno@clisp.org>
7976
7977         * lib/stdlib_.h: Handle glibc's special invocation convention
7978         specially.
7979
7980 2007-02-18  Bruno Haible  <bruno@clisp.org>
7981
7982         * modules/stdlib-tests: New file.
7983         * tests/test-stdlib.c: New file.
7984
7985         * modules/mkstemp (Files): Remove lib/mkstemp.h.
7986         (Depends-on): Add stdlib.
7987         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7988         (Includes): Use <stdlib.h> instead of mkstemp.h.
7989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
7990         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
7991         * lib/mkstemp.c: Don't include mkstemp.h.
7992         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
7993         * lib/stdlib--.h: Don't include mkstemp.h.
7994
7995         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
7996         (Depends-on): Add stdlib.
7997         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7998         (Includes): Use <stdlib.h> instead of mkdtemp.h.
7999         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
8000         HAVE_MKDTEMP.
8001         * lib/mkdtemp.c: Don't include mkdtemp.h.
8002         * lib/clean-temp.c: Don't include mkdtemp.h.
8003
8004         * modules/exit (Files): Remove lib/exit.h.
8005         (Depends-on): Add stdlib.
8006         (Makefile.am): Remove lib_SOURCES.
8007         (Include): Use <stdlib.h> instead of exit.h.
8008         * lib/argmatch.c: Don't include exit.h.
8009         * lib/execute.c: Likewise.
8010         * lib/pagealign_alloc.c: Likewise.
8011         * lib/pipe.c: Likewise.
8012         * lib/wait-process.c: Likewise.
8013         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
8014         * lib/exitfail.c: Likewise.
8015         * lib/savewd.c: Likewise.
8016         * lib/xsetenv.c: Likewise.
8017
8018         * modules/stdlib: New file.
8019         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
8020         and extra comments about mkstemp().
8021         * lib/exit.h: Remove file.
8022         * lib/mkdtemp.h: Remove file.
8023         * lib/mkstemp.h: Remove file.
8024         * m4/stdlib_h.m4: New file.
8025         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
8026
8027 2007-02-18  Bruno Haible  <bruno@clisp.org>
8028
8029         * modules/math-tests: New file.
8030         * tests/test-math.c: New file.
8031
8032         * modules/math: New file.
8033         * modules/mathl (Files): Remove lib/mathl.h.
8034         (Depends-on): Add math.
8035         (Makefile.am): Don't mention mathl.h.
8036         (Include): Use <math.h> instead of mathl.h.
8037         * lib/math_.h: New file.
8038         * lib/mathl.h: Remove file.
8039         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
8040         mathl.h.
8041         * lib/asinl.c: Likewise.
8042         * lib/atanl.c: Likewise.
8043         * lib/ceill.c: Likewise.
8044         * lib/cosl.c: Likewise.
8045         * lib/expl.c: Likewise.
8046         * lib/floorl.c: Likewise.
8047         * lib/frexpl.c: Likewise.
8048         * lib/ldexpl.c: Likewise.
8049         * lib/logl.c: Likewise.
8050         * lib/sincosl.c: Likewise.
8051         * lib/sinl.c: Likewise.
8052         * lib/sqrtl.c: Likewise.
8053         * lib/tanl.c: Likewise.
8054         * lib/trigl.c: Likewise.
8055         * m4/math_h.m4: New file.
8056         * MODULES.html.sh (Mathematics): Add math.
8057
8058 2007-02-17  Bruno Haible  <bruno@clisp.org>
8059
8060         * modules/wctype-tests: New file.
8061         * tests/test-wctype.c: New file.
8062
8063         * modules/wchar-tests: New file.
8064         * tests/test-wchar.c: New file.
8065
8066         * modules/unistd-tests: New file.
8067         * tests/test-unistd.c: New file.
8068
8069         * modules/time-tests: New file.
8070         * tests/test-time.c: New file.
8071
8072         * modules/sysexits-tests: New file.
8073         * tests/test-sysexits.c: New file.
8074
8075         * modules/sys_time-tests: New file.
8076         * tests/test-sys_time.c: New file.
8077
8078         * modules/sys_stat-tests: New file.
8079         * tests/test-sys_stat.c: New file.
8080
8081         * modules/sys_socket-tests: New file.
8082         * tests/test-sys_socket.c: New file.
8083
8084         * modules/sys_select-tests: New file.
8085         * tests/test-sys_select.c: New file.
8086
8087         * modules/string-tests: New file.
8088         * tests/test-string.c: New file.
8089
8090         * modules/stdbool-tests: New file.
8091         * tests/test-stdbool.c: New file.
8092
8093         * modules/netinet_in-tests: New file.
8094         * tests/test-netinet_in.c: New file.
8095
8096         * modules/inttypes-tests: New file.
8097         * tests/test-inttypes.c: New file.
8098
8099         * modules/fcntl-tests: New file.
8100         * tests/test-fcntl.c: New file.
8101
8102         * modules/byteswap-tests: New file.
8103         * tests/test-byteswap.c: New file.
8104
8105         * modules/arpa_inet-tests: New file.
8106         * tests/test-arpa_inet.c: New file.
8107
8108 2007-02-17  Bruno Haible  <bruno@clisp.org>
8109
8110         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
8111         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
8112         if the corresponding module is not enabled. Emit link warnings if
8113         the function is used nevertheless.
8114         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
8115         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
8116         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
8117         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
8118         * modules/inttypes (Depends-on): Add link-warning.
8119         (Makefile.am): Copy the contents of build-aux/link-warning.h into
8120         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
8121         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
8122         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
8123         * modules/imaxdiv (configure.ac): Likewise.
8124         * modules/strtoimax (configure.ac): Likewise.
8125         * modules/strtoumax (configure.ac): Likewise.
8126
8127 2007-02-17  Bruno Haible  <bruno@clisp.org>
8128
8129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
8130         gl_STRING_MODULE_INDICATOR_DEFAULTS.
8131         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
8132         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
8133
8134 2007-02-17  Bruno Haible  <bruno@clisp.org>
8135
8136         * modules/link-warning: New file.
8137         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
8138         * lib/string_.h (GL_LINK_WARNING): Remove definition.
8139         * modules/string (Depends-on): Add link-warning.
8140         (Makefile.am): Copy the contents of build-aux/link-warning.h into
8141         string.h.
8142         * MODULES.html.sh (Support for building libraries and executables): Add
8143         link-warning.
8144
8145 2007-02-17  Bruno Haible  <bruno@clisp.org>
8146
8147         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
8148         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
8149         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
8150         long lines.
8151
8152 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
8153             Bruno Haible  <bruno@clisp.org>
8154
8155         * modules/tmpfile: New file.
8156         * lib/tmpfile.c: New file.
8157         * m4/tmpfile.m4: New file.
8158         * MODULES.html.sh (func_all_modules): New section "Input/output".
8159
8160 2007-02-15  Bruno Haible  <bruno@clisp.org>
8161
8162         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
8163         (supports_delete_on_close): New function.
8164         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
8165
8166 2007-02-14  Bruno Haible  <bruno@clisp.org>
8167
8168         * modules/mbspcasecmp-tests: New file.
8169         * tests/test-mbspcasecmp.sh: New file.
8170         * tests/test-mbspcasecmp.c: New file.
8171
8172         New module mbspcasecmp.
8173         * modules/mbspcasecmp: New file.
8174         * lib/mbspcasecmp.c: New file.
8175         * lib/string_.h (strncasecmp): Change warning message.
8176         (mbspcasecmp): New declaration.
8177         * m4/mbspcasecmp.m4: New file.
8178         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8179         GNULIB_MBSPCASECMP.
8180         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
8181         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
8182
8183 2007-02-14  Bruno Haible  <bruno@clisp.org>
8184
8185         * modules/mbsncasecmp-tests: New file.
8186         * tests/test-mbsncasecmp.sh: New file.
8187         * tests/test-mbsncasecmp.c: New file.
8188
8189         New module mbsncasecmp.
8190         * modules/mbsncasecmp: New file.
8191         * lib/mbsncasecmp.c: New file.
8192         * lib/string_.h (mbsncasecmp): New declaration.
8193         * m4/mbsncasecmp.m4: New file.
8194         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8195         GNULIB_MBSNCASECMP.
8196         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
8197         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
8198
8199 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8200
8201         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
8202         Verify that it doesn't overlap with our flags.
8203         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
8204         do not have the desired effect in multibyte locales; instead, use
8205         mbscasecmp.
8206         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
8207         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
8208         we don't require GNU fnmatch ourselves (if our users require it, they
8209         should do so explicitly).
8210
8211         Fix regex code so it doesn't rely on strcasecmp.
8212         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
8213         Otherwise, include gnulib's langinfo.h.
8214         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
8215         undesirable behavior in non-C locales.  Instead, rely on localecharset.
8216         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
8217         * modules/regex (FILES): Remove m4/codeset.m4.
8218         (Depends-on): Add localcharset.  Remove strcase.
8219
8220 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8221
8222         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
8223         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8224
8225 2007-02-13  Bruno Haible  <bruno@clisp.org>
8226
8227         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
8228         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8229
8230 2007-02-12  Bruno Haible  <bruno@clisp.org>
8231
8232         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
8233         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
8234         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
8235         time warning rather than a link error.
8236
8237 2007-02-12  Bruno Haible  <bruno@clisp.org>
8238
8239         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
8240         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8241         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8242
8243 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8244
8245         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
8246         args, not 2.
8247
8248 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8249
8250         New module 'time', so that apps can include <time.h> as per
8251         POSIX and GNU instead of separate include files like time_r.h
8252         and timegm.h.  This implementation tries out a simpler approach
8253         for replacing decls in standard include files (as compared to
8254         the string module), somewhat as an experiment.
8255
8256         * config/srclist.txt: Comment out mktime.c for now.
8257         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
8258         since it doesn't apply any more.  Use generic wording instead.
8259         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
8260         'time'.
8261         * lib/time_.h, m4/time_h.m4, modules/time: New files.
8262         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
8263         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
8264         Don't include <sys/types.h>; no longer needed since we assume C89.
8265         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
8266         * lib/strftime.c: Likewise.
8267         * lib/time_r.c: Likewise.
8268         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
8269         * lib/nanosleep.c: Include <time.h> first, to check interface.
8270         * lib/strptime.c: Likewise.
8271         * lib/time_r.c: Likewise.
8272         * lib/timegm.c: Likewise.
8273         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
8274         needed.
8275         * lib/timegm.c: Don't include timegm.h; no longer needed.
8276         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
8277         time.h now handles any problems in that area.
8278         (struct timespec, nanosleep): Remove; time.h now arranges for these.
8279         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
8280         that time.h defines struct timespec.
8281         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
8282         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
8283         handles that.
8284         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
8285         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
8286         needed.  Set REPLACE_LOCALTIME.
8287         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
8288         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
8289         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
8290         nanosleep; time_h.m4 now does that.  Don't require
8291         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
8292         module handles this now.
8293         * modules/getdate (Depends-on): Remove timespec.  Add time.
8294         * modules/nanosleep (Depends-on): Likewise.
8295         * modules/stat-time (Depends-on): Likewise.
8296         * modules/nanosleep (Include): Include time.h, not timespec.h.
8297         * modules/strptime (Files): Remove lib/strptime.h.
8298         (Depends-on): Add extensions, time.
8299         (Include): Include time.h, not strptime.h.
8300         * modules/time_r (Files): Remove lib/time_r.h.
8301         (Depends-on): Add time.
8302         (Include): Include time.h, not time_r.h.
8303         * modules/timegm: Likewise.
8304         * modules/timespec (Description): Now does timespec-related decls
8305         of our own, instead of struct timespec itself.
8306         (Depends-on): Add time; remove extensions.
8307         (Maintainer): Add self.
8308         * modules/utimecmp (Depends-on): Add time; remove timespec.
8309         * modules/utimens (Depends-on): Likewise.
8310         * modules/xnanosleep (Depends-on): Likewise.
8311
8312 2007-02-11  Bruno Haible  <bruno@clisp.org>
8313
8314         * lib/c-strstr.c: Include allocsa.h.
8315         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8316         * lib/c-strcasestr.c: Include allocsa.h.
8317         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8318         * lib/strcasestr.c: Include allocsa.h.
8319         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8320         * lib/mbsstr.c: Include allocsa.h.
8321         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
8322         allocsa/freesa instead of malloc/free.
8323         * lib/mbscasestr.c: Include allocsa.h.
8324         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
8325         allocsa/freesa instead of malloc/free.
8326         * modules/c-strstr (Depends-on): Add allocsa.
8327         * modules/c-strcasestr (Depends-on): Likewise.
8328         * modules/strcasestr (Depends-on): Likewise.
8329         * modules/mbsstr (Depends-on): Likewise.
8330         * modules/mbscasestr (Depends-on): Likewise.
8331
8332 2007-02-11  Bruno Haible  <bruno@clisp.org>
8333
8334         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
8335
8336         * modules/mbsspn-tests: New file.
8337         * tests/test-mbsspn.sh: New file.
8338         * tests/test-mbsspn.c: New file.
8339
8340 2007-02-11  Bruno Haible  <bruno@clisp.org>
8341
8342         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
8343
8344         * modules/mbspbrk-tests: New file.
8345         * tests/test-mbspbrk.sh: New file.
8346         * tests/test-mbspbrk.c: New file.
8347
8348 2007-02-11  Bruno Haible  <bruno@clisp.org>
8349
8350         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
8351         unneeded cast.
8352
8353         * modules/mbscspn-tests: New file.
8354         * tests/test-mbscspn.sh: New file.
8355         * tests/test-mbscspn.c: New file.
8356
8357 2007-02-11  Bruno Haible  <bruno@clisp.org>
8358
8359         * modules/mbscasecmp-tests: New file.
8360         * tests/test-mbscasecmp.sh: New file.
8361         * tests/test-mbscasecmp.c: New file.
8362
8363 2007-02-11  Bruno Haible  <bruno@clisp.org>
8364
8365         Ensure O(n) worst-case complexity of mbscasestr.
8366         * lib/mbscasestr.c: Include stdbool.h.
8367         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
8368         functions.
8369         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
8370         the bookkeeping indicates that it's worth it.
8371         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
8372
8373         * modules/mbscasestr-tests: New file.
8374         * tests/test-mbscasestr1.c: New file.
8375         * tests/test-mbscasestr2.sh: New file.
8376         * tests/test-mbscasestr2.c: New file.
8377         * tests/test-mbscasestr3.sh: New file.
8378         * tests/test-mbscasestr3.c: New file.
8379         * tests/test-mbscasestr4.sh: New file.
8380         * tests/test-mbscasestr4.c: New file.
8381         * m4/locale-tr.m4: New file.
8382
8383 2007-02-11  Bruno Haible  <bruno@clisp.org>
8384
8385         Ensure O(n) worst-case complexity of mbsstr.
8386         * lib/mbsstr.c: Include stdbool.h.
8387         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
8388         functions.
8389         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
8390         bookkeeping indicates that it's worth it.
8391         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
8392
8393         * modules/mbsstr-tests: New file.
8394         * tests/test-mbsstr1.c: New file.
8395         * tests/test-mbsstr2.sh: New file.
8396         * tests/test-mbsstr2.c: New file.
8397         * tests/test-mbsstr3.sh: New file.
8398         * tests/test-mbsstr3.c: New file.
8399         * m4/locale-fr.m4: New file.
8400
8401 2007-02-11  Bruno Haible  <bruno@clisp.org>
8402
8403         * lib/mbsrchr.c (mbsrchr): Fix bug.
8404
8405         * modules/mbsrchr-tests: New file.
8406         * tests/test-mbsrchr.sh: New file.
8407         * tests/test-mbsrchr.c: New file.
8408
8409 2007-02-11  Bruno Haible  <bruno@clisp.org>
8410
8411         * lib/mbschr.c (mbschr): Fix bug.
8412
8413         * modules/mbschr-tests: New file.
8414         * tests/test-mbschr.sh: New file.
8415         * tests/test-mbschr.c: New file.
8416         * m4/locale-zh.m4: New file.
8417
8418 2007-02-11  Bruno Haible  <bruno@clisp.org>
8419
8420         Support for copying multibyte string iterators.
8421         * lib/mbiter.h: Include <string.h>.
8422         (mbiter_multi_copy): New function.
8423         (mbi_copy): New macro.
8424         * lib/mbuiter.h: Include <string.h>.
8425         (mbuiter_multi_copy): New function.
8426         (mbui_copy): New macro.
8427
8428 2007-02-11  Bruno Haible  <bruno@clisp.org>
8429
8430         New module mbslen.
8431         * modules/mbslen: New file.
8432         * lib/mbslen.c: New file.
8433         * lib/string_.h (mbslen): New declaration.
8434         * m4/mbslen.m4: New file.
8435         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8436         GNULIB_MBSLEN.
8437         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
8438         * MODULES.html.sh (Internationalization functions): Add mbslen.
8439
8440 2007-02-11  Bruno Haible  <bruno@clisp.org>
8441
8442         Ensure O(n) worst-case complexity of strcasestr substitute.
8443         * lib/strcasestr.c: Include stdbool.h.
8444         (knuth_morris_pratt): New function.
8445         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
8446         bookkeeping indicates that it's worth it.
8447         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
8448
8449         * modules/strcasestr-tests: New file.
8450         * tests/test-strcasestr.c: New file.
8451
8452 2007-02-11  Bruno Haible  <bruno@clisp.org>
8453
8454         Ensure O(n) worst-case complexity of c_strcasestr.
8455         * lib/c-strcasestr.c: Include stdbool.h, string.h.
8456         (knuth_morris_pratt): New function.
8457         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
8458         the bookkeeping indicates that it's worth it.
8459         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
8460
8461         * modules/c-strcasestr-tests: New file.
8462         * tests/test-c-strcasestr.c: New file.
8463
8464 2007-02-11  Bruno Haible  <bruno@clisp.org>
8465
8466         Ensure O(n) worst-case complexity of c_strstr.
8467         * lib/c-strstr.c: Include stdbool.h, string.h.
8468         (knuth_morris_pratt): New function.
8469         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
8470         bookkeeping indicates that it's worth it.
8471         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
8472
8473         * lib/c-strstr.c: Complete rewrite for maintainability.
8474
8475         * modules/c-strstr-tests: New file.
8476         * tests/test-c-strstr.c: New file.
8477
8478 2007-02-11  Bruno Haible  <bruno@clisp.org>
8479
8480         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
8481         5.2.1 and earlier, whereby \055 was treated just like the range
8482         delimiter '-'.
8483         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
8484
8485 2007-02-08  Bruno Haible  <bruno@clisp.org>
8486
8487         * modules/regex (Depends-on): Add stdbool.
8488         Reported by Dalibor Topic <robilad@kaffe.org>.
8489
8490 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8491
8492         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
8493         Prefer returning from main to exiting from it.
8494         Remove unnecessary parens after sizeof.
8495
8496 2007-02-05  Bruno Haible  <bruno@clisp.org>
8497
8498         New module mbssep.
8499         * modules/mbssep: New file.
8500         * lib/mbssep.c: New file.
8501         * lib/string_.h (strsep): Add a conditional link warning.
8502         (mbssep): New declaration.
8503         * m4/mbssep.m4: New file.
8504         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8505         GNULIB_MBSSEP.
8506         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
8507         * MODULES.html.sh (Internationalization functions): Add mbssep.
8508
8509 2007-02-05  Bruno Haible  <bruno@clisp.org>
8510
8511         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
8512         Optimize search in case of 1 delimiter.
8513
8514 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
8515
8516         * lib/acl.h: Include sys/types.h before sys/acl.h.
8517
8518 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
8519
8520         Merge upstream fix for glibc bugzilla #3957:
8521
8522         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
8523
8524         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
8525         bit for RE_HAT_LISTS_NOT_NEWLINE.
8526         (build_charclass_op): Remove bogus comment.
8527
8528 2007-02-05  Simon Josefsson  <simon@josefsson.org>
8529
8530         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
8531
8532 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8533
8534         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
8535         * lib/memmem.c [!defined _LIBC]: Include config.h.
8536
8537 2007-02-04  Bruno Haible  <bruno@clisp.org>
8538
8539         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
8540         warning message.
8541
8542 2007-02-04  Bruno Haible  <bruno@clisp.org>
8543
8544         New module mbstok_r.
8545         * modules/mbstok_r: New file.
8546         * lib/mbstok_r.c: New file.
8547         * lib/string_.h (strtok_r): Change argument names to match the
8548         comments. Add a conditional link warning.
8549         (mbstok_r): New declaration.
8550         * m4/mbstok_r.m4: New file.
8551         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8552         GNULIB_MBSTOK_R.
8553         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
8554         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
8555
8556 2007-02-04  Bruno Haible  <bruno@clisp.org>
8557
8558         New module mbsspn.
8559         * modules/mbsspn: New file.
8560         * lib/mbsspn.c: New file.
8561         * lib/string_.h (strspn): Add a conditional link warning.
8562         (mbsspn): New declaration.
8563         * m4/mbsspn.m4: New file.
8564         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8565         GNULIB_MBSSPN.
8566         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
8567         * MODULES.html.sh (Internationalization functions): Add mbsspn.
8568
8569 2007-02-04  Bruno Haible  <bruno@clisp.org>
8570
8571         New module mbspbrk.
8572         * modules/mbspbrk: New file.
8573         * lib/mbspbrk.c: New file.
8574         * lib/string_.h (strpbrk): Add a conditional link warning.
8575         (mbspbrk): New declaration.
8576         * m4/mbspbrk.m4: New file.
8577         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8578         GNULIB_MBSPBRK.
8579         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
8580         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
8581
8582 2007-02-04  Bruno Haible  <bruno@clisp.org>
8583
8584         New module mbscspn.
8585         * modules/mbscspn: New file.
8586         * lib/mbscspn.c: New file.
8587         * lib/string_.h (strcspn): Add a conditional link warning.
8588         (mbscspn): New declaration.
8589         * m4/mbscspn.m4: New file.
8590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8591         GNULIB_MBSCSPN.
8592         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
8593         * MODULES.html.sh (Internationalization functions): Add mbscspn.
8594
8595 2007-02-04  Bruno Haible  <bruno@clisp.org>
8596
8597         New module mbscasestr, reduced goal of strcasestr.
8598         * modules/mbscasestr: New file.
8599         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
8600         (mbscasestr): Renamed from strcasestr.
8601         * lib/strcasestr.c: Don't include mbuiter.h.
8602         (strcasestr): Remove support for multibyte locales.
8603         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
8604         Change the conditional link warning.
8605         (mbscasestr): New declaration.
8606         * m4/mbscasestr.m4: New file.
8607         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
8608         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
8609         REPLACE_STRCASESTR.
8610         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
8611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8612         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
8613         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
8614         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
8615         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
8616         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
8617         (Depends-on): Remove mbuiter.
8618         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
8619
8620 2007-02-04  Bruno Haible  <bruno@clisp.org>
8621
8622         Simplify handling of strncasecmp.
8623         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
8624         the conditional link warning.
8625         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8626         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
8627         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
8628         * modules/strcase (configure.ac): Don't invoke
8629         gl_STRING_MODULE_INDICATOR.
8630         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
8631
8632 2007-02-04  Bruno Haible  <bruno@clisp.org>
8633
8634         New module mbscasecmp, reduced goal of strcasecmp.
8635         * modules/mbscasecmp: New file.
8636         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
8637         (mbscasecmp): Renamed from strcasecmp.
8638         * lib/strcasecmp.c: Don't include mbuiter.h.
8639         (strcasecmp): Remove support for multibyte locales.
8640         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
8641         Change the conditional link warning.
8642         (mbscasecmp): New declaration.
8643         * m4/mbscasecmp.m4: New file.
8644         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
8645         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
8646         REPLACE_STRCASECMP.
8647         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
8648         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8649         GNULIB_MBSCASECMP.
8650         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
8651         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
8652         * modules/strcase (Files): Remove m4/mbrtowc.m4.
8653         (Depends-on): Remove mbuiter.
8654         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
8655
8656 2007-02-04  Bruno Haible  <bruno@clisp.org>
8657
8658         New module mbsstr. Remove module strstr.
8659         * modules/mbsstr: New file.
8660         * modules/strstr: Remove file.
8661         * lib/mbsstr.c: Renamed from lib/strstr.c.
8662         (mbsstr): Renamed from strstr.
8663         * lib/string_.h (strstr): Remove declaration. Change the conditional
8664         link warning.
8665         (mbsstr): New declaration.
8666         * m4/mbsstr.m4: New file.
8667         * m4/strstr.m4: Remove file.
8668         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
8669         REPLACE_STRSTR.
8670         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
8671         Don't initialize GNULIB_STRSTR.
8672         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
8673         substitute GNULIB_STRSTR and REPLACE_STRSTR.
8674         * MODULES.html.sh (Internationalization functions): Add mbsstr.
8675         (Support for systems lacking ANSI C 89): Remove strstr.
8676
8677 2007-02-04  Bruno Haible  <bruno@clisp.org>
8678
8679         New module mbsrchr.
8680         * modules/mbsrchr: New file.
8681         * lib/mbsrchr.c: New file.
8682         * lib/string_.h (strrchr): Add a conditional link warning.
8683         (mbsrchr): New declaration.
8684         * m4/mbsrchr.m4: New file.
8685         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8686         GNULIB_MBSRCHR.
8687         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
8688         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
8689
8690 2007-02-04  Bruno Haible  <bruno@clisp.org>
8691
8692         New module mbschr.
8693         * modules/mbschr: New file.
8694         * lib/mbschr.c: New file.
8695         * lib/string_.h (strchr): Add a conditional link warning.
8696         (mbschr): New declaration.
8697         * m4/mbschr.m4: New file.
8698         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8699         GNULIB_MBSCHR.
8700         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
8701         * MODULES.html.sh (Internationalization functions): Add mbschr.
8702
8703 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8704
8705         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
8706
8707         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
8708
8709 2007-02-04  Bruno Haible  <bruno@clisp.org>
8710
8711         New module description section 'configure.ac-early'.
8712         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
8713         (func_get_autoconf_early_snippet): New function.
8714         (func_import, func_create_testdir): Use it. Remove special cases for
8715         modules 'extensions' and 'lock'.
8716         * modules/extensions (configure.ac-early): Require
8717         gl_USE_SYSTEM_EXTENSIONS.
8718         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
8719
8720 2007-02-04  Bruno Haible  <bruno@clisp.org>
8721
8722         Make use of gcj-4.3's -fsource and -ftarget option.
8723         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
8724         and if so try the options -fsource and -ftarget.
8725         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
8726         source_version, ftarget_option, target_version arguments.
8727         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
8728         (is_envjavac_oldgcj_14_14_usable): Renamed from
8729         is_envjavac_gcj_14_14_usable.
8730         (is_envjavac_oldgcj_14_13_usable): Renamed from
8731         is_envjavac_gcj_14_13_usable.
8732         (is_gcj_present): Update.
8733         (is_gcj_43, is_gcj43_usable): New functions.
8734         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
8735         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
8736         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
8737         try the options -fsource and -ftarget.
8738
8739 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8740
8741         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
8742         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
8743         larger value.
8744
8745 2007-02-03  Jim Meyering  <jim@meyering.net>
8746
8747         Give tools a better chance to allocate space for very large buffers.
8748         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
8749
8750         Make pwd and readlink work also when run with an unreadable parent dir
8751         on systems with openat support.
8752         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
8753         provided getcwd function, even when we have openat support.
8754         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
8755
8756 2007-02-02  Bruno Haible  <bruno@clisp.org>
8757
8758         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
8759         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
8760         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
8761         portability problems if one of these functions is only used on specific
8762         platforms.
8763         Reported by Paul Eggert.
8764
8765 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
8766
8767         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
8768         is causing more trouble than it's curing.
8769         * lib/regex_internal.h (__mempcpy): Remove.
8770         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
8771         (and make the code a tad smaller to boot).
8772         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
8773
8774 2007-02-02  Jim Meyering  <jim@meyering.net>
8775
8776         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
8777         section, not in the Makefile.am: one.
8778
8779 2007-02-02  Eric Blake  <ebb9@byu.net>
8780
8781         * lib/strchrnul.c: Always include config.h first.
8782
8783         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
8784         gnulib strstr is not necessary here.
8785
8786 2007-02-02  Simon Josefsson  <simon@josefsson.org>
8787
8788         * m4/socklen.m4: Fix typo.
8789
8790 2007-02-02  Eric Blake  <ebb9@byu.net>
8791
8792         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
8793         * modules/netinet_in (Makefile.am): Likewise.
8794
8795 2007-02-01  Bruno Haible  <bruno@clisp.org>
8796
8797         * lib/string_.h (GL_LINK_WARNING): New macro.
8798         (strcasecmp, strstr, strcasestr): If provided by the system,
8799         conditionally define as a macro that leads to a warning instead of to
8800         an error.
8801         (strncasecmp): Conditionally define as a macro that leads to a warning.
8802
8803 2007-02-01  Karl Berry  <karl@gnu.org>
8804
8805         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
8806
8807 2007-02-01  Bruno Haible  <bruno@clisp.org>
8808
8809         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
8810         renamings.
8811
8812 2007-02-01  Eric Blake  <ebb9@byu.net>
8813
8814         * modules/regex (Depends-on): Revert dependence on mempcpy.
8815         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
8816         module's definition of mempcpy.
8817         Reported by Paul Eggert.
8818
8819 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
8820
8821         * lib/string_.h: If the gnulib module XYZ is not present, undefine
8822         the symbol XYZ before redefining it.  This fixes a problem with
8823         programs that don't use XYZ, when compiled on systems that define
8824         XYZ to something else.
8825
8826 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
8827
8828         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
8829         occurs when "mkdir -m foo" creates a setgid directory that is (1)
8830         writeable to group or other and (2) is intended to have a special
8831         mode bit that is set or cleared.  In such a case, the directory
8832         should be neither group- nor other-writeable until the special
8833         mode bits are right.
8834
8835 2007-01-31  Eric Blake  <ebb9@byu.net>
8836
8837         * modules/mountlist (Depends-on): Add strstr.
8838
8839         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
8840         bug.
8841         * modules/string (Makefile.am): Remove redundant replacement.
8842         * modules/regex (Depends-on): Add mempcpy.
8843
8844 2007-01-31  Bruno Haible  <bruno@clisp.org>
8845
8846         New module description field 'Link'.
8847         * gnulib-tool (func_usage): Document --extract-link-directive.
8848         (sed_extract_prog): Recognize 'Link' directive.
8849         (func_get_link_directive): New function.
8850         (func_import): Show summary of link directives.
8851         Handle --extract-link-directive option.
8852         * modules/acl (Link): New section.
8853         * modules/clock-time (Link): New section.
8854         * modules/euidaccess (Link): New section.
8855         * modules/gettext (Link): New section.
8856         * modules/iconv (Link): New section.
8857         * modules/lock (Link): New section.
8858         * modules/nanosleep (Link): New section.
8859         * modules/readline (Link): New section.
8860
8861 2007-01-27  Bruno Haible  <bruno@clisp.org>
8862
8863         Enforce the use of gnulib modules for unportable <string.h> functions.
8864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
8865         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
8866         (gl_HEADER_STRING_H_BODY): Require it.
8867         * lib/string_.h: If the gnulib module XYZ is not present, redefine
8868         the symbol XYZ to one that gives a link error.
8869         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
8870         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
8871         * modules/mempcpy (configure.ac): Likewise.
8872         * modules/memrchr (configure.ac): Likewise.
8873         * modules/stpcpy (configure.ac): Likewise.
8874         * modules/stpncpy (configure.ac): Likewise.
8875         * modules/strcase (configure.ac): Likewise.
8876         * modules/strcasestr (configure.ac): Likewise.
8877         * modules/strchrnul (configure.ac): Likewise.
8878         * modules/strdup (configure.ac): Likewise.
8879         * modules/strndup (configure.ac): Likewise.
8880         * modules/strnlen (configure.ac): Likewise.
8881         * modules/strpbrk (configure.ac): Likewise.
8882         * modules/strsep (configure.ac): Likewise.
8883         * modules/strstr (configure.ac): Likewise.
8884         * modules/strtok_r (configure.ac): Likewise.
8885
8886 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
8887
8888         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
8889
8890 2007-01-30  Jim Meyering  <jim@meyering.net>
8891
8892         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
8893
8894 2007-01-29  Bruno Haible  <bruno@clisp.org>
8895
8896         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
8897         * lib/execute.c: Likewise.
8898         * lib/pipe.c: Likewise.
8899         * lib/printf-args.h: Likewise.
8900         * lib/printf-args.c: Likewise.
8901         * lib/printf-parse.c: Likewise.
8902         * lib/vasnprintf.c: Likewise.
8903
8904 2007-01-29  Eric Blake  <ebb9@byu.net>
8905
8906         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
8907         declaration.
8908
8909 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8910
8911         * lib/strptime.h (strptime): Use 'restrict' for args where
8912         POSIX requires this.
8913         * lib/strptime.c (strptime): Likewise.
8914         Change license notice from LGPL to GPL, since gnulib-tool will
8915         change this as needed.
8916         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
8917         defined.
8918         Include "strptime.h" first, to check interface.
8919         Do not #undef _LIBC and _NL_CURRENT.
8920         Do not include <stdlib.h>; no longer needed.
8921         Include "time_r.h" and declare ptime_locale_status
8922         only if _LIBC is not defined.
8923         (__P): Remove unused macro.
8924         (match_string): Bring back glibc version, but use it only if _LIBC
8925         is defined.
8926         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
8927         Remove unnecessary assertion and abort() call.
8928         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
8929         * m4/strptime.m4: Fix serial number comment.
8930         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
8931         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
8932         (Depends-on): Add time_r.
8933
8934 2007-01-29  Bruno Haible  <bruno@clisp.org>
8935
8936         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8937         strptime.
8938         * modules/strptime (Depends-on): Add stdbool.
8939         * lib/strptime.h: Include <time.h> always. Add comments.
8940
8941 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
8942
8943         * modules/strptime: New file.
8944         * lib/strptime.h: New file.
8945         * lib/strptime.c: New file.
8946         * m4/strptime.m4: New file.
8947
8948 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8949
8950         * MODULES.html.sh: New module mpsort.
8951         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
8952
8953         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
8954         a circularity problem with HP-UX ia64 reported by Bob Proulx in
8955         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
8956         All uses changed.
8957         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
8958         All uses changed.
8959         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
8960         to _Restrict_.
8961         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
8962         the parameter matches the prototype.
8963
8964 2007-01-28  Jim Meyering  <jim@meyering.net>
8965
8966         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
8967         sys/time.h here, reverting that part of the previous patch:
8968         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
8969
8970 2007-01-28  Bruno Haible  <bruno@clisp.org>
8971
8972         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
8973         value of $(SYS_TIME_H).
8974         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
8975         remove it conditionally, too. [added by Jim Meyering]
8976         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
8977         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
8978         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
8979         GETTIMEOFDAY_REPLACEMENT to 1.
8980
8981 2007-01-28  Bruno Haible  <bruno@clisp.org>
8982
8983         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
8984         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
8985         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
8986         Set UNISTD_H instead of UNISTD_H2.
8987         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
8988
8989 2007-01-28  Bruno Haible  <bruno@clisp.org>
8990
8991         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
8992         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
8993
8994 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8995
8996         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
8997         (func_create_testdir): Ensure C locale for `grep' and `tr'
8998         character ranges.
8999         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
9000         ACLOCAL_AMFLAGS parsing state machine.
9001
9002 2007-01-27  Bruno Haible  <bruno@clisp.org>
9003
9004         * modules/unistr/base: Update.
9005
9006 2007-01-27  Bruno Haible  <bruno@clisp.org>
9007
9008         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
9009         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
9010         * modules/unistr/u32-mbtouc-unsafe: Renamed from
9011         modules/unistr/u32-mbtouc.
9012         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
9013         * lib/unistr.h: Update.
9014         * lib/linebreak.c: Update.
9015         * modules/unistr/u32-mbtouc: Renamed from
9016         modules/unistr/u32-mbtouc-safe.
9017         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
9018         * lib/unistr.h: Update.
9019         * lib/unistr/u32-to-u8.c: Update.
9020         * lib/unistr/u32-to-u16.c: Update.
9021
9022 2007-01-27  Bruno Haible  <bruno@clisp.org>
9023
9024         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
9025         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
9026         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
9027         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
9028         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
9029         * modules/unistr/u16-mbtouc-unsafe: Renamed from
9030         modules/unistr/u16-mbtouc.
9031         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
9032         * lib/unistr.h: Update.
9033         * lib/linebreak.c: Update.
9034         * modules/linebreak: Update.
9035         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
9036         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
9037         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
9038         * modules/unistr/u16-mbtouc: Renamed from
9039         modules/unistr/u16-mbtouc-safe.
9040         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
9041         * lib/unistr.h: Update.
9042         * lib/unistr/u16-to-u8.c: Update.
9043         * modules/unistr/u16-to-u8: Update.
9044         * lib/unistr/u16-to-u32.c: Update.
9045         * modules/unistr/u16-to-u32: Update.
9046
9047 2007-01-27  Bruno Haible  <bruno@clisp.org>
9048
9049         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
9050         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
9051         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
9052         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
9053         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
9054         * modules/unistr/u8-mbtouc-unsafe: Renamed from
9055         modules/unistr/u8-mbtouc.
9056         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
9057         * lib/unistr.h: Update.
9058         * lib/striconveh.c: Update.
9059         * modules/striconveh: Update.
9060         * lib/linebreak.c: Update.
9061         * modules/linebreak: Update.
9062         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
9063         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
9064         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
9065         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
9066         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
9067         * lib/unistr.h: Update.
9068         * lib/striconveh.c: Update.
9069         * modules/striconveh: Update.
9070         * lib/unistr/u8-to-u16.c: Update.
9071         * modules/unistr/u8-to-u16: Update.
9072         * lib/unistr/u8-to-u32.c: Update.
9073         * modules/unistr/u8-to-u32: Update.
9074
9075 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9076
9077         Sync from Libtool.
9078         * lib/argz.c: Do not include strings.h nor memory.h, include
9079         string.h unconditionally.  Patch by Simon Josefsson.
9080
9081 2007-01-27  Bruno Haible  <bruno@clisp.org>
9082
9083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
9084         from gl_HEADER_STRING_H_BODY.
9085         (gl_HEADER_STRING_H_BODY): Require it.
9086         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
9087         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
9088         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
9089         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
9090         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9091         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
9092         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9093         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
9094         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
9095         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
9096         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
9097         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
9098         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
9099         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
9100         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
9101
9102 2007-01-27  Bruno Haible  <bruno@clisp.org>
9103
9104         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
9105         check_PROGRAMS into noinst_PROGRAMS.
9106         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
9107         check_PROGRAMS in this case.
9108         (func_import): Set for_test to false.
9109         (func_create_testdir): Set for_test to true.
9110
9111 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9112             Bruno Haible  <bruno@clisp.org>
9113
9114         * modules/strcasestr (Files): Remove lib/strcasestr.h.
9115         (Depends-on): Add string.
9116         (Includes): Use <string.h> instead of strcasestr.h.
9117         * modules/string (Makefile.am): Also substitute the value of
9118         REPLACE_STRCASESTR.
9119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
9120         assume strcasestr is declared in <string.h> not <strings.h>. Also
9121         set REPLACE_STRCASESTR.
9122         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
9123         REPLACE_STRCASESTR.
9124         * lib/strcasestr.h: Remove file.
9125         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
9126         * lib/string_.h (strcasestr): New declaration.
9127
9128 2007-01-27  Bruno Haible  <bruno@clisp.org>
9129
9130         * lib/string_.h: Use 'extern'.
9131
9132 2007-01-27  Jim Meyering  <jim@meyering.net>
9133
9134         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
9135         of set-but-not-used local, "q".
9136
9137         * lib/mempcpy.c: Include <config.h> before <string.h>.
9138         This fixes a compilation error on HP-UX, due to the system's
9139         "restrict"-using mempcpy prototype.
9140
9141 2007-01-26  Bruno Haible  <bruno@clisp.org>
9142
9143         Small optimization.
9144         * lib/javacomp.c: Include c-strstr.h.
9145          (is_envjavac_gcj): Use c_strstr instead of strstr.
9146         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
9147
9148 2007-01-26  Bruno Haible  <bruno@clisp.org>
9149
9150         * MODULES.html.sh (Unicode string functions): Add the new modules.
9151
9152         * modules/uniconv/u32-strconv-to-locale: New file.
9153         * lib/uniconv/u32-strconv-to-locale.c: New file.
9154
9155         * modules/uniconv/u16-strconv-to-locale: New file.
9156         * lib/uniconv/u16-strconv-to-locale.c: New file.
9157
9158         * modules/uniconv/u8-strconv-to-locale: New file.
9159         * lib/uniconv/u8-strconv-to-locale.c: New file.
9160
9161         * modules/uniconv/u32-strconv-from-locale: New file.
9162         * lib/uniconv/u32-strconv-from-locale.c: New file.
9163
9164         * modules/uniconv/u16-strconv-from-locale: New file.
9165         * lib/uniconv/u16-strconv-from-locale.c: New file.
9166
9167         * modules/uniconv/u8-strconv-from-locale: New file.
9168         * lib/uniconv/u8-strconv-from-locale.c: New file.
9169
9170         * modules/uniconv/u32-strconv-to-enc: New file.
9171         * lib/uniconv/u32-strconv-to-enc.c: New file.
9172         * modules/uniconv/u32-strconv-to-enc-tests: New file.
9173         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
9174
9175         * modules/uniconv/u16-strconv-to-enc: New file.
9176         * lib/uniconv/u16-strconv-to-enc.c: New file.
9177         * lib/uniconv/u-strconv-to-enc.h: New file.
9178         * modules/uniconv/u16-strconv-to-enc-tests: New file.
9179         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
9180
9181         * modules/uniconv/u8-strconv-to-enc: New file.
9182         * lib/uniconv/u8-strconv-to-enc.c: New file.
9183         * modules/uniconv/u8-strconv-to-enc-tests: New file.
9184         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
9185
9186         * modules/uniconv/u32-strconv-from-enc: New file.
9187         * lib/uniconv/u32-strconv-from-enc.c: New file.
9188         * modules/uniconv/u32-strconv-from-enc-tests: New file.
9189         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
9190
9191         * modules/uniconv/u16-strconv-from-enc: New file.
9192         * lib/uniconv/u16-strconv-from-enc.c: New file.
9193         * modules/uniconv/u16-strconv-from-enc-tests: New file.
9194         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
9195
9196         * modules/uniconv/u8-strconv-from-enc: New file.
9197         * lib/uniconv/u8-strconv-from-enc.c: New file.
9198         * lib/uniconv/u-strconv-from-enc.h: New file.
9199         * modules/uniconv/u8-strconv-from-enc-tests: New file.
9200         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
9201
9202         * modules/uniconv/u32-conv-from-enc: New file.
9203         * lib/uniconv/u32-conv-from-enc.c: New file.
9204         * modules/uniconv/u32-conv-from-enc-tests: New file.
9205         * tests/uniconv/test-u32-conv-from-enc.c: New file.
9206
9207         * modules/uniconv/u16-conv-from-enc: New file.
9208         * lib/uniconv/u16-conv-from-enc.c: New file.
9209         * lib/uniconv/u-conv-from-enc.h: New file.
9210         * modules/uniconv/u16-conv-from-enc-tests: New file.
9211         * tests/uniconv/test-u16-conv-from-enc.c: New file.
9212
9213         * modules/uniconv/u8-conv-from-enc: New file.
9214         * lib/uniconv/u8-conv-from-enc.c: New file.
9215         * modules/uniconv/u8-conv-from-enc-tests: New file.
9216         * tests/uniconv/test-u8-conv-from-enc.c: New file.
9217
9218         * modules/uniconv/base: New file.
9219         * lib/uniconv.h: New file.
9220
9221 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
9222
9223         * doc/gnulib-tool.texi (Initial import): Update to match current
9224         behavior with strdup module.
9225         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
9226         * lib/memmem.h: Remove; all uses removed.  This is now done
9227         by <string.h>.
9228         * lib/mempcpy.h: Likewise.
9229         * lib/memrchr.h: Likewise.
9230         * lib/stpcpy.h: Likewise.
9231         * lib/stpncpy.h: Likewise.
9232         * lib/strcase.h: Likewise.
9233         * lib/strchrnul.h: Likewise.
9234         * lib/strdup.h: Likewise.
9235         * lib/strndup.h: Likewise.
9236         * lib/strnlen.h: Likewise.
9237         * lib/strpbrk.h: Likewise.
9238         * lib/strsep.h: Likewise.
9239         * lib/strstr.h: Likewise.
9240         * lib/strtok_r.h: Likewise.
9241         * lib/string_.h: New file.
9242         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
9243         Rely on <string.h> instead.
9244         * lib/canon-host.c: Likewise.
9245         * lib/chdir-long.c: Likewise.
9246         * lib/concatpath.c: Likewise.
9247         * lib/exclude.c: Likewise.
9248         * lib/fchdir.c: Likewise.
9249         * lib/getaddrinfo.c: Likewise.
9250         * lib/getcwd.c: Likewise.
9251         * lib/getsubopt.c: Likewise.
9252         * lib/glob.c: Likewise.
9253         * lib/hard-locale.c: Likewise.
9254         * lib/iconvme.c: Likewise.
9255         * lib/javacomp.c: Likewise.
9256         * lib/mempcpy.c: Likewise.
9257         * lib/memrchr.c: Likewise.
9258         * lib/regex_internal.h: Likewise.
9259         * lib/stpncpy.c: Likewise.
9260         * lib/strcasecmp.c: Likewise.
9261         * lib/strchrnul.c: Likewise.
9262         * lib/strdup.c: Likewise.
9263         * lib/striconv.c: Likewise.
9264         * lib/striconveh.c: Likewise.
9265         * lib/striconveha.c: Likewise.
9266         * lib/strncasecmp.c: Likewise.
9267         * lib/strndup.c: Likewise.
9268         * lib/strnlen.c: Likewise.
9269         * lib/strsep.c: Likewise.
9270         * lib/strstr.c: Likewise.
9271         * lib/strtok_r.c: Likewise.
9272         * lib/userspec.c: Likewise.
9273         * lib/w32spawn.h: Likewise.
9274         * lib/xstrndup.c: Likewise.
9275         * lib/mountlist.c (strstr): Remove decl.
9276         * m4/string_h.m4: New file.
9277         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
9278         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
9279         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
9280         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
9281         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
9282         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
9283         Set REPLACE_STRCASECMP if necessary.
9284         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
9285         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
9286         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
9287         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
9288         HAVE_DECL_STRDUP if necessary.
9289         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
9290         since gl_FUNC_STRNDUP does that now.
9291         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
9292         Check for decl here...
9293         (gl_PREREQ_STRNLEN): ... not here.
9294         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
9295         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
9296         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
9297         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
9298         necessary.
9299         * modules/string: New file.
9300         * modules/memmem (Files): Remove special-purpose include file.
9301         (Depends-on): Add string.
9302         (Include): Include <string.h>, not the removed file.
9303         * modules/mempcpy: Likewise.
9304         * modules/memrchr: Likewise.
9305         * modules/stpcpy: Likewise.
9306         * modules/stpncpy: Likewise.
9307         * modules/strcase: Likewise.
9308         * modules/strchrnul: Likewise.
9309         * modules/strdup: Likewise.
9310         * modules/strndup: Likewise.
9311         * modules/strnlen: Likewise.
9312         * modules/strpbrk: Likewise.
9313         * modules/strsep: Likewise.
9314         * modules/strstr: Likewise.
9315         * modules/strtok_r: Likewise.
9316         * tests/test-dirname.c: Don't include "strdup.h", since
9317         <string.h> now suffices.
9318         * tests/test-memmem.c: Don't include "memmem.h", since
9319         <string.h> now suffices.
9320
9321 2007-01-25  Bruno Haible  <bruno@clisp.org>
9322
9323         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
9324         *resultp is 0.
9325
9326         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
9327         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
9328         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
9329         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
9330
9331         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
9332         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
9333         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
9334         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
9335         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
9336         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
9337
9338 2007-01-24  Bruno Haible  <bruno@clisp.org>
9339
9340         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
9341         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
9342         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
9343         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
9344         gl_FUNC_FTS_CORE.
9345         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
9346         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
9347         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9348         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
9349         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
9350         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
9351         gl_FUNC_FCHOWNAT.
9352         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
9353         gl_FUNC_STRFTIME.
9354         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
9355         Reported by Ralf Wildenhues.
9356
9357 2007-01-24  Bruno Haible  <bruno@clisp.org>
9358
9359         Drop AC_REQUIRE calls that are redundant with the module dependencies.
9360         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
9361         gl_GETADDRINFO.
9362         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
9363         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
9364         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
9365
9366 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9367
9368         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
9369         Don't use 'exit'; just return from 'main'.
9370         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
9371
9372         * lib/fnmatch_.h: Readjust white space and comments to match
9373         glibc, to avoid spurious diffs.
9374
9375 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9376
9377         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
9378         2004-12-01 change by Jakub Jelinek, since this code won't compile
9379         if !LIBC.  Problem reported by Bob Proulx.
9380
9381 2007-01-23  Bruno Haible  <bruno@clisp.org>
9382
9383         * lib/striconveh.c: Include c-strcaseeq.h.
9384         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
9385         * modules/striconveh (Depends-on): Add c-strcaseeq.
9386
9387 2007-01-23  Bruno Haible  <bruno@clisp.org>
9388
9389         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
9390
9391         * modules/c-strcaseeq: New file.
9392         * lib/c-strcaseeq.h: New file.
9393
9394         * modules/streq: New file.
9395         * lib/streq.h: New file.
9396
9397 2007-01-23  Bruno Haible  <bruno@clisp.org>
9398
9399         * modules/striconveha-tests: New file.
9400         * tests/test-striconveha.c: New file.
9401
9402         * lib/striconveha.h: Include <stdbool.h>.
9403         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
9404         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
9405         (mem_iconveha_notranslit): Renamed from mem_iconveha.
9406         (mem_iconveha): New function.
9407         (str_iconveha_notranslit): Renamed from str_iconveha.
9408         (str_iconveha): New function.
9409         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
9410         c-strcase.
9411
9412 2007-01-23  Bruno Haible  <bruno@clisp.org>
9413
9414         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
9415         encodings without forgiving before trying any encoding with handler.
9416         (str_iconveha): Try all encodings without forgiving before trying any
9417         encoding with handler.
9418
9419 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9420
9421         Import the following changes from libc.
9422
9423         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9424
9425         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
9426
9427         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
9428
9429         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
9430         normal_bracket label.
9431
9432         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
9433
9434         [BZ #361]
9435         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
9436         to normal_bracket after fetching the next character.
9437
9438 2007-01-22  Bruno Haible  <bruno@clisp.org>
9439
9440         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
9441         argument.
9442         * lib/striconveh.c (iconv_carefully_1): New function.
9443         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
9444         argument.
9445         (str_cd_iconveh): Update.
9446         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
9447         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
9448         * tests/test-striconveh.c (MAGIC): New macro.
9449         (new_offsets): New function.
9450         (main): Test call with and without offsets.
9451
9452 2007-01-22  Bruno Haible  <bruno@clisp.org>
9453
9454         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
9455         * modules/sys_select (Makefile.am): Likewise.
9456         * modules/sys_socket (Makefile.am): Likewise.
9457         * modules/sys_time (Makefile.am): Likewise.
9458
9459 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9460
9461         * modules/gettimeofday (License): Change from GPL to LGPL, since
9462         gettimeofday is a library function.
9463
9464 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9465
9466         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
9467
9468 2007-01-21  Bruno Haible  <bruno@clisp.org>
9469
9470         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
9471
9472 2007-01-21  Bruno Haible  <bruno@clisp.org>
9473
9474         * modules/striconveha: New file.
9475         * lib/striconveha.h: New file.
9476         * lib/striconveha.c: New file.
9477         * MODULES.html.sh (Internationalization functions): Add striconveha.
9478         * lib/striconv.c (str_iconv): Optimize the case of an empty input
9479         string.
9480         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
9481
9482 2007-01-21  Bruno Haible  <bruno@clisp.org>
9483
9484         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
9485         * lib/striconveh.c (str_iconveh): Likewise.
9486
9487 2007-01-21  Bruno Haible  <bruno@clisp.org>
9488
9489         * lib/striconveh.h (mem_iconveh): New declaration.
9490         * lib/striconveh.c (mem_iconveh): New function.
9491         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
9492
9493 2007-01-21  Bruno Haible  <bruno@clisp.org>
9494
9495         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
9496
9497         * lib/striconveh.h (mem_cd_iconveh): Change specification.
9498         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
9499         original result buffer.
9500         (str_cd_iconveh): Update.
9501         * tests/test-striconveh.c (main): Update.
9502
9503         * lib/striconv.h (mem_cd_iconv): Change specification.
9504         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
9505         result buffer.
9506         (str_cd_iconv): Update.
9507         * tests/test-striconv.c (main): Update.
9508
9509 2007-01-21  Bruno Haible  <bruno@clisp.org>
9510
9511         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
9512
9513 2007-01-20  Jim Meyering  <jim@meyering.net>
9514
9515         * lib/userspec.c (parse_with_separator): If a user or group string
9516         starts with "+", skip the corresponding name-to-ID look-up, since
9517         such a look-up must fail: user and group names may not include "+".
9518
9519 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
9520
9521         * lib/poll.c: Include sys/time.h and time.h unconditionally,
9522         since we now assume the sys_time module.
9523         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
9524         check for sys/time.h; no longer needed.
9525         * modules/poll (Depends-on): Depend on sys_time.
9526
9527 2007-01-18  Bruno Haible  <bruno@clisp.org>
9528
9529         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
9530         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
9531
9532         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
9533         gettimeofday.
9534
9535         * tests/test-gettimeofday.c: Include <time.h>.
9536         (dummy): Remove variable.
9537
9538         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
9539         gl_HEADER_SYS_TIME_H.
9540         (gl_HEADER_SYS_TIME_H): New macro.
9541
9542         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
9543         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9544         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
9545         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
9546         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9547         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
9548         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
9549         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9550         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
9551         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
9552         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9553
9554         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
9555         last change; it caused a compilation error when cross-compiling to
9556         Cygwin.
9557
9558 2007-01-18  Jim Meyering  <jim@meyering.net>
9559
9560         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
9561         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
9562         than the race-prone "test -d sys || mkdir sys".
9563         (configure.ac): Use AC_PROG_MKDIR_P.
9564         * modules/sys_select: Likewise.
9565         * modules/sys_socket: Likewise.
9566         * modules/sys_time: Likewise.
9567
9568 2007-01-18  Eric Blake  <ebb9@byu.net>
9569
9570         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
9571         replace gettimeofday.
9572         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
9573         name, to avoid infinite recursion.
9574
9575 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
9576
9577         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
9578         module sys_time.
9579         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
9580         assume timespec.h defines struct timeval.
9581         * lib/settime.c: Likewise.
9582         * lib/utimens.c: Likewise.
9583         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
9584         since we now assume the gettimeofday module.
9585         * lib/tempname.c (__gen_tempname): Likewise.
9586         * lib/gettimeofday.h: Remove.
9587         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
9588         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
9589         Include <time.h>, for 'time()'.
9590         (localtime_buffer_addr): Also use this workaround if
9591         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
9592         to simplify the uses.  All uses changed.
9593         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
9594         that #undef is inside {}, and 'const' follows type name consistently.
9595         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
9596         (gettimeofday): Do not use the maximum possible value for
9597         tv->tv_usec, since that might break usages other than ls.c.
9598         Instead, we'll leave ls.c alone.  This undoes today's patch
9599         by Bruno.  Add a compile-time warning for 1s-clock resolution;
9600         we've never observed the problem but might as well keep the
9601         canary.
9602         * lib/nanosleep.c: Include timespec.h first, for interface check.
9603         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
9604         now assume the sys_time module.
9605         * lib/tempname.c: Likewise.
9606         * lib/timespec.h: Likewise.
9607         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
9608         needed.
9609         * lib/strftime.c: Likewise.
9610         * lib/timespec.h: Likewise.
9611         * lib/posixtm.c: Include posixtm.h first, for interface check.
9612         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
9613         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
9614         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
9615         * lib/sys_time_.h: New file.
9616         * lib/timespec.h (struct timespec): Use long int, not long.
9617         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
9618         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
9619         Remove obsolescent call to AC_HEADER_TIME.
9620         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9622         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
9623         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
9624         Likewise.
9625         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
9626         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
9627         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
9628         into the sys_time module.  Check for gettimeofday just once.
9629         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
9630         for gettimeofday signature to just check the signature.  Merely
9631         compile it, since linking doesn't test signature.  Improve test for
9632         whether gettimeofday.o is actually needed.
9633         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
9634         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
9635         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
9636         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9637         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
9638         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
9639         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
9640         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
9641         than worrying about sys/time.h.
9642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
9643         Don't bother worrying about TIME_WITH_SYS_TIME.
9644         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
9645         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
9646         * m4/sys_time_h.m4: New file.
9647         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
9648         Don't include sys/time.h.  Return from main rather than exiting.
9649         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
9650         all uses changed.
9651         * modules/gethrxtime (Depends-on): Add sys_time.
9652         * modules/gettime (Depends-on): Likewise.
9653         * modules/gettimeofday (Depends-on): Likewise.
9654         * modules/nanosleep (Depends-on): Likewise.
9655         * modules/settime (Depends-on): Likewise.
9656         * modules/tempname (Depends-on): Likewise.
9657         * modules/utimens (Depends-on): Likewise.
9658         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
9659         (Include:) Change back to <sys/time.h>.
9660         (Maintainer:) Add self.
9661         * modules/sys_time: New file.
9662         * modules/tempname (Depends-on): Add gettimeofday.
9663         * tests/test-gettimeofday.c: Include <sys/time.h>
9664         rather than gettimeofday.h.
9665
9666 2007-01-17  Bruno Haible  <bruno@clisp.org>
9667
9668         * gnulib-tool (func_get_license): Revert last patch. Instead, let
9669         the license default to GPL.
9670         (func_create_testdir): Don't complain if a module is LGPL and its
9671         tests module depends on GPLed modules.
9672
9673 2007-01-17  Bruno Haible  <bruno@clisp.org>
9674
9675         * lib/gettimeofday.c (gettimeofday): Add code for the case
9676         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
9677         maximum possible value for tv->tv_usec, rather than the minimum one.
9678
9679 2005-10-08  Martin Lambers  <marlam@marlam.de>
9680 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9681 2007-01-16  Bruno Haible  <bruno@clisp.org>
9682
9683         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
9684         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
9685         gl_FUNC_GETTIMEOFDAY.
9686         (Include): Add gettimeofday.h.
9687         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
9688         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
9689         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
9690         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
9691         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
9692         * lib/gettimeofday.h: New file.
9693         * lib/gettimeofday.c: Include <sys/timeb.h>.
9694         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
9695         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9696         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
9697         fall back on time().
9698
9699         * tests/test-gettimeofday.c: New file.
9700         * modules/gettimeofday-tests: New file.
9701
9702 2007-01-16  Eric Blake  <ebb9@byu.net>
9703
9704         * modules/fnmatch (Depends-on): Depend on wchar.
9705         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
9706         * m4/fnmatch.m4: Likewise.
9707         * modules/mbchar (Makefile.am): Assume <wchar.h>.
9708         * m4/mbchar.m4: Likewise.
9709         * modules/mbswidth (Depends-on): Depend on wchar.
9710         * lib/mbswidth.c: Assume <wchar.h>.
9711         * m4/mbswidth.m4: Likewise.
9712         * modules/quotearg (Depends-on): Depend on wchar.
9713         * lib/quotearg.c: Assume <wchar.h>.
9714         * m4/quotearg.m4: Likewise.
9715         * modules/regex (Depends-on): Depend on wchar.
9716         * lib/regex_internal.h: Assume <wchar.h>.
9717         * m4/regex.m4: Likewise.
9718         * modules/stdint (Depends-on): Depend on wchar.
9719         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
9720         * m4/stdint.m4: Likewise.
9721         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
9722         * modules/strftime (Depends-on): Depend on wchar.
9723         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
9724         * modules/strtol (Depends-on): Depend on wchar.
9725         * lib/strtol.c: Assume <wchar.h>.
9726         * modules/wcwidth (Depends-on): Depend on wchar.
9727         * lib/wcwidth.h: Assume <wchar.h>.
9728         * m4/wcwidth.m4: Likewise.
9729
9730 2007-01-16  Bruno Haible  <bruno@clisp.org>
9731
9732         * modules/csharpexec-script: New, created from...
9733         * modules/csharpexec: ... this.
9734
9735 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
9736
9737         * modules/javaexec-script: New, created from...
9738         * modules/javaexec: ... this.
9739
9740 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9741
9742         * modules/poll (Dependencies): Add sys_select.
9743
9744 2007-01-15  Jim Meyering  <jim@meyering.net>
9745
9746         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
9747         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
9748         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
9749         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
9750
9751 2007-01-15  Bruno Haible  <bruno@clisp.org>
9752
9753         * modules/striconveh: New file.
9754         * lib/striconveh.h: New file.
9755         * lib/striconveh.c: New file.
9756         * MODULES.html.sh (Internationalization functions): Add striconveh.
9757
9758         * modules/striconveh-tests: New file.
9759         * tests/test-striconveh.c: New file.
9760
9761 2007-01-15  Bruno Haible  <bruno@clisp.org>
9762
9763         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
9764         not from GNU libiconv or GNU libc.
9765
9766 2007-01-15  Bruno Haible  <bruno@clisp.org>
9767
9768         * doc/gnulib-intro.texi (Copyright): Explain the different license
9769         terms for module descriptions, autoconf macros, tests, documentation.
9770
9771 2007-01-14  Bruno Haible  <bruno@clisp.org>
9772
9773         * modules/striconv-tests: New file.
9774         * tests/test-striconv.c: New file.
9775
9776 2007-01-14  Bruno Haible  <bruno@clisp.org>
9777
9778         * modules/iconv-tests: New file.
9779         * tests/test-iconv.c: New file.
9780
9781 2007-01-14  Bruno Haible  <bruno@clisp.org>
9782
9783         * gnulib-tool (func_get_license): For test modules, use the license of
9784         the main module.
9785
9786 2007-01-14  Bruno Haible  <bruno@clisp.org>
9787
9788         * modules/iconv (Include): Clarify that <iconv.h> can only be included
9789         if iconv is found to exist.
9790
9791 2007-01-14  Bruno Haible  <bruno@clisp.org>
9792
9793         * modules/c-ctype-tests: New file.
9794         * tests/test-c-ctype.c: New file.
9795
9796 2007-01-14  Bruno Haible  <bruno@clisp.org>
9797
9798         * modules/binary-io-tests: New file.
9799         * tests/test-binary-io.sh: New file.
9800         * tests/test-binary-io.c: New file.
9801
9802 2007-01-14  Bruno Haible  <bruno@clisp.org>
9803
9804         * modules/array-oset-tests: New file.
9805         * tests/test-array_oset.c: New file.
9806
9807 2007-01-14  Bruno Haible  <bruno@clisp.org>
9808
9809         * modules/array-list-tests: New file.
9810         * tests/test-array_list.c: New file.
9811
9812 2007-01-14  Bruno Haible  <bruno@clisp.org>
9813
9814         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
9815         and make.
9816         Reported by Simon Josefsson in
9817         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
9818
9819 2007-01-14  Bruno Haible  <bruno@clisp.org>
9820
9821         * modules/allocsa-tests: New file.
9822         * tests/test-allocsa.c: New file.
9823
9824 2007-01-14  Bruno Haible  <bruno@clisp.org>
9825
9826         * modules/fchdir (Depends-on): Add absolute-header.
9827         * modules/unistd (Depends-on): Likewise.
9828
9829 2006-12-30  Bruno Haible  <bruno@clisp.org>
9830
9831         * modules/fchdir: New file.
9832         * modules/unistd (Files): Add lib/unistd_.h.
9833         (Makefile.am): Generate unistd.h from unistd_.h.
9834         * lib/fchdir.c: New file.
9835         * lib/dirent_.h: New file.
9836         * lib/unistd_.h: New file.
9837         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
9838         * m4/fchdir.m4: New file.
9839         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
9840         (gl_HEADER_UNISTD): Invoke it.
9841         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
9842         function.
9843         * lib/backupfile.c (opendir, closedir): Undefine.
9844         * lib/chown.c (open, close): Undefine.
9845         * lib/clean-temp.c (open, close): Undefine.
9846         * lib/copy-file.c (open, close): Undefine.
9847         * lib/execute.c (open, close): Undefine.
9848         * lib/fsusage.c (open, close): Undefine.
9849         * lib/gc-gnulib.c (open, close): Undefine.
9850         * lib/getcwd.c (opendir, closedir): Undefine.
9851         * lib/glob.c (opendir, closedir): Undefine.
9852         * lib/javacomp.c (open, close): Undefine.
9853         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
9854         * lib/openat-proc.c (open, close): Undefine.
9855         * lib/pagealign_alloc.c (open, close): Undefine.
9856         * lib/pipe.c (open, close): Undefine.
9857         * lib/progreloc.c (open, close): Undefine.
9858         * lib/savedir.c (opendir, closedir): Undefine.
9859         * lib/utime.c (open, close): Undefine.
9860         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
9861
9862 2007-01-10  Bruno Haible  <bruno@clisp.org>
9863
9864         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
9865
9866 2007-01-12  Eric Blake  <ebb9@byu.net>
9867
9868         Provide a robust <wchar.h>.  Further simplifications are now
9869         possible in other modules, but not included here.
9870         * modules/wchar: New module.
9871         * m4/wchar.m4: New file.
9872         * lib/wchar_.h: Likewise.
9873         * modules/mbchar (Depends-on): Depend on wchar, as the first use
9874         of the new module.
9875         * MODULES.html.sh (Extended multibyte and wide character utilities):
9876         New section.
9877
9878 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
9879
9880         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
9881         to a reasonable default for memory allocation.
9882         (xreadlink): Don't allocate a huge buffer, to work around a buggy
9883         file system that reports garbage st_size values for symlinks.
9884         Problem reported by Liyang Hu.
9885
9886 2007-01-11  Simon Josefsson  <simon@josefsson.org>
9887
9888         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
9889         Emacs .#* auto-save files).
9890
9891 2007-01-11  Bruno Haible  <bruno@clisp.org>
9892
9893         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
9894         directory.
9895
9896 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9897
9898         Use @...@ consistently in lib/wctype_.h.
9899         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
9900         on it being set to 1 or 0.
9901         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
9902         go back to AC_SUBSTing it.
9903         * modules/wctype (Makefile.am): Undo previous change.
9904
9905 2007-01-10  Eric Blake  <ebb9@byu.net>
9906
9907         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
9908         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
9909         * modules/wctype (Makefile.am): Likewise.
9910         Reported by Chris McGuire.
9911
9912 2007-01-10  Jim Meyering  <jim@meyering.net>
9913
9914         fts.c: a small readability/maintainability improvement
9915         * lib/fts.c (fts_read): Make this code slightly more readable and
9916         maintainable by hoisting the "sp->fts_cur = p" assignments to
9917         immediately follow the statements that set P.  Derived from
9918         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
9919
9920 2007-01-10  Eric Blake  <ebb9@byu.net>
9921
9922         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
9923         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
9924         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9925         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9926         Reported by Chris McGuire.
9927
9928 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9929
9930         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
9931         in sed script.
9932
9933 2007-01-09  Bruno Haible  <bruno@clisp.org>
9934
9935         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
9936         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
9937         variables.
9938         (func_module): Use them.
9939
9940 2007-01-09  Bruno Haible  <bruno@clisp.org>
9941
9942         * modules/unistr/base: New file.
9943         * lib/unistr.h: New file.
9944
9945         * modules/unistr/u8-to-u16: New file.
9946         * lib/unistr/u8-to-u16.c: New file.
9947
9948         * modules/unistr/u8-to-u32: New file.
9949         * lib/unistr/u8-to-u32.c: New file.
9950
9951         * modules/unistr/u16-to-u8: New file.
9952         * lib/unistr/u16-to-u8.c: New file.
9953
9954         * modules/unistr/u16-to-u32: New file.
9955         * lib/unistr/u16-to-u32.c: New file.
9956
9957         * modules/unistr/u32-to-u8: New file.
9958         * lib/unistr/u32-to-u8.c: New file.
9959
9960         * modules/unistr/u32-to-u16: New file.
9961         * lib/unistr/u32-to-u16.c: New file.
9962
9963         * modules/unistr/u8-check: New file.
9964         * modules/unistr/u16-check: New file.
9965         * modules/unistr/u32-check: New file.
9966         * lib/unistr/u8-check.c: New file.
9967         * lib/unistr/u16-check.c: New file.
9968         * lib/unistr/u32-check.c: New file.
9969
9970         * modules/unistr/u8-chr: New file.
9971         * modules/unistr/u16-chr: New file.
9972         * modules/unistr/u32-chr: New file.
9973         * lib/unistr/u8-chr.c: New file.
9974         * lib/unistr/u16-chr.c: New file.
9975         * lib/unistr/u32-chr.c: New file.
9976
9977         * modules/unistr/u8-cmp: New file.
9978         * modules/unistr/u16-cmp: New file.
9979         * modules/unistr/u32-cmp: New file.
9980         * lib/unistr/u8-cmp.c: New file.
9981         * lib/unistr/u16-cmp.c: New file.
9982         * lib/unistr/u32-cmp.c: New file.
9983
9984         * modules/unistr/u8-cpy: New file.
9985         * modules/unistr/u16-cpy: New file.
9986         * modules/unistr/u32-cpy: New file.
9987         * lib/unistr/u8-cpy.c: New file.
9988         * lib/unistr/u16-cpy.c: New file.
9989         * lib/unistr/u32-cpy.c: New file.
9990         * lib/unistr/u-cpy.h: New file.
9991
9992         * modules/unistr/u8-cpy-alloc: New file.
9993         * modules/unistr/u16-cpy-alloc: New file.
9994         * modules/unistr/u32-cpy-alloc: New file.
9995         * lib/unistr/u8-cpy-alloc.c: New file.
9996         * lib/unistr/u16-cpy-alloc.c: New file.
9997         * lib/unistr/u32-cpy-alloc.c: New file.
9998         * lib/unistr/u-cpy-alloc.h: New file.
9999
10000         * modules/unistr/u8-endswith: New file.
10001         * modules/unistr/u16-endswith: New file.
10002         * modules/unistr/u32-endswith: New file.
10003         * lib/unistr/u8-endswith.c: New file.
10004         * lib/unistr/u16-endswith.c: New file.
10005         * lib/unistr/u32-endswith.c: New file.
10006         * lib/unistr/u-endswith.h: New file.
10007
10008         * modules/unistr/u8-mblen: New file.
10009         * modules/unistr/u16-mblen: New file.
10010         * modules/unistr/u32-mblen: New file.
10011         * lib/unistr/u8-mblen.c: New file.
10012         * lib/unistr/u16-mblen.c: New file.
10013         * lib/unistr/u32-mblen.c: New file.
10014
10015         * modules/unistr/u8-mbtouc: New file.
10016         * modules/unistr/u16-mbtouc: New file.
10017         * modules/unistr/u32-mbtouc: New file.
10018         * lib/unistr/u8-mbtouc.c: New file.
10019         * lib/unistr/u16-mbtouc.c: New file.
10020         * lib/unistr/u32-mbtouc.c: New file.
10021
10022         * modules/unistr/u8-mbtouc-safe: New file.
10023         * modules/unistr/u16-mbtouc-safe: New file.
10024         * modules/unistr/u32-mbtouc-safe: New file.
10025         * lib/unistr/u8-mbtouc-safe.c: New file.
10026         * lib/unistr/u16-mbtouc-safe.c: New file.
10027         * lib/unistr/u32-mbtouc-safe.c: New file.
10028
10029         * modules/unistr/u8-move: New file.
10030         * modules/unistr/u16-move: New file.
10031         * modules/unistr/u32-move: New file.
10032         * lib/unistr/u8-move.c: New file.
10033         * lib/unistr/u16-move.c: New file.
10034         * lib/unistr/u32-move.c: New file.
10035         * lib/unistr/u-move.h: New file.
10036
10037         * modules/unistr/u8-next: New file.
10038         * modules/unistr/u16-next: New file.
10039         * modules/unistr/u32-next: New file.
10040         * lib/unistr/u8-next.c: New file.
10041         * lib/unistr/u16-next.c: New file.
10042         * lib/unistr/u32-next.c: New file.
10043
10044         * modules/unistr/u8-prev: New file.
10045         * modules/unistr/u16-prev: New file.
10046         * modules/unistr/u32-prev: New file.
10047         * lib/unistr/u8-prev.c: New file.
10048         * lib/unistr/u16-prev.c: New file.
10049         * lib/unistr/u32-prev.c: New file.
10050
10051         * modules/unistr/u8-set: New file.
10052         * modules/unistr/u16-set: New file.
10053         * modules/unistr/u32-set: New file.
10054         * lib/unistr/u8-set.c: New file.
10055         * lib/unistr/u16-set.c: New file.
10056         * lib/unistr/u32-set.c: New file.
10057         * lib/unistr/u-set.h: New file.
10058
10059         * modules/unistr/u8-startswith: New file.
10060         * modules/unistr/u16-startswith: New file.
10061         * modules/unistr/u32-startswith: New file.
10062         * lib/unistr/u8-startswith.c: New file.
10063         * lib/unistr/u16-startswith.c: New file.
10064         * lib/unistr/u32-startswith.c: New file.
10065         * lib/unistr/u-startswith.h: New file.
10066
10067         * modules/unistr/u8-stpcpy: New file.
10068         * modules/unistr/u16-stpcpy: New file.
10069         * modules/unistr/u32-stpcpy: New file.
10070         * lib/unistr/u8-stpcpy.c: New file.
10071         * lib/unistr/u16-stpcpy.c: New file.
10072         * lib/unistr/u32-stpcpy.c: New file.
10073         * lib/unistr/u-stpcpy.h: New file.
10074
10075         * modules/unistr/u8-stpncpy: New file.
10076         * modules/unistr/u16-stpncpy: New file.
10077         * modules/unistr/u32-stpncpy: New file.
10078         * lib/unistr/u8-stpncpy.c: New file.
10079         * lib/unistr/u16-stpncpy.c: New file.
10080         * lib/unistr/u32-stpncpy.c: New file.
10081         * lib/unistr/u-stpncpy.h: New file.
10082
10083         * modules/unistr/u8-strcat: New file.
10084         * modules/unistr/u16-strcat: New file.
10085         * modules/unistr/u32-strcat: New file.
10086         * lib/unistr/u8-strcat.c: New file.
10087         * lib/unistr/u16-strcat.c: New file.
10088         * lib/unistr/u32-strcat.c: New file.
10089         * lib/unistr/u-strcat.h: New file.
10090
10091         * modules/unistr/u8-strchr: New file.
10092         * modules/unistr/u16-strchr: New file.
10093         * modules/unistr/u32-strchr: New file.
10094         * lib/unistr/u8-strchr.c: New file.
10095         * lib/unistr/u16-strchr.c: New file.
10096         * lib/unistr/u32-strchr.c: New file.
10097
10098         * modules/unistr/u8-strcmp: New file.
10099         * modules/unistr/u16-strcmp: New file.
10100         * modules/unistr/u32-strcmp: New file.
10101         * lib/unistr/u8-strcmp.c: New file.
10102         * lib/unistr/u16-strcmp.c: New file.
10103         * lib/unistr/u32-strcmp.c: New file.
10104
10105         * modules/unistr/u8-strcpy: New file.
10106         * modules/unistr/u16-strcpy: New file.
10107         * modules/unistr/u32-strcpy: New file.
10108         * lib/unistr/u8-strcpy.c: New file.
10109         * lib/unistr/u16-strcpy.c: New file.
10110         * lib/unistr/u32-strcpy.c: New file.
10111         * lib/unistr/u-strcpy.h: New file.
10112
10113         * modules/unistr/u8-strcspn: New file.
10114         * modules/unistr/u16-strcspn: New file.
10115         * modules/unistr/u32-strcspn: New file.
10116         * lib/unistr/u8-strcspn.c: New file.
10117         * lib/unistr/u16-strcspn.c: New file.
10118         * lib/unistr/u32-strcspn.c: New file.
10119         * lib/unistr/u-strcspn.h: New file.
10120
10121         * modules/unistr/u8-strdup: New file.
10122         * modules/unistr/u16-strdup: New file.
10123         * modules/unistr/u32-strdup: New file.
10124         * lib/unistr/u8-strdup.c: New file.
10125         * lib/unistr/u16-strdup.c: New file.
10126         * lib/unistr/u32-strdup.c: New file.
10127         * lib/unistr/u-strdup.h: New file.
10128
10129         * modules/unistr/u8-strlen: New file.
10130         * modules/unistr/u16-strlen: New file.
10131         * modules/unistr/u32-strlen: New file.
10132         * lib/unistr/u8-strlen.c: New file.
10133         * lib/unistr/u16-strlen.c: New file.
10134         * lib/unistr/u32-strlen.c: New file.
10135         * lib/unistr/u-strlen.h: New file.
10136
10137         * modules/unistr/u8-strmblen: New file.
10138         * modules/unistr/u16-strmblen: New file.
10139         * modules/unistr/u32-strmblen: New file.
10140         * lib/unistr/u8-strmblen.c: New file.
10141         * lib/unistr/u16-strmblen.c: New file.
10142         * lib/unistr/u32-strmblen.c: New file.
10143
10144         * modules/unistr/u8-strmbtouc: New file.
10145         * modules/unistr/u16-strmbtouc: New file.
10146         * modules/unistr/u32-strmbtouc: New file.
10147         * lib/unistr/u8-strmbtouc.c: New file.
10148         * lib/unistr/u16-strmbtouc.c: New file.
10149         * lib/unistr/u32-strmbtouc.c: New file.
10150
10151         * modules/unistr/u8-strncat: New file.
10152         * modules/unistr/u16-strncat: New file.
10153         * modules/unistr/u32-strncat: New file.
10154         * lib/unistr/u8-strncat.c: New file.
10155         * lib/unistr/u16-strncat.c: New file.
10156         * lib/unistr/u32-strncat.c: New file.
10157         * lib/unistr/u-strncat.h: New file.
10158
10159         * modules/unistr/u8-strncmp: New file.
10160         * modules/unistr/u16-strncmp: New file.
10161         * modules/unistr/u32-strncmp: New file.
10162         * lib/unistr/u8-strncmp.c: New file.
10163         * lib/unistr/u16-strncmp.c: New file.
10164         * lib/unistr/u32-strncmp.c: New file.
10165
10166         * modules/unistr/u8-strncpy: New file.
10167         * modules/unistr/u16-strncpy: New file.
10168         * modules/unistr/u32-strncpy: New file.
10169         * lib/unistr/u8-strncpy.c: New file.
10170         * lib/unistr/u16-strncpy.c: New file.
10171         * lib/unistr/u32-strncpy.c: New file.
10172         * lib/unistr/u-strncpy.h: New file.
10173
10174         * modules/unistr/u8-strnlen: New file.
10175         * modules/unistr/u16-strnlen: New file.
10176         * modules/unistr/u32-strnlen: New file.
10177         * lib/unistr/u8-strnlen.c: New file.
10178         * lib/unistr/u16-strnlen.c: New file.
10179         * lib/unistr/u32-strnlen.c: New file.
10180         * lib/unistr/u-strnlen.h: New file.
10181
10182         * modules/unistr/u8-strpbrk: New file.
10183         * modules/unistr/u16-strpbrk: New file.
10184         * modules/unistr/u32-strpbrk: New file.
10185         * lib/unistr/u8-strpbrk.c: New file.
10186         * lib/unistr/u16-strpbrk.c: New file.
10187         * lib/unistr/u32-strpbrk.c: New file.
10188         * lib/unistr/u-strpbrk.h: New file.
10189
10190         * modules/unistr/u8-strrchr: New file.
10191         * modules/unistr/u16-strrchr: New file.
10192         * modules/unistr/u32-strrchr: New file.
10193         * lib/unistr/u8-strrchr.c: New file.
10194         * lib/unistr/u16-strrchr.c: New file.
10195         * lib/unistr/u32-strrchr.c: New file.
10196
10197         * modules/unistr/u8-strspn: New file.
10198         * modules/unistr/u16-strspn: New file.
10199         * modules/unistr/u32-strspn: New file.
10200         * lib/unistr/u8-strspn.c: New file.
10201         * lib/unistr/u16-strspn.c: New file.
10202         * lib/unistr/u32-strspn.c: New file.
10203         * lib/unistr/u-strspn.h: New file.
10204
10205         * modules/unistr/u8-strstr: New file.
10206         * modules/unistr/u16-strstr: New file.
10207         * modules/unistr/u32-strstr: New file.
10208         * lib/unistr/u8-strstr.c: New file.
10209         * lib/unistr/u16-strstr.c: New file.
10210         * lib/unistr/u32-strstr.c: New file.
10211         * lib/unistr/u-strstr.h: New file.
10212
10213         * modules/unistr/u8-strtok: New file.
10214         * modules/unistr/u16-strtok: New file.
10215         * modules/unistr/u32-strtok: New file.
10216         * lib/unistr/u8-strtok.c: New file.
10217         * lib/unistr/u16-strtok.c: New file.
10218         * lib/unistr/u32-strtok.c: New file.
10219         * lib/unistr/u-strtok.h: New file.
10220
10221         * modules/unistr/u8-uctomb: New file.
10222         * modules/unistr/u16-uctomb: New file.
10223         * modules/unistr/u32-uctomb: New file.
10224         * lib/unistr/u8-uctomb.c: New file.
10225         * lib/unistr/u16-uctomb.c: New file.
10226         * lib/unistr/u32-uctomb.c: New file.
10227
10228         * MODULES.html.sh (Unicode string functions): Add the new modules.
10229
10230 2007-01-08  Bruno Haible  <bruno@clisp.org>
10231
10232         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
10233         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
10234         subdirectories.
10235
10236 2007-01-08  Karl Berry  <karl@gnu.org>
10237
10238         * doc/error.texi: mention that main() fns must set program_name
10239         when progname is used.
10240
10241 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
10242
10243         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
10244         WCTYPE_H is empty, for the benefit of builds from non-distclean
10245         directories.  Problem reported by Eric Blake in
10246         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
10247
10248 2007-01-08  Bruno Haible  <bruno@clisp.org>
10249
10250         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
10251         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
10252         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
10253         PROVIDE_CANONICALIZE_FILENAME_MODE.
10254         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
10255
10256 2007-01-08  Bruno Haible  <bruno@clisp.org>
10257
10258         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
10259         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
10260         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
10261         * lib/fts.c: Likewise.
10262         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
10263
10264 2006-12-25  Bruno Haible  <bruno@clisp.org>
10265
10266         * modules/utf8-ucs4-safe: New file.
10267         * lib/utf8-ucs4-safe.h: New file.
10268         * lib/unistr/utf8-ucs4-safe.c: New file.
10269
10270         * modules/utf16-ucs4-safe: New file.
10271         * lib/utf16-ucs4-safe.h: New file.
10272         * lib/unistr/utf16-ucs4-safe.c: New file.
10273
10274         * MODULES.html.sh (Unicode string functions): Add the new modules.
10275
10276 2007-01-08  Bruno Haible  <bruno@clisp.org>
10277
10278         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
10279         (Depends-on): Add unitypes.
10280         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
10281         (u8_mbtouc_aux): Move out to separate file.
10282         (u8_mbtouc): Use ucs4_t, uint8_t types.
10283         * lib/unistr/utf8-ucs4.c: New file.
10284
10285         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
10286         (Depends-on): Add unitypes.
10287         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
10288         (u16_mbtouc_aux): Move out to separate file.
10289         (u16_mbtouc): Use ucs4_t, uint16_t types.
10290         * lib/unistr/utf16-ucs4.c: New file.
10291
10292         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
10293         (Depends-on): Add unitypes.
10294         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
10295         (u8_uctomb_aux): Move out to separate file.
10296         (u8_uctomb): Use ucs4_t, uint8_t types.
10297         * lib/unistr/ucs4-utf8.c: New file.
10298
10299         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
10300         (Depends-on): Add unitypes.
10301         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
10302         (u16_uctomb_aux): Move out to separate file.
10303         (u16_uctomb): Use ucs4_t, uint16_t types.
10304         * lib/unistr/ucs4-utf16.c: New file.
10305
10306 2006-12-25  Bruno Haible  <bruno@clisp.org>
10307
10308         * modules/unitypes: New file.
10309         * lib/unitypes.h: New file.
10310         * MODULES.html.sh (func_all_modules): New section "Unicode string
10311         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
10312         this section. Add unitypes.
10313
10314 2007-01-08  Bruno Haible  <bruno@clisp.org>
10315
10316         Avoid variable names that conflict with those from libtool.
10317         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
10318         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
10319         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
10320         library_names_spec to acl_library_names_spec, hardcode_* to
10321         acl_hardcode_*.
10322         Reported by Ralf Wildenhues.
10323
10324 2007-01-08  Bruno Haible  <bruno@clisp.org>
10325
10326         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
10327         definition.
10328         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
10329         definition.
10330         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
10331         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
10332         definition.
10333         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
10334         definition.
10335         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
10336         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
10337         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
10338         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
10339         definition.
10340         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
10341         definition.
10342         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
10343         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
10344         GC_USE_<algorithm>.
10345         * lib/gc-libgcrypt.c: Likewise.
10346         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
10347         * modules/gc-arctwo (configure.ac): Likewise.
10348         * modules/gc-des (configure.ac): Likewise.
10349         * modules/gc-hmac-md5 (configure.ac): Likewise.
10350         * modules/gc-hmac-sha1 (configure.ac): Likewise.
10351         * modules/gc-md2 (configure.ac): Likewise.
10352         * modules/gc-md4 (configure.ac): Likewise.
10353         * modules/gc-md5 (configure.ac): Likewise.
10354         * modules/gc-random (configure.ac): Likewise.
10355         * modules/gc-rijndael (configure.ac): Likewise.
10356         * modules/gc-sha1 (configure.ac): Likewise.
10357
10358 2007-01-08  Bruno Haible  <bruno@clisp.org>
10359
10360         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
10361         macro definition.
10362         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
10363         definition.
10364         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
10365         definition.
10366         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
10367         * modules/fcntl-safer (configure.ac): Likewise.
10368         * modules/fopen-safer (configure.ac): Likewise.
10369         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
10370         GNULIB_FWRITEERROR macro definition.
10371
10372 2007-01-08  Bruno Haible  <bruno@clisp.org>
10373
10374         * m4/gnulib-common.m4: New file.
10375         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
10376         (func_get_filelist): Add m4/gnulib-common.m4.
10377
10378 2007-01-08  Bruno Haible  <bruno@clisp.org>
10379
10380         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
10381         command.
10382
10383 2007-01-08  Jim Meyering  <jim@meyering.net>
10384
10385         Use a more robust test for a "can't happen" condition.
10386         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
10387         narrowed the st_size value.  Presuming the "can't happen" condition
10388         is true, that narrowing could conceivably convert an invalid st_size
10389         value into a valid one.  Instead, use a change based on Matthew
10390         Woehlke's original patch.
10391
10392         Slight readability improvement: use an assert-like macro
10393         in place of literal "abort ()" uses.
10394         * lib/fts.c (fts_assert): Define.
10395         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
10396         Use this macro instead of a bare 'abort'.
10397
10398 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
10399
10400         Don't worry about using IRIX 5.3's wctype.h broken definitions;
10401         simply work around them.
10402         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
10403         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
10404         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
10405         declaring.
10406         Don't bother to define as macros, since the standard doesn't require it.
10407         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
10408         longer worry about IRIX 5.3.
10409         (HAVE_WCTYPE_CTMP_BUG): Remove.
10410
10411 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10412
10413         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
10414         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
10415         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
10416         Problems reported by Georg Schwarz for IRIX 5.3.
10417
10418         * gnulib-tool (autoconf_minversion): Take the maximum version number
10419         found, not the minimum.  Problem reported by James Youngman.
10420
10421 2007-01-03  Karl Berry  <karl@gnu.org>
10422
10423         * doc/error.texi: new file, explaining interaction with progname.
10424         * doc/gnulib.texi: include it.  Update copyright.
10425
10426 2007-01-03  Simon Josefsson  <simon@josefsson.org>
10427
10428         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
10429         AC_CANONICAL_HOST, to improve autobuild outputs.
10430
10431 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
10432             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10433
10434         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
10435         sockets, server sockets, and other file descriptors.  Count errors
10436         to compute the return value.  Reorder the code a bit to be easier
10437         to follow.  Don't set event bits that were not requested (except
10438         POLLERR and POLLHUP).
10439
10440 2007-01-01  Bruno Haible  <bruno@clisp.org>
10441
10442         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
10443
10444 2007-01-03  Jim Meyering  <jim@meyering.net>
10445
10446         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
10447
10448 2007-01-02  Bruno Haible  <bruno@clisp.org>
10449
10450         * modules/settime (Include): Require timespec.h.
10451         * modules/nanosleep (Include): Likewise.
10452
10453 2007-01-01  Bruno Haible  <bruno@clisp.org>
10454
10455         * gnulib-tool (func_emit_copyright_notice): Bump year.
10456         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
10457
10458 2007-01-01  Bruno Haible  <bruno@clisp.org>
10459
10460         Improve support for OpenBSD.
10461         * build-aux/config.rpath (libname_spec): Export.
10462         (library_names_spec): New variable. Export.
10463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
10464         library_names_spec from the config.rpath output. Locate shared library
10465         through the name pattern in library_names_spec.
10466
10467 2007-01-01  Eric Blake  <ebb9@byu.net>
10468
10469         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
10470
10471 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10472
10473         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
10474         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
10475         assume the C locale, and avoid an "eval" that could cause trouble.
10476         Problem with SORT reported by Bob Proulx.
10477
10478         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
10479         Define.  Trivial patch from Henning Nielsen Lund, originally
10480         sent to bug-grep@gnu.org today.
10481
10482 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10483
10484         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
10485         struct stat.  Problem reported by Henning Nielsen Lund.
10486         * lib/acl.c: Include acl.h first, to check interface.  Don't
10487         bother to include sys/types.h and sys/stat.h again.
10488
10489 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
10490
10491         Import the following change from libc; problem reported by
10492         Sven Verdoolaege.
10493
10494         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
10495
10496         [BZ #1373]
10497         * lib/argp.h: Remove __NTH for __argp_usage inline function.
10498
10499 2006-12-28  Jim Meyering  <jim@meyering.net>
10500
10501         * build-aux/announce-gen: Do not assume that the package
10502         builds any of tar.gz, tar.bz2, and .xdelta files.
10503         Suggestion from Simon Josefsson.
10504
10505 2006-12-28  Simon Josefsson  <simon@josefsson.org>
10506
10507         * modules/announce-gen: New file.
10508
10509 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10510
10511         * lib/mbchar.h: Just include <wctype.h>; the wctype module
10512         handles its gotchas now.
10513         * lib/mbswidth.c: Likewise.
10514         * lib/wcwidth.h: Likewise.
10515         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
10516         and iswcntrl; the wctype module does this stuff now.
10517         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10519         * modules/mbchar (Depends-on): Add wctype.
10520         * modules/mbswidth (Depends-on): Likewise.
10521         * modules/wcwidth (Depends-on): Likewise.
10522
10523 2006-12-27  Eric Blake  <ebb9@byu.net>
10524
10525         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
10526         module uses more than what <wctype.h> is required to provide.
10527
10528 2006-12-26  Eric Blake  <ebb9@byu.net>
10529
10530         * gnulib-tool (sed_extract_prog): Avoid space-tab.
10531
10532 2006-12-26  Eric Blake  <ebb9@byu.net>
10533
10534         * modules/absolute-header: New module.
10535         * modules/fcntl (Depends-on): Depend on it.
10536         * modules/inttypes (Depends-on): Likewise.
10537         * modules/stdint (Depends-on): Likewise.
10538         * modules/sys_stat (Depends-on): Likewise.
10539         * modules/wctype (Depends-on): Likewise.
10540         * MODULES.html.sh (Support for building libraries and
10541         executables): Document it.
10542
10543 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10544
10545         * gnulib-tool (SED): Remove, undoing previous change.
10546         The problem was that it broke coreutils on Solaris, because
10547         "sed --posix" leaked into a makefile.
10548         (sed): New alias, if 'alias' and GNU sed.
10549
10550 2006-12-24  Jim Meyering  <jim@meyering.net>
10551
10552         Work around an fchownat bug in glibc-2.4:
10553         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
10554         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
10555         in spite of the -P option.
10556         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
10557         New macros.
10558         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
10559         * modules/openat (Files): Add lib/fchownat.c.
10560         * lib/openat.c (fchownat): Don't define here.  Move to...
10561         * lib/fchownat.c: ...this new file.
10562
10563 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10564
10565         Fix bug reported by Bruno Haible in
10566         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
10567         where quotearg.c didn't compile on Mac OS X 10.2 because it
10568         lacks <wchar.h> and wint_t.
10569         * lib/wctype_.h (__wctype_wint_t): New type.
10570         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
10571         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
10572         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
10573         Arg is now of type __wctype_wint_t, not wint_t.
10574         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
10575         substitute HAVE_WINT_T.
10576         * modules/wctype (Files): Add m4/wint_t.m4.
10577         (wctype.h): Substitute HAVE_WINT_T.
10578
10579 2006-12-23  Bruno Haible  <bruno@clisp.org>
10580
10581         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
10582
10583 2006-12-23  Bruno Haible  <bruno@clisp.org>
10584
10585         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
10586         S_ISLNK.
10587         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
10588         mingw.
10589
10590 2006-12-22  Bruno Haible  <bruno@clisp.org>
10591
10592         * lib/copy-file.c: Include acl.h.
10593         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
10594         Close the file descriptors only after being done with copy_acl.
10595         * modules/copy-file (Depends-on): Add acl.
10596
10597 2006-12-22  Bruno Haible  <bruno@clisp.org>
10598
10599         * gnulib-tool (SED): New variable.
10600         Use $SED instead of sed everywhere.
10601
10602 2006-12-22  Bruno Haible  <bruno@clisp.org>
10603
10604         * modules/no-c++: New file.
10605         * m4/no-c++.m4: New file.
10606         * MODULES.html.sh (Support for building libraries and executables):
10607         Add no-c++.
10608
10609 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10610
10611         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
10612         Include <limits.h>, and use its INT_MAX to rewrite the
10613         j loop so that it does not overflow 'int'.  Problem reported by
10614         Ralf Wildenhues in
10615         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
10616         Play it safe by shifting left by 1 rather than multiplying by 2,
10617         as GCC is less likely to optimize this away when the value
10618         is signed (when it assumes overflow leads to undefined behavior).
10619         Also, don't assume time_t uses two's complement.
10620
10621 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
10622
10623         * MODULES.html.sh: New module wctype.
10624         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
10625         * lib/fnmatch.c: Don't bother to include <wchar.h> before
10626         <wctype.h>, since the new wctype module should fix this.
10627         * lib/quotearg.c: Include <wctype.h> unconditionally, since
10628         the wctype module should arrange for it.
10629         * lib/regex_internal.h: Likewise.
10630         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
10631         since the wctype module should handle this now.
10632         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
10633         * modules/fnmatch (Depends-on): Add wctype.
10634         * modules/quotearg (Depends-on): Likewise.
10635         * modules/regex (Depends-on): Likewise.
10636
10637 2006-12-19  Bruno Haible  <bruno@clisp.org>
10638
10639         * lib/strdup.h [C++]: Wrap definitions in extern "C".
10640         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
10641
10642 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10643
10644         * modules/savewd (Depends-on): Fix dependency on fcntl.
10645
10646 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10647
10648         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
10649         conforms to C99, rather than relying on the user's environment
10650         setting of STDINT_H.
10651
10652 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10653         and Eric Blake  <ebb9@byu.net>
10654
10655         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
10656         This is more consistent with the other defines here.
10657         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
10658         Port to z/OS.  Problem reported by Paul Gilmartin.
10659         Change local vars to use gl_ prefix rather than ac_.
10660         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
10661         with other defines.
10662         * modules/double-slash-root: New module.
10663         * modules/dirname (Files): Remove m4/double-slash-root.m4.
10664         (Depends-on): Add double-slash-root.
10665         * MODULES.html.sh (File system functions): Mention new module.
10666
10667 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
10668
10669         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
10670         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
10671         This is for the benefit of gzip, which doesn't do i18n.
10672
10673 2006-12-12  Jim Meyering  <jim@meyering.net>
10674
10675         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
10676         Reported by Andreas Schwab <schwab@suse.de>.
10677
10678 2006-12-12  Bruno Haible  <bruno@clisp.org>
10679
10680         Merge these changes.
10681         2006-09-05  Bruno Haible  <bruno@clisp.org>
10682         * lib/iconvme.c (iconv_string): No need to save and restore errno when
10683         iconv_alloc succeeded.
10684         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
10685         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
10686         test for " && dest " at the end - dest is always != NULL there. Call
10687         iconv with 4xNULL arguments initially, to reset the state. Call iconv
10688         with 2xNULL arguments, also to flush the state storage. Handle the
10689         IRIX iconv behaviour. Realloc the final result, to throw away unused
10690         memory.
10691
10692 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10693
10694         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
10695         and fchmodat unconditionally, since glibc 2.4 has them.
10696         Problem reported by Arkadiusz Miskiewicz.
10697
10698 2006-12-10  Bruno Haible  <bruno@clisp.org>
10699
10700         * gnulib-tool (func_import): Show the include files only for those
10701         modules that are copied and specified.
10702         Reported by Karl Berry.
10703
10704 2006-12-08  Jim Meyering  <jim@meyering.net>
10705
10706         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
10707         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
10708
10709         * build-aux/announce-gen: Add two new options, both optional:
10710         --bootstrap-tools=TOOL_LIST
10711               a comma-separated list of tools, e.g.,
10712               autoconf,automake,bison,gnulib
10713         --gnulib-snapshot-date=DATE
10714               if gnulib is in the bootstrap tool list,
10715               then report this as the snapshot date.
10716               If not specified, use the current date/time.
10717               If you specify a date here, be sure it's UTC.
10718
10719 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10720
10721         * tests/test-argp-2.sh: Fix test to match actual output.
10722         (func_compare): Fix sed script to be portable.
10723
10724 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
10725
10726         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
10727         workaround for this case.  It is not autoconfigured now; offhand
10728         it's hard to see how to autoconfigure it.
10729
10730 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
10731
10732         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
10733         a directory that is about to be chowned.  Such a directory's
10734         initial file permissions should permit the owner only and this
10735         should not be changed until after the chown, since the group and
10736         other bits would be incorrect if they granted permission before
10737         the chown.
10738
10739         Fix porting problem for iswctype reported by Georg Schwarz in:
10740         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
10741         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
10742         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
10743         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
10744         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10745
10746 2006-12-03  Jim Meyering  <jim@meyering.net>
10747
10748         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
10749         p->fts_statp may not yet be defined.
10750         (fts_read): Instead, set it in the caller, once p->fts_statp is
10751         sure to be defined, and corresponds to a top-level directory.
10752         This bug made du -x fail.  Here's the coreutils test case:
10753         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
10754         Reported by Mike Frysinger.
10755
10756 2006-12-01  Jim Meyering  <jim@meyering.net>
10757
10758         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
10759         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
10760         Reported by Simon Josefsson.
10761
10762 2006-11-30  Jim Meyering  <jim@meyering.net>
10763
10764         * m4/warning.m4: Use the all-permissive copyright notice
10765         recommended by RMS (rather than LGPL).
10766         * m4/vararrays.m4: Likewise.
10767         * m4/flexmember.m4: Likewise.
10768
10769 2006-11-29  Bruno Haible  <bruno@clisp.org>
10770
10771         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10772         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
10773         using +=.
10774         Reported by Simon Josefsson <simon@josefsson.org>.
10775
10776 2006-11-28  James Youngman <jay@gnu.org>
10777
10778         * README: Advise users that they might find the bug-gnulib@gnu.org
10779         and autotools-announce@gnu.org mailing lists useful.
10780
10781 2006-11-28  Bruno Haible  <bruno@clisp.org>
10782
10783         * m4/ptrdiff_max.m4: Remove file.
10784
10785 2006-11-21  Bruno Haible  <bruno@clisp.org>
10786
10787         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
10788         _AC_COMPUTE_INT.
10789         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10790         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
10791         _AC_COMPUTE_INT.
10792         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10793         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
10794         _AC_COMPUTE_INT.
10795         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10796
10797 2006-11-28  Jim Meyering  <jim@meyering.net>
10798
10799         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
10800         warning from "gcc -Wshadow" about shadowing the builtin.
10801
10802 2006-11-27  Bruno Haible  <bruno@clisp.org>
10803
10804         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
10805         _AC_COMPUTE_INT.
10806         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10807
10808 2006-11-27  Bruno Haible  <bruno@clisp.org>
10809             Paul Eggert  <eggert@cs.ucla.edu>
10810
10811         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
10812
10813 2006-11-26  Bruno Haible  <bruno@clisp.org>
10814
10815         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10816         noinst_LTLIBRARIES.
10817
10818 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
10819             Bruno Haible  <bruno@clisp.org>
10820
10821         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
10822         if compiling with "gcc -ansi".
10823
10824 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10825
10826         Fix some incompatibilities with gcc -ansi -pedantic.
10827         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
10828         if compiling pedantically with GCC, unless it's C99 or later.
10829         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
10830         it mishandles gcc -ansi -pedantic as well.
10831         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
10832         if gcc -pedantic.
10833         * lib/regexec.c (check_node_accept_bytes): Don't use auto
10834         initializers for struct if -pedantic, unless it's C99 or later.
10835
10836 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
10837
10838         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
10839         Don't close an fd more than once. Identical atimes indicate
10840         success, not failure.
10841
10842 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
10843
10844         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
10845
10846 2006-11-23  Jim Meyering  <jim@meyering.net>
10847
10848         * build-aux/announce-gen: New file.  From coreutils.
10849
10850 2006-11-22  Jim Meyering  <jim@meyering.net>
10851
10852         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
10853         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
10854         (fts_read): Use a temporary to narrow the overused st_size member
10855         before using it in a switch statement.  Reported by Matthew Woehlke.
10856
10857         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
10858         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10859
10860 2006-11-20  Bruno Haible  <bruno@clisp.org>
10861
10862         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
10863         changequote instead of pairs of brackets.
10864         Reported by Andreas Schwab <schwab@suse.de>.
10865
10866 2006-11-21  Jim Meyering  <jim@meyering.net>
10867
10868         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
10869         so as to remain compatible with older compilers.
10870         Patch from Michael Deutschmann.
10871
10872 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10873
10874         * MODULES.html.sh (File system functions): Add openat.
10875
10876         * lib/openat.h (rpl_fstatat): New macro, if
10877         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
10878         (fstatat): Define to rpl_fstatat under the same conditions,
10879         unless COMPILING_FSTATAT.
10880         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
10881         seems to have the bug.
10882         * lib/fstatat.c: New file.
10883         * modules/openat (Files): Add it.
10884
10885 2006-11-20  Bruno Haible  <bruno@clisp.org>
10886
10887         * Makefile: New file.
10888
10889 2006-11-20  Jim Meyering  <jim@meyering.net>
10890
10891         The beginnings of syntax-related checks for gnulib.
10892         * lib/Makefile: New file.
10893         * lib/t-idcache: New script.  Ensure that the two halves of
10894         idcache.c stay in sync.
10895
10896         * lib/idcache.c: Adjust comments in user- and group- portions to
10897         be more accurate, and to be consistent with one another.
10898
10899 2006-11-20  Jim Meyering  <jim@meyering.net>
10900
10901         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
10902         continue using the flexible array member (thus, this module performs
10903         half as many malloc calls), with the addition that...
10904         (getgroup, getuser): Consistently record a non-match via an empty
10905         "name" string, and map an empty string match to a NULL return value.
10906         * modules/idcache (Depends-on): Re-add flexmember.
10907
10908         * lib/idcache.c (getuser): Remove all uses of the register keyword.
10909         (getuidbyname, getgroup, getgidbyname): Likewise.
10910
10911         Use cleaner syntax: NULL rather than 0.
10912         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
10913
10914 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
10917         It mishandled the case where the group was missing.
10918         Problem reported by Greg Schafer.
10919         * modules/idcache: Likewise.
10920
10921 2006-11-18  Jim Meyering  <jim@meyering.net>
10922
10923         * check-module (%exempt_header): Add exception for some
10924         conditionally-included headers.
10925
10926         * modules/i-ring (Depends-on): Add verify.
10927         (License): Change to LGPL.
10928
10929 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
10930
10931         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
10932         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
10933         and inttostr.h.  Use snprintf rather than uinttostr, so that
10934         LGPLed code doesn't depend on GPLed.
10935
10936 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10937
10938         * modules/inline (License): Change from GPL to LGPL.
10939
10940 2006-11-17  Jim Meyering  <jim@meyering.net>
10941
10942         * modules/d-type (License): Switch to LGPL.
10943
10944 2006-11-15  Bruno Haible  <bruno@clisp.org>
10945
10946         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
10947
10948 2006-11-15  Eric Blake  <ebb9@byu.net>
10949
10950         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
10951         the module dependency.
10952
10953 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10954             Bruno Haible  <bruno@clisp.org>
10955
10956         * gnulib-tool (func_create_testdir): Add license consistency check.
10957
10958 2006-11-15  Eric Blake  <ebb9@byu.net>
10959
10960         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
10961         random "(cached)" in configure output.
10962
10963 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10964
10965         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
10966         test for conforming inttypes.h is both announced and cached.
10967
10968         * MODULES.html.sh (seen_modules, seen_files): New variables.
10969         (func_module): Rewrite to use a few less gnulib-tool and sed
10970         invocations.  Avoid a couple of quadratic algorithms for ...
10971         (missed_modules, missed_files): ... these, with ...
10972         (func_append, func_tmpdir): ... these new functions, from
10973         gnulib-tool.  Analogously, install traps for cleanup.
10974
10975         * tests/test-gc.c (main): Remove unused variables.
10976         * tests/test-read-file.c: Include stdlib.h, for 'free'.
10977
10978 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10979
10980         * modules/inttostr (License): Change to LGPL.
10981
10982 2006-11-14  Eric Blake  <ebb9@byu.net>
10983
10984         * modules/tempname (License): Change to LGPL.
10985
10986 2006-11-14  Eric Blake  <ebb9@byu.net>
10987
10988         * doc/functions.texi (Function Portability): *printf functions on
10989         Cygwin now understand all POSIX size specifiers.
10990
10991 2006-11-14  Bruno Haible  <bruno@clisp.org>
10992
10993         * modules/c-ctype (License): Change to LGPL.
10994
10995 2006-11-12  Bruno Haible  <bruno@clisp.org>
10996
10997         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10998         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
10999         for GNOME libraries, for which the include files are installed in
11000         subdirectories of $prefix/include.
11001
11002 2006-11-12  Bruno Haible  <bruno@clisp.org>
11003
11004         * m4/lib-link.m4: Require at least autoconf-2.54.
11005         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
11006         name to underscores for the --with option.
11007
11008 2006-11-13  Bruno Haible  <bruno@clisp.org>
11009
11010         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
11011         the tests directory.
11012         Reported by Ralf Wildenhues.
11013
11014 2006-11-13  Bruno Haible  <bruno@clisp.org>
11015
11016         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
11017         (func_emit_initmacro_end): Undo the override here.
11018         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
11019         Works around the famous automake error in coreutils.
11020
11021 2006-11-13  Eric Blake  <ebb9@byu.net>
11022
11023         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
11024         element, not its node.
11025
11026 2006-11-12  Bruno Haible  <bruno@clisp.org>
11027
11028         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
11029         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
11030
11031 2006-11-12  Bruno Haible  <bruno@clisp.org>
11032
11033         * gnulib-tool: New option --local-symlink.
11034         (func_usage): Document it.
11035         (lsymbolic): New variable.
11036         (func_import, func_create_testdir): If --symlink was not specified,
11037         test whether --local-symlink was specified and the file comes from
11038         the local_gnulib_dir.
11039
11040 2006-11-12  Bruno Haible  <bruno@clisp.org>
11041
11042         * gnulib-tool (func_ln): New function.
11043         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
11044
11045 2006-11-12  Bruno Haible  <bruno@clisp.org>
11046
11047         Finish support for source files in subdirectories.
11048         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
11049         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
11050         AUTOMAKE_OPTIONS.
11051         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
11052
11053 2006-11-12  Bruno Haible  <bruno@clisp.org>
11054
11055         * gnulib-tool (func_get_automake_snippet): Synthesize also an
11056         EXTRA_lib_SOURCES augmentation.
11057         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
11058
11059 2006-11-12  Jim Meyering  <jim@meyering.net>
11060
11061         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
11062         file descriptors.  This also averts a failure on systems with
11063         native openat support when a traversed directory lacks "x" access.
11064         * lib/fts_.h: Include "i-ring.h"
11065         (struct FTS) [fts_fd_ring]: New member.
11066         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
11067         (FCHDIR): Add parentheses.
11068         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
11069         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
11070         When descending, rather than simply closing the previous
11071         fts_cwd_fd value, push that file descriptor onto the ring.
11072         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
11073         (fts_open): Initialize the new fd_ring member.
11074         (fts_close): Clear the ring.
11075         (fts_safe_changedir): When possible, use our new fd_ring to skip
11076         the diropen and fstat and dev/ino comparison that would normally
11077         accompany a virtual `chdir ("..")'.
11078
11079         * modules/fts (Depends-on): Add i-ring.
11080         * modules/i-ring: New module.
11081         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
11082         * m4/i-ring.m4: New file.
11083
11084 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11085
11086         * gnulib-tool (func_create_testdir): Fix replacement of
11087         `build-aux' in configure.ac.  Run autotools in gltests
11088         subdirectory.
11089         (func_create_testdir, func_create_megatestdir, test): There is
11090         no need for '--force' in most autotool invocations in a new
11091         tree.  Actually fail the whole test if any of the tools, or the
11092         configure or make stages fail.
11093
11094         Sync from Automake.
11095         * build-aux/gnupload: Revert last change.  Add pointer to upload
11096         instructions of the GNU Maintenance Instructions.
11097         Suggestion by Karl Berry.
11098
11099 2006-11-10  Jim Meyering  <jim@meyering.net>
11100
11101         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
11102
11103 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11104
11105         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
11106         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
11107         (bind_textdomain_codeset) [! ENABLE_NLS]:
11108         Evaluate all the arguments.  That way, callers get compatible behavior
11109         if the arguments have side effects.  Also, it avoids some GCC
11110         diagnostics in some cases; Joel E. Denny reported problems when Bison
11111         was configured with --enable-gcc-warnigs.
11112
11113 2006-11-10  Jim Meyering  <jim@meyering.net>
11114
11115         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
11116         relevant options in CFLAGS (like -O, -fno-inline) are taken into
11117         account.
11118
11119 2006-11-10  Jim Meyering  <jim@meyering.net>
11120
11121         * modules/inline: New file/module.
11122         * modules/xalloc (Files): Remove m4/inline.m4.
11123         (Depends-on): Add inline, instead.
11124         * modules/oset: Likewise.
11125         * modules/list: Likewise.
11126
11127 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11128
11129         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
11130         Problem reported by Matthew Woehlke.
11131
11132 2006-11-09  Bruno Haible  <bruno@clisp.org>
11133
11134         * lib/tempname.c (gen_tempname): Remove variant that invokes
11135         __gen_tempname.
11136         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
11137         __gen_tempname.
11138
11139 2006-11-08  Bruno Haible  <bruno@clisp.org>
11140
11141         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
11142         to 'yes' instead of 'cross-compiling'.
11143
11144 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11145
11146         * lib/quotearg.h (quotearg_free): New decl.
11147         * lib/quotearg.c (quotearg_free): New function.
11148         (slot0, nslots, slotvec0, slotvec):
11149         Now file-scope so that quotearg_free can get at them.
11150
11151 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11152
11153         Sync from Automake.
11154         * build-aux/gnupload: Add missing 'gnu' to example URL.
11155         Report by Karl Berry.
11156
11157 2006-11-08  Bruno Haible  <bruno@clisp.org>
11158
11159         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
11160         Suggested by Paul Eggert.
11161
11162 2006-11-08  Jim Meyering  <jim@meyering.net>
11163
11164         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
11165         It's already included if !_LIBC.
11166         (fts_safe_changedir): Add a comment.
11167
11168 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11169
11170         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
11171         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
11172         Matthew Woehlke.
11173
11174         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
11175         definitions up, to avoid colliding with change below.
11176         (static_inline) [HAVE_INLINE]: New macro.
11177         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
11178         Provide extern decls when !HAVE_INLINE.  Do not define unless
11179         static_inline is defined, either by us or by xmalloc.c.  Use
11180         static_inline rather than static inline.
11181         (XCALLOC): Optimize sizeof(T) = 1 case.
11182         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
11183
11184 2006-11-07  Bruno Haible  <bruno@clisp.org>
11185
11186         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
11187         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
11188         AC_C_INLINE.
11189         * modules/xalloc (Files): Add m4/inline.m4.
11190
11191 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11192
11193         * README: Fix typo.
11194         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
11195         (Miscellanous Notes): ...from this.
11196
11197 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11198
11199         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
11200         Mention that offsetof should be used instead of sizeof.
11201         From Bruno Haible.
11202
11203 2006-11-07  Bruno Haible  <bruno@clisp.org>
11204
11205         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
11206
11207 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11208
11209         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
11210         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
11211         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
11212         (gl_tree_add_before, gl_tree_add_after):
11213         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
11214         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
11215         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
11216         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
11217         (gl_linked_add_after, gl_linked_add_at): Likewise.
11218         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
11219         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
11220         (gl_tree_add_before, gl_tree_add_after): Likewise.
11221         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
11222         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
11223         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
11224
11225 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11226
11227         * lib/gl_oset.h: Use C comment style, not C++ comment style.
11228
11229 2006-11-06  Bruno Haible  <bruno@clisp.org>
11230
11231         * m4/inline.m4: New file.
11232         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
11233         * modules/list (Files): Add m4/inline.m4.
11234         * modules/oset (Files): Likewise.
11235
11236 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11237
11238         * lib/idcache.c: Include <stddef.h>, for offsetof.
11239         (struct userid.name): Change from char * to a flexible array member.
11240         All uses changed.
11241         * modules/idcache (Depends-on): Add flexmember.
11242
11243         * MODULES.html.sh (Core language properties): New module flexmember.
11244         * modules/flexmember, m4/flexmember.m4: New files.
11245
11246         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
11247         inline functions that are identical with the old xnmalloc_inline,
11248         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
11249         that we can avoid some unnecessary integer multiplications and
11250         divisions in the common case where the element size is known at
11251         compile time.
11252         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
11253         needed.
11254         (xnboundedmalloc): Remove.
11255         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
11256         arguments, for consistency with rest of this header.
11257         (xcharalloc): Rewrite using XNMALLOC.
11258         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
11259         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
11260         versions have been moved to lib/xalloc.h and renamed to be the
11261         non-*_inline versions.
11262         (xmalloc, xrealloc): Implement without reference to the xnmalloc
11263         and xnrealloc functions, since those functions are now inline and
11264         now call us.
11265         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
11266         renaming described above.
11267         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
11268         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
11269         captures the dependency in AC_C_INLINE.
11270
11271         New module canonicalize-lgpl, proposed by Charles Wilson in
11272         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
11273         with a few small changes afterwards.
11274         * MODULES.html.sh (File system functions): New module
11275         canonicalize-lgpl.
11276         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
11277         and canonicalize_file_name.
11278         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
11279         * modules/canonicalize-lgpl: New files.
11280
11281 2006-11-05  Bruno Haible  <bruno@clisp.org>
11282
11283         * gnulib-tool (func_import, func_create_testdir): Create directories
11284         also for files in subdirectories of lib/.
11285
11286 2006-11-05  Bruno Haible  <bruno@clisp.org>
11287
11288         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
11289         ANSI C compliant.
11290
11291 2006-11-03  Bruno Haible  <bruno@clisp.org>
11292
11293         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
11294         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
11295         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
11296         (xnboundedmalloc): New inline function.
11297         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
11298         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
11299         xmalloc.
11300         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
11301         xmalloc.
11302         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
11303         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
11304         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
11305         xmalloc.
11306         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
11307         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
11308         xmalloc.
11309         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
11310         gl_tree_add_after): Use XMALLOC instead of xmalloc.
11311         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
11312         xmalloc.
11313         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
11314         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
11315         gl_tree_add_after): Use XMALLOC instead of xmalloc.
11316         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
11317         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
11318         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
11319         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
11320
11321 2006-11-03  Bruno Haible  <bruno@clisp.org>
11322
11323         * lib/c-ctype.h [C++]: Define functions without name mangling.
11324         * lib/fwriteerror.h [C++]: Likewise.
11325         * lib/gcd.h [C++]: Likewise.
11326         * lib/linebreak.h [C++]: Likewise.
11327
11328 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11329
11330         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
11331         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
11332         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
11333         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
11334         Check for functions and headers just once.
11335         Check for declaration of canonicalize_file_name.
11336         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
11337
11338 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
11339
11340         * gnulib-tool (func_import): Fix typo in actioncmd.
11341
11342 2006-11-02  Bruno Haible  <bruno@clisp.org>
11343
11344         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
11345         newline sequence in the Makefile.am snippet as a space, like "make"
11346         does.
11347         Reported by Roger Persson <perrog@gmail.com>.
11348
11349 2006-11-01  Bruno Haible  <bruno@clisp.org>
11350
11351         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
11352         already declared in <string.h>.
11353         * lib/strcase.h (strncasecmp): Don't declare it if yes.
11354
11355 2006-11-01  Bruno Haible  <bruno@clisp.org>
11356
11357         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
11358         * lib/strcase.h: Include <string.h>.
11359         (strcasecmp): Define to rpl_strcasecmp here.
11360
11361 2006-11-01  Bruno Haible  <bruno@clisp.org>
11362
11363         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
11364
11365 2006-11-01  Eric Blake  <ebb9@byu.net>
11366
11367         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
11368
11369         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
11370
11371 2006-10-29  Bruno Haible  <bruno@clisp.org>
11372
11373         Make it compile in C++ mode.
11374         * lib/full-write.c (full_rw): Add a cast.
11375
11376 2006-11-01  Bruno Haible  <bruno@clisp.org>
11377
11378         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
11379         be POSIX compliant.
11380         Reported by Roger Persson <perrog@gmail.com>.
11381
11382 2006-11-01  Eric Blake  <ebb9@byu.net>
11383
11384         * lib/getopt_.h: Fix comments.
11385
11386 2006-10-31  Eric Blake  <ebb9@byu.net>
11387
11388         * modules/tmpdir (Depends-on): Add sys_stat.
11389         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
11390         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
11391         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
11392         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
11393         tempname.
11394
11395 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11396
11397         Avoid some C++ diagnostics reported by Bruno Haible.
11398         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
11399         xmalloc.
11400         (quotearg_alloc): Use xcharalloc rather than xmalloc.
11401         (struct slotvec): Move to top level.
11402         (quotearg_n_options): Rewrite to avoid xmalloc.
11403         * lib/xalloc.h (xcharalloc): New function.
11404         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
11405         [defined __cplusplus]: Add function template that provides result
11406         type propagation.  This part of the change is from Bruno Haible.
11407
11408 2006-10-29  Bruno Haible  <bruno@clisp.org>
11409
11410         Make it compile in C++ mode.
11411         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
11412         * lib/strnlen1.c (strnlen1): Cast memchr result.
11413         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
11414         * lib/clean-temp.c (string_equals, string_hash): Add casts.
11415         (create_temp_dir): Rename local variable 'template'.
11416         (compile_csharp_using_sscli): Add cast.
11417         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
11418         * lib/findprog.c (find_in_path): Likewise.
11419         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
11420         * lib/wait-process.c (register_slave_subprocess): Likewise.
11421
11422 2006-10-22  Bruno Haible  <bruno@clisp.org>
11423
11424         * modules/tsearch: New file.
11425         * lib/tsearch.h: New file.
11426         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
11427         * m4/tsearch.m4: New file.
11428         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
11429
11430 2006-10-29  Eric Blake  <ebb9@byu.net>
11431
11432         * lib/arcfour.c: Assume config.h.
11433         * lib/arctwo.c: Likewise.
11434         * lib/base64.c: Likewise.
11435         * lib/check-version.c: Likewise.
11436         * lib/crc.c: Likewise.
11437         * lib/des.c: Likewise.
11438         * lib/gc-gnulib.c: Likewise.
11439         * lib/gc-libgcrypt.c: Likewise.
11440         * lib/gc-pbkdf2-sha1.c: Likewise.
11441         * lib/getaddrinfo.c: Likewise.
11442         * lib/getdelim.c: Likewise.
11443         * lib/getline.c: Likewise.
11444         * lib/hmac-md5.c: Likewise.
11445         * lib/hmac-sha1.c: Likewise.
11446         * lib/iconvme.c: Likewise.
11447         * lib/md2.c: Likewise.
11448         * lib/md4.c: Likewise.
11449         * lib/memxor.c: Likewise.
11450         * lib/read-file.c: Likewise.
11451         * lib/readline.c: Likewise.
11452         * lib/rijndael-alg-fst.c: Likewise.
11453         * lib/rijndael-api-fst.c: Likewise.
11454         * lib/xgetdomainname.c: Likewise.
11455
11456 2006-10-28  Eric Blake  <ebb9@byu.net>
11457
11458         * lib/xstrndup.c: Assume config.h.
11459
11460 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11461
11462         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
11463         stat-macros.h is now for our own macros, whereas stat_h is for
11464         macros in the <sys/stat.h> name space.
11465         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
11466         (STAT_MACROS_H): Remove.
11467         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
11468         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
11469         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
11470         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
11471         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
11472         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
11473         Move these macros to ...
11474         * lib/stat_.h: here.  Don't include stat-macros.h.
11475         * lib/canonicalize.c: Don't include stat-macros.h.
11476         * lib/chown.c: Likewise.
11477         * lib/euidaccess.c: Likewise.
11478         * lib/file-type.c: Likewise.
11479         * lib/filemode.c: Likewise.
11480         * lib/glob.c: Likewise.
11481         * lib/isapipe.c: Likewise.
11482         * lib/lchown.c: Likewise.
11483         * lib/lstat.c: Likewise.
11484         * lib/mkdir-p.c: Likewise.
11485         * lib/rmdir.c: Likewise.
11486         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
11487         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
11488         unless mkdir isn't declared, to speed up 'configure'.
11489         Always create sys/stat.h, since it's unlikely any real sys/stat.h
11490         would define all the S_* symbols.
11491         * modules/canonicalize (Depends-on):
11492         Depend on sys_stat, not stat-macros.
11493         * modules/chown: Likewise.
11494         * modules/euidaccess: Likewise.
11495         * modules/filemode: Likewise.
11496         * modules/file-type: Likewise.
11497         * modules/glob: Likewise.
11498         * modules/isapipe: Likewise.
11499         * modules/lchown: Likewise.
11500         * modules/lstat: Likewise.
11501         * modules/mkancesdirs: Likewise.
11502         * modules/rmdir: Likewise.
11503         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
11504         * modules/modechange: Likewise.
11505         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
11506         (configure.ac): Remove gl_STAT_MACROS.
11507         * modules/sys_stat (Depends-on): Remove stat-macros.
11508
11509 2006-10-27  Bruno Haible  <bruno@clisp.org>
11510
11511         * m4/signed.m4: Remove file.
11512         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
11513         invocation.
11514         * modules/vasnprintf (Files): Remove m4/signed.m4.
11515
11516 2006-10-27  Bruno Haible  <bruno@clisp.org>
11517
11518         Update to GNU gettext 0.16.
11519         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
11520         m4/inttypes-h.m4, m4/signed.m4.
11521         * m4/gettext.m4: Update to GNU gettext 0.16.
11522         * m4/intl.m4: New file, from GNU gettext.
11523         * m4/intldir.m4: New file, from GNU gettext.
11524         * config/srclist.txt: Update
11525
11526 2006-10-27  Eric Blake  <ebb9@byu.net>
11527
11528         * MODULES.html.sh: Document tempname.
11529         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
11530         dependencies.
11531         (Files): Move lib/tempname.c...
11532         * modules/tempname: ...to this new module.
11533         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
11534         (gl_PREREQ_TEMPNAME): Move...
11535         * m4/tempname.m4: ...to this new file.
11536         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
11537         * modules/sys_stat (Depends-on): Add stat-macros.
11538         * lib/stat_.h (includes): Pick up stat macros.
11539         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
11540         if stat macros are broken.
11541         * lib/tempname.c (includes): No need to include "stat-macros.h".
11542         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
11543         (direxists, __path_search) [!_LIBC]: Don't compile these in
11544         gnulib; the tmpdir module covers that.
11545         * lib/tempname.h: New file.
11546
11547 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11548
11549         * COPYING: Explain how gnulib-tool converts licence headers.
11550         Almost all wording by Eric Blake.
11551
11552 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11553
11554         * lib/mbchar.h (is_basic_table): Make read-only.
11555         * lib/mbchar.c (is_basic_table): Likewise.
11556         Reported by John Darrington.
11557
11558 2006-10-25  Bruno Haible  <bruno@clisp.org>
11559
11560         * lib/progname.h (set_program_name): Undefine before defining.
11561
11562 2006-10-25  Bruno Haible  <bruno@clisp.org>
11563
11564         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
11565         false for non-gcc C++ compilers.
11566         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
11567
11568 2006-10-24  Bruno Haible  <bruno@clisp.org>
11569
11570         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
11571         iconv implementations like Irix iconv.
11572
11573 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11574
11575         * modules/vararrays: New file.
11576         * m4/vararrays.m4: New file, taken from diffutils.
11577         * MODULES.html.sh: New module vararrays.
11578
11579 2006-10-24  Karl Berry  <karl@gnu.org>
11580
11581         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
11582         Don't call GNU Unix.
11583
11584 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11585
11586         * users.txt: Add Libtool.
11587
11588         Sync from Libtool:
11589
11590         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11591
11592         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
11593         to gnulib's policy of including config.h unconditionally.
11594
11595 2006-10-24  Bruno Haible  <bruno@clisp.org>
11596
11597         * modules/wcwidth (Files): Add m4/wint_t.m4.
11598         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
11599         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
11600
11601 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11602
11603         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
11604         to pacify GCC with some -W flags enabled.  Problem reported by
11605         Bruno Haible.
11606
11607 2006-10-24  Jim Meyering  <jim@meyering.net>
11608
11609         * MODULES.html.sh: Remove uinttostr.  It's not a module.
11610         Reported by Karl Berry.
11611
11612 2006-10-23  Bruno Haible  <bruno@clisp.org>
11613
11614         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
11615
11616 2006-10-24  Bruno Haible  <bruno@clisp.org>
11617
11618         * lib/gl_list.h: Use C comment style, not C++ comment style.
11619
11620 2006-10-23  Eric Blake  <ebb9@byu.net>
11621
11622         * lib/getaddrinfo.c (includes): Add missing include.
11623
11624 2006-10-23  Bruno Haible  <bruno@clisp.org>
11625             Paul Eggert  <eggert@cs.ucla.edu>
11626
11627         Ability to rename obstack_free.
11628         * lib/obstack.h (__obstack_free): New macro. Declare instead of
11629         obstack_free.
11630         (obstack_free): Invoke the __obstack_free macro.
11631         * lib/obstack.c (obstack_free): Use __obstack_free macro.
11632
11633 2006-10-23  Bruno Haible  <bruno@clisp.org>
11634             Paul Eggert  <eggert@cs.ucla.edu>
11635
11636         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
11637         __argc, __argv from the declaration. (They are defined as macros on
11638         mingw.)
11639
11640 2006-10-22  Bruno Haible  <bruno@clisp.org>
11641
11642         * doc/gnulib-intro.texi: New file.
11643         * doc/gnulib.texi: Include it.
11644
11645 2006-10-21  Bruno Haible  <bruno@clisp.org>
11646
11647         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
11648         "Introduction", "Miscellanous Notes", "Particular Modules".
11649
11650 2006-10-21  Bruno Haible  <bruno@clisp.org>
11651
11652         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11653         Change mostlyclean-local rule to avoid sh syntax error from bash
11654         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
11655
11656 2006-10-23  Jim Meyering  <jim@meyering.net>
11657
11658         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
11659         in place of snprintf.
11660
11661         * modules/inttostr (Files): Add lib/uinttostr.c.
11662         * lib/uinttostr.c (inttostr): New file/function.
11663         * lib/inttostr.h (uinttostr): Declare.
11664         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
11665         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
11666         Add uinttostr.
11667         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
11668
11669 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11670
11671         * lib/canonicalize.c (ELOOP): Define if not already defined.
11672         Problem reported by Bruno Haible in
11673         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
11674
11675 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11676
11677         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
11678         Problem reported by Perry Smith and Ville Laurikari.
11679
11680         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
11681         uses.
11682
11683 2006-10-19  Bruno Haible  <bruno@clisp.org>
11684
11685         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
11686         for mingw.
11687
11688 2006-10-19  Bruno Haible  <bruno@clisp.org>
11689
11690         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
11691         Needed for mingw.
11692
11693 2006-10-19  Bruno Haible  <bruno@clisp.org>
11694
11695         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
11696
11697 2006-10-19  Bruno Haible  <bruno@clisp.org>
11698
11699         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
11700         it.
11701
11702 2006-10-19  Bruno Haible  <bruno@clisp.org>
11703
11704         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
11705         invocation.
11706
11707 2006-10-19  Bruno Haible  <bruno@clisp.org>
11708
11709         * gnulib-tool (func_create_testdir): Don't include ftruncate and
11710         mountlist by default.
11711
11712 2006-10-16  Bruno Haible  <bruno@clisp.org>
11713
11714         * lib/c-strstr.c: Include c-strstr.h.
11715
11716 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
11717
11718         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
11719         in a slash.
11720
11721 2006-10-18  Bruno Haible  <bruno@clisp.org>
11722
11723         * lib/lock.h [C++]: Wrap definitions in extern "C".
11724
11725 2006-10-18  Bruno Haible  <bruno@clisp.org>
11726
11727         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
11728         gl_LIBOBJS list.
11729
11730 2006-10-18  Bruno Haible  <bruno@clisp.org>
11731
11732         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
11733
11734 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
11735
11736         * lib/xstrtol.h: Include gettext.h.
11737         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
11738         Problem reported by Eric Blake.
11739         * modules/xstrtol (Depends-on): Add gettext-h.
11740
11741 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
11742
11743         * lib/strftime.c (advance): New macro.
11744         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
11745         incomplete type, so you can't add 0 to it.  Problem and patch
11746         reported by Eelco Dolstra for dietlibc.
11747
11748 2006-10-18  Jim Meyering  <jim@meyering.net>
11749
11750         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
11751         type for a local, and rename it: s/up/user_proc/.
11752
11753 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
11754
11755         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
11756         READ_UTMP_USER_PROCESS.
11757         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
11758
11759 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
11760
11761         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
11762         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
11763
11764 2006-10-17  Eric Blake  <ebb9@byu.net>
11765
11766         * lib/sigprocmask.c (sigprocmask): Fix typo.
11767
11768         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
11769
11770         * modules/clean-temp (Makefile.am): Don't add to make output...
11771         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
11772         config.h.
11773
11774 2006-10-17  Bruno Haible  <bruno@clisp.org>
11775
11776         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
11777         differently if DEFAULT_TEXT_DOMAIN is set.
11778
11779 2006-10-16  Bruno Haible  <bruno@clisp.org>
11780
11781         * lib/clean-temp.c: Include fwriteerror.h.
11782
11783 2006-10-16  Bruno Haible  <bruno@clisp.org>
11784
11785         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
11786
11787 2006-10-16  Bruno Haible  <bruno@clisp.org>
11788
11789         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
11790         * lib/sigprocmask.h: Include <sys/types.h>.
11791         (sigset_t): Use the system's definition if present.
11792
11793 2006-10-17  Eric Blake  <ebb9@byu.net>
11794
11795         * lib/xvasprintf.c (includes): Assume config.h.
11796         * lib/xasprintf.c (includes): Likewise.
11797
11798 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
11799
11800         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
11801         at least as wide as intmax_t.
11802
11803 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
11804
11805         (Imported from Automake.)
11806         * build-aux/gnupload: Update to version 1.1 of directive file.
11807
11808 2006-10-16  Eric Blake  <ebb9@byu.net>
11809
11810         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
11811         match Automake 1.10a.
11812
11813 2006-10-14  Bruno Haible  <bruno@clisp.org>
11814
11815         * modules/sigprocmask: New file.
11816         * lib/sigprocmask.h: New file.
11817         * lib/sigprocmask.c: New file.
11818         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
11819         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
11820         request sigprocmask.o.
11821         (gl_PREREQ_SIGPROCMASK): New macro.
11822         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
11823         (Depends-on): Add sigprocmask.
11824         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
11825         gt_SIGNALBLOCKING. Test for 'raise' only once.
11826         * lib/fatal-signal.c: Include sigprocmask.h.
11827         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
11828         unblock_fatal_signals): Define always.
11829         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11830         sigprocmask.
11831
11832 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11833
11834         Sync from Automake.
11835         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
11836         which incorrectly sets the mode of an existing destination
11837         directory.  In some cases the unpatched install-sh could do the
11838         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
11839         system.  We hope this is rare in practice, but it's clearly worth
11840         fixing.  Problem reported by Alex Unleashed in
11841         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
11842         Also, don't bother to check for -m bugs unless we're using -m;
11843         suggested by Stepan Kasal.
11844
11845 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11846
11847         Sync from Automake.
11848         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
11849         `-c' flag, so they appear at the same position as in %FASTDEP%
11850         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
11851         which ignores unknown options only after the first non-option.
11852         Bug report against M4 by Nelson H. F. Beebe.
11853
11854 2006-10-13  Jim Meyering  <jim@meyering.net>
11855
11856         Fix a bug in yesterday's change.
11857         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
11858         p->fts_statp->st_dev would be used uninitialized.
11859         Ensures that we always call fts_stat on the very first entry.
11860         Miklos Szeredi reported that find -xdev stopped working.
11861
11862 2006-10-12  Bruno Haible  <bruno@clisp.org>
11863
11864         * gnulib-tool (func_get_automake_snippet): Append an automatically
11865         computed EXTRA_DIST augmentation.
11866         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
11867         * modules/alloca-opt (Makefile.am): Likewise.
11868         * modules/allocsa (Makefile.am): Likewise.
11869         * modules/arcfour (Makefile.am): Likewise.
11870         * modules/arctwo (Makefile.am): Likewise.
11871         * modules/argmatch (Makefile.am): Likewise.
11872         * modules/argz (Makefile.am): Likewise.
11873         * modules/atexit (Makefile.am): Likewise.
11874         * modules/backupfile (Makefile.am): Likewise.
11875         * modules/byteswap (Makefile.am): Likewise.
11876         * modules/c-strtod (Makefile.am): Likewise.
11877         * modules/c-strtold (Makefile.am): Likewise.
11878         * modules/calloc (Makefile.am): Likewise.
11879         * modules/canon-host (Makefile.am): Likewise.
11880         * modules/canonicalize (Makefile.am): Likewise.
11881         * modules/chdir-long (Makefile.am): Likewise.
11882         * modules/chdir-safer (Makefile.am): Likewise.
11883         * modules/check-version (Makefile.am): Likewise.
11884         * modules/chown (Makefile.am): Likewise.
11885         * modules/cloexec (Makefile.am): Likewise.
11886         * modules/close-stream (Makefile.am): Likewise.
11887         * modules/closeout (Makefile.am): Likewise.
11888         * modules/crc (Makefile.am): Likewise.
11889         * modules/csharpexec (Makefile.am): Likewise.
11890         * modules/cycle-check (Makefile.am): Likewise.
11891         * modules/des (Makefile.am): Likewise.
11892         * modules/dev-ino (Makefile.am): Likewise.
11893         * modules/dirfd (Makefile.am): Likewise.
11894         * modules/dirname (Makefile.am): Likewise.
11895         * modules/dup2 (Makefile.am): Likewise.
11896         * modules/eealloc (Makefile.am): Likewise.
11897         * modules/error (Makefile.am): Likewise.
11898         * modules/euidaccess (Makefile.am): Likewise.
11899         * modules/exclude (Makefile.am): Likewise.
11900         * modules/exitfail (Makefile.am): Likewise.
11901         * modules/fcntl-safer (Makefile.am): Likewise.
11902         * modules/fcntl (Makefile.am): Likewise.
11903         * modules/file-type (Makefile.am): Likewise.
11904         * modules/fileblocks (Makefile.am): Likewise.
11905         * modules/filemode (Makefile.am): Likewise.
11906         * modules/filenamecat (Makefile.am): Likewise.
11907         * modules/fnmatch (Makefile.am): Likewise.
11908         * modules/fopen-safer (Makefile.am): Likewise.
11909         * modules/fpending (Makefile.am): Likewise.
11910         * modules/fprintftime (Makefile.am): Likewise.
11911         * modules/free (Makefile.am): Likewise.
11912         * modules/fsusage (Makefile.am): Likewise.
11913         * modules/ftruncate (Makefile.am): Likewise.
11914         * modules/fts (Makefile.am): Likewise.
11915         * modules/gc-arcfour (Makefile.am): Likewise.
11916         * modules/gc-des (Makefile.am): Likewise.
11917         * modules/gc-hmac-md5 (Makefile.am): Likewise.
11918         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
11919         * modules/gc-md4 (Makefile.am): Likewise.
11920         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
11921         * modules/gc-sha1 (Makefile.am): Likewise.
11922         * modules/gc (Makefile.am): Likewise.
11923         * modules/getaddrinfo (Makefile.am): Likewise.
11924         * modules/getcwd (Makefile.am): Likewise.
11925         * modules/getdelim (Makefile.am): Likewise.
11926         * modules/getdomainname (Makefile.am): Likewise.
11927         * modules/getgroups (Makefile.am): Likewise.
11928         * modules/gethostname (Makefile.am): Likewise.
11929         * modules/gethrxtime (Makefile.am): Likewise.
11930         * modules/getline (Makefile.am): Likewise.
11931         * modules/getloadavg (Makefile.am): Likewise.
11932         * modules/getlogin_r (Makefile.am): Likewise.
11933         * modules/getndelim2 (Makefile.am): Likewise.
11934         * modules/getopt (Makefile.am): Likewise.
11935         * modules/getpagesize (Makefile.am): Likewise.
11936         * modules/getpass-gnu (Makefile.am): Likewise.
11937         * modules/getpass (Makefile.am): Likewise.
11938         * modules/getsubopt (Makefile.am): Likewise.
11939         * modules/gettime (Makefile.am): Likewise.
11940         * modules/gettimeofday (Makefile.am): Likewise.
11941         * modules/getugroups (Makefile.am): Likewise.
11942         * modules/getusershell (Makefile.am): Likewise.
11943         * modules/glob (Makefile.am): Likewise.
11944         * modules/group-member (Makefile.am): Likewise.
11945         * modules/hard-locale (Makefile.am): Likewise.
11946         * modules/hash (Makefile.am): Likewise.
11947         * modules/hmac-md5 (Makefile.am): Likewise.
11948         * modules/hmac-sha1 (Makefile.am): Likewise.
11949         * modules/human (Makefile.am): Likewise.
11950         * modules/idcache (Makefile.am): Likewise.
11951         * modules/imaxabs (Makefile.am): Likewise.
11952         * modules/imaxdiv (Makefile.am): Likewise.
11953         * modules/inet_ntop (Makefile.am): Likewise.
11954         * modules/inet_pton (Makefile.am): Likewise.
11955         * modules/intprops (Makefile.am): Likewise.
11956         * modules/inttostr (Makefile.am): Likewise.
11957         * modules/inttypes (Makefile.am): Likewise.
11958         * modules/isapipe (Makefile.am): Likewise.
11959         * modules/javaversion (Makefile.am): Likewise.
11960         * modules/lchmod (Makefile.am): Likewise.
11961         * modules/lchown (Makefile.am): Likewise.
11962         * modules/localcharset (Makefile.am): Likewise.
11963         * modules/long-options (Makefile.am): Likewise.
11964         * modules/lstat (Makefile.am): Likewise.
11965         * modules/malloc (Makefile.am): Likewise.
11966         * modules/mathl (Makefile.am): Likewise.
11967         * modules/mbchar (Makefile.am): Likewise.
11968         * modules/md2 (Makefile.am): Likewise.
11969         * modules/md4 (Makefile.am): Likewise.
11970         * modules/md5 (Makefile.am): Likewise.
11971         * modules/memcasecmp (Makefile.am): Likewise.
11972         * modules/memchr (Makefile.am): Likewise.
11973         * modules/memcmp (Makefile.am): Likewise.
11974         * modules/memcoll (Makefile.am): Likewise.
11975         * modules/memcpy (Makefile.am): Likewise.
11976         * modules/memmem (Makefile.am): Likewise.
11977         * modules/memmove (Makefile.am): Likewise.
11978         * modules/mempcpy (Makefile.am): Likewise.
11979         * modules/memrchr (Makefile.am): Likewise.
11980         * modules/memset (Makefile.am): Likewise.
11981         * modules/memxor (Makefile.am): Likewise.
11982         * modules/mkancesdirs (Makefile.am): Likewise.
11983         * modules/mkdir-p (Makefile.am): Likewise.
11984         * modules/mkdir (Makefile.am): Likewise.
11985         * modules/mkdtemp (Makefile.am): Likewise.
11986         * modules/mkstemp (Makefile.am): Likewise.
11987         * modules/mktime (Makefile.am): Likewise.
11988         * modules/modechange (Makefile.am): Likewise.
11989         * modules/mountlist (Makefile.am): Likewise.
11990         * modules/nanosleep (Makefile.am): Likewise.
11991         * modules/obstack (Makefile.am): Likewise.
11992         * modules/openat (Makefile.am): Likewise.
11993         * modules/pagealign_alloc (Makefile.am): Likewise.
11994         * modules/pathmax (Makefile.am): Likewise.
11995         * modules/physmem (Makefile.am): Likewise.
11996         * modules/poll (Makefile.am): Likewise.
11997         * modules/posixtm (Makefile.am): Likewise.
11998         * modules/posixver (Makefile.am): Likewise.
11999         * modules/putenv (Makefile.am): Likewise.
12000         * modules/quote (Makefile.am): Likewise.
12001         * modules/quotearg (Makefile.am): Likewise.
12002         * modules/raise (Makefile.am): Likewise.
12003         * modules/read-file (Makefile.am): Likewise.
12004         * modules/readline (Makefile.am): Likewise.
12005         * modules/readlink (Makefile.am): Likewise.
12006         * modules/readtokens (Makefile.am): Likewise.
12007         * modules/readutmp (Makefile.am): Likewise.
12008         * modules/realloc (Makefile.am): Likewise.
12009         * modules/regex (Makefile.am): Likewise.
12010         * modules/rename-dest-slash (Makefile.am): Likewise.
12011         * modules/rename (Makefile.am): Likewise.
12012         * modules/rijndael (Makefile.am): Likewise.
12013         * modules/rmdir (Makefile.am): Likewise.
12014         * modules/rpmatch (Makefile.am): Likewise.
12015         * modules/safe-read (Makefile.am): Likewise.
12016         * modules/safe-write (Makefile.am): Likewise.
12017         * modules/same-inode (Makefile.am): Likewise.
12018         * modules/same (Makefile.am): Likewise.
12019         * modules/save-cwd (Makefile.am): Likewise.
12020         * modules/savedir (Makefile.am): Likewise.
12021         * modules/setenv (Makefile.am): Likewise.
12022         * modules/settime (Makefile.am): Likewise.
12023         * modules/sha1 (Makefile.am): Likewise.
12024         * modules/sig2str (Makefile.am): Likewise.
12025         * modules/snprintf (Makefile.am): Likewise.
12026         * modules/stat-macros (Makefile.am): Likewise.
12027         * modules/stat-time (Makefile.am): Likewise.
12028         * modules/stdbool (Makefile.am): Likewise.
12029         * modules/stdint (Makefile.am): Likewise.
12030         * modules/stdlib-safer (Makefile.am): Likewise.
12031         * modules/stpcpy (Makefile.am): Likewise.
12032         * modules/stpncpy (Makefile.am): Likewise.
12033         * modules/strcase (Makefile.am): Likewise.
12034         * modules/strcasestr (Makefile.am): Likewise.
12035         * modules/strchrnul (Makefile.am): Likewise.
12036         * modules/strcspn (Makefile.am): Likewise.
12037         * modules/strdup (Makefile.am): Likewise.
12038         * modules/strerror (Makefile.am): Likewise.
12039         * modules/strftime (Makefile.am): Likewise.
12040         * modules/strndup (Makefile.am): Likewise.
12041         * modules/strnlen (Makefile.am): Likewise.
12042         * modules/strpbrk (Makefile.am): Likewise.
12043         * modules/strsep (Makefile.am): Likewise.
12044         * modules/strstr (Makefile.am): Likewise.
12045         * modules/strtod (Makefile.am): Likewise.
12046         * modules/strtoimax (Makefile.am): Likewise.
12047         * modules/strtok_r (Makefile.am): Likewise.
12048         * modules/strtol (Makefile.am): Likewise.
12049         * modules/strtoll (Makefile.am): Likewise.
12050         * modules/strtoul (Makefile.am): Likewise.
12051         * modules/strtoull (Makefile.am): Likewise.
12052         * modules/strtoumax (Makefile.am): Likewise.
12053         * modules/strverscmp (Makefile.am): Likewise.
12054         * modules/sys_socket (Makefile.am): Likewise.
12055         * modules/sys_stat (Makefile.am): Likewise.
12056         * modules/sysexits (Makefile.am): Likewise.
12057         * modules/time_r (Makefile.am): Likewise.
12058         * modules/timegm (Makefile.am): Likewise.
12059         * modules/timespec (Makefile.am): Likewise.
12060         * modules/tmpfile-safer (Makefile.am): Likewise.
12061         * modules/trim (Makefile.am): Likewise.
12062         * modules/unistd-safer (Makefile.am): Likewise.
12063         * modules/unlinkdir (Makefile.am): Likewise.
12064         * modules/unlocked-io (Makefile.am): Likewise.
12065         * modules/userspec (Makefile.am): Likewise.
12066         * modules/utime (Makefile.am): Likewise.
12067         * modules/utimecmp (Makefile.am): Likewise.
12068         * modules/utimens (Makefile.am): Likewise.
12069         * modules/vasnprintf (Makefile.am): Likewise.
12070         * modules/vasprintf (Makefile.am): Likewise.
12071         * modules/vsnprintf (Makefile.am): Likewise.
12072         * modules/xalloc (Makefile.am): Likewise.
12073         * modules/xgetcwd (Makefile.am): Likewise.
12074         * modules/xnanosleep (Makefile.am): Likewise.
12075         * modules/xreadlink (Makefile.am): Likewise.
12076         * modules/xstrtod (Makefile.am): Likewise.
12077         * modules/xstrtol (Makefile.am): Likewise.
12078         * modules/xstrtold (Makefile.am): Likewise.
12079         * modules/yesno (Makefile.am): Likewise.
12080         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
12081
12082 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12083
12084         * modules/error (Makefile.am): Distribute files through
12085         EXTRA_DIST, not lib_SOURCES.
12086
12087 2006-10-12  Eric Blake  <ebb9@byu.net>
12088
12089         * modules/error (Makefile.am): Distribute files in /lib.
12090         * modules/obstack (Makefile.am): Likewise.
12091
12092 2006-10-12  Bruno Haible  <bruno@clisp.org>
12093
12094         * modules/acl (Makefile.am): Distribute all files in lib/ through
12095         EXTRA_DIST.
12096         * modules/arcfour (Makefile.am): Likewise.
12097         * modules/arctwo (Makefile.am): Likewise.
12098         * modules/argmatch (Makefile.am): Likewise.
12099         * modules/argz (Makefile.am): Likewise.
12100         * modules/atexit (Makefile.am): Likewise.
12101         * modules/backupfile (Makefile.am): Likewise.
12102         * modules/c-strtod (Makefile.am): Likewise.
12103         * modules/c-strtold (Makefile.am): Likewise.
12104         * modules/calloc (Makefile.am): Likewise.
12105         * modules/canon-host (Makefile.am): Likewise.
12106         * modules/canonicalize (Makefile.am): Likewise.
12107         * modules/chdir-long (Makefile.am): Likewise.
12108         * modules/chdir-safer (Makefile.am): Likewise.
12109         * modules/check-version (Makefile.am): Likewise.
12110         * modules/chown (Makefile.am): Likewise.
12111         * modules/cloexec (Makefile.am): Likewise.
12112         * modules/close-stream (Makefile.am): Likewise.
12113         * modules/closeout (Makefile.am): Likewise.
12114         * modules/crc (Makefile.am): Likewise.
12115         * modules/cycle-check (Makefile.am): Likewise.
12116         * modules/des (Makefile.am): Likewise.
12117         * modules/dirfd (Makefile.am): Likewise.
12118         * modules/dirname (Makefile.am): Likewise.
12119         * modules/dup2 (Makefile.am): Likewise.
12120         * modules/euidaccess (Makefile.am): Likewise.
12121         * modules/exclude (Makefile.am): Likewise.
12122         * modules/exitfail (Makefile.am): Likewise.
12123         * modules/fcntl-safer (Makefile.am): Likewise.
12124         * modules/file-type (Makefile.am): Likewise.
12125         * modules/fileblocks (Makefile.am): Likewise.
12126         * modules/filemode (Makefile.am): Likewise.
12127         * modules/filenamecat (Makefile.am): Likewise.
12128         * modules/fnmatch (Makefile.am): Likewise.
12129         * modules/fopen-safer (Makefile.am): Likewise.
12130         * modules/fpending (Makefile.am): Likewise.
12131         * modules/fprintftime (Makefile.am): Likewise.
12132         * modules/free (Makefile.am): Likewise.
12133         * modules/fsusage (Makefile.am): Likewise.
12134         * modules/ftruncate (Makefile.am): Likewise.
12135         * modules/fts (Makefile.am): Likewise.
12136         * modules/gc (Makefile.am): Likewise.
12137         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
12138         * modules/getaddrinfo (Makefile.am): Likewise.
12139         * modules/getcwd (Makefile.am): Likewise.
12140         * modules/getdelim (Makefile.am): Likewise.
12141         * modules/getdomainname (Makefile.am): Likewise.
12142         * modules/getgroups (Makefile.am): Likewise.
12143         * modules/gethostname (Makefile.am): Likewise.
12144         * modules/gethrxtime (Makefile.am): Likewise.
12145         * modules/getline (Makefile.am): Likewise.
12146         * modules/getloadavg (Makefile.am): Likewise.
12147         * modules/getlogin_r (Makefile.am): Likewise.
12148         * modules/getopt (Makefile.am): Likewise.
12149         * modules/getpass (Makefile.am): Likewise.
12150         * modules/getpass-gnu (Makefile.am): Likewise.
12151         * modules/getsubopt (Makefile.am): Likewise.
12152         * modules/gettime (Makefile.am): Likewise.
12153         * modules/gettimeofday (Makefile.am): Likewise.
12154         * modules/getugroups (Makefile.am): Likewise.
12155         * modules/getusershell (Makefile.am): Likewise.
12156         * modules/glob (Makefile.am): Likewise.
12157         * modules/group-member (Makefile.am): Likewise.
12158         * modules/hard-locale (Makefile.am): Likewise.
12159         * modules/hash (Makefile.am): Likewise.
12160         * modules/hmac-md5 (Makefile.am): Likewise.
12161         * modules/hmac-sha1 (Makefile.am): Likewise.
12162         * modules/human (Makefile.am): Likewise.
12163         * modules/idcache (Makefile.am): Likewise.
12164         * modules/imaxabs (Makefile.am): Likewise.
12165         * modules/imaxdiv (Makefile.am): Likewise.
12166         * modules/inet_ntop (Makefile.am): Likewise.
12167         * modules/inet_pton (Makefile.am): Likewise.
12168         * modules/inttostr (Makefile.am): Likewise.
12169         * modules/isapipe (Makefile.am): Likewise.
12170         * modules/lchown (Makefile.am): Likewise.
12171         * modules/long-options (Makefile.am): Likewise.
12172         * modules/lstat (Makefile.am): Likewise.
12173         * modules/malloc (Makefile.am): Likewise.
12174         * modules/mathl (Makefile.am): Likewise.
12175         * modules/mbchar (Makefile.am): Likewise.
12176         * modules/md2 (Makefile.am): Likewise.
12177         * modules/md4 (Makefile.am): Likewise.
12178         * modules/md5 (Makefile.am): Likewise.
12179         * modules/memcasecmp (Makefile.am): Likewise.
12180         * modules/memchr (Makefile.am): Likewise.
12181         * modules/memcmp (Makefile.am): Likewise.
12182         * modules/memcoll (Makefile.am): Likewise.
12183         * modules/memcpy (Makefile.am): Likewise.
12184         * modules/memmem (Makefile.am): Likewise.
12185         * modules/memmove (Makefile.am): Likewise.
12186         * modules/mempcpy (Makefile.am): Likewise.
12187         * modules/memrchr (Makefile.am): Likewise.
12188         * modules/memset (Makefile.am): Likewise.
12189         * modules/memxor (Makefile.am): Likewise.
12190         * modules/mkancesdirs (Makefile.am): Likewise.
12191         * modules/mkdir (Makefile.am): Likewise.
12192         * modules/mkdir-p (Makefile.am): Likewise.
12193         * modules/mkdtemp (Makefile.am): Likewise.
12194         * modules/mkstemp (Makefile.am): Likewise.
12195         * modules/mktime (Makefile.am): Likewise.
12196         * modules/modechange (Makefile.am): Likewise.
12197         * modules/mountlist (Makefile.am): Likewise.
12198         * modules/nanosleep (Makefile.am): Likewise.
12199         * modules/openat (Makefile.am): Likewise.
12200         * modules/pagealign_alloc (Makefile.am): Likewise.
12201         * modules/physmem (Makefile.am): Likewise.
12202         * modules/poll (Makefile.am): Likewise.
12203         * modules/posixtm (Makefile.am): Likewise.
12204         * modules/posixver (Makefile.am): Likewise.
12205         * modules/putenv (Makefile.am): Likewise.
12206         * modules/quote (Makefile.am): Likewise.
12207         * modules/quotearg (Makefile.am): Likewise.
12208         * modules/raise (Makefile.am): Likewise.
12209         * modules/read-file (Makefile.am): Likewise.
12210         * modules/readline (Makefile.am): Likewise.
12211         * modules/readlink (Makefile.am): Likewise.
12212         * modules/readtokens (Makefile.am): Likewise.
12213         * modules/readutmp (Makefile.am): Likewise.
12214         * modules/realloc (Makefile.am): Likewise.
12215         * modules/regex (Makefile.am): Likewise.
12216         * modules/rename (Makefile.am): Likewise.
12217         * modules/rename-dest-slash (Makefile.am): Likewise.
12218         * modules/rijndael (Makefile.am): Likewise.
12219         * modules/rmdir (Makefile.am): Likewise.
12220         * modules/rpmatch (Makefile.am): Likewise.
12221         * modules/safe-read (Makefile.am): Likewise.
12222         * modules/safe-write (Makefile.am): Likewise.
12223         * modules/same (Makefile.am): Likewise.
12224         * modules/save-cwd (Makefile.am): Likewise.
12225         * modules/savedir (Makefile.am): Likewise.
12226         * modules/setenv (Makefile.am): Likewise.
12227         * modules/settime (Makefile.am): Likewise.
12228         * modules/sha1 (Makefile.am): Likewise.
12229         * modules/sig2str (Makefile.am): Likewise.
12230         * modules/snprintf (Makefile.am): Likewise.
12231         * modules/stdlib-safer (Makefile.am): Likewise.
12232         * modules/stpcpy (Makefile.am): Likewise.
12233         * modules/stpncpy (Makefile.am): Likewise.
12234         * modules/strcase (Makefile.am): Likewise.
12235         * modules/strcasestr (Makefile.am): Likewise.
12236         * modules/strchrnul (Makefile.am): Likewise.
12237         * modules/strcspn (Makefile.am): Likewise.
12238         * modules/strdup (Makefile.am): Likewise.
12239         * modules/strerror (Makefile.am): Likewise.
12240         * modules/strftime (Makefile.am): Likewise.
12241         * modules/strndup (Makefile.am): Likewise.
12242         * modules/strnlen (Makefile.am): Likewise.
12243         * modules/strpbrk (Makefile.am): Likewise.
12244         * modules/strsep (Makefile.am): Likewise.
12245         * modules/strstr (Makefile.am): Likewise.
12246         * modules/strtod (Makefile.am): Likewise.
12247         * modules/strtoimax (Makefile.am): Likewise.
12248         * modules/strtok_r (Makefile.am): Likewise.
12249         * modules/strtol (Makefile.am): Likewise.
12250         * modules/strtoll (Makefile.am): Likewise.
12251         * modules/strtoul (Makefile.am): Likewise.
12252         * modules/strtoull (Makefile.am): Likewise.
12253         * modules/strtoumax (Makefile.am): Likewise.
12254         * modules/strverscmp (Makefile.am): Likewise.
12255         * modules/time_r (Makefile.am): Likewise.
12256         * modules/timegm (Makefile.am): Likewise.
12257         * modules/tmpfile-safer (Makefile.am): Likewise.
12258         * modules/unistd-safer (Makefile.am): Likewise.
12259         * modules/unlinkdir (Makefile.am): Likewise.
12260         * modules/userspec (Makefile.am): Likewise.
12261         * modules/utime (Makefile.am): Likewise.
12262         * modules/utimecmp (Makefile.am): Likewise.
12263         * modules/utimens (Makefile.am): Likewise.
12264         * modules/vasnprintf (Makefile.am): Likewise.
12265         * modules/vasprintf (Makefile.am): Likewise.
12266         * modules/vsnprintf (Makefile.am): Likewise.
12267         * modules/xalloc (Makefile.am): Likewise.
12268         * modules/xgetcwd (Makefile.am): Likewise.
12269         * modules/xnanosleep (Makefile.am): Likewise.
12270         * modules/xreadlink (Makefile.am): Likewise.
12271         * modules/xstrtod (Makefile.am): Likewise.
12272         * modules/xstrtol (Makefile.am): Likewise.
12273         * modules/xstrtold (Makefile.am): Likewise.
12274         * modules/yesno (Makefile.am): Likewise.
12275
12276 2006-10-12  Jim Meyering  <jim@meyering.net>
12277
12278         * m4/getloadavg.m4: Revert the change below.
12279
12280         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
12281         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
12282         fail with a symlink, which is what coreutils' ./bootstrap now
12283         creates by default.
12284
12285 2006-10-12  Bruno Haible  <bruno@clisp.org>
12286
12287         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
12288         mingw.
12289         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
12290         MSVC and mingw explicitly.
12291
12292 2006-10-11  Simon Josefsson  <jas@extundo.com>
12293             Bruno Haible  <bruno@clisp.org>
12294
12295         Add support for multiple gnulib-tool invocations in the scope of a
12296         single configure.ac file.
12297         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
12298         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
12299         with the same contents as the _LIBADD variable.
12300         (func_emit_initmacro_start, func_emit_initmacro_end,
12301         func_emit_initmacro_done): New functions.
12302         (func_import, func_create_testdir): Invoke them. Allow the identifiers
12303         gl_LIBOBJS and gl_LTLIBOBJS.
12304
12305 2006-10-11  Bruno Haible  <bruno@clisp.org>
12306
12307         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
12308         (func_create_testdir): Don't create po/Makefile.am, don't invoke
12309         autoreconf. Instead, invoke autopoint explicitly but move back the
12310         *.m4 files from gnulib.
12311
12312 2006-10-11  Bruno Haible  <bruno@clisp.org>
12313
12314         * gnulib-tool (func_usage): Make module names after --create-testdir
12315         optional.
12316         (func_create_testdir): If no module was specified, use nearly all
12317         modules.
12318
12319 2006-10-12  Jim Meyering  <jim@meyering.net>
12320
12321         Big performance improvement for fts-based tools that use FTS_NOSTAT.
12322         Avoid spurious inode-mismatch problems on non-POSIX file systems.
12323         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
12324         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
12325         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
12326         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
12327         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
12328         (fts_set_stat_required): New function.
12329         (fts_open): Defer the calls to fts_stat, if possible or requested.
12330         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
12331         into fts_stat itself.
12332         (fts_read): Perform any required (deferred) fts_stat call.
12333         (fts_build): Likewise, for the directory we're about to open and read.
12334         In the readdir loop, carefully decide whether each entry will require
12335         an eventual call to fts_stat, using dirent.d_type info if available.
12336         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
12337         a command line argument into this function.  Update all callers.
12338         Map a return value of FTS_DOT to FTS_D for a command line argument.
12339         * modules/fts (Depends-on): Add d-type.  Alphabetize.
12340         Thanks to Miklos Szeredi for his tenacity and for the initial
12341         bug report about "find" failing on a FUSE-based file system.
12342
12343         * lib/fts.c (fts_open): Use consistent indentation.
12344
12345 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12346
12347         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
12348         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
12349         reported by Jim Meyering.  All uses of cache variables renamed
12350         to match Autoconf's.
12351         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
12352         the other one.
12353
12354         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12355         Fix misspelling in diagnostic.
12356
12357 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12358
12359         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
12360         defined.  Problem reported by Matthew Woehlke.
12361
12362         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
12363         Add support for Tandem NonStop R series.
12364         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
12365         Use new macro.
12366
12367         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
12368         (has_trailing_slash): Omit size arg; all callers changed.
12369         Omit 'inline', since it doesn't help performance and we'd
12370         need to configure it.
12371         Don't count //, ///, etc. as having a trailing slash.
12372         As a side effect, this removes a C99ism reported by Matthew Woehlke.
12373         (rpl_rename_dest_slash): On failure, use rename's errno rather
12374         than (in some cases) an incorrect or junk errno.
12375         Simplify code by removing need to compute length; this does
12376         cause it to make two passes instead of one over the file name,
12377         but it's worth it.
12378
12379         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
12380         change, since Autoconf's version may no longer be appropriate now
12381         that we are using CVS Autoconf's version.  Add support for Tandem.
12382
12383 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12384             Bruno Haible  <bruno@clisp.org>
12385
12386         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
12387         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
12388         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
12389         gl_AC_TYPE_LONG_LONG.
12390
12391         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
12392         instead of HAVE_LONG_LONG.
12393         * lib/printf-args.c (printf_fetchargs): Likewise.
12394         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
12395         * lib/vasnprintf.c (VASNPRINTF): Likewise.
12396         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
12397         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
12398         gl_AC_TYPE_LONG_LONG.
12399
12400 2006-10-11  Bruno Haible  <bruno@clisp.org>
12401
12402         * m4/longlong.m4: Add comments.
12403         * m4/ulonglong.m4: Likewise.
12404
12405 2006-10-10  Bruno Haible  <bruno@clisp.org>
12406
12407         Make it possible to #define stpcpy, strdup to aliases.
12408         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
12409         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
12410
12411 2006-10-10  Bruno Haible  <bruno@clisp.org>
12412
12413         Make it possible to #define gcd to an alias.
12414         * lib/gcd.c: Include config.h.
12415
12416 2006-10-10  Bruno Haible  <bruno@clisp.org>
12417
12418         Make it possible to #define c_isascii to an alias.
12419         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
12420         defined. Undefine the macros before defining them, to avoid gcc
12421         warnings.
12422         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
12423         define NO_C_CTYPE_MACROS early.
12424
12425 2006-10-10  Bruno Haible  <bruno@clisp.org>
12426
12427         Make it possible to #define set_program_name to an alias.
12428         * lib/progname.c: Don't undefine set_program_name; instead, undefine
12429         ENABLE_RELOCATABLE early.
12430
12431 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12432
12433         Port to Tandem NSK OSS, which has 64-bit signed int but at most
12434         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
12435         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
12436         More generally, don't assume that 64-bit signed int is available
12437         if unsigned int is, and vice versa.
12438         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
12439         unsigned symbols, not on their signed counterparts.
12440         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
12441         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
12442         (UINT64_C, UINTMAX_C):
12443         Likewise.
12444         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
12445         unsigned counterparts.
12446         (Have_long_long, Unsigned): New macros.
12447         (Int): Renamed from INT.
12448         (strtoimax): Use the new macros.
12449         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
12450         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
12451         * modules/inttypes (inttypes.h): Substitute
12452         HAVE_UNSIGNED_LONG_LONG_INT.
12453         * modules/stdint (stdint.h): Likewise.
12454         (Files): Add m4/ulonglong.m4.
12455
12456 2006-10-10  Bruno Haible  <bruno@clisp.org>
12457
12458         Fix a gcc -Wshadow warning.
12459         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
12460         to 'bucket'.
12461         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
12462         gl_linked_indexof_from_to): Likewise.
12463         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
12464         Likewise.
12465         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
12466         Likewise.
12467         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
12468         Reported by Eric Blake.
12469
12470 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12471
12472         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
12473         for NetBSD.  Problem reported by Bruno Haible.
12474
12475 2006-10-09  Jim Meyering  <jim@meyering.net>
12476
12477         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
12478         Patch from Bruno Haible.
12479
12480 2006-10-09  Jim Meyering  <jim@meyering.net>
12481
12482         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
12483         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
12484         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
12485
12486 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12487
12488         Don't include <config.h> twice; this doesn't work in some cases,
12489         e.g., when config.h has "#define intmax_t long long int" and
12490         we include <config.h>, <inttypes.h>, <config.h> in that order.
12491         Problem reported by Matthew Woehlke in:
12492         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
12493         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
12494         * lib/fts-cycle.c: Don't include config.h.
12495         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
12496         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
12497         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
12498         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
12499         inttypes.h.
12500         * lib/xstrtoumax.c: Likewise.
12501         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
12502         __strtol and the like, so that this module is more like its siblings.
12503         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
12504         Remove; no longer needed now that we assume gnulib inttypes.h.
12505
12506 2006-10-08  Bruno Haible  <bruno@clisp.org>
12507
12508         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
12509         option.
12510
12511 2006-10-07  Jim Meyering  <jim@meyering.net>
12512
12513         * modules/inttypes (inttypes.h): Revert what seems to have been
12514         an inadvertent part of today's change: use "|", not "/" in the
12515         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
12516
12517 2006-10-07  Bruno Haible  <bruno@clisp.org>
12518
12519         * modules/sublist: New file.
12520
12521 2006-10-07  Bruno Haible  <bruno@clisp.org>
12522
12523         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
12524         * modules/argz (argz.h): Likewise.
12525         * modules/arpa_inet (arpa/inet.h): Likewise.
12526         * modules/byteswap (byteswap.h): Likewise.
12527         * modules/configmake (configmake.h): Likewise.
12528         * modules/fcntl (fcntl.h): Likewise.
12529         * modules/fnmatch (fnmatch.h): Likewise.
12530         * modules/getopt (getopt.h): Likewise.
12531         * modules/glob (glob.h): Likewise.
12532         * modules/inttypes (inttypes.h): Likewise.
12533         * modules/netinet_in (netinet/in.h): Likewise.
12534         * modules/poll (poll.h): Likewise.
12535         * modules/stdbool (stdbool.h): Likewise.
12536         * modules/stdint (stdint.h): Likewise.
12537         * modules/sys_select (sys/select.h): Likewise.
12538         * modules/sys_socket (sys/socket.h): Likewise.
12539         * modules/sys_stat (sys/stat.h): Likewise.
12540         * modules/sysexits (sysexits.h): Likewise.
12541         * modules/unistd (unistd.h): Likewise.
12542         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12543         Add a "DO NOT EDIT" comment to the generated file.
12544         (func_import): Likewise for gnulib-comp.m4.
12545
12546 2006-10-07  Bruno Haible  <bruno@clisp.org>
12547
12548         * lib/gl_sublist.h: New file.
12549         * lib/gl_sublist.c: New file.
12550
12551 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12552
12553         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
12554         name (relative to the original working directory) and the file
12555         name component (relative to the temporary working directory).  All
12556         callers changed.
12557         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
12558         * lib/mkdir-p.c (make_dir_parents): Likewise.
12559         * lib/mkdir-p.h (make_dir_parents): Likewise.
12560
12561 2006-10-06  Eric Blake  <ebb9@byu.net>
12562
12563         Define several macros for use by the clean-temp module.
12564         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
12565         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
12566         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
12567
12568         * lib/clean-temp.h (close_stream_temp): New declaration.
12569         * lib/clean-temp.c (includes): Pull in headers according to what
12570         other modules are in use.
12571         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
12572
12573 2006-10-06  Bruno Haible  <bruno@clisp.org>
12574
12575         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
12576         instead of fopen, fwriteerror.
12577
12578 2006-10-06  Bruno Haible  <bruno@clisp.org>
12579
12580         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
12581         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
12582         int.
12583         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
12584         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
12585         Return an error indicator.
12586         Suggested by Eric Blake.
12587
12588 2006-10-06  Bruno Haible  <bruno@clisp.org>
12589
12590         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
12591         Reported by Eric Blake.
12592
12593 2006-10-06  Bruno Haible  <bruno@clisp.org>
12594
12595         * modules/closeout (Description): Mention stderr too.
12596
12597 2006-10-06  Bruno Haible  <bruno@clisp.org>
12598         and Paul Eggert  <eggert@cs.ucla.edu>
12599
12600         * lib/closeout.c (close_stdout): Also close stderr.
12601         * lib/closeout.h: Update comment.
12602
12603 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12604
12605         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
12606         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
12607         * lib/dirchownmod.c: Include lchown.h.
12608         * lib/lchown.c: Don't include files that lchown.h now includes.
12609         Don't declare chown, since lchown.h now does that.
12610         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
12611         (lchown): Define to rpl_chown if lchown is declared but
12612         does not exist.  Declare using a prototype if lchown is not
12613         declared.  Add a copyright notice.
12614         * lib/mkstemp.h: Include <unistd.h>.
12615         * lib/openat.c: Include lchown.h.
12616
12617         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
12618         we now test for that separately.
12619         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
12620         rather than O_NOFOLLOW, when testing whether it's possible to
12621         avoid a race condition reliably.
12622         * lib/savewd.c (savewd_chdir): Likewise.
12623
12624         Remove macros that are no longer needed now that stdint.h is
12625         reliable.
12626         * lib/fsusage.c (UINTMAX_MAX): Remove.
12627         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
12628         * lib/utimecmp.c (SIZE_MAX): Remove.
12629
12630         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
12631
12632         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
12633         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
12634         O_NOATIME works.
12635
12636 2006-10-05  Bruno Haible  <bruno@clisp.org>
12637
12638         * lib/gl_list.h (gl_sortedlist_search_from_to,
12639         gl_sortedlist_indexof_from_to): New declarations.
12640         (gl_list_implementation): New fields sortedlist_search_from_to,
12641         sortedlist_indexof_from_to.
12642         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
12643         inline functions.
12644         * lib/gl_list.c (gl_sortedlist_search_from_to,
12645         gl_sortedlist_indexof_from_to): New functions.
12646         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
12647         function.
12648         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
12649         (gl_array_sortedlist_search_from_to): New function.
12650         (gl_array_list_implementation): Update.
12651         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
12652         function.
12653         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
12654         (gl_carray_sortedlist_search_from_to): New function.
12655         (gl_carray_list_implementation): Update.
12656         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
12657         gl_linked_sortedlist_indexof_from_to): New functions.
12658         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
12659         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
12660         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
12661         gl_tree_sortedlist_indexof_from_to): New functions.
12662         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
12663         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
12664         Update.
12665         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
12666         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
12667         Update.
12668
12669 2006-10-05  Bruno Haible  <bruno@clisp.org>
12670
12671         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
12672         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
12673         (struct gl_list_implementation): Add fields search_from_to,
12674         indexof_from_to. Remove fields search, indexof.
12675         (gl_list_search): Use the search_from_to method.
12676         (gl_list_search_from, gl_list_search_from_to): New functions.
12677         (gl_list_indexof): Use the indexof_from_to method.
12678         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
12679         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
12680         (gl_list_search_from, gl_list_search_from_to): New functions.
12681         (gl_list_indexof): Use the indexof_from_to method.
12682         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
12683         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
12684         gl_array_indexof. Add start_index, end_index arguments.
12685         (gl_array_search_from_to): Renamed from gl_array_search. Add
12686         start_index, end_index arguments.
12687         (gl_array_remove, gl_array_list_implementation): Update.
12688         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
12689         gl_carray_indexof. Add start_index, end_index arguments.
12690         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
12691         start_index, end_index arguments.
12692         (gl_carray_remove, gl_carray_list_implementation): Update.
12693         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
12694         gl_linked_search. Add start_index, end_index arguments.
12695         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
12696         start_index, end_index arguments.
12697         (gl_linked_remove): Update.
12698         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
12699         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
12700         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
12701         field to 'size_t'.
12702         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
12703         gl_tree_search. Add start_index, end_index arguments.
12704         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
12705         start_index, end_index arguments.
12706         (gl_tree_remove): Update.
12707         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
12708         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
12709         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
12710         function.
12711         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
12712         gl_tree_search. Add start_index, end_index arguments.
12713         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
12714         start_index, end_index arguments.
12715         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
12716         Update.
12717         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
12718
12719 2006-10-05  Bruno Haible  <bruno@clisp.org>
12720
12721         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
12722
12723         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
12724         fwriteerror_temp): New declarations.
12725         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
12726         (descriptors): New variable.
12727         (cleanup): First, close the descriptors.
12728         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
12729         fclose_temp, fwriteerror_temp): New functions.
12730
12731 2006-10-04  Jim Meyering  <jim@meyering.net>
12732
12733         * lib/fts.c (fts_open): Tiny comment change.
12734
12735 2006-10-04  Bruno Haible  <bruno@clisp.org>
12736
12737         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
12738         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
12739         gl_LOCK_BODY.
12740         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
12741         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
12742         gl_LOCK_EARLY_BODY.
12743         (gl_LOCK): Require gl_LOCK_BODY.
12744
12745 2006-10-04  Bruno Haible  <bruno@clisp.org>
12746
12747         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
12748         (gl_oset_search_atleast): New declaration.
12749         (struct gl_oset_implementation): Add field 'search_atleast'.
12750         (gl_oset_search_atleast): New inline function.
12751         * lib/gl_oset.c (gl_oset_search_atleast): New function.
12752         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
12753         (gl_array_oset_implementation): Update.
12754         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
12755         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
12756         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
12757
12758 2006-10-04  Bruno Haible  <bruno@clisp.org>
12759
12760         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
12761
12762 2006-10-03  Bruno Haible  <bruno@clisp.org>
12763
12764         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
12765         from gl_avltreehash_list_implementation.
12766
12767 2006-10-03  Bruno Haible  <bruno@clisp.org>
12768
12769         * lib/gl_oset.c (gl_oset_add): Fix return type.
12770
12771 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
12772
12773         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
12774
12775 2006-10-02  Eric Blake  <ebb9@byu.net>
12776
12777         * modules/strnlen (Depends-on): Add extensions.
12778
12779 2006-10-02  Eric Blake  <ebb9@byu.net>
12780
12781         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
12782         definition in 2.60+.
12783
12784 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
12785
12786         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
12787         checks.
12788
12789 2006-10-02  Bruno Haible  <bruno@clisp.org>
12790
12791         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
12792         to the AUTOMAKE_OPTIONS.
12793         Reported by Jim Meyering.
12794
12795 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12796
12797         Work around bug in Solaris 10 /proc file system:
12798         /proc/self/fd/NNN/.. isn't the parent directory of
12799         the directory whose file descriptor is NNN.  This needs to
12800         be worked around at run time, not compile time, since a
12801         program might be built on Solaris 8, where things work, and
12802         run on Solaris 10.
12803         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
12804         to use the following interface instead:
12805         (OPENAT_BUFFER_SIZE): New macro.
12806         (openat_proc_name): New function.
12807         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
12808         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
12809         Likewise.
12810         * lib/openat-proc.c: New file.
12811         * modules/openat (Files): Add lib/openat-proc.c.
12812         (Depends-on): Add same-inode, stdbool.
12813         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
12814
12815 2006-09-29  Bruno Haible  <bruno@clisp.org>
12816
12817         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
12818         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
12819         argument. Set stdout_closed before testing for ferror, not after.
12820         (fwriteerror, fwriteerror_no_ebadf): New functions.
12821
12822 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12823
12824         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
12825
12826 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
12827
12828         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
12829         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
12830
12831 2006-09-28  Jim Meyering  <jim@meyering.net>
12832
12833         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
12834         Include <unistd.h>.
12835
12836 2006-09-28  Bruno Haible  <bruno@clisp.org>
12837
12838         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
12839         * modules/linkedhash-list (Depends-on): Likewise.
12840         * modules/rbtreehash-list (Depends-on): Likewise.
12841
12842 2006-09-28  Bruno Haible  <bruno@clisp.org>
12843
12844         * lib/strndup.h: Simplify the redefinition of strndup.
12845         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
12846         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
12847
12848 2006-09-28  Bruno Haible  <bruno@clisp.org>
12849
12850         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
12851         * lib/gl_linkedhash_list.c: Likewise.
12852         * lib/gl_rbtreehash_list.c: Likewise.
12853
12854 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12855
12856         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
12857         getaddrinfo.
12858
12859         * lib/__fpending.h: Don't include <stdio_ext.h> unless
12860         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
12861         it causes <stdio_ext.h> to cause a compile-time error.
12862         Problem reported by Nelson H. F. Beebe.
12863         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
12864         of HAVE_DECL___PENDING.
12865
12866         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
12867         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
12868         declaration.
12869
12870 2006-09-27  Jim Meyering  <jim@meyering.net>
12871
12872         This file could end up with a definition for a function
12873         named __strndup, rather than rpl_strndup on a system with
12874         incomplete weak_alias support.
12875         * lib/strndup.c (strndup): Rename from __strndup.
12876         Remove #defines that used to map __strndup to strndup.
12877         Don't use K&R prototypes.
12878         Remove LIBC-related code, since this file is not sync'd with glibc.
12879         * lib/strndup.h: Revamp, accordingly.
12880         * m4/strndup.m4: Modernize.
12881
12882 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12883
12884         * modules/savewd (Depends-on): Add 'raise'.
12885         * lib/savewd.c: Include <signal.h>, for 'raise'.
12886
12887 2006-09-26  Jim Meyering  <jim@meyering.net>
12888
12889         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
12890         when we detect Darwin 8.7.0's acl_get_file bug.
12891         Rearrange to perform the new (below) run-test while $LIBS
12892         contains any acl-related library.  Set USE_ACL at the end.
12893         (gl_ACL_GET_FILE): New function.
12894
12895 2006-09-26  Eric Blake  <ebb9@byu.net>
12896
12897         * lib/verror.c: Include <config.h> unconditionally.
12898
12899 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12900
12901         * modules/clock-time (Maintainer): Add self.
12902         * modules/getlogin_r (Depends-on): Add extensions.
12903
12904 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12905
12906         * modules/clock-time: New module.
12907         * modules/nanosleep (Depends-on): Add clock-time.
12908         * modules/gethrxtime (Depends-on): Likewise.
12909         * modules/gettime (Depends-on): Likewise.
12910         * modules/settime (Depends-on): Likewise.
12911
12912         * modules/fts-lgpl: Depend on openat.
12913         * modules/mkancesdirs: Depend on savewd.
12914         * modules/mkdir-p: Likewise.
12915
12916 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12917
12918         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
12919
12920         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
12921         `gl_have_arbitrary_file_name_length_limit' to
12922         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
12923         actually works between configure runs.
12924
12925 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12926             Bruno Haible  <bruno@clisp.org>
12927
12928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
12929
12930 2006-09-25  Jim Meyering  <jim@meyering.net>
12931
12932         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
12933         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
12934
12935 2006-09-25  Eric Blake  <ebb9@byu.net>
12936
12937         * gnulib-tool (func_import, func_create_testdir): Fix typos in
12938         exec's in 2006-09-18 patch when shuffling fds.
12939
12940 2006-09-25  Bruno Haible  <bruno@clisp.org>
12941
12942         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
12943         Reported by Jim Meyering.
12944
12945 2006-09-24  Jim Meyering  <jim@meyering.net>
12946
12947         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
12948         compare a pointer against a literal "0".  That caused failures with
12949         at least HP-UX's hpcc.
12950
12951 2006-09-22  Simon Josefsson  <jas@extundo.com>
12952
12953         * modules/gc-sha1:
12954         * modules/gc-md4:
12955         * modules/gc-hmac-sha1:
12956         * modules/gc-hmac-md5:
12957         * modules/gc-des:
12958         * modules/gc-arcfour: Distribute more files.
12959
12960 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12961
12962         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
12963         (gl_linked_iterator_from_to): Initialize struct completely.
12964         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
12965         (gl_tree_iterator_from_to): Likewise
12966         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
12967         * lib/gl_array_list.c [lint] (gl_array_iterator)
12968         (gl_array_iterator_from_to): Likewise.
12969         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
12970         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
12971         (gl_carray_iterator_from_to): Likewise.
12972
12973         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
12974         * lib/md4.c (md4_process_block): Remove unused variable.
12975         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
12976         parentheses for clarity.
12977
12978 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12979
12980         * modules/bison-i18n (Depends-on): Add gettext.
12981
12982 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12983
12984         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
12985         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
12986         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
12987         also add missing comma that caused broken test.
12988         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
12989         stdlib.h, for `abort'.
12990         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
12991         variables.
12992         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
12993         include unistd.h if present, for `rmdir'.
12994         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
12995         variables.
12996         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
12997         in the process include standard headers for prototypes.
12998         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
12999         gets declared on GNU/Linux.
13000         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
13001         unistd.h, for `rmdir'.
13002         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
13003
13004         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
13005         always true.
13006         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
13007
13008         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
13009
13010 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13011
13012         * gnulib-tool (func_version): Create output all at once.  This
13013         may help avoid triggering unnecessary SIGPIPEs, and at any
13014         rate it doesn't hurt.
13015
13016 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13017             Bruno Haible  <bruno@clisp.org>
13018
13019         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
13020         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13021         * m4/signed.m4 (bh_C_SIGNED): Likewise.
13022
13023         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
13024         (gl_FUNC_VASPRINTF): Invoke it.
13025
13026 2006-09-22  Bruno Haible  <bruno@clisp.org>
13027
13028         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
13029         getloadavg.c as first argument.
13030
13031 2006-09-22  Bruno Haible  <bruno@clisp.org>
13032
13033         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
13034         at the beginning of the gl_INIT macro.
13035         * modules/getloadavg (configure.ac): Pass $gl_source_base to
13036         gl_GETLOADAVG.
13037
13038 2006-09-22  Bruno Haible  <bruno@clisp.org>
13039
13040         * gnulib-tool (func_create_megatestdir): Don't include the config-h
13041         module.
13042         Suggested by Ralf Wildenhues.
13043
13044 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13045
13046         Import this patch from libc:
13047
13048         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
13049
13050         * lib/regex_internal.c (re_string_reconstruct): Handle
13051         offset < pstr->valid_raw_len && pstr->offsets_needed case.
13052         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
13053         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
13054         re_string_context_at.
13055
13056         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
13057         now requires it.
13058         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
13059         gl_REGEX now does it for us.
13060         (gl_REGEX): Add test taken from
13061         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
13062
13063         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
13064         Check that large offsets work.  Modernize Autoconf usages.
13065         Prefer "yes" to mean a good thing rather than a bad.
13066         Don't put "#define mkstemp" in config.h, as this might interfere
13067         with standard system headers that "#define mkstemp mkstemp64".
13068
13069         * modules/mkstemp (Depends-on): Add extensions, so that
13070         mkstemp is visible on some platforms.
13071         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
13072         (Include): Change to "mkstemp.h" from <stdlib.h>.
13073         (Files): Add mkstemp.h.
13074
13075         * lib/mkstemp.h: New file, since some standard headers
13076         #define mkstemp.
13077         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
13078         Include "mkstemp.h".
13079         Make the _LIBC code resemble glibc original more,
13080         e.g., use K&R style.
13081         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
13082         (mkstemp): Remove, since mkstemp.h does this for us.
13083         * lib/stdlib--.h: Include mkstemp.h.
13084
13085         Import this patch from libc:
13086
13087         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
13088
13089         * lib/tempname.c (__gen_tempname): Change attempts_min
13090         into a macro.  Use preprocessor to decide how to initialize
13091         attempts [Coverity CID 67].
13092
13093 2006-09-20  Bruno Haible  <bruno@clisp.org>
13094
13095         * lib/mkdtemp.c: Import from libc.
13096         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
13097                 * sysdeps/posix/tempname.c (__gen_tempname): Change
13098                 attempts_min into a macro.  Use preprocessor to decide how to
13099                 initialize attempts [Coverity CID 67].
13100         2001-11-27  Paul Eggert  <eggert@twinsun.com>
13101                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
13102                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
13103
13104 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13105
13106         * gnulib-tool (func_exit): New function, to allow to pass the
13107         exit status portably through the trap.  Use everywhere.
13108         (--help, --version): Signal a write error.
13109         (trap): catch SIGPIPE, for write errors.
13110         Exit at the end of the trap, with the correct exit status.
13111
13112 2006-09-19  Karl Berry  <karl@gnu.org>
13113
13114         * doc/gnulib.texi: note about the license texinfo files.
13115
13116 2006-09-19  Eric Blake  <ebb9@byu.net>
13117
13118         * gnulib-tool: Avoid space-tab.
13119
13120 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13121
13122         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
13123         that prevented coreutils 6.1 from building.  Problem reported
13124         by Petter Reinholdtsen.
13125
13126 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13127
13128         * gnulib-tool (avoidlist): Fix typo that broke options like
13129         --avoid=lock that are used by coreutils bootstrap.
13130
13131 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
13132
13133         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
13134         more systematically.
13135
13136 2006-09-18  Jim Meyering  <jim@meyering.net>
13137
13138         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
13139
13140 2006-09-18  Bruno Haible  <bruno@clisp.org>
13141
13142         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
13143
13144 2006-09-18  Bruno Haible  <bruno@clisp.org>
13145
13146         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
13147         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
13148         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
13149         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
13150         * m4/gettext.m4: Require autoconf >= 2.52.
13151         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
13152         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
13153         of gl_cv_header_inttypes_h.
13154
13155 2006-09-18  Bruno Haible  <bruno@clisp.org>
13156
13157         * lib/javaversion.c: Include configmake.h.
13158
13159 2006-09-18  Bruno Haible  <bruno@clisp.org>
13160
13161         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
13162         avoid that the while loops be executed in a subshell.
13163
13164 2006-09-18  Bruno Haible  <bruno@clisp.org>
13165
13166         * MODULES.html.sh (func_module): Break long lines.
13167         Suggested by Bruce Korb <bkorb@gnu.org>.
13168
13169 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13170
13171         Speed up by a factor of 1.12.
13172         * gnulib-tool (nl): New variable.
13173         (func_import): Rewrite include directive extraction to only read each
13174         directive once.
13175
13176 2006-09-17  Bruno Haible  <bruno@clisp.org>
13177
13178         * modules/javaversion (Makefile.am): Remove DEFS setting.
13179         (Depends-on): Add configmake, for PKGDATADIR definition.
13180
13181 2006-09-17  Bruno Haible  <bruno@clisp.org>
13182
13183         * gnulib-tool (func_create_testdir): Rewrite all files at once.
13184
13185 2006-09-17  Bruno Haible  <bruno@clisp.org>
13186
13187         * gnulib-tool (func_append): New function, stolen from libtool.m4.
13188         (func_modules_transitive_closure, func_modules_add_dummy,
13189         func_modules_to_filelist, func_import, func_create_testdir,
13190         func_create_megatestdir, ...): Use it wherever possible.
13191         Suggested by Ralf Wildenhues.
13192
13193 2006-09-16  Karl Berry  <karl@gnu.org>
13194
13195         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
13196         to avoid sectioning errors.
13197         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
13198         [ifinfo]: blank line after @center-ed titles.
13199         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
13200         Spell FSF address consistently with others.
13201         (These changes approved by rms.)
13202
13203 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13204
13205         Speed up by a factor of 1.61.
13206         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
13207         already checked module names again.
13208
13209 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13210
13211         Speed up by a factor of 1.13.
13212         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
13213         for new_files, and the input to func_add_or_update.
13214
13215 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13216
13217         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
13218         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
13219
13220 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13221
13222         * modules/mkancesdirs (Depends-on): Add fcntl.
13223         * modules/savewd: New file.
13224         * MODULES.html.sh (File system functions): Add savewd.
13225
13226         * modules/configmake (Makefile.am): Add support for the
13227         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
13228
13229 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13230
13231         * m4/savewd.m4: New file.
13232
13233 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13234
13235         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
13236         (dirchownmod): New arg FD.  All callers changed.
13237         Use FD rather than opening the directory ourself, as opening is
13238         now the caller's responsibility.
13239         * lib/dirchownmod.h: Likewise.
13240         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
13241         hosts that require <sys/types.h> before <sys/stat.h>.  Include
13242         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
13243         (test_dir): Remove.
13244         (mkancesdirs): Return length of prefix of FILE that has already
13245         been made, or -2 if there is a child doing the work.  Redo
13246         algorithm so that it is O(N) rather than O(N**2).  Optimize away
13247         ".", and treat ".." specially since it might stray back into
13248         already-created areas.  Use a subprocess if necessary.  New arg
13249         WD; all users changed.  MAKE_DIR function should now return 1
13250         if it creates a directory that is not readable.  Return -2 if
13251         a child process is spun off.
13252         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
13253         Adjust signature to match code.
13254         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
13255         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
13256         all users changed.
13257         * lib/savewd.c, lib/savewd.h: New files.
13258
13259 2006-09-15  Jim Meyering  <jim@meyering.net>
13260
13261         * modules/rename-dest-slash: New module.
13262         * MODULES.html.sh (posix_compat): Add it here.
13263
13264         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
13265
13266 2006-09-15  Jim Meyering  <jim@meyering.net>
13267
13268         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
13269         file.
13270
13271         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
13272
13273 2006-09-15  Jim Meyering  <jim@meyering.net>
13274
13275         * lib/rename-dest-slash.c (has_trailing_slash): Use
13276         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
13277         (rpl_rename_dest_slash): Perform the cheaper trailing slash
13278         test before testing whether SRC is a directory.
13279         Suggestions from Bruno Haible.
13280
13281         Avoid a warning about an unused variable.
13282         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
13283         into the #ifdef block where it's used.
13284
13285         * lib/rename-dest-slash.c: New file.
13286
13287 2006-09-14  Bruno Haible  <bruno@clisp.org>
13288
13289         * lib/allocsa.c: Include <config.h> unconditionally.
13290         * lib/asnprintf.c: Likewise.
13291         * lib/asprintf.c: Likewise.
13292         * lib/c-strcasecmp.c: Likewise.
13293         * lib/c-strcasestr.c: Likewise.
13294         * lib/c-strncasecmp.c: Likewise.
13295         * lib/c-strstr.c: Likewise.
13296         * lib/classpath.c: Likewise.
13297         * lib/clean-temp.c: Likewise.
13298         * lib/concatpath.c: Likewise.
13299         * lib/copy-file.c: Likewise.
13300         * lib/csharpcomp.c: Likewise.
13301         * lib/csharpexec.c: Likewise.
13302         * lib/execute.c: Likewise.
13303         * lib/fatal-signal.c: Likewise.
13304         * lib/findprog.c: Likewise.
13305         * lib/fwriteerror.c: Likewise.
13306         * lib/gl_array_list.c: Likewise.
13307         * lib/gl_array_oset.c: Likewise.
13308         * lib/gl_avltree_list.c: Likewise.
13309         * lib/gl_avltree_oset.c: Likewise.
13310         * lib/gl_avltreehash_list.c: Likewise.
13311         * lib/gl_carray_list.c: Likewise.
13312         * lib/gl_linked_list.c: Likewise.
13313         * lib/gl_linkedhash_list.c: Likewise.
13314         * lib/gl_list.c: Likewise.
13315         * lib/gl_oset.c: Likewise.
13316         * lib/gl_rbtree_list.c: Likewise.
13317         * lib/gl_rbtree_oset.c: Likewise.
13318         * lib/gl_rbtreehash_list.c: Likewise.
13319         * lib/imaxabs.c: Likewise.
13320         * lib/imaxdiv.c: Likewise.
13321         * lib/javacomp.c: Likewise.
13322         * lib/javaexec.c: Likewise.
13323         * lib/javaversion.c: Likewise.
13324         * lib/linebreak.c: Likewise.
13325         * lib/localcharset.c: Likewise.
13326         * lib/lock.c: Likewise.
13327         * lib/mbchar.c: Likewise.
13328         * lib/mbswidth.c: Likewise.
13329         * lib/mkdtemp.c: Likewise.
13330         * lib/pipe.c: Likewise.
13331         * lib/printf-args.c: Likewise.
13332         * lib/printf-parse.c: Likewise.
13333         * lib/progname.c: Likewise.
13334         * lib/progreloc.c: Likewise.
13335         * lib/readlink.c: Likewise.
13336         * lib/sh-quote.c: Likewise.
13337         * lib/stpcpy.c: Likewise.
13338         * lib/stpncpy.c: Likewise.
13339         * lib/strcasecmp.c: Likewise.
13340         * lib/strcasestr.c: Likewise.
13341         * lib/strcspn.c: Likewise.
13342         * lib/striconv.c: Likewise.
13343         * lib/strncasecmp.c: Likewise.
13344         * lib/strnlen1.c: Likewise.
13345         * lib/strstr.c: Likewise.
13346         * lib/strtok_r.c: Likewise.
13347         * lib/tls.c: Likewise.
13348         * lib/tmpdir.c: Likewise.
13349         * lib/unicodeio.c: Likewise.
13350         * lib/unsetenv.c: Likewise.
13351         * lib/vasnprintf.c: Likewise.
13352         * lib/vasprintf.c: Likewise.
13353         * lib/wait-process.c: Likewise.
13354         * lib/xallocsa.c: Likewise.
13355         * lib/xsetenv.c: Likewise.
13356         * lib/xstriconv.c: Likewise.
13357
13358 2006-09-13  Simon Josefsson  <jas@extundo.com>
13359
13360         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
13361         that internally, suggested by Ralf Wildenhues
13362         <Ralf.Wildenhues@gmx.de>.
13363
13364 2006-09-13  Simon Josefsson  <jas@extundo.com>
13365
13366         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
13367         @LIBOBJS@.
13368         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13369
13370 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13371
13372         * lib/_fpending.c: Include <config.h> unconditionally, since we no
13373         longer worry about uses that don't define HAVE_CONFIG_H.
13374         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
13375         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
13376         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
13377         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
13378         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
13379         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
13380         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
13381         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
13382         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
13383         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
13384         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
13385         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
13386         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
13387         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
13388         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
13389         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
13390         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
13391         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
13392         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
13393         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
13394         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
13395         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
13396         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
13397         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
13398         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
13399         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
13400         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
13401         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
13402         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
13403         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
13404         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
13405         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
13406         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
13407         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
13408         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
13409         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
13410         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
13411         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
13412         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
13413         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
13414         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
13415         Likewise.
13416
13417 2006-09-13  Eric Blake  <ebb9@byu.net>
13418
13419         * lib/getopt.c: Fix typo in last commit.
13420
13421 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13422
13423         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
13424         dgettext.
13425
13426 2006-09-12  Jim Meyering  <jim@meyering.net>
13427
13428         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
13429         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
13430         Reported by Nelson H. F. Beebe.
13431
13432 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13433
13434         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
13435         program_invocation_name and program_invocation_short_name are
13436         initialized.
13437         * lib/argp-namefrob.h: Move declarations of program_invocation_name
13438         and program_invocation_short_name to argp.h, so they are visible
13439         to user programs.
13440         * lib/argp.h: Likewise
13441
13442 2006-09-10  Bruno Haible  <bruno@clisp.org>
13443
13444         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
13445         m4/inttypes_h.m4, m4/uintmax_t.m4.
13446
13447 2006-09-10  Bruno Haible  <bruno@clisp.org>
13448
13449         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
13450         gl_AC_TYPE_UINTMAX_T.
13451
13452 2006-09-10  Bruno Haible  <bruno@clisp.org>
13453
13454         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
13455
13456 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13457
13458         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
13459         convention.  Text proposed by Bruno Haible.
13460         (struct argp_option): Document the use of N_() wrappers.
13461
13462         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
13463         '\v', and translate the two parts separately, instead of feeding
13464         the whole string to gettext.  This allows to exclude
13465         '\v' from the strings visible to the translator by writing doc
13466         strings as N_("..") "\v" N_("..").
13467
13468 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13469
13470         * config/srclist.txt: Undo latest change; the bug was fixed.
13471
13472 2006-09-09  Bruno Haible  <bruno@clisp.org>
13473
13474         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
13475         assignments if building a library without libtool.
13476         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
13477         in func_emit_lib_Makefile_am.
13478         (func_import): When building a static library libfoo.a, arrange to
13479         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
13480         (func_create_testdir): Likewise.
13481         * modules/gc (configure.ac, Makefile.am): If building statically,
13482         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
13483         * modules/iconvme (configure.ac, Makefile.am): Likewise.
13484         * modules/striconv (configure.ac, Makefile.am): Likewise.
13485         Based on a suggestion by Ralf Wildenhues.
13486
13487 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13488
13489         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
13490         Check for unistd.h too, since Autoconf doesn't assume POSIX.
13491         Also:
13492
13493         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13494         Add year_2050_test to catch glibc bug 2821
13495         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
13496
13497         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13498         Prefer #ifdef to #if.
13499
13500         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13501         Return from 'main' instead of calling 'exit'.
13502
13503 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13504
13505         * lib/mktime.c (guess_time_tm): Fix bug where mktime
13506         returned the maximum time_t value rather than (time_t) -1.
13507         Problem originally reported by William Bardwell
13508         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
13509
13510         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
13511         Moved to here ...
13512         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
13513         ... from here.
13514
13515 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13516
13517         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
13518         2821 is fixed.
13519
13520 2006-09-08  Jim Meyering  <jim@meyering.net>
13521
13522         Don't make generated files read-only.  That would bother too many
13523         people.  However, do retain the ability to work when targets are
13524         read-only: remove the destination and temporary files before writing
13525         them (when generated via sed or echo), or by using the -f option for
13526         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
13527         * modules/alloca-opt, modules/argz, modules/arpa_inet:
13528         * modules/byteswap, modules/configmake, modules/fcntl:
13529         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
13530         * modules/localcharset, modules/netinet_in, modules/poll:
13531         * modules/stdbool, modules/stdint, modules/sys_select:
13532         * modules/sys_socket, modules/sys_stat, modules/sysexits:
13533
13534 2006-09-08  Jim Meyering  <jim@meyering.net>
13535
13536         Avoid new build failure on FreeBSD 6.0.
13537         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
13538         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
13539         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
13540
13541 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13542
13543         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
13544
13545 2006-09-07  Jim Meyering  <jim@meyering.net>
13546
13547         Fix global typo in last change: use chmod u-w, not chmod u-x.
13548         Spotted by Paul Eggert and Bruce Korb.
13549         * modules/alloca-opt, modules/argz, modules/arpa_inet:
13550         * modules/byteswap, modules/configmake, modules/fcntl:
13551         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
13552         * modules/localcharset, modules/netinet_in, modules/poll:
13553         * modules/stdbool, modules/stdint, modules/sys_select:
13554         * modules/sys_socket, modules/sys_stat, modules/sysexits:
13555
13556 2006-09-06  Jim Meyering  <jim@meyering.net>
13557
13558         Make generated files be read-only.
13559         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
13560         Ensure that each generated file is now read-only.
13561         * modules/argz: Likewise.
13562         * modules/arpa_inet: Likewise.
13563         * modules/byteswap: Likewise.
13564         * modules/configmake: Likewise.
13565         * modules/fcntl: Likewise.
13566         * modules/fnmatch: Likewise.
13567         * modules/getopt: Likewise.
13568         * modules/glob: Likewise.
13569         * modules/inttypes: Likewise.
13570         * modules/netinet_in: Likewise.
13571         * modules/poll: Likewise.
13572         * modules/stdbool: Likewise.
13573         * modules/stdint: Likewise.
13574         * modules/sys_select: Likewise.
13575         * modules/sys_socket: Likewise.
13576         * modules/sys_stat: Likewise.
13577         * modules/sysexits: Likewise.
13578         * modules/localcharset: Same as above, but continue using temporary
13579         file named "t-$@" (why different?) rather than the "$@-t" used
13580         everywhere else.
13581
13582         * modules/sysexits (Makefile.am): Replace literal occurrences
13583         of "sysexit.h" more readable, and more consistent, "$@".
13584
13585 2006-09-06  Bruno Haible  <bruno@clisp.org>
13586
13587         * modules/striconv: New file.
13588         * modules/xstriconv: New file.
13589         * MODULES.html.sh (Internationalization functions): Add striconv,
13590         xstriconv.
13591
13592 2006-09-06  Bruno Haible  <bruno@clisp.org>
13593
13594         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
13595         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
13596         not using libtool correctly.
13597
13598 2006-09-06  Bruno Haible  <bruno@clisp.org>
13599
13600         * lib/striconv.h: New file.
13601         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
13602         iconvstring.c.
13603         * lib/xstriconv.h: New file.
13604         * lib/xstriconv.c: New file.
13605
13606 2006-09-06  Bruno Haible  <bruno@clisp.org>
13607
13608         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13609         lib_..._LDFLAGS.
13610
13611 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13612
13613         * lib/argz_.h: Sync from Libtool.
13614
13615         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
13616                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13617
13618         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
13619
13620 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
13621
13622         * modules/trim: New file.
13623
13624 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
13625
13626         * lib/trim.h: New file.
13627         * lib/trim.c: New file.
13628
13629 2006-09-05  Bruno Haible  <bruno@clisp.org>
13630
13631         * MODULES.html.sh (String handling): Add trim.
13632
13633 2006-09-04  Karl Berry  <karl@gnu.org>
13634
13635         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
13636         until next release.
13637
13638 2006-09-03  Bruno Haible  <bruno@clisp.org>
13639
13640         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
13641         correctly.
13642
13643 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13644
13645         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
13646         not gl_GETLOADAVG.  Omit unneeded semicolons.
13647         Problems reported by Ralf Wildenhues in
13648         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
13649         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
13650         at the end, which is the usual gnulib style.
13651
13652         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
13653         of doing all the work ourselves.
13654         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
13655         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
13656
13657 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13658
13659         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
13660         Problem reported by Ralf Wildenhues in
13661         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
13662
13663         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
13664         HAVE_STRUCT_STATFS_F_FSTYPENAME.
13665
13666 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13667
13668         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
13669         yesterday's patch by changing test -n to test -z.
13670
13671 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13672
13673         * modules/getloadavg (Files): Add m4/getloadavg.m4.
13674         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
13675         the former is now obsolescent.
13676
13677         * modules/chdir-long (Depends-on): Add fcntl.
13678
13679 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13680
13681         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
13682         obsolescent, and programs should use gnulib instead.
13683         * m4/getloadavg.m4: New file, with contents taken from Autoconf
13684         but with prefixes changed.
13685
13686 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13687
13688         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
13689         or stdbool.h, because they might not exist while configuring.
13690
13691         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
13692         Don't include unistd.h or limits.h; not needed, since chdir-long.h
13693         does that for us.
13694         (O_DIRECTORY): Remove.
13695
13696 2006-08-31  Eric Blake  <ebb9@byu.net>
13697
13698         * gnulib-tool: Don't let emacs change spaces to TAB.
13699
13700 2006-08-31  Bruno Haible  <bruno@clisp.org>
13701
13702         * gnulib-tool: When calling func_import more than once, do it in a
13703         subshell.
13704         Reported by Eric Blake <ebb9@byu.net>.
13705
13706 2006-08-31  Bruno Haible  <bruno@clisp.org>
13707
13708         * gnulib-tool (nl): Remove variable.
13709         (sed_transform_lib_file): Use more robust test for config-h module.
13710         (func_import): Fix typo in 2006-08-25 patch.
13711
13712 2006-08-31  Bruno Haible  <bruno@clisp.org>
13713
13714         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
13715         specified, augment Makefile.am variables instead of assigning them.
13716
13717 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13718
13719         Work around a bug in both the Linux and SunOS 64-bit kernels:
13720         nanosleep mishandles sleeps for longer than 2**31 seconds.
13721         Problem reported by Frank v Waveren in
13722         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
13723         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
13724         Check for nanosleep bug.
13725         (LIB_NANOSLEEP): Append clock_gettime library if needed.
13726
13727 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13728
13729         Work around a bug in both the Linux and SunOS 64-bit kernels:
13730         nanosleep mishandles sleeps for longer than 2**31 seconds.
13731         Problem reported by Frank v Waveren in
13732         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
13733         * lib/nanosleep.c (BILLION): New constant.
13734         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
13735         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
13736         implementation.
13737
13738 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13739
13740         * modules/nanosleep (Depends-on): Add gettime.
13741
13742 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13743         and Simon Josefsson  <jas@extundo.com>
13744         and Oskar Liljeblad  <oskar@osk.mine.nu>
13745
13746         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
13747         * gnulib-tool (func_import): New license type 'unmodifiable license
13748         text'.
13749         * modules/fdl: Use it.  Longer description.
13750         * module/gpl, module/lgpl: New files.
13751
13752 2006-08-30  Jim Meyering  <jim@meyering.net>
13753
13754         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
13755         shadowing the parameter.
13756
13757 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13758
13759         Sync from Libtool:
13760
13761         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13762
13763         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
13764         sharing with gnulib.  Report by Eric Blake.
13765
13766 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13767
13768         * modules/isapipe: New file.
13769         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
13770
13771 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13772
13773         * modules/configmake (Makefile.am): Add a comment, and omit
13774         the CONFIGMAKE_ prefix from generated macro names.  Suggested
13775         by Bruno Haible.
13776
13777 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13778
13779         * m4/isapipe.m4: New file.
13780
13781 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13782
13783         * lib/isapipe.c, lib/isapipe.h: New files.
13784
13785 2006-08-29  Jim Meyering  <jim@meyering.net>
13786
13787         * modules/configmake (Makefile.am): Make configmake.h depend on
13788         Makefile.  Otherwise, a stale configmake.h could hang around.
13789
13790 2006-08-29  Eric Blake  <ebb9@byu.net>
13791
13792         * lib/error.c (error_at_line, print_errno_message): Match libc, after
13793         resolution of upstream bug 3044.
13794
13795 2006-08-29  Bruno Haible  <bruno@clisp.org>
13796
13797         * modules/localcharset (Depends-on): Add configmake.
13798         (Makefile.am): Remove setting of LIBDIR through DEFS.
13799
13800 2006-08-29  Bruno Haible  <bruno@clisp.org>
13801
13802         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
13803         defined.
13804
13805 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13806
13807         * modules/fcntl: New file.
13808         * modules/chdir-safer (Depends-on): Add fcntl.
13809         * modules/fts: Likewise.
13810         * modules/mkdir-p: Likewise.
13811
13812         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
13813         This undoes the most recent change, since we're now addressing the
13814         problem in a different way.
13815
13816         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
13817         into output, since the output might be called Makefile.am even
13818         if $makefile_name is something different.
13819         (func_import): Use $makefile_am rather than
13820         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
13821         empty.
13822
13823         * modules/inttypes (Files): Add m4/inttypes-h.m4.
13824
13825 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13826
13827         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
13828         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
13829         recent change to stdint.m4, since we're now addressing the problem in a
13830         different way.
13831
13832 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13833
13834         * m4/fcntl_h.m4: New file.
13835
13836 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13837
13838         * lib/fcntl_.h: New file.
13839         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
13840         the fcntl module.
13841         * lib/dirchownmod.c: Likewise.
13842         * lib/fts.c: Likewise.
13843
13844         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
13845         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
13846         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
13847         just before including <inttypes.h>, to avoid circular inclusion.
13848
13849 2006-08-28  Jim Meyering  <jim@meyering.net>
13850
13851         * doc/visibility.texi: Actually read and correct the grammar of the
13852         sentence affected by yesterday's change.
13853
13854 2006-08-28  Eric Blake  <ebb9@byu.net>
13855
13856         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
13857         needs wrapper.
13858
13859 2006-08-28  Eric Blake  <ebb9@byu.net>
13860
13861         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
13862
13863 2006-08-28  Eric Blake  <ebb9@byu.net>
13864
13865         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
13866
13867 2006-08-28  Bruno Haible  <bruno@clisp.org>
13868
13869         * modules/c-strstr: New file, from GNU gettext.
13870         * MODULES.html.sh (String handling): Add c-strstr.
13871
13872 2006-08-28  Bruno Haible  <bruno@clisp.org>
13873
13874         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
13875         macros.
13876         Reported by Eric Blake.
13877
13878 2006-08-28  Bruno Haible  <bruno@clisp.org>
13879
13880         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
13881         (VASNPRINTF): Return a string of length > INT_MAX without failing.
13882         * lib/vasprintf.c: Include errno.h, limits.h.
13883         (EOVERFLOW): New fallback definition.
13884         (vasprintf): Test here whether the string length is > INT_MAX.
13885         * lib/vsnprintf.c: Include errno.h, limits.h.
13886         (EOVERFLOW): New fallback definition.
13887         (vsnprintf): Fix bug when generated string was too long for the buffer.
13888         Test here whether the string length is > INT_MAX.
13889
13890 2006-08-28  Bruno Haible  <bruno@clisp.org>
13891
13892         * lib/inttypes_.h (SCNX*): Remove definitions.
13893         Reported by Eric Blake.
13894
13895 2006-08-28  Bruno Haible  <bruno@clisp.org>
13896
13897         * lib/c-strstr.h: New file, from GNU gettext.
13898         * lib/c-strstr.c: New file, from GNU gettext.
13899
13900 2006-08-28  Bruno Haible  <bruno@clisp.org>
13901
13902         * gnulib-tool: Reorder some statements.
13903
13904 2006-08-28  Bruno Haible  <bruno@clisp.org>
13905
13906         * gnulib-tool: New option --makefile-name.
13907         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
13908         $makefile_name.
13909         (func_import): Write $makefile_name to the cache file, and read it from
13910         there unless explicitly specified. Use $makefile_name as file name
13911         instead of Makefile.am. Adjust the recommendations accordingly.
13912
13913 2006-08-28  Bruno Haible  <bruno@clisp.org>
13914
13915         * gnulib-tool (func_verify_module): Check against misapplying patch.
13916
13917 2006-08-28  Bruno Haible  <bruno@clisp.org>
13918
13919         * gnulib-tool (func_relativize, func_relconcat): New functions.
13920         Give an error if --local-dir is given with --update.
13921         Remove trailing slashes from $local_gnulib_dir.
13922         (func_import): Store the relativized $local_gnulib_dir in
13923         gnulib-cache.m4, and read it from there if not specified explicitly.
13924
13925 2006-08-28  Bruno Haible  <bruno@clisp.org>
13926
13927         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
13928         is the current directory. Respect also $local_gnulib_dir.
13929
13930 2006-08-28  Bruno Haible  <bruno@clisp.org>
13931             Simon Josefsson  <jas@extundo.com>
13932
13933         BeOS portability.
13934         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
13935
13936 2006-08-27  Jim Meyering  <jim@meyering.net>
13937
13938         * doc/visibility.texi: Remove duplicate word: "pointer".
13939
13940 2006-08-26  Bruno Haible  <bruno@clisp.org>
13941
13942         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
13943         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
13944         (Makefile.am): Create inttypes.h from inttypes_.h.
13945         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
13946
13947         * modules/imaxabs: New file.
13948
13949         * modules/imaxdiv: New file.
13950
13951 2006-08-26  Bruno Haible  <bruno@clisp.org>
13952
13953         * m4/inttypes.m4: New file.
13954         * m4/_inttypes_h.m4: Remove file.
13955         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
13956         PRI_MACROS_BROKEN.
13957         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
13958
13959         * m4/imaxabs.m4: New file.
13960
13961         * m4/imaxdiv.m4: New file.
13962
13963 2006-08-26  Bruno Haible  <bruno@clisp.org>
13964
13965         * lib/inttypes_.h: New file.
13966         * lib/inttypes.h: Remove file.
13967         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
13968
13969         * lib/imaxabs.c: New file.
13970
13971         * lib/imaxdiv.c: New file.
13972
13973 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13974
13975         New config-h module, so that "make" output needn't be cluttered
13976         by -DHAVE_CONFIG_H.
13977         * MODULES.html.sh (Support for building libraries and executables):
13978         Add config-h.
13979         * modules/config-h: New file.
13980         * gnulib-tool (nl, sed_transform_lib_file): New vars.
13981         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
13982         the config-h module is used.
13983
13984         New configmake module, so that "make" output needn't be cluttered
13985         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
13986         * MODULES.html.sh (Support for building libraries and executables):
13987         Add configmake.
13988         * modules/configmake: New file.
13989
13990 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13991
13992         * m4/config-h.m4: New file.
13993
13994 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13995
13996         * config/srclist.txt: Add elisp-comp.
13997
13998 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13999
14000         * MODULES.html.sh (Support for building libraries and executables):
14001         Add elisp-comp.
14002         * build-aux/elisp-comp: New file.
14003         * modules/elisp-comp: New file.
14004
14005 2006-08-24  Bruno Haible  <bruno@clisp.org>
14006
14007         * gnulib-tool (func_create_testdir): Use non-default values of
14008         sourcebase and m4base.
14009
14010 2006-08-24  Bruno Haible  <bruno@clisp.org>
14011
14012         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
14013         HTML structure.
14014
14015 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14016
14017         * modules/openat (Depends-on): Add lchown.
14018
14019 2006-08-23  Bruno Haible  <bruno@clisp.org>
14020
14021         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
14022         of gl_LOCK_EARLY instead of gl_LOCK.
14023
14024 2006-08-23  Bruno Haible  <bruno@clisp.org>
14025
14026         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
14027         on OSF/1 to no.
14028         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
14029
14030 2006-08-23  Bruno Haible  <bruno@clisp.org>
14031
14032         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
14033         as unusable.
14034
14035         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
14036         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
14037         (gl_LOCK): New macro.
14038
14039 2006-08-22  Simon Josefsson  <jas@extundo.com>
14040
14041         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
14042         to md5 module.
14043
14044 2006-08-22  Simon Josefsson  <jas@extundo.com>
14045
14046         * MODULES.html.sh: Add "Support for maintaining and release
14047         projects".
14048
14049         * build-aux/gnupload: New file, from coreutils.
14050
14051 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
14052
14053         Avoid the need for AC_LIBSOURCES in m4 macros.
14054         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
14055         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
14056         * modules/check-version (EXTRA_DIST): Add check-version.h.
14057         * modules/crc (EXTRA_DIST): Add crc.h.
14058         * modules/des (EXTRA_DIST): Add des.h.
14059         * modules/gc (EXTRA_DIST): Add gc.h.
14060         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
14061         * modules/getline (EXTRA_DIST): Add getline.h.
14062         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
14063         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
14064         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
14065         * modules/md2 (EXTRA_DIST): Add md2.h.
14066         * modules/md4 (EXTRA_DIST): Add md4.h.
14067         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
14068         * modules/read-file (EXTRA_DIST): Add read-file.h.
14069         * modules/readline (EXTRA_DIST): Add readline.h.
14070         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
14071         rijndael-api-fst.h.
14072
14073 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
14074
14075         * m4/rijndael.m4 (gl_ARCFOUR):
14076         * m4/arctwo.m4 (gl_ARCTWO):
14077         * m4/check-version.m4 (gl_CHECK_VERSION):
14078         * m4/crc.m4 (gl_CRC):
14079         * m4/des.m4 (gl_DES):
14080         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
14081         * m4/gc.m4 (gl_GC):
14082         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
14083         * m4/getline.m4 (gl_FUNC_GETLINE):
14084         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
14085         * m4/hmac-md5.m4 (gl_HMAC_MD5):
14086         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
14087         * m4/md2.m4 (gl_MD2):
14088         * m4/md4.m4 (gl_MD4):
14089         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
14090         * m4/read-file.m4 (gl_FUNC_READ_FILE):
14091         * m4/readline.m4 (gl_FUNC_READLINE):
14092         * m4/rijndael.m4 (gl_RIJNDAEL):
14093         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
14094         to get the necessary .h files and whatnot.
14095
14096 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
14097
14098         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
14099         gnulib rather than the other way around.
14100         * config/srclistvars.sh (COREUTILS): Remove.
14101
14102 2006-08-22  Jim Meyering  <jim@meyering.net>
14103
14104         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
14105
14106         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
14107
14108 2006-08-22  Eric Blake  <ebb9@byu.net>
14109
14110         * modules/regexprops-generic: New file.
14111         * MODULES.html.sh (Support for building documentation): List it.
14112
14113 2006-08-22  Eric Blake  <ebb9@byu.net>
14114
14115         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
14116         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14117         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
14118         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
14119
14120 2006-08-22  Bruno Haible  <bruno@clisp.org>
14121
14122         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
14123         and lib_LTLIBRARIES like the other lib_* variables.
14124
14125 2006-08-22  Bruno Haible  <bruno@clisp.org>
14126
14127         * build-aux/x-to-1.in: New file, from GNU gettext.
14128
14129 2006-08-22  Bruno Haible  <bruno@clisp.org>
14130
14131         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
14132         <utmpx.h> exists.
14133
14134 2006-08-22  Bruno Haible  <bruno@clisp.org>
14135
14136         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
14137         <utmpx.h> exists.
14138
14139 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14140
14141         BeOS portability.
14142         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
14143         exist.
14144         Problem reported by Bruno Haible.
14145
14146 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14147
14148         Avoid the need for AC_LIBSOURCES in m4 macros.
14149         * modules/acl (EXTRA_DIST): Add acl.h.
14150         * modules/argmatch (Files): Add m4/argmatch.m4.
14151         (configure.ac): Add gl_ARGMATCH.
14152         (EXTRA_DIST): Renamed from lib_SOURCES, for
14153         consistency with the other modules.  Remove argmatch.c.
14154         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
14155         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
14156         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
14157         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
14158         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
14159         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
14160         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
14161         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
14162         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
14163         * modules/closeout (EXTRA_DIST): Add closeout.h.
14164         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
14165         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
14166         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
14167         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
14168         dirname.h; remove basename.c and stripslash.c.
14169         * modules/exclude (EXTRA_DIST): Add exclude.h.
14170         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
14171         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
14172         * modules/file-type (EXTRA_DIST): Add file-type.h.
14173         * modules/filemode (EXTRA_DIST): Add filemode.h.
14174         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
14175         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
14176         * modules/fpending (EXTRA_DIST): Add __fpending.h.
14177         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
14178         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
14179         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
14180         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
14181         * modules/getdate (EXTRA_DIST): Add getdate.c.
14182         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
14183         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
14184         * modules/getpass (EXTRA_DIST): Add getpass.h.
14185         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
14186         * modules/group-member (EXTRA_DIST): Add group-member.h.
14187         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
14188         * modules/hash (EXTRA_DIST): Add hash.h.
14189         * modules/human (EXTRA_DIST): Add human.h.
14190         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
14191         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
14192         * modules/lchown (EXTRA_DIST): Add lchown.h.
14193         * modules/long-options (EXTRA_DIST): Add long-options.h.
14194         * modules/lstat (EXTRA_DIST): Add lstat.h.
14195         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
14196         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
14197         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
14198         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
14199         * modules/memxor (EXTRA_DIST): Add memxor.h.
14200         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
14201         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
14202         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
14203         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
14204         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
14205         * modules/physmem (EXTRA_DIST): Add physmem.h.
14206         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
14207         * modules/posixver (EXTRA_DIST): Add posixver.h.
14208         * modules/quote (EXTRA_DIST): Add quote.h.
14209         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
14210         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
14211         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
14212         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
14213         regex_internal.h regexec.c.
14214         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
14215         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
14216         * modules/same (EXTRA_DIST): Add same.h.
14217         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
14218         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
14219         * modules/savedir (EXTRA_DIST): Add savedir.h.
14220         * modules/sha1 (EXTRA_DIST): Add sha1.h.
14221         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
14222         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
14223         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
14224         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
14225         * modules/strdup (EXTRA_DIST): Add strdup.h.
14226         * modules/strftime (EXTRA_DIST): Add strftime.h.
14227         * modules/strndup (EXTRA_DIST): Add strndup.h.
14228         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
14229         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
14230         * modules/time_r (EXTRA_DIST): Add time_r.h.
14231         * modules/timespec (EXTRA_DIST): Add timespec.h.
14232         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
14233         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
14234         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
14235         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
14236         * modules/userspec (EXTRA_DIST): Add userspec.h.
14237         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
14238         * modules/utimens (EXTRA_DIST): Add utimens.h.
14239         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
14240         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
14241         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
14242         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
14243         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
14244         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
14245         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
14246         * modules/yesno (EXTRA_DIST): Add yesno.h.
14247
14248 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14249
14250         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
14251
14252         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
14253         * m4/dev-ino.m4, same-inode.m4: Remove.
14254
14255         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
14256         * m4/acl.m4 (AC_FUNC_ACL):
14257         * m4/backupfile.m4 (gl_BACKUPFILE):
14258         * m4/c-strtod.m4 (gl_C99_STRTOLD):
14259         * m4/canon-host.m4 (gl_CANON_HOST):
14260         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
14261         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
14262         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
14263         * m4/cloexec.m4 (gl_CLOEXEC):
14264         * m4/close-stream.m4 (gl_CLOSE_STREAM):
14265         * m4/closeout.m4 (gl_CLOSEOUT):
14266         * m4/dirfd.m4 (gl_FUNC_DIRFD):
14267         * m4/dirname.m4 (gl_DIRNAME):
14268         * m4/exclude.m4 (gl_EXCLUDE):
14269         * m4/exitfail.m4 (gl_EXITFAIL):
14270         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
14271         * m4/file-type.m4 (gl_FILE_TYPE):
14272         * m4/filemode.m4 (gl_FILEMODE):
14273         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
14274         * m4/fpending.m4 (gl_FUNC_FPENDING):
14275         * m4/fprintftime.m4 (gl_FPRINTFTIME):
14276         * m4/fts.m4 (gl_FUNC_FTS):
14277         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
14278         * m4/getdate.m4 (gl_GETDATE):
14279         * m4/gethrxtime.m4 (gl_GETHRXTIME):
14280         * m4/getpagesize.m4 (gl_GETPAGESIZE):
14281         * m4/getpass.m4 (gl_FUNC_GETPASS):
14282         * m4/gettime.m4 (gl_GETTIME):
14283         * m4/getugroups.m4 (gl_GETUGROUPS):
14284         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
14285         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
14286         * m4/hard-locale.m4 (gl_HARD_LOCALE):
14287         * m4/hash.m4 (gl_HASH):
14288         * m4/idcache.m4 (gl_IDCACHE):
14289         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
14290         * m4/lchown.m4 (gl_FUNC_LCHOWN):
14291         * m4/long-options.m4 (gl_LONG_OPTIONS):
14292         * m4/lstat.m4 (gl_FUNC_LSTAT):
14293         * m4/md5.m4 (gl_MD5):
14294         * m4/memcasecmp.m4 (gl_MEMCASECMP):
14295         * m4/memcoll.m4 (gl_MEMCOLL):
14296         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
14297         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
14298         * m4/memxor.m4 (gl_MEMXOR):
14299         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
14300         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
14301         * m4/modechange.m4 (gl_MODECHANGE):
14302         * m4/mountlist.m4 (gl_MOUNTLIST):
14303         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
14304         * m4/openat.m4 (gl_FUNC_OPENAT):
14305         * m4/pathmax.m4 (gl_PATHMAX):
14306         * m4/physmem.m4 (gl_PHYSMEM):
14307         * m4/posixtm.m4 (gl_POSIXTM):
14308         * m4/posixver.m4 (gl_POSIXVER):
14309         * m4/quote.m4 (gl_QUOTE):
14310         * m4/quotearg.m4 (gl_QUOTEARG):
14311         * m4/readtokens.m4 (gl_READTOKENS):
14312         * m4/readutmp.m4 (gl_READUTMP):
14313         * m4/regex.m4 (gl_REGEX):
14314         * m4/safe-read.m4 (gl_SAFE_READ):
14315         * m4/safe-write.m4 (gl_SAFE_WRITE):
14316         * m4/same.m4 (gl_SAME):
14317         * m4/save-cwd.m4 (gl_SAVE_CWD):
14318         * m4/savedir.m4 (gl_SAVEDIR):
14319         * m4/settime.m4 (gl_SETTIME):
14320         * m4/sha1.m4 (gl_SHA1):
14321         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
14322         * m4/stat-macros.m4 (gl_STAT_MACROS):
14323         * m4/stat-time.m4 (gl_STAT_TIME):
14324         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
14325         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
14326         * m4/strdup.m4 (gl_FUNC_STRDUP):
14327         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
14328         * m4/strndup.m4 (gl_FUNC_STRNDUP):
14329         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
14330         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
14331         * m4/time_r.m4 (gl_TIME_R):
14332         * m4/timespec.m4 (gl_TIMESPEC):
14333         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
14334         * m4/unlinkdir.m4 (gl_UNLINKDIR):
14335         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
14336         * m4/userspec.m4 (gl_USERSPEC):
14337         * m4/utimecmp.m4 (gl_UTIMECMP):
14338         * m4/utimens.m4 (gl_UTIMENS):
14339         * m4/xalloc.m4 (gl_XALLOC):
14340         * m4/xgetcwd.m4 (gl_XGETCWD):
14341         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
14342         * m4/xreadlink.m4 (gl_XREADLINK):
14343         * m4/xstrtod.m4 (gl_XSTRTOD):
14344         * m4/yesno.m4 (gl_YESNO):
14345         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
14346         to get the necessary .h files and whatnot.
14347
14348 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
14349             Bruno Haible  <bruno@clisp.org>
14350
14351         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
14352         /bin/sh understanding of '!' conditional negation.
14353
14354 2006-08-21  Jim Meyering  <jim@meyering.net>
14355
14356         * modules/openat (Depends-on): Really alphabetize.
14357
14358         * modules/acl (Depends-on): Add error and quote.
14359
14360         * check-module (find_included_lib_files): Add at-func.c to the
14361         ok-to-include-more-than-once white list.
14362
14363         * modules/openat (Depends-on): Add lstat.  Alphabetize.
14364
14365 2006-08-21  Bruno Haible  <bruno@clisp.org>
14366
14367         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14368         Emit a pkgdata_DATA variable only if some snippets add contents to it.
14369         Reported by Martin Lambers <marlam@marlam.de>.
14370
14371 2006-08-21  Bruno Haible  <bruno@clisp.org>
14372
14373         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
14374         specify an installation location, don't emit a noinst_LIBRARIES or
14375         noinst_LTLIBRARIES assignment.
14376
14377 2006-08-21  Bruno Haible  <bruno@clisp.org>
14378
14379         BeOS portability.
14380         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
14381         BeOS has mbrtowc() but no <wctype.h>.
14382
14383 2006-08-21  Bruno Haible  <bruno@clisp.org>
14384
14385         BeOS portability.
14386         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
14387         exist.
14388
14389 2006-08-21  Bruno Haible  <bruno@clisp.org>
14390
14391         BeOS portability.
14392         * lib/mbchar.h: Include <wctype.h> only if it exists.
14393
14394 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14395
14396         Remove files that are no longer needed by their respective modules.
14397         * m4/obstack.m4: Remove.
14398         * m4/strerror_r.m4: Remove.
14399         * m4/uint32_t.m4: Remove.
14400         * m4/uintptr_t.m4: Remove.
14401         * m4/ullong_max.m4: Remove.
14402         * m4/xstrtoimax.m4: Remove.
14403         * m4/xstrtoumax.m4: Remove.
14404
14405         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
14406         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
14407         dependencies now capture this.
14408
14409         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
14410         Do not use AC_LIBSOURCES, since gnulib modules now do this.
14411         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
14412         * m4/human.m4 (gl_HUMAN): Likewise.
14413         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
14414         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
14415
14416         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
14417
14418         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
14419         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
14420         stdint.
14421         * m4/human.m4 (gl_HUMAN): Likewise.
14422         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
14423         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
14424         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
14425         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
14426         * m4/xstrtol (gl_XSTRTOL): Likewise.
14427
14428         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
14429         AC_TYPE_LONG_LONG_INT.
14430         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
14431         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
14432         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
14433         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
14434
14435         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
14436         on stdbool.
14437
14438         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
14439         (gl_PREREQ_XSTRTOUL): Remove.
14440
14441         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
14442
14443         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
14444         mode.
14445
14446 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14447
14448         Add and change modules to make it easier for coreutils to use
14449         gnulib-tool.
14450         * modules/backupfile (Files): Remove m4/d-ino.m4.
14451         (Depends-on): Add d-ino.
14452         * modules/cycle-check (Depends-on): Add stdint.
14453         (lib_SOURCES): Add cycle-check.h.
14454         * modules/d-ino: New module.
14455         * modules/d-type: New module.
14456         * modules/error (Files): Remove m4/strerror_r.m4.
14457         * modules/filemode (Files): Add m4/st_dm_mode.m4.
14458         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
14459         m4/inttypes_h.m4, m4/uintmax_t.m4.
14460         (Depends-on): Add stdint.
14461         (lib_SOURCES): Add fsusage.h.
14462         * modules/getcwd (Files): Remove d-ino.m4.
14463         (Depends-on): Add d-ino.
14464         * modules/getndelim2 (Depends-on): Add stdint.
14465         * modules/glob (Files): Remove m4/d-type.m4.
14466         (Depends-on): Add d-type.
14467         * modules/host-os: New module.
14468         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
14469         m4/inttypes_h.m4, m4/uintmax_t.m4.
14470         * Depends-on: Add stdint.
14471         (lib_SOURCES): Add human.h.
14472         * modules/inttostr (Files): Remove m4/intmax_t.m4,
14473         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
14474         m4/uintmax_t.m4, m4/ulonglong.m4.
14475         (Depends-on): Add stdint.
14476         (EXTRA_DIST): Add inttostr.h.
14477         * modules/lchmod: New module.
14478         * modules/link-follow: New module.
14479         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
14480         (Depends-on): Add lchmod.
14481         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
14482         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
14483         (Depends-on): Add stdint.
14484         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
14485         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
14486         (Depends-on): Add stdint.
14487         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
14488         * modules/perl: New module.
14489         * modules/regex (Depends-on): Add stdint.
14490         * modules/rmdir-errno: New module.
14491         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
14492         m4/intmax_t.m4.
14493         (Depends-on): Add stdint.
14494         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
14495         m4/uintmax_t.m4.
14496         (Depends-on): Add stdint.
14497         * modules/unlink-busy: New module.
14498         * modules/utimecmp (Depends-on): Add stdint.
14499         * modules/uptime: New module.
14500         * modules/winsz-ioctl: New module.
14501         * modules/winsz-termios: New module.
14502         * modules/xnanosleep (Depends-on): Add nanosleep.
14503         * modules/ullong_max: Remove.
14504         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
14505         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
14506         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
14507         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
14508         (Depends-on): Add inttypes.
14509         (lib_SOURCES): Add xstrtol.h.
14510         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
14511         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
14512         * MODULES.html.sh: Move 'assert' into the assert section.
14513         Move 'dummy' into the linking section.
14514         Remove ullong_max.
14515         Add section for compatibility checks for POSIX:2001 functions,
14516         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
14517         winsz-ioctl, and winsz-termios into it.
14518         Add lchmod.
14519         Add top-level Misc section and put host-os, perl, and uptime
14520         into it.
14521
14522 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14523
14524         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
14525         now assume the stdint module.  Do not include inttypes.h.
14526         * lib/fsusage.h: Likewise.
14527         * lib/getndelim2.c: Likewise.
14528         * lib/human.h: Likewise.
14529         * lib/inttostr.h: Likewise.
14530         * lib/obstack.c: Likewise.
14531         * lib/regex_internal.h: Likewise.
14532         * lib/tempname.c: Likewise.
14533         * lib/utimecmp.c: Likewise.
14534         * lib/xstrtol.h: Likewise.
14535
14536         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
14537
14538         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
14539         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
14540         * lib/xtime.h: Likewise.
14541
14542 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14543
14544         * modules/openat (Files): Add lib/fchmodat.c.
14545         Fixes problem reported by Jay Youngman.
14546
14547 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14548
14549         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
14550         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
14551
14552 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14553             Bruno Haible  <bruno@clisp.org>
14554
14555         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
14556         and is a script that invokes bison. Tighten the code. Add comments.
14557
14558 2006-08-18  Jim Meyering  <jim@meyering.net>
14559
14560         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
14561         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
14562         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
14563         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
14564
14565 2006-08-18  Bruno Haible  <bruno@clisp.org>
14566
14567         * modules/bison-i18n: New file.
14568         * MODULES.html.sh (Internationalization functions): Add it.
14569
14570 2006-08-18  Bruno Haible  <bruno@clisp.org>
14571
14572         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
14573         sys/statvfs.h. When getmntinfo was found, check its declaration and
14574         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
14575
14576 2006-08-18  Bruno Haible  <bruno@clisp.org>
14577
14578         * m4/bison-i18n.m4: New file, from bison.
14579
14580 2006-08-18  Bruno Haible  <bruno@clisp.org>
14581
14582         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
14583         (ME_DUMMY): Treat "kernfs" as a dummy.
14584         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
14585
14586 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14587
14588         Update from coreutils.
14589
14590         2006-08-15  Jim Meyering  <jim@meyering.net>
14591
14592         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
14593
14594         2006-01-17  Jim Meyering  <jim@meyering.net>
14595
14596         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
14597
14598         2006-01-11  Jim Meyering  <jim@meyering.net>
14599
14600         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
14601         Check for the lchmod function.
14602
14603 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14604
14605         Update from coreutils.
14606
14607         * lib/__fpending.h: Add copyright notice.
14608         * lib/fprintftime.h: Likewise.
14609         * lib/savedir.c: Use (C) in copyright notice.
14610         * lib/savedir.h: Likewise.
14611
14612         2006-08-15  Jim Meyering  <jim@meyering.net>
14613
14614         * lib/at-func.c: New file, with the logic of all emulated at-functions.
14615         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
14616         in support of the EXPECTED_ERRNO macro.
14617         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
14618         definitions.  Instead, define the appropriate symbols and include
14619         "at-func.c".
14620         * lib/mkdirat.c (mkdirat): Likewise.
14621         * lib/fchmodat.c (fchmodat): Likewise.
14622         (ENOSYS): Remove definition.
14623         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
14624         it.  Don't include "unistd--.h" -- it wasn't ever used.
14625
14626         2006-01-17  Jim Meyering  <jim@meyering.net>
14627
14628         Rewrite fts.c not to change the current working directory,
14629         by using openat, fstatat, fdopendir, etc..
14630
14631         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
14632         (HAVE_OPENAT_SUPPORT): Define.
14633         [_LIBC] (fchdir): Don't undef or define; no longer used.
14634         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
14635         Now, this `function' always succeeds, and consumes its file descriptor
14636         parameter -- so callers must not close such FDs.  Update callers.
14637         (diropen_fd, opendirat, cwd_advance_fd): New functions.
14638         (diropen): Add parameter, SP.  Adjust all callers.
14639         Implement using diropen_fd, rather than open.
14640         (fts_open): Initialize new member, fts_cwd_fd.
14641         Remove fts_rft-setting code.
14642         (fts_close): Close fts_cwd_fd, if necessary.
14643         (__opendir2): Define in terms of opendir or opendirat,
14644         depending on whether the FST_NOCHDIR flag is set.
14645         (fts_build): Since fts_safe_changedir consumes its FD, and since
14646         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
14647         and close the dup'd file descriptor upon failure.
14648         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
14649         (fts_safe_changedir): Tweak semantics to reflect that this function
14650         now calls cwd_advance_fd and hence consumes its FD argument.
14651         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
14652         [struct FTS] (fts_rft): Remove now-unused member.
14653         [struct FTS] (fts_cycle.state): Improve comment.
14654
14655         * lib/openat.c (openat_needs_fchdir): New function.
14656         * lib/openat.h (openat_needs_fchdir): Declare it.
14657
14658 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
14661         Problem and fix reported by Pádraig Brady in
14662         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
14663
14664 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14665
14666         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
14667
14668 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14669
14670         * lib/memcoll.c (memcoll): Optimize for the common case where the
14671         arguments are bytewise equal.
14672
14673 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14674
14675         * doc/regexprops-generic.texi: Add a copyright notice.
14676
14677 2006-08-15  Bruno Haible  <bruno@clisp.org>
14678
14679         * modules/tmpdir (License): Change to LGPL.
14680
14681 2006-08-15  Bruno Haible  <bruno@clisp.org>
14682
14683         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
14684         module.
14685
14686 2006-08-14  Simon Josefsson  <jas@extundo.com>
14687
14688         * config/srclist.txt: Add gnupload.
14689
14690 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         Change copyright notice from LGPL 2 to GPL 2, since that's the
14693         standard form used in the gnulib repository.
14694         * tests/test-lock.c: Likewise.
14695         * tests/test-stdint.c: Likewise.
14696         * tests/test-tls.c: Likewise.
14697
14698         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
14699         prelude-manager.  User shorter URLs for GNU projects, without '?'.
14700         Add copyright notice.
14701
14702         * check-module: Add copyright notice.  Output a copyright
14703         notice if "--version" is specified.
14704         * modules/COPYING: New file.
14705         * tests/test-getaddrinfo.c: Add copyright notice.
14706         * tests/test-verify.c: Likewise.
14707
14708 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14709
14710         Change copyright notice from LGPL 2 to GPL 2, since that's the
14711         standard form used in the gnulib repository.
14712         * lib/lock.c: LGPL -> GPL.
14713         * lib/lock.h: Likewise.
14714         * lib/strnlen1.c: Likewise.
14715         * lib/strnlen1.h: Likewise.
14716         * lib/tls.c: Likewise.
14717         * lib/tls.h: Likewise.
14718         * lib/tmpdir.c: Likewise.
14719
14720         * lib/TODO: Remove; this belongs only in coreutils.
14721
14722 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14723
14724         Add copyright notices to long-enough files that lack them, since
14725         otherwise the files aren't clearly free.  Use the same notice that
14726         getdate.texi already uses.
14727         * doc/alloca-opt.texi: Add copyright notice.
14728         * doc/alloca.texi: Likewise.
14729         * doc/ctime.texi: Likewise.
14730         * doc/functions.texi: Likewise.
14731         * doc/gcd.texi: Likewise.
14732         * doc/gnulib-tool.texi: Likewise.
14733         * doc/inet_ntoa.texi: Likewise.
14734         * doc/visibility.texi: Likewise.
14735
14736         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
14737         * doc/quote.texi: Add copyright notice.
14738
14739         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
14740         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
14741         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
14742         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
14743         is now obsolete, and give a pointer to the Sun list.
14744         Add copyright notice.
14745
14746 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14747
14748         * config/srclistvars.sh: Add copyright notice.
14749
14750 2006-08-14  Eric Blake  <ebb9@byu.net>
14751
14752         Import the following change from libc:
14753
14754         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
14755
14756         Upstream bug 2997.
14757         * lib/misc/error.c: Add space between program name and message if file
14758         name is missing.
14759
14760 2006-08-12  Karl Berry  <karl@gnu.org>
14761
14762         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
14763         remove, these originate in gnulib now.
14764
14765 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14766
14767         * doc/Makefile (standards.info standards.html standards.dvi):
14768         Also depend on make-stds.texi.
14769
14770 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14771
14772         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
14773         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
14774
14775         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
14776         in wchar_t.  Problem reported by Eric Blake.
14777
14778         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
14779         LEN is smaller than SIZE.  Suggested by Bruno Haible.
14780         Also, help the compiler to keep LEN in a register.
14781
14782 2006-08-11  Eric Blake  <ebb9@byu.net>
14783
14784         * users.txt: Sort.  Add tar.
14785
14786 2006-08-11  Bruno Haible  <bruno@clisp.org>
14787
14788         * users.txt: New file.
14789
14790 2006-08-11  Bruno Haible  <bruno@clisp.org>
14791
14792         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
14793         before <wchar.h>. Needed for OSF/1 and BSD/OS.
14794
14795 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14796
14797         * modules/snprintf (Depends-on): Remove minmax.
14798         (Maintainer): Add self and Bruno.
14799
14800 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14801
14802         * lib/.cppi-disable: Add snprintf.h, socket_.h.
14803         * lib/snprintf.c: Include <errno.h> and <limits.h>.
14804         (EOVERFLOW): Define if the system does not.
14805         Do not include "minmax.h"; it wasn't used.
14806         (snprintf): Don't assume size_t promotes to an unsigned type.
14807         Fix bug when generated string was too long for the buffer: the
14808         buffer's contents are supposed to be the initial prefix of the
14809         output.  Don't assume vasnprintf returns EOVERFLOW if the size
14810         exceeds INT_MAX; do the check ourselves.
14811
14812         Import the following changes from libc:
14813
14814         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
14815
14816         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
14817         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
14818         set wc to the byte which couldn't be converted.
14819         (re_string_reconstruct): Don't clear valid_raw_len before calling
14820         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
14821         tip_context using re_string_context_at.
14822
14823         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
14824
14825         * lib/posix/regex.h: g++ still cannot handled [restrict].
14826
14827         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
14828
14829         * lib/posix/regex.h: Remove special handling for VMS.
14830
14831 2006-08-10  Jim Meyering  <jim@meyering.net>
14832
14833         * modules/same-inode: New module.
14834         * modules/dev-ino: New module.
14835         * modules/cycle-check: Depend on these modules, rather than simply
14836         including their .h files.
14837         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
14838         required via m4/cycle-check.m4.
14839         * modules/same: Depend on new same-inode module, rather than
14840         including same-inode.h.
14841         * modules/chdir-safer: New file.
14842
14843         * modules/chown (Depends-on): Add stat-macros.
14844
14845 2006-08-10  Jim Meyering  <jim@meyering.net>
14846
14847         * m4/cycle-check.m4: New file.
14848         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
14849         * m4/dev-ino.m4, m4/same-inode.m4: New files.
14850
14851 2006-08-10  Eric Blake  <ebb9@byu.net>
14852
14853         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
14854         in from original proposal.
14855
14856 2006-08-10  Eric Blake  <ebb9@byu.net>
14857         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14858
14859         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
14860         namespace.
14861
14862 2006-08-10  Bruno Haible  <bruno@clisp.org>
14863
14864         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
14865         as well.
14866
14867 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14868
14869         Sync from coreutils.
14870
14871         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
14872
14873         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
14874         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
14875
14876 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14877
14878         * modules/restrict: Remove; no longer needed now that we assume
14879         Autoconf 2.59 or later.
14880         * MODULES.html.sh: Remove 'restrict'.
14881         * modules/argp (Depends-on): Remove 'restrict'.
14882         * modules/base64 (Depends-on): Likewise.
14883         * modules/gc (Depends-on): Likewise.
14884         * modules/getaddrinfo (Depends-on): Likewise.
14885         * modules/glob (Depends-on): Likewise.
14886         * modules/inet_ntop (Depends-on): Likewise.
14887         * modules/inet_pton (Depends-on): Likewise.
14888         * modules/memxor (Depends-on): Likewise.
14889         * modules/regex (Depends-on): Likewise.
14890         * modules/strtok_r (Depends-on): Likewise.
14891         * modules/time_r (Depends-on): Likewise.
14892
14893 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14894
14895         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
14896         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
14897         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
14898         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
14899         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
14900         * m4/memxor.m4 (gl_MEMXOR): Likewise.
14901         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
14902         gl_C_RESTRICT replaced by AC_C_RESTRICT.
14903
14904         Merge from coreutils.
14905         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
14906         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
14907         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
14908         * m4/time_r.m4 (gl_TIME_R): Likewise.
14909
14910 2006-08-09  Karl Berry  <karl@gnu.org>
14911
14912         * config/srclist.txt: no more gettext-tools, per Bruno.
14913
14914 2006-08-08  Eric Blake  <ebb9@byu.net>
14915
14916         * modules/verror: New module.
14917         * MODULES.html.sh: Document it.
14918
14919 2006-08-08  Eric Blake  <ebb9@byu.net>
14920
14921         * lib/verror.h, lib/verror.c: New files.
14922
14923 2006-08-08  Eric Blake  <ebb9@byu.net>
14924
14925         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
14926         verror_at_line output complies with GNU Coding Standards even when
14927         file is NULL.
14928
14929 2006-08-07  Bruno Haible  <bruno@clisp.org>
14930
14931         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
14932         versions of AIX.
14933         Reported by Ralf Wildenhues.
14934
14935 2006-08-07  Bruno Haible  <bruno@clisp.org>
14936
14937         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
14938         in an AC_DEFUN. Needed so that the autoconf snippets can use
14939         AC_REQUIRE.
14940
14941 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14942
14943         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14944         Initialize pkgdata_DATA.
14945         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
14946         overriding it.
14947
14948 2006-08-06  Eric Blake  <ebb9@byu.net>
14949
14950         * lib/error.h: Fold in some upstream changes from glibc.
14951         * lib/error.c: Likewise.
14952
14953 2006-08-04  Bruno Haible  <bruno@clisp.org>
14954
14955         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14956         Make the mostlyclean-local rule depend on mostlyclean-generic.
14957         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
14958
14959 2006-07-31  Bruno Haible  <bruno@clisp.org>
14960
14961         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
14962         <stdlib.h>, <string.h>.
14963
14964 2006-07-30  Bruno Haible  <bruno@clisp.org>
14965
14966         * modules/readlink (License): Change to LGPL.
14967
14968 2006-07-30  Bruno Haible  <bruno@clisp.org>
14969
14970         * modules/javaversion (Makefile.am): Distribute javaversion.java and
14971         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
14972         set PKGDATADIR to point to it.
14973
14974 2006-07-30  Bruno Haible  <bruno@clisp.org>
14975
14976         * modules/csharpexec (configure.ac): Comment out macro invocation.
14977         * modules/javaexec (configure.ac): Likewise.
14978         * modules/javacomp-script (configure.ac): Likewise.
14979
14980         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
14981
14982 2006-07-30  Bruno Haible  <bruno@clisp.org>
14983
14984         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
14985         linked-list.
14986
14987 2006-07-30  Bruno Haible  <bruno@clisp.org>
14988
14989         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
14990
14991 2006-07-30  Bruno Haible  <bruno@clisp.org>
14992
14993         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14994         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
14995         get removed.
14996
14997 2006-07-29  Bruno Haible  <bruno@clisp.org>
14998
14999         Make it possible for gnulib-tool to work with locally modified or
15000         augmented gnulib repositories.
15001         * gnulib-tool (func_usage): Document --local-dir option.
15002         (local_gnulib_dir): New variable.
15003         Handle --local-dir option.
15004         (func_lookup_file): New function.
15005         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
15006         (func_get_description, func_get_filelist, func_get_description,
15007         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
15008         func_get_automake_snippet, func_get_include_directive,
15009         func_get_license, func_get_maintainer): Use func_lookup_file.
15010         (func_import, func_create_testdir): Use func_lookup_file.
15011
15012 2006-07-29  Bruno Haible  <bruno@clisp.org>
15013
15014         * modules/setenv (Depends-on): Add unistd.
15015
15016 2006-07-29  Bruno Haible  <bruno@clisp.org>
15017
15018         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
15019
15020 2006-07-29  Bruno Haible  <bruno@clisp.org>
15021
15022         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
15023
15024 2006-07-29  Bruno Haible  <bruno@clisp.org>
15025
15026         * gnulib-tool (import, update): If there is no Makefile.am, look at
15027         aclocal.m4, instead of bailing out.
15028
15029 2006-07-29  Bruno Haible  <bruno@clisp.org>
15030
15031         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
15032         Categorize the options by when they are useful.
15033
15034 2006-07-29  Bruno Haible  <bruno@clisp.org>
15035
15036         * gnulib-tool (func_usage): Document option --no-libtool.
15037         Handle option --no-libtool.
15038         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
15039         for changed semantics of $libtool variable.
15040         (func_import): Likewise. If libtool is not used, show this through
15041         an option --no-libtool.
15042         (func_create_testdir): Update.
15043
15044 2006-07-29  Bruno Haible  <bruno@clisp.org>
15045
15046         * gnulib-tool (func_import): Extend error message about missing
15047         --doc-base.
15048
15049 2006-07-29  Bruno Haible  <bruno@clisp.org>
15050
15051         * gnulib-tool (func_import): Don't create the $docbase directory if
15052         there is no file to store there.
15053
15054 2006-07-29  Bruno Haible  <bruno@clisp.org>
15055
15056         * gnulib-tool (autoconf_minversion): If a --dir option is given and
15057         relevant, look for configure.ac there, not in the current directory.
15058         Also use a simple search for AC_PREREQ, not "autoconf --trace".
15059
15060 2006-07-29  Bruno Haible  <bruno@clisp.org>
15061
15062         * gnulib-tool (SORT): New variable.
15063         (func_usage): Undocument --assume-autoconf option.
15064         Remove --assume-autoconf option handling.
15065         (autoconf_minversion): Determine from the contents of configure.ac.
15066         (func_import): Remove autoconf_minversion handling.
15067         Suggested by Eric Blake.
15068
15069 2006-07-29  Bruno Haible  <bruno@clisp.org>
15070
15071         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
15072
15073 2006-07-29  Bruno Haible  <bruno@clisp.org>
15074
15075         * config/srclist.txt (*setenv.[ch]): Remove rules.
15076
15077 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15078
15079         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
15080
15081 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15082
15083         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
15084         arpa/inet.h.
15085
15086 2006-07-28  Simon Josefsson  <jas@extundo.com>
15087
15088         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
15089         * modules/inet_pton (Depends-on): Likewise.
15090
15091 2006-07-28  Simon Josefsson  <jas@extundo.com>
15092
15093         * m4/netinet_in_h.m4: New file.
15094
15095 2006-07-28  Simon Josefsson  <jas@extundo.com>
15096
15097         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
15098         #include's.
15099
15100 2006-07-28  Simon Josefsson  <jas@extundo.com>
15101
15102         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
15103         #include's.
15104
15105 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
15106
15107         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
15108         setgid on directories only if they set these bits.
15109         * lib/modechange.h: Remove obsolete comment about masks.
15110
15111 2006-07-28  Eric Blake  <ebb9@byu.net>
15112
15113         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
15114         macro expansion.
15115
15116 2006-07-28  Bruno Haible  <bruno@clisp.org>
15117
15118         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
15119
15120 2006-07-28  Bruno Haible  <bruno@clisp.org>
15121
15122         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
15123
15124 2006-07-28  Bruno Haible  <bruno@clisp.org>
15125
15126         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15127         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
15128         Define fallbacks.
15129         Avoids link error on FreeBSD 4.x.
15130         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15131
15132         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
15133         encoding.
15134         * lib/mbswidth.c (iswcntrl): Likewise.
15135
15136 2006-07-27  Bruno Haible  <bruno@clisp.org>
15137
15138         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
15139         test.
15140
15141 2006-07-27  Bruno Haible  <bruno@clisp.org>
15142
15143         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
15144         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
15145         defined.
15146
15147 2006-07-26  Eric Blake  <ebb9@byu.net>
15148
15149         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
15150
15151 2006-07-26  Eric Blake  <ebb9@byu.net>
15152
15153         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
15154         like mingw that lack mkstemp.
15155         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
15156         avoid compilation warning on mingw.
15157
15158 2006-07-26  Bruno Haible  <bruno@clisp.org>
15159
15160         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
15161         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
15162         INT_FAST*_MIN, INTPTR_MIN.
15163
15164 2006-07-25  Bruno Haible  <bruno@clisp.org>
15165
15166         * modules/version-etc (Depends-on): Add stdarg.
15167
15168 2006-07-25  Bruno Haible  <bruno@clisp.org>
15169
15170         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
15171         complex commands.
15172
15173 2006-07-25  Bruno Haible  <bruno@clisp.org>
15174
15175         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
15176         defined in <stdarg.h> or config.h.
15177
15178 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15179
15180         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
15181         (gl_STDIO_SAFER): Remove.
15182
15183 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15184
15185         * MODULES.html.sh (File stream based Input/Output):
15186         Add fopen-safer, tmpfile-safer; remove stdio-safer.
15187         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
15188         * modules/fopen-safer, modules/tmpfile-safer: New files.
15189         * modules/stdio-safer: Remove.
15190
15191 2006-07-24  Bruno Haible  <bruno@clisp.org>
15192
15193         * modules/tmpdir: New file.
15194         * MODULES.html.sh (File system functions): Add it.
15195
15196 2006-07-24  Bruno Haible  <bruno@clisp.org>
15197
15198         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
15199         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
15200
15201 2006-07-24  Bruno Haible  <bruno@clisp.org>
15202
15203         * modules/clean-temp: New file.
15204
15205 2006-07-24  Bruno Haible  <bruno@clisp.org>
15206
15207         * m4/tmpdir.m4: New file, from GNU gettext.
15208
15209 2006-07-24  Bruno Haible  <bruno@clisp.org>
15210
15211         * lib/tmpdir.h: New file, from GNU gettext.
15212         * lib/tmpdir.c: New file, from GNU gettext.
15213
15214 2006-07-24  Bruno Haible  <bruno@clisp.org>
15215
15216         * lib/clean-temp.h: New file, from GNU gettext.
15217         * lib/clean-temp.c: New file, from GNU gettext.
15218
15219 2006-07-23  Eric Blake  <ebb9@byu.net>
15220
15221         * modules/stdio-safer (Files): Add tmpfile-safer.c.
15222         (Depends-on): Add binary-io.
15223
15224 2006-07-23  Eric Blake  <ebb9@byu.net>
15225
15226         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
15227
15228 2006-07-23  Eric Blake  <ebb9@byu.net>
15229
15230         * lib/tmpfile-safer.c: New file.
15231         * lib/stdio-safer.h (fopen_safer): Add prototype.
15232         * lib/stdio--.h (tmpfile): Make safer.
15233
15234 2006-07-23  Bruno Haible  <bruno@clisp.org>
15235
15236         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
15237         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
15238         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
15239         gl_linked_remove_at): Use it.
15240
15241 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15242         and Simon Josefsson <jas@extundo.com>
15243
15244         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
15245
15246         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
15247
15248 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15249
15250         * modules/close-stream: New file.
15251         * modules/closeout (Description): Make it clear that it exits
15252         with a diagnostic on error.
15253         (Depends-on): Add close-stream.  Remove fpending, stdbool.
15254         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
15255
15256 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15257
15258         * m4/close-stream.m4: New file.
15259
15260 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15261
15262         * lib/close-stream.c, lib/close-stream.h: New files.
15263
15264 2006-07-22  Bruno Haible  <bruno@clisp.org>
15265
15266         Merge from GNU gettext 0.15.
15267
15268         2006-05-01  Bruno Haible  <bruno@clisp.org>
15269
15270                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
15271
15272         2006-07-22  Bruno Haible  <bruno@clisp.org>
15273
15274                 * modules/javaversion: New file.
15275                 * MODULES.html.sh (Java): Add javaversion.
15276
15277         2006-03-12  Bruno Haible  <bruno@clisp.org>
15278
15279                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
15280
15281         2005-12-04  Bruno Haible  <bruno@clisp.org>
15282
15283                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
15284                 (untested).
15285
15286         2006-06-21  Bruno Haible  <bruno@clisp.org>
15287
15288                 Avoid warnings from recent versions of mcs.
15289                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
15290                 -o, -L, -r any more. Use options documented since mcs-1.0
15291                 instead. Similarly for -g.
15292
15293         2005-12-04  Bruno Haible  <bruno@clisp.org>
15294
15295                 * build-aux/csharpcomp.sh.in: Suffix for resources is
15296                 .resources, not .resource.
15297
15298         2005-07-09  Bruno Haible  <bruno@clisp.org>
15299
15300                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
15301                 add a .dll suffix.
15302                 Reported by Mark Junker <mjscod@gmx.de>.
15303
15304         2006-07-22  Bruno Haible  <bruno@clisp.org>
15305
15306                 * modules/gettext: Upgrade to gettext-0.15.
15307                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
15308                 m4/visibility.m4.
15309                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
15310
15311 2006-07-22  Bruno Haible  <bruno@clisp.org>
15312
15313         Merge from GNU gettext 0.15.
15314
15315         2006-03-25  Bruno Haible  <bruno@clisp.org>
15316
15317                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
15318
15319         2006-07-21  Bruno Haible  <bruno@clisp.org>
15320
15321                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
15322                 "1.1".
15323
15324         2006-05-09  Bruno Haible  <bruno@clisp.org>
15325
15326                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
15327                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
15328                 for the conftestver execution.
15329
15330         2006-05-01  Bruno Haible  <bruno@clisp.org>
15331
15332                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
15333                 optional target-version argument. Verify that the compiler
15334                 groks source of the specified source-version, or add -source
15335                 option as necessary. Verify that the compiler produces
15336                 bytecode in the specified target-version, or add -target and
15337                 -source options as necessary. Make the result of the test
15338                 available as variable CONF_JAVAC. Also log error output in
15339                 config.log.
15340
15341         2006-03-11  Bruno Haible  <bruno@clisp.org>
15342
15343                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
15344
15345         2006-05-09  Bruno Haible  <bruno@clisp.org>
15346
15347                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
15348                 CLASSPATH_SEPARATOR to a semicolon.
15349
15350         2006-03-12  Bruno Haible  <bruno@clisp.org>
15351
15352                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
15353                 available as variable CONF_JAVA, for subsequent autoconf
15354                 tests. Also log error output in config.log.
15355
15356         2006-07-19  Bruno Haible  <bruno@clisp.org>
15357
15358                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
15359                 that getline works on glibc2 systems. Needed to avoid trouble
15360                 in relocatable.c.
15361                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
15362
15363         2005-12-04  Bruno Haible  <bruno@clisp.org>
15364
15365                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
15366                 launcher (untested).
15367
15368         2005-12-04  Bruno Haible  <bruno@clisp.org>
15369
15370                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
15371
15372         2006-07-22  Bruno Haible  <bruno@clisp.org>
15373
15374                 * gettext.m4: Update from GNU gettext-0.15.
15375                 * nls.m4: Likewise.
15376                 * po.m4: Likewise.
15377                 * inttypes-pri.m4: Likewise.
15378                 * inttypes-h.m4: Renamed from inttypes.m4.
15379                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
15380
15381 2006-07-22  Bruno Haible  <bruno@clisp.org>
15382
15383         Merge from GNU gettext 0.15.
15384
15385         2005-07-05  Bruno Haible  <bruno@clisp.org>
15386
15387                 * printf-args.c (printf_fetchargs): Work around broken
15388                 definition of wint_t on mingw.
15389
15390         2005-02-12  Bruno Haible  <bruno@clisp.org>
15391
15392                 * xallocsa.h: Add extern "C" for C++.
15393
15394         2006-05-17  Bruno Haible  <bruno@clisp.org>
15395
15396                 Cygwin portability.
15397                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
15398
15399         2006-04-30  Bruno Haible  <bruno@clisp.org>
15400
15401                 * progreloc.c: Include <mach-o/dyld.h> if available.
15402                 (find_executable): Use _NSGetExecutablePath when possible.
15403
15404         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
15405
15406                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
15407                 function.
15408
15409         2005-12-29  Bruno Haible  <bruno@clisp.org>
15410
15411                 * progreloc.c (set_program_name_and_installdir): Fix
15412                 compilation error.
15413
15414         2005-12-04  Bruno Haible  <bruno@clisp.org>
15415
15416                 Cygwin portability.
15417                 * progreloc.c: Include <windows.h> also on Cygwin.
15418                 (find_executable): Add support for Cygwin.
15419                 (set_program_name_and_installdir): Handle also platforms with
15420                 nonempty EXEEXT.
15421
15422         2006-07-11  Bruno Haible  <bruno@clisp.org>
15423
15424                 * javacomp.c: Fix a comment.
15425                 Reported by Jim Meyering.
15426
15427         2006-04-30  Bruno Haible  <bruno@clisp.org>
15428
15429                 * javacomp.h (compile_java_class): Add source_version,
15430                 target_version arguments.
15431                 * javacomp.c: Rewritten to choose only a compiler that
15432                 respects the specified source_version and target_version.
15433
15434         2006-06-27  Bruno Haible  <bruno@clisp.org>
15435
15436                 Assume correct S_ISDIR macro.
15437                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
15438
15439         2006-07-22  Bruno Haible  <bruno@clisp.org>
15440
15441                 * javaversion.h: New file, from GNU gettext.
15442                 * javaversion.c: New file, from GNU gettext.
15443                 * javaversion.java: New file, from GNU gettext.
15444                 * javaversion.class: New file, from GNU gettext.
15445
15446         2006-05-17  Bruno Haible  <bruno@clisp.org>
15447
15448                 Cygwin portability.
15449                 * javaexec.c (execute_java_class): Test for jview program
15450                 also on Cygwin.
15451
15452         2006-04-09  Bruno Haible  <bruno@clisp.org>
15453
15454                 * fatal-signal.c: Don't include string.h.
15455                 (at_fatal_signal): Use a copying loop instead of memcpy.
15456
15457         2005-12-04  Bruno Haible  <bruno@clisp.org>
15458
15459                 * csharpexec.c: Add support for 'clix' launcher (untested).
15460                 (execute_csharp_using_sscli): New function.
15461                 (execute_csharp_program): Call it.
15462
15463         2006-06-21  Bruno Haible  <bruno@clisp.org>
15464
15465                 Avoid warnings from recent versions of mcs.
15466                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
15467                 -o, -L, -r any more. Use options documented since mcs-1.0
15468                 instead. Similarly for -g.
15469
15470         2005-07-09  Bruno Haible  <bruno@clisp.org>
15471
15472                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
15473                 add a .dll suffix.
15474                 Reported by Mark Junker <mjscod@gmx.de>.
15475
15476         2006-06-17  Bruno Haible  <bruno@clisp.org>
15477
15478                 * config.charset: Update for NetBSD 3.0.
15479
15480         2006-05-17  Bruno Haible  <bruno@clisp.org>
15481
15482                 Cygwin portability.
15483                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
15484
15485         2006-05-16  Bruno Haible  <bruno@clisp.org>
15486
15487                 * localcharset.c [CYGWIN]: Include <windows.h>.
15488                 (get_charset_aliases): For Cygwin, return the same CPxxx
15489                 aliases list as under WIN32.
15490                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
15491                 the environment variables. Fall back to GetACP().
15492
15493         2006-04-05  Bruno Haible  <bruno@clisp.org>
15494
15495                 * config.charset: Update Juan Manuel Guerrero's address.
15496
15497         2005-02-12  Bruno Haible  <bruno@clisp.org>
15498
15499                 * allocsa.h: Add extern "C" for C++.
15500
15501         2005-02-10  Bruno Haible  <bruno@clisp.org>
15502
15503                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
15504                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
15505
15506         2006-07-22  Bruno Haible  <bruno@clisp.org>
15507
15508                 * gettext.h: Update to GNU gettext-0.15.
15509
15510 2006-07-22  Bruno Haible  <bruno@clisp.org>
15511
15512         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
15513         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
15514         lib-prefix.m4, longdouble.m4, ssize_t.m4.
15515
15516 2006-07-21  Eric Blake  <ebb9@byu.net>
15517
15518         * modules/stdlib-safer: New file.
15519         * MODULES.html.sh (File stream based Input/Output): Add
15520         stdlib-safer.
15521
15522 2006-07-21  Eric Blake  <ebb9@byu.net>
15523
15524         * lib/stdlib-safer.h: New file from coreutils, required by
15525         stdlib--.h.
15526
15527 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
15528
15529         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
15530
15531 2006-07-20  Bruno Haible  <bruno@clisp.org>
15532
15533         * gnulib-tool: Recognize new option --assume-autoconf.
15534         (autoconf_minversion): New variable.
15535         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
15536
15537 2006-07-20  Bruno Haible  <bruno@clisp.org>
15538
15539         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
15540
15541 2006-07-19  Derek R. Price  <derek@ximbiot.com>
15542
15543         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
15544         Reindent and repaginate.
15545
15546 2006-07-19  Derek Price  <derek@ximbiot.com>
15547
15548         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
15549         Correct grammar.
15550
15551 2006-07-17  Bruno Haible  <bruno@clisp.org>
15552
15553         * modules/list: New file.
15554         * modules/array-list: New file.
15555         * modules/carray-list, modules/carray-list-tests: New files.
15556         * modules/linked-list, modules/linked-list-tests: New files.
15557         * modules/avltree-list, modules/avltree-list-tests: New files.
15558         * modules/rbtree-list, modules/rbtree-list-tests: New files.
15559         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
15560         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
15561         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
15562         * modules/oset: New file.
15563         * modules/array-oset: New file.
15564         * modules/avltree-oset, modules/avltree-oset-tests: New files.
15565         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
15566         * tests/test-carray_list.c: New file.
15567         * tests/test-linked_list.c: New file.
15568         * tests/test-avltree_list.c: New file.
15569         * tests/test-rbtree_list.c: New file.
15570         * tests/test-linkedhash_list.c: New file.
15571         * tests/test-avltreehash_list.c: New file.
15572         * tests/test-rbtreehash_list.c: New file.
15573         * tests/test-avltree_oset.c: New file.
15574         * tests/test-rbtree_oset.c: New file.
15575         * MODULES.html.sh (Container data structures): New section.
15576
15577 2006-07-17  Bruno Haible  <bruno@clisp.org>
15578
15579         * m4/gl_list.m4: New file.
15580
15581 2006-07-17  Bruno Haible  <bruno@clisp.org>
15582
15583         * lib/gl_list.h: New file.
15584         * lib/gl_list.c: New file.
15585         * lib/gl_array_list.h: New file.
15586         * lib/gl_array_list.c: New file.
15587         * lib/gl_carray_list.h: New file.
15588         * lib/gl_carray_list.c: New file.
15589         * lib/gl_linked_list.h: New file.
15590         * lib/gl_linked_list.c: New file.
15591         * lib/gl_anylinked_list1.h: New file.
15592         * lib/gl_anylinked_list2.h: New file.
15593         * lib/gl_avltree_list.h: New file.
15594         * lib/gl_avltree_list.c: New file.
15595         * lib/gl_anyavltree_list1.h: New file.
15596         * lib/gl_anyavltree_list2.h: New file.
15597         * lib/gl_rbtree_list.h: New file.
15598         * lib/gl_rbtree_list.c: New file.
15599         * lib/gl_anyrbtree_list1.h: New file.
15600         * lib/gl_anyrbtree_list2.h: New file.
15601         * lib/gl_anytree_list1.h: New file.
15602         * lib/gl_anytree_list2.h: New file.
15603         * lib/gl_linkedhash_list.h: New file.
15604         * lib/gl_linkedhash_list.c: New file.
15605         * lib/gl_anyhash_list1.h: New file.
15606         * lib/gl_anyhash_list2.h: New file.
15607         * lib/gl_avltreehash_list.h: New file.
15608         * lib/gl_avltreehash_list.c: New file.
15609         * lib/gl_rbtreehash_list.h: New file.
15610         * lib/gl_rbtreehash_list.c: New file.
15611         * lib/gl_anytreehash_list1.h: New file.
15612         * lib/gl_anytreehash_list2.h: New file.
15613
15614         * lib/gl_oset.h: New file.
15615         * lib/gl_oset.c: New file.
15616         * lib/gl_array_oset.h: New file.
15617         * lib/gl_array_oset.c: New file.
15618         * lib/gl_avltree_oset.h: New file.
15619         * lib/gl_avltree_oset.c: New file.
15620         * lib/gl_rbtree_oset.h: New file.
15621         * lib/gl_rbtree_oset.c: New file.
15622         * lib/gl_anytree_oset.h: New file.
15623
15624 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15625
15626         * m4/mkancesdirs.m4: New file.
15627         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
15628         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
15629         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
15630         it.
15631
15632 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15633
15634         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
15635         * lib/mkancesdirs.h: New files.
15636         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
15637         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
15638         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
15639         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
15640         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
15641         callers changed.  Revamp internals significantly, by not
15642         attempting to create directories that are temporarily more
15643         permissive than the final results.  Do not attempt to use
15644         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
15645         This removes some race conditions, fixes some bugs, and simplifies
15646         things.  Use new dirchownmod function to do owner and mode changes.
15647         * lib/mkdir-p.h: Likewise.
15648         * lib/modechange.c (octal_to_mode): New function.
15649         (struct mode_change): New member mentioned.
15650         (make_node_op_equals): New arg mentioned.  All callers changed.
15651         (mode_compile): Keep track of which mode bits the user has explicitly
15652         mentioned.
15653         (mode_adjust): New arg DIR, so that we implement the X op correctly.
15654         New arg PMODE_BITS, to keep track of which mode bits the user
15655         mentioned; it treats S_ISUID and S_ISGID speciall.
15656         All callers changed.
15657         * lib/modechange.h: Likewise.
15658
15659 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15660
15661         * MODULES.html.sh: Add mkancestors.
15662         * modules/mkancesdirs: New module.
15663         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
15664         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
15665         The chdir-safer and afs files are now orphans; I'll remove them
15666         unless someone speaks up.
15667         Add lib/dirchownmod.c, lib/dirchownmod.h.
15668         (Depends-on): Remove alloca, chown, save-cwd, dirname.
15669         Add lchown, mkancesdirs.
15670         (Maintainer): Add self.
15671
15672 2006-07-15  Karl Berry  <karl@gnu.org>
15673
15674         * gnulib-tool: help message wording/arrangement.
15675
15676 2006-07-14  Simon Josefsson  <jas@extundo.com>
15677
15678         * doc/gnulib.texi (Libtool and Windows): New section.
15679
15680 2006-07-12  Simon Josefsson  <jas@extundo.com>
15681
15682         * modules/gendocs (License): Fix license, approved by Karl.
15683
15684 2006-07-12  Eric Blake  <ebb9@byu.net>
15685
15686         * MODULES.html.sh: Add gendocs.
15687
15688 2006-07-11  Eric Blake  <ebb9@byu.net>
15689
15690         * modules/fdl: New module, to install doc/fdl.texi.
15691         * MODULES.html.sh: Add new section for documentation modules.
15692         * gnulib-tool: Avoid space-tab.
15693         (--doc-base): New option, to manage files from doc.
15694
15695 2006-07-11  Eric Blake  <ebb9@byu.net>
15696
15697         * m4/absolute-header.m4: Fix comments to match recent change.
15698
15699 2006-07-11  Eric Blake  <ebb9@byu.net>
15700
15701         * gnulib-tool: List --doc-base before --tests-base.
15702
15703 2006-07-11  Derek R. Price  <derek@ximbiot.com>
15704
15705         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
15706
15707 2006-07-11  Bruno Haible  <bruno@clisp.org>
15708
15709         * README: Mention where to put documentation.
15710
15711 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15712
15713         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
15714
15715 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
15716
15717         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
15718         to stdint.m4.
15719
15720 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
15721
15722         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
15723         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
15724         "no/such/file/stdint.h" when there is no such file, so that
15725         the resulting C code can be parsed by dodgy compilers.
15726         Problems reported by Bob Proulx.
15727
15728 2006-07-10  Derek R. Price  <derek@ximbiot.com>
15729
15730         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
15731         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
15732         macros into the GNU _D_EXACT_NAMLEN.
15733         * lib/savedir.c:  Likewise.
15734         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
15735
15736 2006-07-10  Derek R. Price  <derek@ximbiot.com>
15737         and Paul Eggert  <eggert@cs.ucla.edu>
15738
15739         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
15740         * m4/savedir.m4:
15741         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
15742         macros into the GNU _D_EXACT_NAMLEN.
15743
15744 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15745
15746         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
15747         around the absolute name, to work around a problem with the HP-UX
15748         11.23 native C compiler, reported by Bob Proulx.
15749
15750 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         * doc/maintain.texi, make-stds.texi: Sync from
15753         <http://savannah.gnu.org/projects/gnustandards>.
15754
15755 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15756
15757         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
15758
15759 2006-07-09  Jim Meyering  <jim@meyering.net>
15760
15761         * m4/glob.m4: Remove a doubled word in a comment.
15762
15763 2006-07-09  Jim Meyering  <jim@meyering.net>
15764
15765         * lib/argp-pv.c: Remove a doubled word in a comment.
15766         * lib/check-version.c (check_version): Likewise.
15767         * lib/javacomp.c (compile_java_class): Likewise.
15768
15769 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15770
15771         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
15772         for the benefit of people using Autoconf 2.60.  If you want to
15773         support older Autoconf versions you can copy m4/onceonly_2_57.m4
15774         (or m4/onceonly.m4, if pre-2.57) manually.
15775
15776 2006-07-08  Jim Meyering  <jim@meyering.net>
15777
15778         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
15779         comment.
15780         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
15781         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
15782         comment.
15783
15784 2006-07-08  Jim Meyering  <jim@meyering.net>
15785
15786         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
15787
15788 2006-07-07  Simon Josefsson  <jas@extundo.com>
15789
15790         * tests/test-crc.c: Change expected crc value, the test vector
15791         were probably computed using the old broken crc.c?
15792
15793 2006-07-06  Simon Josefsson  <jas@extundo.com>
15794
15795         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
15796         now the canonical place for the M4 file).
15797
15798         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
15799         from the sys_socket dependency now.
15800
15801         * modules/inet_pton (Files): Ditto.
15802
15803         * modules/inet_ntop (Files): Ditto.
15804
15805 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15806
15807         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
15808         not gl_PREREQ_GETUSERSHELL.
15809
15810 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15811
15812         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
15813         with only one argument, for Autoconf 2.60.
15814         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
15815         expand to nothing, so add a shell command to avoid syntax error.
15816         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
15817
15818 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15819
15820         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
15821
15822 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15823
15824         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
15825         no longer needed.  Check for isblank decl.
15826         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
15827         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
15828         of existence.
15829
15830 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15831
15832         * lib/getloadavg.c: Use __VMS, not VMS.
15833         * lib/getopt.c: Likewise.
15834         * lib/getpagesize.h: Likewise.
15835         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
15836         and probably does not work.
15837
15838 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15839
15840         * lib/.cppi-disable: Add wcwidth.
15841         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
15842         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
15843         (ISGRAPH): Remove.  All uses changed to isgraph.
15844         (FOLD) [!defined _LIBC]: Remove special case.
15845         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
15846         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
15847         HAVE_ISBLANK.
15848         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
15849         case.
15850
15851 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
15852
15853         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
15854         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
15855         brackets.  Other minor changes to suppress some compiler
15856         warnings.
15857
15858 2006-07-06  Derek R. Price  <derek@ximbiot.com>
15859         and Paul Eggert  <eggert@cs.ucla.edu>
15860
15861         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
15862         of invoking obsolescent AC_HEADER_DIRENT macro.
15863         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15864         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
15865         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15866         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
15867         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
15868         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
15869         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
15870         * m4/readdir.m4: Remove; no longer needed.
15871
15872 2006-07-06  Derek R. Price  <derek@ximbiot.com>
15873         and Paul Eggert  <eggert@cs.ucla.edu>
15874
15875         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
15876         Don't worry about this obsolete case any more.
15877         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
15878         directories.
15879         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
15880         worry about this obsolete case any more.
15881         * lib/fts.c: Likewise.
15882         * lib/getcwd.c: Likewise.
15883         * lib/glob.h: Likewise.
15884         * lib/savedir.c: Likewise.
15885
15886 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15887
15888         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
15889         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
15890         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
15891         needed.
15892         All uses removed.
15893         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15894         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
15895         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
15896         needed.
15897         * m4/getdate.m4 (gl_GETDATE): Likewise.
15898         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
15899         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
15900         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15901         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15902         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
15903         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15904         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
15905         needed.
15906
15907 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15908
15909         * lib/memcasecmp.c: Include <limits.h>.
15910         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
15911         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
15912         Don't assume isdigit succeeds only on '0' through '9'.
15913
15914 2006-07-05  Eric Blake  <ebb9@byu.net>
15915
15916         * modules/getaddrinfo (Depends-on): Add snprintf.
15917
15918 2006-07-05  Eric Blake  <ebb9@byu.net>
15919
15920         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
15921         to avoid 'header present but could not be compiled' on cygwin.
15922
15923 2006-07-05  Eric Blake  <ebb9@byu.net>
15924
15925         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
15926         missing from netdb.h.
15927         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
15928
15929 2006-07-05  Derek R. Price  <derek@ximbiot.com>
15930
15931         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
15932         no longer needed.
15933         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
15934         * m4/getdate.m4 (gl_GETDATE): Likewise.
15935         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
15936         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
15937         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15938         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15939         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15940
15941 2006-07-05  Derek R. Price  <derek@ximbiot.com>
15942
15943         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
15944         All uses of is_space replaced by isspace.
15945         * lib/exit.h: Don't talk about STDC_HEADERS.
15946         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
15947         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
15948         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
15949         replaced by isprint etc.
15950         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
15951         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
15952         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
15953         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
15954         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
15955         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
15956
15957 2006-07-05  Bruno Haible  <bruno@clisp.org>
15958
15959         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
15960         the function exists, before testing against AIX.
15961         Reported by Martin Lambers <marlam@marlam.de>.
15962
15963 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
15964
15965         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
15966         From Mark D. Baushke.
15967
15968 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
15969
15970         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
15971         to the absolute name, not just one, to bypass Sun C 5.8's
15972         "warning: #include of /usr/include/... may be non-portable".
15973
15974 2006-07-04  Eric Blake  <ebb9@byu.net>
15975
15976         * modules/dirname-tests: New test module.
15977         * tests/test-dirname.c: New file, replacing dirname.c
15978         TEST_DIRNAME section that was recently deleted.
15979
15980 2006-07-04  Bruno Haible  <bruno@clisp.org>
15981
15982         Assume ANSI C header files and <ctype.h> functions.
15983         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
15984         (mbsnwidth): Use isprint, iscntrl instead.
15985
15986 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
15987
15988         Merge from coreutils.
15989         * MODULES.html.sh: Add xstrtold.
15990         * modules/xstrtold: New file.
15991         * modules/cycle-check (Files): Add lib/same-inode.h.
15992         * modules/dirname (Files): Add m4/double-slash-root.m4.
15993         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
15994         * modules/mkdir-p (Files): Add lib/same-inode.h.
15995         * modules/same (Files): Add lib/same-inode.h.
15996
15997 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
15998
15999         * m4/absolute-header.m4: Renamed from full-header-path.m4.
16000         This is to keep the terminology clean; POSIX talks about
16001         "absolute pathnames", not "full pathnames", but the GNU
16002         Coding Standards say to use "path" for something else;
16003         so use "absolute" to keep both sides happy.
16004         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
16005         Set gl_absolute_header, not gl_full_header_path.
16006         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
16007         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
16008         All uses changed.
16009
16010         Merge from coreutils.
16011
16012         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16013
16014         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
16015         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
16016         want to require the building of c-strtod.o.
16017         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
16018         needs -lm directly.
16019         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
16020
16021         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
16022
16023         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
16024         --as-needed option if available.  Problem reported by Albert Chin in
16025         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
16026         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
16027         cc merely issues a bunch of annoying warnings for --as-needed
16028         (this problem was reported by Bob Proulx).  Also, try linking with
16029         -lm to detect a bug in binutils 2.16 (this problem was reported
16030         by Ralf Wildenhues).
16031
16032         2006-06-18  Jim Meyering  <jim@meyering.net>
16033
16034         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
16035         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
16036         macro.
16037         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
16038         also check for glibc-2.4's abort-inducing bug.
16039
16040         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
16041         Low-probability clean-up should be to use rmdir to get rid of
16042         the just-created directory, not unlink.
16043
16044         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
16045         configure fail, and request a bug report to inform us about it.
16046         Add a comment that, barring reports to the contrary, in 2007 we'll
16047         assume ftruncate is universally available.
16048
16049         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16050
16051         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
16052
16053         2006-03-12  Jim Meyering  <jim@meyering.net>
16054
16055         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
16056         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
16057         * m4/same.m4 (gl_SAME): Likewise.
16058         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
16059
16060         2006-03-11  Eric Blake  <ebb9@byu.net>
16061
16062         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
16063         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
16064         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
16065         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
16066
16067 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16068
16069         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
16070         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
16071         reported by Mark D. Baushke, one in
16072         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
16073
16074         Merge from coreutils.
16075
16076         * lib/.cppi-disable: Add stdint_.h.
16077         * lib/.cvsignore: Add stdint.h.
16078
16079         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16080
16081         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
16082         both double and long double versions.
16083         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
16084         * lib/xstrtold.c: New file.
16085         * lib/xstrtod.h (xstrtold): New decl.
16086
16087         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16088
16089         * lib/filemode.c (setst): Remove.
16090         (strmode): Rewrite to avoid setst.  This makes the code shorter,
16091         (arguably) clearer, and the generated code is a bit smaller on my
16092         Debian GNU/Linux stable x86 host.
16093
16094         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16095
16096         * lib/filemode.c: Include "filemode.h" first, to test the interface.
16097         Assume that filemode.h includes sys/types.h and sys/stat.h.
16098         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
16099         (ftypelet): Reorder to put common cases first, for efficiency.
16100         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
16101         to do 'M'.
16102         (strmode): Renamed from mode_string, and now stores 12 bytes instead
16103         of 10, for compatibility with FreeBSD.  All callers changed.
16104         (filemodestring): Now stores 12 bytes instead of 10, and sets file
16105         types that can't be deduced solely from st_mode.  First arg is now a
16106         const pointer.
16107         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
16108         (strmode): Renamed from mode_string.
16109         (filemodestring): New decl.
16110         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
16111         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
16112         needed.
16113         (S_ISPORT, S_ISWHT): New macros, if not already defined.
16114
16115         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16116
16117         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
16118         fsusage.h now does that.  Include fsusage.h first, to test interface.
16119         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
16120         at most one method (the old code could have generated decls that
16121         didn't conform to C89, not that this was ever exercised).
16122         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
16123
16124         2006-03-19  Jim Meyering  <jim@meyering.net>
16125
16126         Work even in a chroot where d_ino values for entries in "/"
16127         don't match the stat.st_ino values for the same names.
16128         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
16129         number, iterate through all entries again, using lstat instead.
16130         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
16131         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
16132
16133         * lib/getcwd.c (__getcwd): Clarify a comment.
16134         Use memcpy in place of a call to strcpy.
16135
16136         2006-03-12  Jim Meyering  <jim@meyering.net>
16137
16138         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
16139         matches that of the current directory (which we're about to chdir ".."
16140         out of), then save the dev-ino of the parent, instead.
16141
16142         * lib/same-inode.h (SAME_INODE): New file/macro.
16143         * lib/chdir-safer.c (SAME_INODE): Remove definition.
16144         Include "same-inode.h", instead.
16145         * lib/same.c: Likewise.
16146         * lib/cycle-check.h: Include "same-inode.h".
16147         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
16148         * lib/cycle-check.c (SAME_INODE): Remove definition.
16149         * lib/root-dev-ino.h: Include "same-inode.h".
16150
16151         2006-03-11  Eric Blake  <ebb9@byu.net>
16152
16153         * lib/same.c (same_name): s/base_name/last_component/
16154         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
16155         * lib/filenamecat.c (file_name_concat): Likewise.
16156
16157         2006-03-11  Eric Blake  <ebb9@byu.net>,
16158                     Paul Eggert  <eggert@cs.ucla.edu>
16159
16160         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
16161         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
16162         drive prefix.
16163         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
16164         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
16165         (last_component): New method.
16166         * lib/dirname.c (dir_len): Determine when drive letters need a
16167         subsequent slash.  Preserve // when it is special.
16168         (dir_name): Don't append dot when drive letter is absolute.
16169         [TEST_DIRNAME]: Move into a full-blown gnulib test.
16170         * lib/basename.c (base_name): New semantics - malloc the result.
16171         Preserve // when it is special.  Preserve relative files that look
16172         like drive letters.
16173         (base_len): Preserve // when it is special.
16174         (last_component): New method, similar to old base_name semantics.
16175         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
16176         base_name.  Strip redundant slashes from ///.
16177
16178 2006-07-03  Jim Meyering  <jim@meyering.net>
16179
16180         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
16181         macro is used before the first cycle_check call.
16182
16183 2006-07-03  Eric Blake  <ebb9@byu.net>
16184
16185         * modules/dirname (Depends-on): Add xstrndup.
16186
16187 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
16188
16189         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
16190         test cases, so that config.log is a bit easier to follow.
16191
16192 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
16193
16194         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
16195         both are 64 bits, since this seems to be the tradition, and this
16196         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
16197         we ever run into a host that prefers long long to long in this
16198         case, we'll need another configure-time test.  Problem reported by
16199         Jim Meyering.
16200
16201 2006-07-02  Eric Blake  <ebb9@byu.net>
16202
16203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
16204
16205 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16206
16207         * modules/inttypes (Depends-on): No longer depends on stdint.
16208         * modules/stdint (Description): Say more about assumptions.
16209         Say that the fast types might differ.  Say macros are used.
16210         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
16211         (Makefile.am): Revise list of substituted symbols to match
16212         new stdint.m4.
16213         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
16214         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
16215         * tests/test-stdint.c (verify_same_types)
16216         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
16217         the code conforms to C99/C89.
16218         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
16219         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
16220
16221 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16222
16223         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
16224         but fix a bug, by requiring at least 64 bits.
16225         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
16226         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
16227         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
16228         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
16229
16230         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
16231         changes.  Make 2.59 a prerequisite.  Check and substitute for
16232         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
16233         inttypes.h.  Do not use special include files; just use the
16234         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
16235         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
16236         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
16237         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
16238         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
16239         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
16240         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
16241         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
16242         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
16243         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
16244         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
16245         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
16246         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
16247         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
16248         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
16249         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
16250         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
16251         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
16252         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
16253         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
16254         WINT_MAX.  Check for C99 conformance more strictly, by detecting
16255         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
16256         not check for things that C99 does not require, e.g., int8_t.  If
16257         a test isn't needed unless <stdint.h> isn't working, and is
16258         unlikely to be needed for any other reason, then don't do it
16259         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
16260         size_t, since we assume C89 freestanding at least.  Do not check
16261         for sig_atomic_t, wchar_t, or wint_t, since the code now does
16262         the right thing even if the types are not defined.  Instead use:
16263         (gl_STDINT_TYPE_PROPERTIES): New macro.
16264         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
16265         testing whether <sys/types.h> clashes, as Autoconf does this for
16266         us now.  All uses removed.
16267         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
16268         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
16269         (gl_CHECK_TYPE_SAME):
16270         Remove; no longer needed.
16271         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
16272         exists, since we'll return 0 anyway in that case.
16273         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
16274
16275 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16276
16277         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
16278         possible collision with system files.
16279         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
16280         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
16281         WCHAR_MIN and WCHAR_MAX in this case.
16282         (<stddef.h>): Do not include; no longer needed.
16283         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
16284         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
16285         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
16286         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
16287         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
16288         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
16289         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
16290         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
16291         !defined(__c99))]: Include in this case too, since it's harmless
16292         now.
16293         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
16294         dangerous to do so.
16295         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
16296         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
16297         (_STDINT_MIN, _STDINT_MAX): New macros.
16298         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
16299         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
16300         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
16301         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
16302         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
16303         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
16304         macros, not typedefs; this simplifies things quite a bit.
16305         Use long int for all types narrower than int64_t.
16306         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
16307         Define in terms of long long int or int64_t or long int,
16308         not int64_t or int32_t.  This saves some compile-time testing.
16309         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
16310         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
16311         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
16312         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
16313         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
16314         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
16315         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
16316         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
16317         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
16318         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
16319         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
16320         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
16321         undef any previous version and define our own version, for
16322         simplicity and consistency with the new macros for types.
16323         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
16324         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
16325         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
16326         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
16327         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
16328         @WINT_T_SUFFIX@ to keep things simple here.
16329         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
16330         Simplify by assuming typical 8/16/32/64 host, since we're
16331         already doing that elsewhere anyway.
16332         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
16333         and assume long long int is 64 bits if available.  This
16334         speeds up 'configure'.
16335
16336 2006-07-01  Eric Blake  <ebb9@byu.net>
16337
16338         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
16339         Reported by Andreas Buening.
16340
16341 2006-07-01  Eric Blake  <ebb9@byu.net>
16342
16343         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
16344
16345 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
16346
16347         * lib/getaddrinfo.c: fixed typo
16348
16349 2006-06-29  Jim Meyering  <jim@meyering.net>
16350
16351         * modules/strftime (Maintainer): Add my name, since with the
16352         FPRINTFTIME changes strftime.c has forked from glibc.
16353
16354 2006-06-29  Eric Blake  <ebb9@byu.net>
16355
16356         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
16357
16358 2006-06-29  Eric Blake  <ebb9@byu.net>
16359
16360         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
16361
16362 2006-06-29  Eric Blake  <ebb9@byu.net>
16363
16364         * lib/stat_.h: New file.
16365
16366 2006-06-29  Eric Blake  <ebb9@byu.net>
16367
16368         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
16369         unused static function.
16370
16371 2006-06-29  Eric Blake  <ebb9@byu.net>
16372
16373         * doc/functions.texi (Function Portability): Document missing lstat
16374         on mingw.
16375
16376 2006-06-29  Eric Blake  <ebb9@byu.net>
16377
16378         * MODULES.html.sh: Add sys_stat.
16379         * modules/sys_stat: New module.
16380         * modules/mkstemp (Depends-on): Add sys_stat.
16381
16382 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16383
16384         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
16385
16386 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16387
16388         * m4/c-bs-a.m4: Removed.
16389
16390 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16391
16392         * lib/strftime.c: Assume strftime() exists.
16393
16394 2006-06-29  Derek Price  <derek@ximbiot.com>
16395
16396         * modules/c-bs-a: Removed - \a is C89.
16397         * MODULES.html.sh: Remove c-bs-a.
16398
16399 2006-06-29  Bruno Haible  <bruno@clisp.org>
16400
16401         * modules/wcwidth (License): Change to LGPL.
16402
16403 2006-06-28  Simon Josefsson  <jas@extundo.com>
16404
16405         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
16406         on _WIN32.
16407
16408         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
16409         getnameinfo.
16410
16411 2006-06-28  Simon Josefsson  <jas@extundo.com>
16412
16413         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
16414
16415 2006-06-28  Simon Josefsson  <jas@extundo.com>
16416
16417         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
16418         functions there.  It will succeed on Windows XP, but on Windows
16419         2000 and (presumably) earlier, it will fail, and use the internal
16420         re-implementation.
16421         (use_win32_p): New function.
16422         (getaddrinfo): Use strtoul on servname, to support numeric ports.
16423         Support AI_NUMERICSERV to disable getservbyname.
16424         (getnameinfo): New function, only supports
16425         NI_NUMERICHOST|NI_NUMERICSERV for now.
16426
16427         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
16428         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
16429         getnameinfo.
16430
16431 2006-06-28  Eric Blake  <ebb9@byu.net>
16432
16433         * modules/wcwidth: New file.
16434         * modules/mbchar (Depends-on): Add wcwidth.
16435         * modules/mbswidth (Depends-on): Add wcwidth.
16436         * MODULES.html.sh: Add wcwidth.
16437
16438 2006-06-28  Eric Blake  <ebb9@byu.net>
16439
16440         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
16441         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
16442
16443 2006-06-28  Eric Blake  <ebb9@byu.net>
16444
16445         * lib/xvasprintf.h: Fix comments.
16446
16447 2006-06-28  Eric Blake  <ebb9@byu.net>
16448
16449         * lib/mbchar.h (wcwidth): Include wcwidth.h.
16450         * lib/mbswidth.c (wcwidth): Move from here...
16451         * lib/wcwidth.h: ...to this new file.
16452
16453 2006-06-28  Derek R. Price  <derek@ximbiot.com>
16454
16455         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
16456
16457         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
16458         it's obsolete.
16459         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
16460
16461 2006-06-28  Derek R. Price  <derek@ximbiot.com>
16462
16463         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
16464         Autoconf 2.60 says this stuff was obsolete.
16465
16466 2006-06-28  Bruno Haible  <bruno@clisp.org>
16467
16468         * modules/wcwidth (Files): Add m4/wchar_t.m4.
16469
16470 2006-06-28  Bruno Haible  <bruno@clisp.org>
16471
16472         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
16473         gt_TYPE_WCHAR_T.
16474
16475 2006-06-28  Bruno Haible  <bruno@clisp.org>
16476
16477         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
16478         declaration for wcwidth.
16479         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
16480
16481 2006-06-28  Bruno Haible  <bruno@clisp.org>
16482
16483         * lib/mkdtemp.c [MINGW]: Include <io.h>.
16484         (mkdir): Define using _mkdir.
16485
16486 2006-06-28  Bruno Haible  <bruno@clisp.org>
16487
16488         * lib/getaddrinfo.h: Fix POSIX URL.
16489         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
16490         _WIN32.
16491         (use_win32_p): Make static.
16492         (getaddrinfo): Reject service name if it is empty or does not consist
16493         solely of decimal digits, or if its value is > 65535.
16494         (getnameinfo): Remove useless casts.
16495
16496 2006-06-27  Simon Josefsson  <jas@extundo.com>
16497
16498         * modules/sys_select: New file, suggested by Bruno Haible, Paul
16499         Eggert and Martin Lambers.
16500
16501 2006-06-27  Simon Josefsson  <jas@extundo.com>
16502
16503         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
16504         Eggert and Martin Lambers.
16505
16506 2006-06-27  Bruno Haible  <bruno@clisp.org>
16507
16508         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
16509         result to 0, not to empty.
16510         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
16511
16512 2006-06-27  Bruno Haible  <bruno@clisp.org>
16513
16514         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
16515
16516 2006-06-26  Simon Josefsson  <jas@extundo.com>
16517
16518         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
16519         present.
16520
16521 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
16522
16523         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
16524         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
16525         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
16526
16527 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
16528
16529         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
16530
16531 2006-06-26  Bruno Haible  <bruno@clisp.org>
16532
16533         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
16534
16535 2006-06-26  Bruno Haible  <bruno@clisp.org>
16536
16537         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
16538
16539 2006-06-26  Bruno Haible  <bruno@clisp.org>
16540
16541         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
16542         SGI C compiler in pre-C99 mode.
16543         Suggested by Mark D. Baushke and Larry Jones.
16544
16545 2006-06-26  Bruno Haible  <bruno@clisp.org>
16546
16547         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
16548         WCHAR_MAX.
16549         Reported by Mark D. Baushke and Larry Jones.
16550
16551 2006-06-26  Bruno Haible  <bruno@clisp.org>
16552
16553         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
16554         in pre-C99 mode.
16555         Suggested by Mark D. Baushke and Larry Jones.
16556
16557 2006-06-23  Simon Josefsson  <jas@extundo.com>
16558             Bruno Haible  <bruno@clisp.org>
16559
16560         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
16561         Emit mostlyclean-local rule.
16562         (func_emit_tests_Makefile_am): Likewise.
16563         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
16564
16565 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
16566
16567         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
16568
16569 2006-06-23  Bruno Haible  <bruno@clisp.org>
16570
16571         * tests/test-stdint.c: Update to match ISO C 99 Technical
16572         Corrigendum 1.
16573
16574 2006-06-23  Bruno Haible  <bruno@clisp.org>
16575
16576         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
16577
16578 2006-06-23  Bruno Haible  <bruno@clisp.org>
16579
16580         * lib/stdint_.h: Treat IRIX like OpenBSD.
16581
16582 2006-06-23  Bruno Haible  <bruno@clisp.org>
16583
16584         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
16585         ISO C 99 Technical Corrigendum 1.
16586
16587 2006-06-22  Simon Josefsson  <jas@extundo.com>
16588
16589         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
16590         MinGW.
16591
16592 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16593
16594         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
16595         needed.  Some compiler complained about some of them.  Problem reported
16596         by Larry Jones in
16597         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
16598
16599 2006-06-21  Simon Josefsson  <jas@extundo.com>
16600
16601         * tests/test-getaddrinfo.c: New file.
16602
16603         * modules/getaddrinfo-tests: New file.
16604
16605         * MODULES.html.sh: Add inet_pton.
16606
16607         * modules/inet_pton: New file.
16608
16609 2006-06-21  Simon Josefsson  <jas@extundo.com>
16610
16611         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
16612         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
16613         of using the (limited) gnulib implementation on Windows XP.
16614
16615         * m4/inet_pton.m4: New file.
16616
16617 2006-06-21  Simon Josefsson  <jas@extundo.com>
16618
16619         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
16620         variable.
16621
16622         * lib/socket_.h: Don't define WINVER.
16623
16624         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
16625         slightly modified to work in gnulib.
16626
16627 2006-06-21  Simon Josefsson  <jas@extundo.com>
16628
16629         * doc/gnulib.texi (Windows sockets): Add.
16630
16631 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
16632
16633         * lib/read-file.c (fread_file): Start with buffer allocation of
16634         0 bytes rather than 1 byte; this simplifies the code.
16635         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
16636         code to free buffer and save/restore errno.
16637         (internal_read_file): Remove unused local.
16638
16639 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16640
16641         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
16642         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
16643         Problem reported by Denis Excoffier in
16644         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
16645
16646 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16647
16648         * modules/sys_socket, modules/socklen: Include sys/types since
16649         FreeBSD 4.x's sys/socket.h needs it.
16650
16651 2006-06-19  Simon Josefsson  <jas@extundo.com>
16652
16653         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
16654
16655 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
16656
16657         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
16658
16659 2006-06-19  Bruno Haible  <bruno@clisp.org>
16660
16661         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
16662         and FULL_PATH_INTTYPES_H in angle brackets.
16663         Reported by Mark D. Baushke <mdb@gnu.org>.
16664
16665 2006-06-17  Eric Blake  <ebb9@byu.net>
16666
16667         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
16668         errno.
16669
16670 2006-06-17  Bruno Haible  <bruno@clisp.org>
16671
16672         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
16673         <sys/inttypes.h>.
16674
16675 2006-06-17  Bruno Haible  <bruno@clisp.org>
16676
16677         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
16678         whether errno is declared. Assume <errno.h> declares errno.
16679
16680 2006-06-17  Bruno Haible  <bruno@clisp.org>
16681
16682         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
16683
16684 2006-06-17  Bruno Haible  <bruno@clisp.org>
16685
16686         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
16687         problem on Solaris 2.5.1.
16688
16689 2006-06-16  Eric Blake  <ebb9@byu.net>
16690
16691         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
16692         * lib/unicodeio.c [!defined errno]: Likewise.
16693         * lib/strtol.c [!defined errno]: Likewise.
16694         * lib/strtod.c [!defined errno]: Likewise.
16695
16696 2006-06-15  Eric Blake  <ebb9@byu.net>
16697
16698         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
16699
16700 2006-06-15  Eric Blake  <ebb9@byu.net>
16701
16702         * config/srclist.txt (ssize_t.m4): Lose sync.
16703
16704 2006-06-15  Bruno Haible  <bruno@clisp.org>
16705
16706         * modules/stdint (Files): Include m4/full-header-path.m4,
16707         m4/size_max.m4, m4/wchar_t.m4.
16708         (Makefile.am): Many more substitutions.
16709         * modules/stdint-tests: New file.
16710         * tests/test-stdint.c: New file.
16711
16712 2006-06-15  Bruno Haible  <bruno@clisp.org>
16713
16714         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
16715         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
16716         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
16717         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
16718         gl_CHECK_TYPE_SAME): New macros.
16719
16720 2006-06-15  Bruno Haible  <bruno@clisp.org>
16721
16722         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
16723
16724 2006-06-15  Bruno Haible  <bruno@clisp.org>
16725
16726         * lib/stdint_.h: Rewritten to be fully auto-configured.
16727         Fixes bug on HP-UX/IA64.
16728
16729 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
16730
16731         * lib/getdate.y (__attribute__): Don't define if already defined.
16732         Problem reported by Larry Jones.
16733         * lib/utimens.c (__attribute__): Likewise.
16734
16735 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
16736
16737         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
16738         reported by Andreas Schwab.
16739
16740 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16741             Bruno Haible  <bruno@clisp.org>
16742
16743         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
16744         check for the declaration of strnlen and a run test that exposes the
16745         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
16746         rpl_strndup.
16747
16748 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16749             Bruno Haible  <bruno@clisp.org>
16750
16751         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
16752
16753 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16754
16755         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
16756         compile test, for Tru64 4.0D.
16757
16758 2006-05-28  Karl Berry  <karl@gnu.org>
16759
16760         * config/srclist.txt (printf-args.c): lose sync.
16761
16762 2006-05-26  Martin Lambers  <marlam@marlam.de>
16763
16764         * lib/getpass.c: Updates the test for the native W32 API, and adds
16765         missing includes, thus fixing compilation warnings.
16766
16767 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16768
16769         * lib/exclude.c (exclude_fnmatch): New function.
16770         (excluded_file_name): Call exclude_fnmatch.
16771         * lib/exclude.h (excluded_file_name): New prototype
16772
16773 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
16774
16775         * lib/tempname.c (small_open, large_open): New macros.
16776         (__open, __open64) [!_LIBC]: Remove.
16777         (__gen_tempname): Use small_open and large_open instead of __open
16778         and __open64.  This fixes a portability bug on HP-UX 11.11i
16779         reported by Simon Wing-Tang in
16780         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
16781
16782 2006-05-24  Bruno Haible  <bruno@clisp.org>
16783
16784         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
16785         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
16786         Reported by Thorsten Maerz <torte@netztorte.de> via
16787         Aaron Stone <aaron@serendipity.cx>.
16788
16789 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16790
16791         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
16792         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
16793         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
16794         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
16795         not really conditional on the cache.
16796         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
16797
16798 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16799
16800         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
16801         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
16802         (my_usleep): Don't mishandle maximum value.
16803
16804 2006-05-19  Jim Meyering  <jim@meyering.net>
16805
16806         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
16807
16808 2006-05-17  Bruno Haible  <bruno@clisp.org>
16809
16810         Cygwin portability.
16811         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
16812
16813 2006-05-17  Bruno Haible  <bruno@clisp.org>
16814
16815         * lib/stdint_.h: Fix recognition of Cygwin.
16816
16817 2006-05-15  Bruno Haible  <bruno@clisp.org>
16818
16819         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
16820         on libtool patch by Ralf Wildenhues.
16821
16822 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
16825         test for C99 conformance; (bool) 0.5 is an integer constant
16826         expression, but (bool) -0.5 is not.  Problem reported by Fedor
16827         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
16828
16829 2006-05-11  Simon Josefsson  <jas@extundo.com>
16830
16831         * m4/xvasprintf.m4: Fix obvious typo.
16832
16833 2006-05-11  Jim Meyering  <jim@meyering.net>
16834
16835         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
16836         James Lemley.
16837
16838 2006-05-10  Simon Josefsson  <jas@extundo.com>
16839
16840         * lib/md4.c: Typo fix, update copyright years.
16841         (K1, K2): Don't use L because it turn computations into 64-bit on
16842         64-bit platforms.
16843
16844 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
16845
16846         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
16847         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
16848         unwanted sign propagation, e.g., on hosts with 64-bit int.
16849         There still are some problems with reeelly weird theoretical hosts
16850         (e.g., 33-bit int) but it's not worth worrying about now.
16851         * lib/sha1.c (rol): Likewise.
16852         (K1, K2, K3, K4): Remove unnecessary L suffix.
16853
16854 2006-05-10  Bruno Haible  <bruno@clisp.org>
16855
16856         * lib/des.c: Cast to avoid warnings.
16857
16858 2006-05-09  Bruno Haible  <bruno@clisp.org>
16859
16860         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
16861         (Depends-on): Depend also on xsize, stdarg.
16862         (configure.ac): Add gl_XVASPRINTF.
16863
16864 2006-05-09  Bruno Haible  <bruno@clisp.org>
16865
16866         * m4/xvasprintf.m4: New file.
16867
16868 2006-05-09  Bruno Haible  <bruno@clisp.org>
16869
16870         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
16871         (EOVERFLOW): Define fallback value.
16872         (xstrcat): New function.
16873         (xvasprintf): Recognize the special case of a string concatenation.
16874
16875 2006-05-08  Eric Blake  <ebb9@byu.net>
16876
16877         * gnulib-tool (func_version): Base copyright year on CVS date.
16878         (func_emit_copyright_notice): New function.
16879         (func_emit_lib_Makefile_am): Use it.
16880         (func_emit_tests_Makefile_am): Likewise.
16881         (func_import): Likewise.
16882
16883 2006-05-08  Bruno Haible  <bruno@clisp.org>
16884
16885         * modules/stdarg: New file.
16886         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
16887
16888 2006-05-08  Bruno Haible  <bruno@clisp.org>
16889
16890         * m4/stdarg.m4: New file, from GNU gettext.
16891
16892 2006-05-08  Bruno Haible  <bruno@clisp.org>
16893
16894         * config/srclist.txt (build-aux/config.rpath): different from latest
16895         release.
16896
16897 2006-05-08  Bruno Haible  <bruno@clisp.org>
16898
16899         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
16900
16901 2006-05-05  Jim Meyering  <jim@meyering.net>
16902
16903         * m4/warning.m4: New file, derived from bison's file by the same name.
16904
16905 2006-05-03  Bruno Haible  <bruno@clisp.org>
16906
16907         * lib/stdint_.h: Shorter URL.
16908         * lib/inttypes.h: Likewise.
16909
16910 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16911
16912         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
16913
16914 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16915
16916         * lib/verify.h: Document the internals better.  Most of this change
16917         was written by Bruno Haible.
16918
16919 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16920
16921         * doc/verify.texi: New file, partly based on a proposal by
16922         Bruno Haible.
16923
16924 2006-05-02  Bruno Haible  <bruno@clisp.org>
16925
16926         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
16927         test from here...
16928         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
16929
16930 2006-04-29  Bruno Haible  <bruno@clisp.org>
16931
16932         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
16933         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
16934
16935 2006-04-29  Bruno Haible  <bruno@clisp.org>
16936
16937         * gnulib-tool: Make --update option actually work.
16938
16939 2006-04-29  Bruno Haible  <bruno@clisp.org>
16940
16941         * doc/gcd.texi: New file.
16942         * doc/gnulib.texi: Include it.
16943
16944 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16945
16946         * lib/getdate.y (get_date): When adding relative date, start with the
16947         initial time, not with the result of the first mktime call.
16948
16949 2006-04-25  Bruno Haible  <bruno@clisp.org>
16950
16951         * gnulib-tool (func_import): Output the include directives in three
16952         blocks, sorted separately.
16953         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16954
16955 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16956
16957         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
16958         to define main with arguments, for C++.  Reported by Eric Blake.
16959         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16960         Prefer 'int main ()' to 'int main (void)', for C++.
16961         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
16962         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
16963         for 'main', for C99 and C++.
16964
16965 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16966
16967         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
16968         Don't assume that exit status -1 is valid.
16969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16970         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
16971         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
16972         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
16973         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
16974         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
16975         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
16976         functions can be used without declaring them, or that you can
16977         exit with status -1.
16978         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
16979
16980 2006-04-24  Karl Berry  <karl@gnu.org>
16981
16982         * config/srclist.txt (longdouble.m4): sync lost.
16983
16984 2006-04-24  Eric Blake  <ebb9@byu.net>
16985
16986         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
16987
16988 2006-04-24  Bruno Haible  <bruno@clisp.org>
16989
16990         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
16991         poll() implementation in AIX.
16992         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16993
16994 2006-04-24  Bruno Haible  <bruno@clisp.org>
16995
16996         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
16997         assigned exactly once.
16998
16999 2006-04-23  Claudio Fontana  <claudio@gnu.org>
17000             Bruno Haible  <bruno@clisp.org>
17001
17002         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
17003         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
17004         for AM_CPPFLAGS.
17005
17006 2006-04-23  Bruno Haible  <bruno@clisp.org>
17007
17008         * modules/copy-file: Depend on unistd.
17009         * modules/execute: Likewise.
17010         * modules/fatal-signal: Likewise.
17011         * modules/findprog: Likewise.
17012         * modules/mkdtemp : Likewise.
17013         * modules/pipe: Likewise.
17014         * modules/wait-process: Likewise.
17015
17016 2006-04-23  Bruno Haible  <bruno@clisp.org>
17017
17018         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
17019         condition was already detected.
17020         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17021
17022 2006-04-23  Bruno Haible  <bruno@clisp.org>
17023
17024         * lib/copy-file.c: Include <unistd.h> unconditionally.
17025         * lib/execute.c: Likewise.
17026         * lib/fatal-signal.c: Likewise.
17027         * lib/findprog.c: Likewise.
17028         * lib/mkdtemp.c: Likewise.
17029         * lib/pipe.h: Likewise.
17030         * lib/pipe.c: Likewise.
17031         * lib/wait-process.h: Likewise.
17032
17033 2006-04-23  Bruno Haible  <bruno@clisp.org>
17034
17035         * gnulib-tool (func_usage): Fix --import description. Document
17036         --update.
17037         (func_import): Create temporary file in a temporary directory, if
17038         --dry-run is specified. Silence errors from 'grep' when there are no
17039         m4 files in $m4dir.
17040         (func_create_testdir): Silence errors from 'grep' when there are no
17041         m4 files in $m4dir.
17042         Reported by Karl Berry <karl@freefriends.org>.
17043
17044 2006-04-20  Bruno Haible  <bruno@clisp.org>
17045
17046         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
17047         one argument, so that the code will be portable to Autoconf 2.60.
17048         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
17049         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
17050         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
17051
17052 2006-04-19  Derek Price  <derek@ximbiot.com>
17053             Eric Blake  <ebb9@byu.net>
17054
17055         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
17056         rather than "/full/path.h".  Update comment to match.  Shorten &
17057         generalize m4_translit call via AS_TR_CPP.
17058
17059 2006-04-19  Derek Price  <derek@ximbiot.com>
17060             Eric Blake  <ebb9@byu.net>
17061
17062         * lib/inttypes.h: Correct grammar in comment.
17063
17064 2006-04-18  Derek Price  <derek@ximbiot.com>
17065             Paul Eggert  <eggert@cs.ucla.edu>
17066
17067         * modules/inttypes: New file.
17068         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
17069
17070 2006-04-18  Derek Price  <derek@ximbiot.com>
17071             Paul Eggert  <eggert@cs.ucla.edu>
17072
17073         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
17074         New files.
17075
17076 2006-04-18  Derek Price  <derek@ximbiot.com>
17077             Paul Eggert  <eggert@cs.ucla.edu>
17078
17079         * lib/inttypes.h: New file.
17080         * lib/strtoimax.c: Assume <inttypes.h>.
17081
17082 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
17083
17084         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
17085         isn't mounted.  Problem reported by Kir Kolyshkin.
17086
17087 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
17088
17089         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
17090         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
17091         Derek R. Price.
17092         * lib/regex.h (RE_DUP_MAX): Update comment to match current
17093         implementation.
17094
17095 2006-04-12  Eric Blake  <ebb9@byu.net>
17096
17097         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
17098         is now done automatically by the corresponding Autoconf macro.
17099
17100 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
17101
17102         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
17103         time_r.h.
17104
17105 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17106
17107         Merge regex changes from libc, removing some of our
17108         POSIX-conformance changes that were rejected and redoing them in a
17109         less-intrusive way.
17110
17111         * lib/regcomp.c (re_compile_internal, init_dfa):
17112         Length arg is now size_t, not Idx.  All uses changed.
17113         (peek_token): Forward decl now says internal_function.
17114         (__re_error_msgid, __re_error_msgid_idx):
17115         Now static rather than extern with attribute_hidden.
17116         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
17117         For some reason libc prefers K&R style defns for external functions.
17118         (regerror) [!defined _LIBC]: Likewise.
17119         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
17120         (seek_collating_symbol_entry, lookup_collation_sequence_value):
17121         (build_range_exp, build_collating_symbol):
17122         Use K&R-style defn.
17123         (re_compile_fastmap): Use '\0' to memset, not 0.
17124         (utf8_sb_map): Make the calculations more obvious.
17125         (init_dfa, parse_bracket_exp, build_charclass_op):
17126         Call calloc and cast result, as glibc does.
17127         (init_word_char, fetch_token, peek_token, peek_token_bracket):
17128         (build_range_exp, build_collating_symbol):
17129         Now internal functions.
17130
17131         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
17132
17133         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
17134         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
17135         Don't depend on VMS; depend on __VMS instead, for POSIX
17136         namespace cleanness.
17137         (regoff_t): Define to ssize_t, not long int.
17138
17139         Remove the REG_ macros named below.  Instead, make the old names
17140         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
17141         __USE_GNU_REGEX.
17142         (REG_BACKSLASH_ESCAPE_IN_LISTS):
17143         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
17144         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
17145         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
17146         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
17147         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
17148         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
17149         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
17150         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
17151         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
17152         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
17153         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
17154         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
17155         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
17156         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
17157         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
17158         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
17159         (REG_NREGS):
17160         Remove.  All uses replaced by the old RE_* names.
17161         (RE_BACKSLASH_ESCAPE_IN_LISTS):
17162         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
17163         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
17164         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
17165         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
17166         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
17167         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
17168         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
17169         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
17170         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
17171         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
17172         Don't bother having these macros be independent of each others'
17173         values, since they no longer exist in the POSIX name space.
17174
17175         Rename the following member names back to their old names,
17176         unless !__USE_GNU_REGEX.  All uses changed back.
17177         (buffer): Renamed from re_buffer.
17178         (allocated): Renamed from re_allocated.
17179         (used): Renamed from re_used.
17180         (syntax): Renamed from re_syntax.
17181         (fastmap): Renamed from re_fastmap.
17182         (translate): Renamed from re_translate.
17183         (can_be_null): Renamed from re_can_be_null.
17184         (regs_allocated): Renamed from re_regs_allocated.
17185         (fastmap_accurate): Renamed from re_fastmap_accurate.
17186         (no_sub): Renamed from re_no_sub.
17187         (not_bol): Renamed from re_not_bol.
17188         (not_eol): Renamed from re_not_eol.
17189         (newline_anchor): Renamed from re_newline_anchor.
17190         (num_regs): Renamed from rm_num_regs.
17191         (start): Renamed from rm_start.
17192         (end): Renamed from rm_end.
17193
17194         (free_state): Move up a bit.
17195
17196         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
17197         #define to be empty.
17198         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
17199         when that is what is intended.
17200         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
17201         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
17202         (MAX): New macro.
17203         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
17204         All uses changed back to re_malloc, etc.  It's now the caller's
17205         responsibility to check for overflow; all callers changed.
17206         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
17207         (re_x2nrealloc): Remove.
17208         (free_state): Remove decl.
17209
17210         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
17211         (re_set_registers, re_exec):
17212         Use K&R-style defn.
17213
17214         2006-01-31  Roland McGrath  <roland@redhat.com>
17215
17216         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
17217         Reported by Mike Frysinger <vapier@gentoo.org>.
17218
17219         2006-01-15  Andreas Jaeger  <aj@suse.de>
17220
17221         [BZ #1950]
17222         * lib/regex_internal.c (re_string_reconstruct): Adjust for
17223         build_wcs_upper_buffer change.
17224         (build_wcs_upper_buffer): Change return type.
17225
17226         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
17227
17228         * lib/regex_internal.h: Include <stdint.h> if available.
17229
17230         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
17231
17232         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
17233
17234         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
17235
17236         * lib/regcomp.c: Adjust for changed secondary hash function.
17237
17238         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
17239
17240         * lib/regex.h: Pretty printing.
17241         Clean up namespace a bit.
17242
17243         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
17244
17245         * lib/regexec.c (update_cur_sifted_state, check_arrival,
17246         check_arrival_add_next_nodes): Avoid using uninitialized variable.
17247
17248         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17249                     Ulrich Drepper  <drepper@redhat.com>
17250
17251         [BZ #1302]
17252         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
17253         changed.
17254         (bitset_word_t): Renamed from bitset_word.  All uses changed.
17255
17256         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
17257
17258         [BZ #281]
17259         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
17260         * lib/regcomp.c: Remove unnecessary uses of
17261         unsigned RE_TRANSLATE_TYPE.
17262         * lib/regex_internal.h: Likewise.
17263         * lib/regex_internal.c: Likewise.
17264         * lib/regexec.c: Likewise.
17265         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
17266
17267         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
17268
17269         * lib/regexec.c (find_recover_state): Remove unnecessary
17270         initialization.
17271         (transit_state_bkref): Make DFA a const pointer.
17272         (get_subexp): Likewise.
17273         (check_arrival): Likewise.
17274         (update_cur_sifted_state): Likewise.
17275         (re_search_internal): Likewise.
17276         (prune_impossible_nodes): Likewise.
17277         (acquire_init_state_context): Likewise.
17278         (proceed_next_node): Likewise.
17279         (set_regs): Likewise.
17280         (free_fail_stack_return): Likewise.
17281         (check_arrival_expand_ecl): Mark DFA parameter as const.
17282         (check_arrival_expand_ecl_sub): Likewise.
17283         (check_subexp_limits): Likewise.
17284         (sub_epsilon_src_nodes):  Likewise.
17285         (add_epsilon_src_nodes):  Likewise.
17286         (merge_state_array): Likewise.
17287         (update_regs): Likewise.
17288         (build_trtable): Likewise.
17289         (sift_states_backward): Mark MCTX parameter as const.
17290         (build_sifted_states): Likewise.
17291         (update_cur_sifted_state): Likewise.
17292         (sift_states_mkref): Likewise.
17293         (check_arrival_expand_ecl): Mark eclosure as const.
17294         (check_dst_limits_calc_pos_1): Likewise.
17295         * lib/regex_internal.h (re_match_context_t): Make dfa a const
17296         pointer.
17297
17298         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
17299
17300         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
17301         (transit_state_sb): Likewise.
17302         (transit_state_mb): Likewise.
17303         (sift_states_iter_mb): Likewise.
17304         (check_arrival_add_next_nodes): Likewise.
17305         (check_node_accept_bytes): Change first parameter to pointer-to-const.
17306         [_LIBC] (re_search_2_stub): Use mempcpy.
17307
17308         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
17309         mbrtowc for very simple UTF-8 case.
17310
17311         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
17312         a pointer-to-const.
17313         (re_acquire_state_context): Likewise.
17314         * lib/regex_internal.h: Adjust prototypes.
17315
17316         * lib/regex.c: Prevent using C++ compilers.
17317
17318         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
17319         (re_acquire_state_context): Likewise.
17320
17321 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17322
17323         * modules/regex (Depends-on): Add ssize_t.
17324
17325 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17326
17327         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
17328         translation table.
17329
17330 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17331
17332         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
17333
17334 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
17335             Bruno Haible  <bruno@clisp.org>
17336
17337         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
17338         <sys/types.h> and <inttypes.h>.
17339
17340 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17341
17342         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
17343         `__error_t_defined', so argp.h will not typedef the former.
17344
17345 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
17346
17347         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
17348         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
17349         glibc names.  Even if glibc is changed to conform to POSIX, the
17350         traditional names will be available anyway, since regex depends on
17351         the extensions module.  Also, fix a longstanding typo in the
17352         implementation of Spencer ERE test #75 from grep 2.3.  Problems
17353         reported by Emanuele Giaquinta.  Also, change sense of cached
17354         variable, so that the message makes sense.
17355
17356 2006-03-24  Simon Josefsson  <jas@extundo.com>
17357
17358         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
17359         including some doc fixes.
17360         (base64_encode_alloc): Fix +1 bug on allocation failures.
17361
17362 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17363
17364         * lib/base64.c (base64_encode): Do not read past end of array with
17365         unsanitized input on systems with CHAR_BIT > 8.
17366
17367 2006-03-24  Eric Blake  <ebb9@byu.net>
17368
17369         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
17370
17371 2006-03-22  Karl Berry  <karl@gnu.org>
17372
17373         * config/srclist.txt (*setenv.[ch]): get from coreutils.
17374         * config/srclistvars.sh (COREUTILS): new var.
17375
17376 2006-03-17  Jim Meyering  <jim@meyering.net>
17377
17378         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
17379         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
17380
17381 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
17382
17383         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
17384         no longer needs it.  Instead, check that regoff_t is as least
17385         as wide as ptrdiff_t.
17386
17387         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
17388         so that our regex.h stays compatible with the installed regex.
17389         This is helpful for installers who configure --without-included-regex.
17390         Problem reported by Emanuele Giaquinta.
17391
17392 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
17393
17394         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
17395         Typedef to long int, not to off_, as POSIX will likely change
17396         in that direction.
17397
17398 2006-03-15  Eric Blake  <ebb9@byu.net>
17399
17400         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
17401
17402 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
17403
17404         * lib/argp-help.c (validate_uparams): Fix typo
17405         * lib/argp-parse.c (argp_default_options): Consistently begin help
17406         messages with a lowercase letter.
17407
17408 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
17409
17410         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
17411         overrun buffers and shouldn't be used (much as gets shouldn't be
17412         used).
17413         * lib/time_r.c (asctime_r, ctime_r): Likewise.
17414
17415 2006-03-08  Simon Josefsson  <jas@extundo.com>
17416
17417         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
17418         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17419
17420 2006-03-08  Simon Josefsson  <jas@extundo.com>
17421
17422         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
17423         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17424
17425 2006-03-08  Simon Josefsson  <jas@extundo.com>
17426
17427         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
17428         signal that configure disabled the device.
17429
17430 2006-03-08  Simon Josefsson  <jas@extundo.com>
17431
17432         * build-aux/maint.mk: Fix refresh-po, to handle no translated
17433         languages.
17434
17435 2006-03-07  Simon Josefsson  <jas@extundo.com>
17436
17437         * modules/getopt (Depends-on): Add unistd.
17438
17439         * modules/unistd: New file.
17440
17441 2006-03-07  Simon Josefsson  <jas@extundo.com>
17442
17443         * modules/gc-random: New file.
17444
17445 2006-03-07  Simon Josefsson  <jas@extundo.com>
17446
17447         * m4/unistd_h.m4: New file.
17448
17449 2006-03-07  Simon Josefsson  <jas@extundo.com>
17450
17451         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
17452         test to be side-effect free by storing the result in the cache
17453         variable gl_cv_lib_readline, and moving the assignment of
17454         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
17455         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17456
17457 2006-03-07  Simon Josefsson  <jas@extundo.com>
17458
17459         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
17460         error on missing devices (the functions will return an error).
17461
17462         * m4/gc.m4: Move random stuff to gc-random.m4
17463
17464 2006-03-07  Simon Josefsson  <jas@extundo.com>
17465
17466         * lib/unistd_.h: New file.
17467
17468 2006-03-07  Simon Josefsson  <jas@extundo.com>
17469
17470         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
17471
17472 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17473
17474         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
17475         Problem reported by Juan Manuel Guerrero.
17476
17477 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17478
17479         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
17480         the unistd module.
17481         * lib/getlogin_r.c: Likewise.
17482         * lib/getlogin_r.h: Likewise.
17483         * lib/glob.c: Likewise.
17484         * lib/pagealign_alloc.c: Likewise.
17485         * lib/unistd_.h: Remove; no longer needed.
17486
17487 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17488
17489         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17490         Add unistd.
17491         * modules/c-stack (Depends-on): Add unistd.
17492         * modules/getlogin_r: Likewise.
17493         * modules/glob: Likewise.
17494         * modules/pagealign_alloc: Likewise.
17495         * modules/unistd (Files): Remove lib/unistd_.h.
17496         (EXTRA_DIST): Remove.
17497         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
17498         need unistd_.h.
17499         (MOSTLYCLEANFILES): Remove unistd.h-t.
17500
17501 2006-03-03  Simon Josefsson  <jas@extundo.com>
17502
17503         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
17504
17505 2006-03-03  Simon Josefsson  <jas@extundo.com>
17506
17507         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
17508         libidn and bison.
17509
17510 2006-03-03  Simon Josefsson  <jas@extundo.com>
17511
17512         * build-aux/maint.mk: Add indent target.
17513
17514 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
17515
17516         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
17517         our replacement poll.h in any case, to avoid a differing
17518         declaration from a system header.  Seen on AIX.
17519
17520 2006-03-01  Simon Josefsson  <jas@extundo.com>
17521
17522         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
17523         <kasal@ucw.cz>.
17524
17525 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17526
17527         * modules/gettime (Depends-on): Add extensions module.
17528         * modules/nanosleep (Depends-on): Likewise.
17529         * modules/settime (Depends-on): Likewise.
17530
17531 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17532
17533         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
17534         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
17535         pedantically.
17536         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17537         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
17538
17539         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
17540         not "==".  Reported by Ralf Wildenhues.
17541
17542 2006-03-01  Karl Berry  <karl@gnu.org>
17543
17544         * doc/Copyright/request-*: new files, synced from gnuorg.
17545
17546 2006-03-01  Karl Berry  <karl@gnu.org>
17547
17548         * config/srclist.txt (Copyright/*): new entries.
17549
17550 2006-02-28  Simon Josefsson  <jas@extundo.com>
17551
17552         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
17553
17554 2006-02-27  Simon Josefsson  <jas@extundo.com>
17555
17556         * lib/base64.h: Indent #define's.  From Jim Meyering
17557         <jim@meyering.net>.
17558
17559 2006-02-27  Jim Meyering  <jim@meyering.net>
17560
17561         Revert the change of 2006-02-24, so these files can continue
17562         to be sync'd from gettext.
17563         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
17564         of `config.h'.
17565
17566 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
17567
17568         * modules/intprops: New file.
17569         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
17570         Add intprops.
17571         * modules/getloadavg (Files): Remove lib/intprops.h.
17572         (Depends-on): Add intprops.
17573         * modules/human: Likewise.
17574         * modules/inttostr: Likewise.
17575         * modules/openat: Likewise.
17576         * modules/sig2str: Likewise.
17577         * modules/userspec: Likewise.
17578         * modules/utimecmp: Likewise.
17579         * modules/xnanosleep: Likewise.
17580         * modules/xstrtol: Likewise.
17581
17582 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
17583
17584         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
17585         * modules/lock-tests (TESTS): Use $(EXEEXT).
17586         * modules/tls-tests: Likewise.
17587         * modules/argp-tests: Likewise.
17588         (check_PROGRAMS): New var, replacing...
17589         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
17590
17591 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17592
17593         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
17594         `config.h'.
17595
17596 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17597
17598         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
17599
17600 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17601
17602         Sync from coreutils.
17603         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
17604         gl_CHDIR_SAFER.
17605
17606 2006-02-22  Jim Meyering  <jim@meyering.net>
17607
17608         Sync from coreutils.
17609         * m4/chdir-safer.m4: New file.
17610
17611 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
17612
17613         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
17614         AT_FDCWD exceeds INT_MAX.
17615         * lib/openat.h (AT_FDCWD): Likewise.
17616
17617 2006-02-17  Eric Blake  <address@hidden>
17618
17619         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
17620
17621 2006-02-16  Simon Josefsson  <jas@extundo.com>
17622
17623         * modules/getaddrinfo (Depends-on): Add sys_socket.
17624
17625 2006-02-15  Simon Josefsson  <jas@extundo.com>
17626
17627         * build-aux/maint.mk: Add dsyntax-check rule.
17628
17629 2006-02-15  Eric Blake  <ebb9@byu.net>
17630
17631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
17632         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
17633         'present but cannot compile' warnings on cygwin.
17634         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
17635         use ws2tcpip.h if sys/socket.h works.
17636         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
17637         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
17638
17639 2006-02-14  Simon Josefsson  <jas@extundo.com>
17640
17641         * modules/maintainer-makefile (Files): Rename.
17642
17643         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
17644         and (the local) Makefile.cfg to maint-cfg.mk.
17645
17646         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
17647         to the latter.
17648
17649         * modules/maintainer-makefile: New module.
17650
17651         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
17652         severaly stripped to make it possible to build it up from scratch
17653         with reliable tests.
17654
17655         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
17656         fixes to permit overriding the default actions when configure and
17657         makefile are not available.
17658
17659 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
17660
17661         Sync from coreutils.
17662         * modules/lstat (Depends-on): Don't depend on xalloc.
17663         (License): Change from GPL to LGPL, since this is now simply a
17664         replacement for a libc function.
17665
17666 2006-02-14  Jim Meyering  <jim@meyering.net>
17667
17668         Sync from coreutils.
17669
17670         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
17671         failure on deficient systems, and simplify gnulib lgpl dependencies.
17672         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
17673         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
17674
17675         * lib/xalloc-die.c: Remove unused definition of N_.
17676
17677 2006-02-14  Jim Meyering  <jim@meyering.net>
17678
17679         Sync from coreutils.
17680         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
17681         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
17682         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
17683         double-quote uses of that variable, to accommodate the rare case in
17684         which getmntent is available in none of the libraries checked.  This
17685         happens at least on FreeBSD 5.0.
17686
17687 2006-02-13  Simon Josefsson  <jas@extundo.com>
17688
17689         * gnulib-tool (Usage): Fix --import, from
17690         karl@freefriends.org (Karl Berry).
17691
17692 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
17693
17694         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
17695
17696 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
17697
17698         * lib/argp-namefrob.h: Restore changes accidentally lost during the
17699         "autoupdate" on 2005-12-12.
17700
17701 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
17702
17703         * modules/closeout (Depends-on): Remove atexit.
17704
17705 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
17706
17707         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
17708         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
17709
17710 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
17711
17712         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
17713         __EXTENSIONS__ if this causes compilation to fail.  Problem
17714         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
17715         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
17716
17717 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
17718
17719         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
17720         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
17721         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
17722         All uses changed.
17723
17724 2006-01-26  Simon Josefsson  <jas@extundo.com>
17725
17726         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
17727         prototype is visible on mingw32.
17728
17729         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
17730         for mingw32.
17731
17732         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
17733         mingw32).
17734
17735 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
17736
17737         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
17738         attempt to open for write; this always fails, at least on POSIX
17739         hosts.  This reinstates the 2006-01-09 change, which was
17740         inadvertently removed.
17741
17742 2006-01-26  Bruno Haible  <bruno@clisp.org>
17743
17744         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
17745         Reported by Paul Eggert.
17746
17747 2006-01-26  Bruno Haible  <bruno@clisp.org>
17748             Paul Eggert  <eggert@cs.ucla.edu>
17749
17750         * lib/stdbool_.h (_Bool)
17751         [(! (defined __cplusplus || defined __BEOS__)
17752           && !defined __GNUC__
17753           && !(defined __HP_cc || defined __xlc__
17754                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
17755                || defined __sgi))]:
17756         #define to signed char in these cases too; this simplifies
17757         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
17758         etc., separately) and makes it more conservative.
17759
17760 2006-01-25  Simon Josefsson  <jas@extundo.com>
17761
17762         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
17763         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
17764         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
17765
17766 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17767
17768         * lib/argp-namefrob.h: Bugfix. Remove stray #
17769
17770 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
17771
17772         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
17773         so that we test the test.
17774         Check for yet another HP-UX cc bug involving *bool |= bool.
17775
17776 2006-01-25  Karl Berry  <karl@gnu.org>
17777
17778         * config/srclist.txt (vasnprintf.c): sync lost.
17779
17780 2006-01-25  Jim Meyering  <jim@meyering.net>
17781
17782         Sync from the stable (b5) branch of coreutils:
17783
17784         * lib/fts.c (fts_children): Don't let close() clobber errno from
17785         failed fchdir().
17786
17787         * lib/fts.c (fts_stat): When following a symlink-to-directory,
17788         don't necessarily interpret stat-fails+lstat-succeeds as indicating
17789         a dangling symlink.  That can also happen at least for ELOOP.
17790         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
17791         FYI, this bug predates the inclusion of fts.c in coreutils.
17792
17793         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
17794         in their own block, so pre-c99 compilers don't object.
17795
17796         Avoid the double-free (first in fts_read, second in fts_close) that
17797         would occur when an `active' directory is made inaccessible (e.g.,
17798         via chmod a-x) during a traversal.
17799         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
17800         before returning.  Reproduce this failure by
17801         mkdir -p a/b; cd a; chmod a-x . b
17802         Reported by Stavros Passas.
17803
17804 2006-01-25  Jim Meyering  <jim@meyering.net>
17805
17806         * lib/fileblocks.c: Remove more useless parentheses.
17807         * lib/readutmp.h: Likewise.
17808
17809 2006-01-25  Bruno Haible  <bruno@clisp.org>
17810
17811         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
17812         warnings.
17813         Reported by Paul Eggert.
17814
17815 2006-01-25  Bruno Haible  <bruno@clisp.org>
17816
17817         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
17818         rid of a trap command. For Solaris sh.
17819         Reported by Mark D. Baushke <mdb@gnu.org>.
17820
17821 2006-01-24  Simon Josefsson  <jas@extundo.com>
17822
17823         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
17824         Bruno.
17825
17826 2006-01-24  Karl Berry  <karl@gnu.org>
17827
17828         * config/srclist.txt (argp-namefrob.h): sync lost.
17829
17830 2006-01-24  Jim Meyering  <jim@meyering.net>
17831
17832         * modules/openat (Files): Add lib/intprops.h.
17833         From Mark D. Baushke.
17834
17835 2006-01-24  Jim Meyering  <jim@meyering.net>
17836
17837         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
17838         Reported by Mark D. Baushke.
17839
17840 2006-01-24  Jim Meyering  <jim@meyering.net>
17841
17842         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
17843
17844 2006-01-24  Bruno Haible  <bruno@clisp.org>
17845
17846         * modules/strnlen (Maintainer): Change from glibc to all.
17847
17848 2006-01-24  Bruno Haible  <bruno@clisp.org>
17849
17850         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
17851         Patch by Paul Eggert.
17852
17853 2006-01-24  Bruno Haible  <bruno@clisp.org>
17854
17855         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
17856         already has it.
17857         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
17858         2005-11-26.
17859
17860         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
17861         'signed char' to avoid problems with the built-in _Bool type.
17862         Reported by Paul Eggert on 2005-11-26.
17863
17864 2006-01-24  Bruno Haible  <bruno@clisp.org>
17865
17866         * gnulib-tool (func_import): Avoid constructing complicated sed
17867         expressions inside backquote.
17868         Report and solution by Mark D. Baushke <mdb@gnu.org>.
17869
17870 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
17871
17872         These changes imported from libc.
17873         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
17874         test and two separate function calls.
17875         * lib/strndup.c (__strndup): Add libc_hidden_def.
17876
17877 2006-01-23  Simon Josefsson  <jas@extundo.com>
17878
17879         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
17880         Remove the test_*_SOURCES variable: automake infers it by default.
17881         * modules/tls-tests: Likewise.
17882
17883 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17884
17885         Work around porting bugs reported by Dieter in
17886         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
17887         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
17888         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
17889         Include "getopt.h" first, to check interface.
17890         (getenv): Declare only if defined HAVE_DECL_GETENV &&
17891         !HAVE_DECL_GETENV.
17892         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
17893         (__strndup): Revert to K&R-style function dfns, the glibc style.
17894         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
17895         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
17896         Include strnlen.h first, to get prototype properly.
17897         (strnlen): Renamed from __strnlen.
17898         Remove weak alias.
17899
17900 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17901
17902         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
17903
17904 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17905
17906         * config/srclist.txt: Adjust to reflect glibc reorganization.
17907         This affects only comments.
17908
17909 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
17910
17911          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
17912          Reported by Bruce Korb <bkorb@gnu.org>.
17913
17914 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
17915
17916         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
17917         to pacify gcc -Wswitch-default.
17918
17919 2006-01-22  Bruno Haible  <bruno@clisp.org>
17920
17921         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
17922         temporary buffer for sprintf, take into account the precision also
17923         for 'd', 'i', 'u', 'o', 'x', 'X'.
17924
17925 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
17926
17927         * modules/argp-tests: New module
17928         * tests/test-argp.c: New file
17929         * tests/test-argp-2.sh: New file
17930
17931 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
17932
17933         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
17934         (__argp_base_name): Removed
17935         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
17936         typo.
17937         (__argp_base_name): Provide macro definition or extern declaration
17938         depending on the configuration
17939
17940 2006-01-20  Simon Josefsson  <jas@extundo.com>
17941
17942         * modules/inet_ntop (Depends-on): Depend on sys_socket.
17943
17944 2006-01-20  Simon Josefsson  <jas@extundo.com>
17945
17946         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
17947
17948 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17949
17950         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
17951         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
17952         Suggested by Bruno Haible.
17953
17954 2006-01-20  Karl Berry  <karl@gnu.org>
17955
17956         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
17957         until changes propagate, I guess.
17958
17959 2006-01-19  Simon Josefsson  <jas@extundo.com>
17960
17961         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
17962
17963 2006-01-19  Simon Josefsson  <jas@extundo.com>
17964
17965         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
17966
17967 2006-01-19  Simon Josefsson  <jas@extundo.com>
17968
17969         * gnulib-tool: Set check_PROGRAMS.
17970
17971         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
17972         modules/des-tests, modules/gc-arcfour-tests,
17973         modules/gc-arctwo-tests, modules/gc-des-tests,
17974         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
17975         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
17976         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
17977         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
17978         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
17979         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
17980         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
17981         test_*_SOURCES.
17982
17983 2006-01-18  Simon Josefsson  <jas@extundo.com>
17984
17985         * modules/socklen (Depends-on): Depend on sys_socket.
17986
17987 2006-01-18  Simon Josefsson  <jas@extundo.com>
17988
17989         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
17990         modules/des-tests, modules/gc-arcfour-tests,
17991         modules/gc-arctwo-tests, modules/gc-des-tests,
17992         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
17993         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
17994         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
17995         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
17996         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
17997         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
17998         $(EXEEXT) to automake TESTS variable, for mingw32.
17999
18000 2006-01-17  Simon Josefsson  <jas@extundo.com>
18001
18002         * modules/socklen (Include): Need sys/socket.h.
18003
18004 2006-01-17  Bruno Haible  <bruno@clisp.org>
18005
18006         * modules/ssize_t (Include): Add <sys/types.h>.
18007
18008 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
18009
18010         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
18011         it's not portable and it doesn't work with cross-compiles.
18012         Problem reported by Bruno Haible.  Fix missing-$ typo in
18013         'test "gl_cv_ignore_unused_libraries" ...' that prevented
18014         -zignore from being used with Sun's C compiler.
18015
18016 2006-01-12  Simon Josefsson  <jas@extundo.com>
18017
18018         * lib/base64.c: Fix warning, reported by Bruno Haible
18019         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
18020
18021 2006-01-12  Bruno Haible  <bruno@clisp.org>
18022
18023         * modules/ldd: New file.
18024         * build-aux/ldd.sh.in: New file.
18025         * MODULES.html.sh (Support for building libraries and executables): Add
18026         ldd.
18027
18028 2006-01-12  Bruno Haible  <bruno@clisp.org>
18029
18030         * m4/ldd.m4: New file.
18031
18032 2006-01-12  Bruno Haible  <bruno@clisp.org>
18033
18034         * gnulib-tool (func_import, func_create_testdir): Don't go into an
18035         endless loop while replacing $auxdir with build-aux.
18036
18037 2006-01-11  Simon Josefsson  <jas@extundo.com>
18038
18039         * lib/stdint_.h (SIZE_MAX): Add missing (.
18040
18041 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18042
18043         Sync from coreutils.
18044         * lib/md5.c: Fix commentary typos.
18045         (alignof, UNALIGNED_P): No need for a GCC-specific version.
18046         * lib/md5.h (__attribute__): Remove; unused.
18047         * lib/sha1.c: Fix commentary to match md5 better.
18048         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
18049         so that we don't need to worry about alignment.  All uses changed.
18050         This merges the 2005-10-28 md5 change into sha1.
18051
18052 2006-01-11  Jim Meyering  <jim@meyering.net>
18053
18054         Sync from coreutils.
18055         * lib/md5.c (OP): Fix spacing.
18056
18057 2006-01-11  Bruno Haible  <bruno@clisp.org>
18058
18059         Ensure automatic ordering between gl_LOCK and gl_ARGP.
18060         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
18061         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
18062
18063 2006-01-11  Bruno Haible  <bruno@clisp.org>
18064
18065         Ensure automatic ordering between gl_LOCK and gl_ARGP.
18066         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
18067         the "early" section as well.
18068
18069 2006-01-11  Bruno Haible  <bruno@clisp.org>
18070
18071         Avoid "ar: no archive members specified" error on MacOS X.
18072         * gnulib-tool (func_modules_add_dummy): New function.
18073         (func_import, func_create_testdir): Invoke it.
18074
18075 2006-01-11  Bruno Haible  <bruno@clisp.org>
18076
18077         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
18078         with $auxdir in AC_CONFIG_FILES statements.
18079
18080 2006-01-11  Bruno Haible  <bruno@clisp.org>
18081
18082         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18083         Initialize also noinst_HEADERS to empty.
18084
18085 2006-01-11  Bruno Haible  <bruno@clisp.org>
18086
18087         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
18088         variables.
18089         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
18090         autoreconf.
18091
18092 2006-01-11  Bruno Haible  <bruno@clisp.org>
18093
18094         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
18095         overridable by the user.
18096         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18097
18098 2006-01-10  Simon Josefsson  <jas@extundo.com>
18099
18100         * modules/sys_socket: New file.
18101
18102 2006-01-10  Simon Josefsson  <jas@extundo.com>
18103
18104         * m4/sys_socket_h.m4: New file.
18105
18106 2006-01-10  Simon Josefsson  <jas@extundo.com>
18107
18108         * lib/socket_.h: New file.
18109
18110 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18111
18112         * modules/readutmp (Maintainer): Add myself.
18113
18114 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18115
18116         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
18117         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
18118         People who are still concerned with buggy memcmp implementations
18119         can invoke gl_FUNC_MEMCMP themselves.
18120
18121 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18122
18123         * lib/regex_internal.h (BITSET_WORD_BITS):
18124         Work around a bug in 64-bit PGC (before version 6.1-2), where the
18125         preprocessor mishandles large unsigned values as if they were signed.
18126         Problem reported by Claudio Fontana in
18127         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
18128
18129 2006-01-10  Jim Meyering  <jim@meyering.net>
18130
18131         Avoid the double-free (first in fts_read, second in fts_close) that
18132         would occur when an `active' directory is made inaccessible (e.g.,
18133         via chmod a-x) during a traversal.
18134         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
18135         before returning.  Reproduce this failure by
18136         mkdir -p a/b; cd a; chmod a-x . b
18137         Reported by Stavros Passas.
18138
18139         Sync from coreutils.
18140         * lib/sha1.c: Tweak grammar in a comment.
18141
18142 2006-01-10  Jim Meyering  <jim@meyering.net>
18143
18144         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
18145         Patch by Joerg Sonnenberger.
18146
18147 2006-01-10  Bruno Haible  <bruno@clisp.org>
18148
18149         * modules/readutmp: Depend on module free.
18150         * modules/strtok_r: Depend on module restrict.
18151
18152 2006-01-10  Bruno Haible  <bruno@clisp.org>
18153
18154         * modules/gettext (configure.ac): Add an invocation of
18155         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
18156
18157 2006-01-10  Bruno Haible  <bruno@clisp.org>
18158
18159         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
18160         Reported by Werner Lemberg <wl@gnu.org>.
18161
18162 2006-01-10  Bruno Haible  <bruno@clisp.org>
18163
18164         * lib/localcharset.c: Update from GNU gettext.
18165
18166 2006-01-10  Bruno Haible  <bruno@clisp.org>
18167
18168         * lib/argp.h (__const): Remove macro. Use const instead.
18169         * lib/argp-fmtstream.h (__const): Likewise.
18170         * lib/glob_.h (__const): Remove macro.
18171         * lib/glob-libc.h: Use const instead of __const.
18172
18173 2006-01-10  Bruno Haible  <bruno@clisp.org>
18174
18175         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
18176         variable.
18177         Needed to avoid an automake error regarding the 'gettext' module.
18178
18179 2006-01-09  Simon Josefsson  <jas@extundo.com>
18180
18181         * modules/inet_ntop (Depends-on): Add restrict.
18182
18183 2006-01-09  Simon Josefsson  <jas@extundo.com>
18184
18185         * modules/gc-rijndael-tests (License): Put under LGPL.
18186
18187         * modules/gc-des-tests (License): Likewise.
18188
18189         * modules/gc-arcfour-tests (License): Likewise.
18190
18191         * modules/gc-arctwo-tests (License): Likewise.
18192
18193         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
18194
18195         * modules/gc-hmac-sha1-tests (Files): Likewise.
18196
18197         * modules/gc-hmac-md5-tests (License): Likewise.
18198
18199         * modules/gc-sha1-tests (License): Likewise.
18200
18201         * modules/gc-md5-tests (License): Likewise.
18202
18203         * modules/gc-md4-tests (License): Likewise.
18204
18205         * modules/gc-md2-tests (License): Likewise.
18206
18207         * modules/gc-tests (License): Likewise.
18208
18209         * modules/des-tests (License): Likewise.
18210
18211         * modules/md4-tests (License): Likewise.
18212
18213         * modules/md2-tests (License): Likewise.
18214
18215 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18216
18217         Sync from coreutils:
18218
18219         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
18220         * modules/lib-ignore: New file.
18221         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
18222         chdir-safer.m4, lchmod.m4.
18223         * modules/openat: Add mkdirat.c, openat-priv.h.
18224
18225 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18226
18227         Sync from coreutils.
18228         * m4/lib-ignore.m4: New file.
18229         * m4/lchmod.m4: New file.
18230
18231 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18232
18233         Sync from coreutils.
18234         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
18235         for write access: POSIX says that must fail.
18236         * lib/fts.c (diropen): Likewise.
18237         * lib/save-cwd.c (save_cwd): Likewise.
18238         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
18239         well, for minor improvements on hosts that lack O_DIRECTORY.
18240         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
18241         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
18242         Fall back on chown if open failed with EACCES.
18243
18244         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
18245         Report an error at compile-time if only a 1-second nominal clock
18246         resolution is found.
18247
18248         * lib/lchmod.h: New file.
18249         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
18250         (make_dir_parents): Use lchown rather than chown, and
18251         lchmod rather than chmod.
18252
18253         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
18254         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
18255         "proc" reported by n0dalus.
18256
18257         * lib/mountlist.c: Include <limits.h>.
18258         (dev_from_mount_options)
18259         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
18260         New function.  It no longer assumes "dev=" has the System V meaning
18261         on Linux (since it doesn't).  It also parses "dev=" more carefully.
18262         (read_file_system_list)
18263         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
18264         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
18265         dev= in that case.
18266
18267         * lib/posixtm.h (PDS_PRE_2000): New macro.
18268         * lib/posixtm.c (year): Arg is now syntax_bits rather than
18269         allow_century.  All usages changed.  Reject dates outside the range
18270         1969-1999 if PDS_PRE_2000 is used.
18271
18272 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18273
18274         Sync from coreutils.
18275         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
18276         (Time of day items): Mention the possibility of leap seconds.
18277         Problem reported by Dr. David Alan Gilbert.
18278
18279 2006-01-09  Jim Meyering  <jim@meyering.net>
18280
18281         Sync from coreutils.
18282
18283         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
18284
18285         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
18286
18287         * lib/modechange.c (mode_compile): Reject an invalid mode string
18288         that starts with an octal digit.  From Andreas Gruenbacher.
18289
18290         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
18291         and dup to open_safer and dup_safer, respectively.
18292         (openat_permissive): Fix typo in comment.
18293
18294         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
18295         "gettext.h"; either no longer needed or are guaranteed by openat.h.
18296         (_): Remove; no longer needed.
18297         (openat): Renamed from rpl_openat; no need for rpl_openat
18298         since openat.h renames openat for us.
18299         Replace most of the body with a call to openat_permissive,
18300         to avoid duplicate code.
18301         Port to (probably hypothetical) environments were mode_t is
18302         wider than int.
18303         (openat_permissive): Require mode arg, so that we can check
18304         types better.  Put it just after flags.  Change cwd failure
18305         indicator from pointer-to-bool to pointer-to-errno-value.
18306         All callers changed.
18307         Invoke openat_save_fail and/or openat_restore_fail if
18308         cwd_errno is null, so that openat can call us.
18309         (openat_permissive, fdopendir, fstatat, unlinkat):
18310         Simplify errno handling to avoid some duplicate code,
18311         as it's OK to set errno on success.
18312         * lib/openat.h: Revamp code so that function macros depend on
18313         __OPENAT_PREFIX only, not also on AT_FDCWD.
18314         (openat_ro): Remove.  Caller changed to use openat_permissive.
18315         (openat_permissive): Now a macro, if not a function.
18316         (openat_restore_fail, openat_save_fail): Now always functions,
18317         since mkdirat needs them even if __OPENAT_PREFIX is defined.
18318
18319         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
18320         and openat.c.
18321         * lib/mkdirat.c: Include openat-priv.h.
18322         Remove definitions of macros defined therein.
18323         * lib/openat.c: Likewise.
18324
18325         * lib/mkdirat.c (mkdirat): New file and function.
18326         * lib/openat.h (mkdirat): Declare.
18327
18328         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
18329
18330         * lib/openat.h (openat_permissive): Declare.
18331         (openat_ro): Define.
18332
18333         * lib/openat.c (EXPECTED_ERRNO): New macro.
18334         (openat_permissive): New function -- used in remove.c rewrite.
18335         (all functions): Set errno just before returning, only if there
18336         was an actual failure.
18337         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
18338
18339         Emulate openat-family functions using Linux's procfs, if possible.
18340         Idea and some code based on Ulrich Drepper's glibc changes.
18341
18342         * lib/openat.c: (BUILD_PROC_NAME): New macro.
18343         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
18344         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
18345         before falling back on save_cwd and restore_cwd.
18346         (fdopendir, fstatat, unlinkat): Likewise.
18347
18348         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
18349         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
18350
18351         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
18352         as second argument to va_arg.  Otherwise, some versions of gcc
18353         warn that `if this code is reached, the program will abort'.
18354
18355 2006-01-09  Jim Meyering  <jim@meyering.net>
18356
18357         Sync from coreutils.
18358         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
18359         Require openat-priv.h.
18360
18361 2006-01-09  Bruno Haible  <bruno@clisp.org>
18362
18363         * modules/strnlen (Include): Use strnlen.h.
18364
18365 2006-01-09  Bruno Haible  <bruno@clisp.org>
18366
18367         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
18368
18369 2006-01-09  Bruno Haible  <bruno@clisp.org>
18370
18371         * lib/sysexit_.h (EX_OK): New macro.
18372         Suggested by Martin Lambers <marlam@marlam.de>.
18373
18374 2006-01-09  Bruno Haible  <bruno@clisp.org>
18375
18376         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
18377         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
18378
18379 2006-01-09  Bruno Haible  <bruno@clisp.org>
18380
18381         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
18382         numbers.
18383
18384 2006-01-09  Bruno Haible  <bruno@clisp.org>
18385
18386         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
18387         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
18388         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
18389         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
18390
18391 2006-01-09  Bruno Haible  <bruno@clisp.org>
18392
18393         * build-aux/javacomp.sh.in: New file, moved from lib/.
18394         * modules/javacomp-script (Files): Update.
18395         (configure.ac): Add AC_CONFIG_FILES invocation.
18396         (EXTRA_DIST): Remove variable.
18397
18398         * build-aux/javaexec.sh.in: New file, moved from lib/.
18399         * modules/javaexec (Files): Update.
18400         (configure.ac): Add AC_CONFIG_FILES invocation.
18401         (EXTRA_DIST): Remove javaexec.sh.in.
18402
18403         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
18404         * modules/csharpcomp-script (Files): Update.
18405         (configure.ac): Add AC_CONFIG_FILES invocation.
18406         (EXTRA_DIST): Remove variable.
18407
18408         * build-aux/csharpexec.sh.in: New file, moved from lib/.
18409         * modules/csharpexec (Files): Update.
18410         (configure.ac): Add AC_CONFIG_FILES invocation.
18411         (EXTRA_DIST): Remove csharpexec.sh.in.
18412
18413 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
18414
18415         Sync from coreutils.
18416
18417         Add POSIX ACL support
18418         * lib/acl.h (copy_acl, set_acl): Add declarations.
18419         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
18420         systems other than Linux.
18421         (chmod_or_fchmod): New function: use fchmod when possible,
18422         and chmod otherwise.
18423         (file_has_acl): Add a POSIX ACL implementation, with a
18424         Linux-specific subcase.
18425         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
18426         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
18427         acls are unsupported.
18428         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
18429         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
18430         are unsupported.
18431
18432 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
18433
18434         Sync from coreutils.
18435         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
18436
18437 2006-01-07  Bruno Haible  <bruno@clisp.org>
18438
18439         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
18440         gl_EARLY.
18441
18442 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18443
18444         * lib/strftime.c (tzname): Don't declare if it is already #defined.
18445         Problem reported for Mingw by Mark Junker.
18446
18447 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18448
18449         * README: Gnulib normally doesn't generate a tarball.
18450
18451 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18452
18453         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
18454         long int, not int, for nanosecond counts, so that people who are
18455         used to POSIX struct timespec won't be surprised.  Reported by Jim
18456         Meyering.
18457
18458 2005-12-28  Bruno Haible  <bruno@clisp.org>
18459
18460         * build-aux/config.rpath: Update from GNU gettext.
18461
18462 2005-12-16  Jim Meyering  <jim@meyering.net>
18463
18464         * modules/fprintftime: New module.
18465         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
18466
18467 2005-12-16  Jim Meyering  <jim@meyering.net>
18468
18469         * m4/fprintftime.m4: New file.
18470
18471 2005-12-16  Jim Meyering  <jim@meyering.net>
18472
18473         * lib/fprintftime.c, lib/fprintftime.h: New files.
18474
18475 2005-12-15  Simon Josefsson  <jas@extundo.com>
18476
18477         * modules/socklen (configure.ac): Fix M4 macro name, to align with
18478         new m4/socklen.m4.
18479
18480 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18481
18482         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
18483         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
18484
18485 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18486
18487         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
18488         * lib/argp-help.c (fill_in_uparams): Check if the constructed
18489         struct uparams is valid. Fall back to the default values if it is
18490         not.
18491
18492 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18493
18494         * modules/argp (Files): Add argp-pin.c
18495         (Depends-on): dirname
18496         (lib_SOURCES): Add argp-pin.c
18497
18498 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18499
18500         * m4/argp.m4:  Check if program_invocation_name and
18501         program_invocation_short_name are declared and define appropriate
18502         macros if they are not.
18503
18504 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18505
18506         * lib/argp-help.c (__argp_base_name): New function
18507         (__argp_short_program_name): Rewrite using __argp_base_name
18508         * lib/argp-namefrob.h: Define program_invocation_name and
18509         program_invocation_short_name if requested
18510         (__argp_base_name): Add prototype
18511         * lib/argp-parse.c (argp_def): Use gettext wrappers
18512         (argp_default_parser): Use __argp_base_name
18513         * lib/argp-pin.c: New file. Defines program_invocation_name and
18514         program_invocation_short_name on systems that lack them.
18515
18516 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18517
18518         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
18519         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
18520         porting problem reported by Georg Schwarz in
18521         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
18522
18523 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18524
18525         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
18526         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
18527         porting problem reported by Georg Schwarz in
18528         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
18529
18530 2005-12-05  Bruno Haible  <bruno@clisp.org>
18531
18532         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
18533         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
18534         Reported by Mark Junker <mjscod@gmx.de>.
18535
18536 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
18537
18538         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
18539         Use implementation from Albert Chin, with some
18540         comments/corrections by Stepan Kasal and myself.
18541
18542 2005-12-02  Bruno Haible  <bruno@clisp.org>
18543
18544         * gnulib-tool (func_import): Accept GPLed build tool modules when
18545         --lgpl is given.
18546         * modules/csharpcomp-script: New file.
18547         * modules/csharpcomp: Depend on it.
18548         * modules/javacomp-script: New file.
18549         * modules/javacomp: Depend on it.
18550         Suggested by Simon Josefsson.
18551
18552 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
18553
18554         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
18555         statement, to work around an HP-UX 10.20 compiler bug reported by
18556         Peter O'Gorman.
18557
18558 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
18559
18560         * modules/savedir (Depends-on): Add openat.
18561
18562 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
18563
18564         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
18565         (uintmax_t) [defined uintmax_t]: Do not declare.
18566         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
18567         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
18568         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
18569         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
18570         sake of portability to weird hosts that C allows (though we don't
18571         know of any practical examples).
18572
18573         * lib/savedir.h (fdsavedir): New decl.
18574         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
18575         contains most of the former guts of savedir.
18576         (savedir): Use savedirstream.
18577         Include "openat.h".
18578
18579 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18580
18581         * modules/obstack (Files): Add m4/ulonglong.m4.
18582         Problem reported by Davide Angelocola.
18583
18584 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18585
18586         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
18587         coreutils no longer futzes with rounding modes.
18588
18589 2005-11-14  Jim Meyering  <jim@meyering.net>
18590
18591         * lib/mkstemp-safer.c: Include <config.h>, required for possible
18592         replacement of mkstemp.
18593
18594 2005-11-10  Simon Josefsson  <jas@extundo.com>
18595
18596         * lib/readline.c: Remove EOL.
18597
18598 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18599
18600         * modules/gethrxtime (Depends-on): Add gettime.
18601
18602 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18603
18604         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
18605         or gettimeofday; no longer needed.
18606
18607 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18608
18609         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
18610         time business.
18611         (gethrxtime) [! (HAVE_NANOUPTIME
18612         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
18613         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
18614         our own approximation.
18615
18616 2005-11-08  Eric Blake  <ebb9@byu.net>
18617
18618         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
18619
18620 2005-11-08  Eric Blake  <ebb9@byu.net>
18621
18622         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
18623
18624 2005-11-04  Bruno Haible  <bruno@clisp.org>
18625
18626         * gnulib-tool: Implement --update mode.
18627
18628 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18629
18630         Fix porting problem reported by Theodoros V. Kalamatianos.
18631         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
18632         Don't assume that futimes failing means we must fail.
18633
18634 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18635
18636         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
18637         variables to suggest the intended function of the PATH_MAX check.
18638
18639 2005-10-30  Kean Johnston  <jkj@sco.com>
18640
18641         Trivial changes to support SCO systems.
18642         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
18643         as PATH_MAX.
18644         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
18645         where __ptr is null when no I/O is pending.
18646
18647 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18648
18649         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
18650         leave errno alone.  Problem reported by Dmitry V. Levin.
18651
18652 2005-10-28  Simon Josefsson  <jas@extundo.com>
18653
18654         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
18655         Test more.
18656
18657         * tests/test-gc-md2.c, tests/test-md2.c: New files.
18658
18659         * modules/md2, modules/md2-tests: New files.
18660
18661 2005-10-28  Simon Josefsson  <jas@extundo.com>
18662
18663         * m4/inet_ntop.m4: More tests.
18664
18665         * m4/gc-md2.m4, md2.m4: New file.
18666
18667 2005-10-28  Simon Josefsson  <jas@extundo.com>
18668
18669         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
18670         "restrict" keywords, as per POSIX.  Protect the function
18671         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
18672         Don't use K&R prototypes.  Check the sprintf return values.
18673         Re-define EAFNOSUPPORT if not present.  Indent.
18674
18675         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
18676         suggested by Bruno Haible <bruno@clisp.org>.
18677
18678         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
18679
18680         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
18681
18682         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
18683         libgcrypt).
18684
18685         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
18686
18687         * lib/md2.h, lib/md2.c: New files.
18688
18689 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
18690
18691         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
18692         errno alone.  Problem reported by Frederic Jolliton.
18693
18694 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
18695
18696         * modules/verify (License): Change from GPL to LGPL.  This is a
18697         tiny module and there are apparently near-equivalents that are
18698         under the BSD license.
18699
18700 2005-10-24  Simon Josefsson  <jas@extundo.com>
18701
18702         * modules/sha1: Relicense to LGPL.
18703
18704 2005-10-24  Simon Josefsson  <jas@extundo.com>
18705
18706         * lib/md4.h: Shrink buffer size, now that we changed the type.
18707
18708 2005-10-23  Simon Josefsson  <jas@extundo.com>
18709
18710         * gnulib-tool (func_import): Fix --tests-base.
18711
18712 2005-10-22  Simon Josefsson  <jas@extundo.com>
18713
18714         * modules/arcfour (Depends-on): Need stdint.
18715
18716 2005-10-22  Simon Josefsson  <jas@extundo.com>
18717
18718         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
18719         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
18720
18721 2005-10-22  Simon Josefsson  <jas@extundo.com>
18722
18723         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
18724         suggested by Bruno Haible <bruno@clisp.org>.
18725
18726 2005-10-22  Simon Josefsson  <jas@extundo.com>
18727
18728         * lib/crc.h: Include stddef.h, for size_t.
18729
18730 2005-10-22  Simon Josefsson  <jas@extundo.com>
18731
18732         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
18733         arcfour_context struct (simplify test vector testing in GNU
18734         Shishi).
18735
18736 2005-10-21  Simon Josefsson  <jas@extundo.com>
18737
18738         * modules/des, modules/des-tests: New files.
18739
18740         * modules/gc-des, modules/gc-des-tests: New files.
18741
18742         * tests/test-des.c, tests/test-gc-des.c: New file.
18743
18744 2005-10-21  Simon Josefsson  <jas@extundo.com>
18745
18746         * modules/arctwo, modules/arctwo-tests: New files.
18747
18748         * tests/test-arctwo.c: New file.
18749
18750         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
18751
18752         * tests/test-gc-arctwo.c: New file.
18753
18754 2005-10-21  Simon Josefsson  <jas@extundo.com>
18755
18756         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
18757         Bruno Haible <bruno@clisp.org>.
18758
18759         * m4/gc-des.m4: New file.
18760
18761 2005-10-21  Simon Josefsson  <jas@extundo.com>
18762
18763         * m4/arctwo.m4: New file.
18764
18765         * m4/gc-arctwo.m4: New file.
18766
18767 2005-10-21  Simon Josefsson  <jas@extundo.com>
18768
18769         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
18770         block.
18771
18772 2005-10-21  Simon Josefsson  <jas@extundo.com>
18773
18774         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
18775         <bruno@clisp.org>.
18776
18777         * lib/hmac-sha1.c (hmac_sha1): Likewise.
18778
18779         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
18780         Bruno Haible <bruno@clisp.org>.
18781
18782         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
18783         <bruno@clisp.org>.
18784
18785 2005-10-21  Simon Josefsson  <jas@extundo.com>
18786
18787         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
18788
18789 2005-10-21  Simon Josefsson  <jas@extundo.com>
18790
18791         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
18792
18793 2005-10-21  Simon Josefsson  <jas@extundo.com>
18794
18795         * lib/des.h, lib/des.c: New files.
18796
18797         * lib/gc-gnulib.c: Support DES.c
18798
18799 2005-10-21  Simon Josefsson  <jas@extundo.com>
18800
18801         * lib/arctwo.h, lib/arctwo.c: New files.
18802
18803         * lib/gc-gnulib.c: Support ARCTWO.
18804
18805 2005-10-21  Simon Josefsson  <jas@extundo.com>
18806
18807         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
18808         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18809
18810 2005-10-21  Simon Josefsson  <jas@extundo.com>
18811
18812         * gnulib-tool (func_import, func_create_testdir): Define automake
18813         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
18814         Makefile.am snippet),
18815         suggested by Bruno Haible <bruno@clisp.org>.
18816
18817         * modules/gc (Makefile.am): Use it.
18818
18819 2005-10-21  Bruno Haible  <bruno@clisp.org>
18820
18821         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
18822         patch.
18823
18824 2005-10-19  Simon Josefsson  <jas@extundo.com>
18825
18826         * tests/test-gc-rijndael.c: New file.
18827
18828         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
18829
18830 2005-10-19  Simon Josefsson  <jas@extundo.com>
18831
18832         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
18833         interface too.
18834
18835 2005-10-19  Simon Josefsson  <jas@extundo.com>
18836
18837         * tests/test-gc-arcfour.c: New file.
18838
18839         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
18840
18841 2005-10-19  Simon Josefsson  <jas@extundo.com>
18842
18843         * modules/gc-md4, modules/gc-md4-tests: New file.
18844
18845         * tests/test-gc-md4.c: New file.
18846
18847 2005-10-19  Simon Josefsson  <jas@extundo.com>
18848
18849         * m4/gc-md4.m4: New file.
18850
18851 2005-10-19  Simon Josefsson  <jas@extundo.com>
18852
18853         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
18854         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
18855         <kasal@ucw.cz>.
18856
18857 2005-10-19  Simon Josefsson  <jas@extundo.com>
18858
18859         * m4/gc-arcfour.m4: New file.
18860
18861         * m4/gc-rijndael.m4: New file.
18862
18863 2005-10-19  Simon Josefsson  <jas@extundo.com>
18864
18865         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
18866
18867 2005-10-19  Simon Josefsson  <jas@extundo.com>
18868
18869         * lib/gc-gnulib.c: Support ARCFOUR.
18870
18871 2005-10-19  Simon Josefsson  <jas@extundo.com>
18872
18873         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
18874         support.
18875
18876         * lib/gc.h: Add ECB enum type.
18877
18878         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
18879
18880 2005-10-18  Simon Josefsson  <jas@extundo.com>
18881
18882         * tests/test-md5.c: New file.
18883
18884         * modules/md5-tests: New file.
18885
18886 2005-10-18  Simon Josefsson  <jas@extundo.com>
18887
18888         * tests/test-md4.c: New file.
18889
18890         * modules/md4, modules/md4-tests: New files.
18891
18892 2005-10-18  Simon Josefsson  <jas@extundo.com>
18893
18894         * m4/md4.m4: New file.
18895
18896 2005-10-18  Simon Josefsson  <jas@extundo.com>
18897
18898         * lib/md4.h, lib/md4.c: New files, based on md5.?.
18899
18900 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
18901
18902         * gnulib-tool (func_create_testdir): Omit the second check whether
18903         BUILT_SOURCES in nonempty.
18904
18905 2005-10-17  Simon Josefsson  <jas@extundo.com>
18906
18907         * tests/test-rijndael.c: New file.
18908
18909 2005-10-17  Simon Josefsson  <jas@extundo.com>
18910
18911         * modules/sha1: Depend on stdint instead of md5.
18912
18913         * modules/md5: Depend on stdint, remove uint32_t.
18914
18915 2005-10-17  Simon Josefsson  <jas@extundo.com>
18916
18917         * modules/gc-sha1-tests: New file.
18918
18919         * tests/test-gc-sha1.c: New file.
18920
18921 2005-10-17  Simon Josefsson  <jas@extundo.com>
18922
18923         * m4/md5.m4: Remove call to uint32_t.m4.
18924
18925 2005-10-17  Simon Josefsson  <jas@extundo.com>
18926
18927         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
18928
18929         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
18930         md5.h.
18931
18932         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
18933
18934         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
18935
18936 2005-10-17  Simon Josefsson  <jas@extundo.com>
18937
18938         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
18939
18940 2005-10-17  Simon Josefsson  <jas@extundo.com>
18941
18942         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
18943
18944 2005-10-17  Simon Josefsson  <jas@extundo.com>
18945
18946         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
18947
18948         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
18949
18950 2005-10-17  Bruno Haible  <bruno@clisp.org>
18951
18952         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
18953         that it can also be used in a test.
18954
18955 2005-10-16  Bruno Haible  <bruno@clisp.org>
18956
18957         * gnulib-tool (func_emit_tests_Makefile_am): Also define
18958         TESTS_ENVIRONMENT, so that individual tests can augment it.
18959
18960         * gnulib-tool (func_create_testdir): Use an intermediate target for
18961         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
18962         macros, like $(ALLOCA_H), which cannot be passed through the command
18963         line.
18964
18965 2005-10-15  Simon Josefsson  <jas@extundo.com>
18966
18967         * modules/rijndael-tests: New file.
18968
18969         * modules/rijndael: New file.
18970
18971 2005-10-15  Simon Josefsson  <jas@extundo.com>
18972
18973         * m4/rijndael.m4: New file.
18974
18975 2005-10-15  Simon Josefsson  <jas@extundo.com>
18976
18977         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
18978
18979         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
18980
18981 2005-10-14  Simon Josefsson  <jas@extundo.com>
18982
18983         * tests/test-arcfour.c: New file.
18984
18985         * modules/arcfour, modules/arcfour-tests: New files.
18986
18987 2005-10-14  Simon Josefsson  <jas@extundo.com>
18988
18989         * m4/arcfour.m4: New file.
18990
18991 2005-10-14  Simon Josefsson  <jas@extundo.com>
18992
18993         * lib/arcfour.h, lib/arcfour.c: New files.
18994
18995 2005-10-14  Roland McGrath  <roland@redhat.com>
18996
18997         Import from libc.  [BZ #1331]
18998         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
18999         macro argument.
19000         Reported by Matej Vela <vela@debian.org>.
19001
19002 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
19003
19004         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
19005         include <wchar.h>; no longer needed.
19006
19007 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
19008
19009         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
19010
19011 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
19012         and  Ulrich Drepper  <drepper@redhat.com>
19013
19014         Import from libc.
19015         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
19016         instead of inline stream orientation test and two separate
19017         function calls.  Pay no attention to USE_IN_LIBIO.
19018
19019 2005-10-13  Simon Josefsson  <jas@extundo.com>
19020
19021         * modules/gc-hmac-md5-tests: New file.
19022
19023         * tests/test-gc-hmac-sha1.c: New file.
19024
19025         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
19026
19027         * modules/gc-hmac-md5-tests: New file.
19028
19029         * tests/test-gc-md5.c: New file.
19030
19031         * modules/gc-md5-tests: New file.
19032
19033 2005-10-13  Simon Josefsson  <jas@extundo.com>
19034
19035         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
19036         Move memory allocation outside of loop.
19037
19038 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
19039
19040         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
19041         intermediate directory is in a read-only file system.  Problem
19042         reported by Eric Blake.
19043
19044 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
19045
19046         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
19047
19048 2005-10-12  Simon Josefsson  <jas@extundo.com>
19049
19050         * tests/test-hmac-sha1.c: New file.
19051
19052         * modules/hmac-sha1-tests: New file.
19053
19054         * modules/hmac-sha1: New file.
19055
19056 2005-10-12  Simon Josefsson  <jas@extundo.com>
19057
19058         * modules/gc-sha1: New file.
19059
19060 2005-10-12  Simon Josefsson  <jas@extundo.com>
19061
19062         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
19063
19064         * tests/test-gc-pbkdf2-sha1.c: New file.
19065
19066 2005-10-12  Simon Josefsson  <jas@extundo.com>
19067
19068         * modules/gc-md5, modules/gc-hmac-md5: New files.
19069
19070         * modules/gc (Files): Remove md5, memxor and hmac files.
19071
19072 2005-10-12  Simon Josefsson  <jas@extundo.com>
19073
19074         * m4/gc-pbkdf2-sha1.m4: New file.
19075
19076         * m4/gc-hmac-sha1.m4: New file.
19077
19078         * m4/gc-sha1: New file.
19079
19080         * m4/hmac-sha1.m4: New file.
19081
19082 2005-10-12  Simon Josefsson  <jas@extundo.com>
19083
19084         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
19085
19086         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
19087
19088 2005-10-12  Simon Josefsson  <jas@extundo.com>
19089
19090         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
19091         suggested by Bruno Haible <bruno@clisp.org>.
19092
19093 2005-10-12  Simon Josefsson  <jas@extundo.com>
19094
19095         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
19096
19097 2005-10-12  Simon Josefsson  <jas@extundo.com>
19098
19099         * lib/gc-pbkdf2-sha1.c: New file.
19100
19101         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
19102
19103 2005-10-12  Simon Josefsson  <jas@extundo.com>
19104
19105         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
19106
19107         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
19108
19109 2005-10-12  Simon Josefsson  <jas@extundo.com>
19110
19111         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
19112         GC_USE_HMAC_MD5, respectively.
19113
19114         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
19115         (gc_md5): Fix typo.
19116
19117         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
19118
19119         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
19120
19121         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
19122
19123 2005-10-12  Bruno Haible  <bruno@clisp.org>
19124
19125         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
19126         Reported by Stepan Kasal <kasal@ucw.cz>.
19127
19128 2005-10-11  Simon Josefsson  <jas@extundo.com>
19129
19130         * tests/test-crc.c: New file.
19131
19132         * modules/crc, modules/crc-tests: New files.
19133
19134 2005-10-11  Simon Josefsson  <jas@extundo.com>
19135
19136         * m4/crc.m4: New file.
19137
19138 2005-10-11  Simon Josefsson  <jas@extundo.com>
19139
19140         * lib/gc.h: Add gc_hash and gc_hash_buffer.
19141
19142         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
19143
19144         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
19145
19146 2005-10-11  Simon Josefsson  <jas@extundo.com>
19147
19148         * lib/crc.h, lib/crc.c: New files.
19149
19150         * lib/gc.h (gc_hash_buffer): Add doc.
19151
19152 2005-10-11  Bruno Haible  <bruno@clisp.org>
19153
19154         * modules/c-strcasestr: New file.
19155         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
19156
19157 2005-10-11  Bruno Haible  <bruno@clisp.org>
19158
19159         * modules/c-strcase: New file.
19160         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
19161
19162 2005-10-11  Bruno Haible  <bruno@clisp.org>
19163
19164         * lib/strcasecmp.c: Include limits.h.
19165         (strcasecmp): Avoid integer overflow on exotic platforms.
19166         * lib/strncasecmp.c: Include limits.h.
19167         (strncasecmp): Avoid integer overflow on exotic platforms.
19168         Reported by Paul Eggert.
19169
19170 2005-10-11  Bruno Haible  <bruno@clisp.org>
19171
19172         * lib/c-strcasestr.h: New file, from GNU gettext.
19173         * lib/c-strcasestr.c: New file, from GNU gettext.
19174
19175 2005-10-11  Bruno Haible  <bruno@clisp.org>
19176
19177         * lib/c-strcase.h: New file, from GNU gettext.
19178         * lib/c-strcasecmp.c: New file, from GNU gettext.
19179         * lib/c-strncasecmp.c: New file, from GNU gettext.
19180
19181 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
19182
19183         * modules/mempcpy (License): GPL -> LGPL.
19184         * modules/strchrnul (License): Likewise.
19185         * modules/sysexits (License): Likewise.
19186
19187 2005-10-08  Simon Josefsson  <jas@extundo.com>
19188
19189         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
19190
19191 2005-10-07  Simon Josefsson  <jas@extundo.com>
19192
19193         * m4/memxor.m4: Remove gl_C_RESTRICT call.
19194
19195 2005-10-06  Simon Josefsson  <jas@extundo.com>
19196
19197         * tests/test-hmac-md5.c: New file.
19198
19199         * modules/hmac-md5-tests: New file.
19200
19201         * modules/hmac-md5: New file.
19202
19203 2005-10-06  Simon Josefsson  <jas@extundo.com>
19204
19205         * m4/hmac-md5.m4: New file.
19206
19207         * m4/memxor.m4: Require gl_C_RESTRICT.
19208
19209 2005-10-06  Simon Josefsson  <jas@extundo.com>
19210
19211         * lib/memxor.c (memxor): Avoid casts and warnings.
19212
19213 2005-10-06  Simon Josefsson  <jas@extundo.com>
19214
19215         * lib/hmac-md5.c: New file.
19216
19217         * lib/hmac.h: New file.
19218
19219 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
19220
19221         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
19222         promotes to int, not unsigned int, to catch the AIX 5.3
19223         compiler bug.
19224
19225 2005-10-05  Simon Josefsson  <jas@extundo.com>
19226
19227         * modules/memxor: New file.
19228
19229         * modules/iconv (Files): Move config.rpath to havelib, it is used
19230         there.
19231
19232         * modules/havelib (Files): Add config.rpath.
19233
19234 2005-10-05  Simon Josefsson  <jas@extundo.com>
19235
19236         * m4/memxor.m4: New file.
19237
19238 2005-10-05  Simon Josefsson  <jas@extundo.com>
19239
19240         * lib/memxor.c (memxor): Fix compiler error.
19241
19242         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
19243         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
19244
19245         * lib/memxor.h, lib/memxor.c: New files.
19246
19247         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
19248         we assume all systems have it, suggested by Jim Meyering
19249         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
19250         any systems lack sys/socket.h; mingw32 is known to lack it, but we
19251         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
19252         same reasons.
19253
19254 2005-10-05  Simon Josefsson  <jas@extundo.com>
19255
19256         * config/srclist.txt: Add glibc bug 1423 for md5.h.
19257
19258 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19259
19260         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
19261         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
19262         needed, since the source code now assumes these .h files.
19263
19264 2005-10-05  Derek Price  <derek@ximbiot.com>
19265
19266         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
19267
19268 2005-10-05  Bruno Haible  <bruno@clisp.org>
19269
19270         * modules/stdint (License): Change to LGPL.
19271
19272 2005-10-04  Simon Josefsson  <jas@extundo.com>
19273
19274         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
19275         D. Baushke" <mdb@gnu.org>.
19276
19277 2005-10-04  Bruno Haible  <bruno@clisp.org>
19278
19279         * lib/verify.h (verify_true): Provide alternative definition for C++.
19280
19281 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19282
19283         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
19284         (SSIZE_MAX): New macro, if not already defined.
19285         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
19286         than 2 GiB.
19287
19288 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19289
19290         Sync from coreutils.
19291         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
19292         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
19293         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
19294         ULLONG_MAX doesn't work with 2.7.2.1.
19295
19296 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19297
19298         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
19299         From Ben Pfaff.
19300
19301         * modules/exclude (Depends-on): Depend on verify.
19302         * modules/strtoimax (Depends-on): Likewise.
19303         * modules/utimecmp (Depends-on): Likewise.
19304
19305 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19306
19307         * lib/exclude.c: Include verify.h.
19308         (verify): Remove.  All callers changed to use verify.h's version.
19309         * lib/strtoimax.c: Likewise.
19310         * lib/utimecmp.c: Likewis.e
19311
19312         Sync from coreutils.
19313         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
19314         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
19315         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
19316         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
19317         bother returning ENOSYS if settimeofday or stime fails; just let
19318         them return whatever errno they want to return.
19319         * lib/utimens.c: Include unistd.h, for dup2.
19320         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
19321         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
19322
19323 2005-10-02  Jim Meyering  <jim@meyering.net>
19324
19325         Sync from coreutils.
19326         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
19327         from glibc-2.2.5 that fails for read-only files.
19328
19329 2005-10-02  Jim Meyering  <jim@meyering.net>
19330
19331         Sync from coreutils.
19332         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
19333         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
19334         `#if HAVE_CONFIG_H'.
19335         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
19336         Remove AT_FDCWD test.
19337         Do not consume the fd unless successful.
19338         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
19339         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
19340         block, so that we don't even try to compile it if settimeofday is
19341         available.  This works around a compilation failure on OSF1 V5.1,
19342         due to stime requiring a `long int*' while tv_sec is `int'.
19343
19344 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
19345
19346         Sync from coreutils.
19347         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
19348         against `yes', rather than just testing for nonempty.
19349
19350 2005-10-01  Simon Josefsson  <jas@extundo.com>
19351
19352         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
19353         and Darwin.
19354
19355         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
19356         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
19357         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
19358         freeaddrinfo and gai_strerror are declared by the POSIX headers.
19359         Check if struct addrinfo is declared.
19360
19361 2005-10-01  Simon Josefsson  <jas@extundo.com>
19362
19363         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
19364         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
19365         AI_* and EAI_* definitions.  Protect function declarations.
19366
19367 2005-10-01  Jim Meyering  <jim@meyering.net>
19368
19369         Sync from coreutils.
19370
19371         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
19372         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
19373         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
19374         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
19375         in the inet and nsl libraries.  Required on Solaris 5.7.
19376
19377 2005-10-01  Jim Meyering  <jim@meyering.net>
19378
19379         Sync from coreutils.
19380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
19381         in the inet and nsl libraries.  Required on Solaris 5.7.
19382
19383 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
19384
19385         * lib/getdelim.c (getdelim): Remove unused variables.
19386
19387 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
19388
19389         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
19390         so that the code works even with ancient cpp.  Portability problem
19391         with GCC 2.7.2.1 reported by Thomas M.Ott.
19392
19393 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
19394
19395         * modules/regex (Depends-on): Add strcase.
19396
19397         * modules/gethostname (Licence): Change from GPL to LGPL, since
19398         gethostname.c is a trivial implementation of a standard library
19399         function.
19400         * modules/poll (License): Change from GPL to LGPL, since it's
19401         derived from LGPL code.
19402
19403 2005-09-27  Jim Meyering  <jim@meyering.net>
19404
19405         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
19406         HAVE_CONFIG_H.
19407
19408         * lib/intprops.h (signed_type_or_expr__): Define.
19409         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
19410         for unsigned types.
19411
19412 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
19413
19414         * lib/verify.h (verify_expr): Remove, replacing with:
19415         (verify_true): New macro that returns true instead of void.
19416         (verify_type__): Remove.
19417         (verify): Use verify_true rather than verify_type__.
19418
19419 2005-09-26  Bruno Haible  <bruno@clisp.org>
19420
19421         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
19422         is necessary.
19423         (lib_SOURCES): Remove mbchar.c.
19424         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
19425         (Files): Add m4/mbrtowc.m4.
19426         * modules/mbiter: Likewise.
19427         * modules/mbuiter: Likewise.
19428
19429 2005-09-26  Bruno Haible  <bruno@clisp.org>
19430
19431         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
19432         compile mbchar.c if they are not both present.
19433         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
19434         * m4/mbiter.m4 (gl_MBITER): Likewise.
19435         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
19436         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
19437         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
19438
19439 2005-09-25  Jim Meyering  <jim@meyering.net>
19440
19441         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
19442         also uses socklen_t.
19443
19444 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
19445
19446         * lib/utimens.c (ENOSYS): Define if not already defined.
19447         (futimens): Support having a null PATH if the file descriptor
19448         is nonnegative.
19449
19450         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
19451         Remove.
19452         (__attribute): Define to empty unless GCC 3.1 or later.
19453         This works around a core dump on OpenBSD 3.4, which has GCC
19454         2.95.3, which dumps core when given __attribute__(()).  It also
19455         simplifies other tests, since we really don't want to bother with
19456         worrying about which ancient version of GCC supported what.
19457         Original problem reported by Yoann Vandoorselaere, with part of
19458         the fix suggested by Derek Price.
19459
19460 2005-09-24  Jim Meyering  <jim@meyering.net>
19461
19462         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
19463         so we can once again use a positive bitfield width of 1 -- now we
19464         don't have to explain why we were using a bitfield width of 2.
19465
19466 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19467
19468         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
19469         and similarly for the other external symbols.  Problem reported
19470         by James Gallager.
19471
19472         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
19473         bug reported by Jim Meyering.
19474
19475         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
19476         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
19477         not needed, since socklen is a prerequisite module.
19478
19479 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19480
19481         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
19482         Problem reported by Eric Blake.
19483         (getaddrinfo): Initialize se so that it's not garbage.
19484         Redo internal storage allocation so that it doesn't make unportable
19485         assumptions about alignment.
19486         Fix a memory leak.
19487
19488         * lib/utimens.c (futimens): Use futimesat if available.
19489         Prefer it to futimes since it doesn't have the futimes bug.
19490
19491         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
19492         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
19493         Instead, declare a function that returns a pointer to an array,
19494         and use verify_type__ to declare the size of the array.
19495         Problem and germ of a solution reported by Bruno Haible.
19496         (verify_type__): Use 2, not 1, for bitfield size, to avoid
19497         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
19498
19499 2005-09-23  Jim Meyering  <jim@meyering.net>
19500
19501         Sync from coreutils.
19502         Correct build failure (socklen_t not defined) on at least
19503         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
19504         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
19505
19506 2005-09-23  Jim Meyering  <jim@meyering.net>
19507
19508         * modules/getaddrinfo (Depends-on): Add socklen.
19509
19510 2005-09-23  Bruno Haible  <bruno@clisp.org>
19511
19512         * tests/test-verify.c: New file.
19513
19514 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19515
19516         Sync from coreutils.
19517
19518         * modules/argmatch (Depends-on): Add verify.
19519         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
19520         unistd-safer.
19521         * modules/save-cwd (Depends-on): Likewise.
19522
19523         * modules/openat (Files): Add lib/openat-die.c.
19524         (Depends-on): Remove error, exitfail.
19525         Add dirname.
19526
19527         * modules/verify: New file.
19528         * MODULES.html.sh (Diagnostics <assert.h>): New section,
19529         with "verify" module.
19530
19531 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19532
19533         Sync from coreutils.
19534
19535         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
19536         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
19537         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
19538         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
19539         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
19540         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
19541         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
19542         Don't bother checking for string.h, stdlib.h, unistd.h.
19543         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
19544         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
19545         module's job.
19546         * m4/jm-macros.m4 (gl_MACROS): Likewise.
19547         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
19548
19549         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
19550         (gl_GETDATE): Use it.
19551
19552         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
19553
19554 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19555
19556         Sync from coreutils.
19557
19558         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
19559         stat-time.h.
19560         * lib/argmatch.h: Include verify.h
19561         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
19562         (ARGMATCH_ASSERT): Remove; unused.
19563         * lib/canonicalize.c: Assume STDC_HEADERS.
19564         * lib/exclude.c: Include "strcase.h".
19565         * lib/regex_internal.h [!defined _LIBC]: Likewise.
19566         * lib/getusershell.c: Include stdio--.h rather than stdio.h
19567         and stdio-safer.h.
19568         (getusershell): Call fopen, not fopen_safer.
19569         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
19570         Do not include unistd-safer.h.
19571         (save_cwd): Don't call fd_safer; no longer needed
19572         now that we include fcntl--.h.
19573
19574         * lib/getdate.y (relative_time): New type.
19575         (RELATIVE_TIME_0): New constant.
19576         (parser_control): Use relative_time instead of doing it ourselves.
19577         (%union): Add new relative_time rel member.
19578         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
19579         Now typeless.
19580         (relunit, relunit_snumber): Now of type rel.
19581         (zone, rel, relunit, get_date): Adjust to above changes.
19582
19583         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
19584         Do not include unistd-safer.h.
19585         (getloadavg): Don't call fd_safer; no longer needed
19586         now that we include fcntl--.h.
19587
19588         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
19589         (make_dir_parents): Treat ENOSYS like EEXIST.
19590
19591         Improve quality of diagnostics on restore_cwd failure.
19592         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
19593         (make_dir_parents): Last arg is now int * (for errno), not bool *.
19594         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
19595         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
19596         each time through the loop.  Do not diagnose restore_cwd failure;
19597         that is the caller's job (and perhaps the caller does not care).
19598
19599         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
19600         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
19601         If the file already exists but is not a directory, don't bother
19602         to try to make its parents.
19603         Close potential file descriptor leak if we can't chdir("/") (!).
19604         Don't always return true if chdir($PWD) fails; return true only
19605         if the requested action was done successfully (except for the
19606         chdir($PWD)).
19607         Don't log final directory unless we actually made it.
19608         Refactor to avoid duplicate code to fix up permissions.
19609         Don't attempt to fix up parent permissions if chdir($PWD) fails.
19610
19611         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
19612         to make it a bit faster and (I hope) clearer.
19613         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
19614         Fix bug in formats like %2N.
19615
19616         * lib/verify.h: New file.
19617
19618 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19619
19620         Sync from coreutils.
19621         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
19622
19623 2005-09-22  Jim Meyering  <jim@meyering.net>
19624
19625         Sync from coreutils.
19626
19627         * m4/lstat.m4 (gl_FUNC_LSTAT):
19628         Use AC_LIBSOURCES to require lstat.c and lstat.h.
19629         Remove obsolete comment.
19630         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
19631         * m4/xstrtod.m4: Likewise.
19632
19633         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
19634
19635 2005-09-22  Jim Meyering  <jim@meyering.net>
19636
19637         Sync from coreutils.
19638
19639         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
19640
19641         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
19642         the .tm_year member, since otherwise gcc-4.0 would now warn about
19643         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
19644
19645         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
19646         order to avoid an unsuppressible warning from gcc on 64-bit systems.
19647
19648         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
19649         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
19650         when run in a time zone for which daylight savings time is in effect
19651         for the starting date.
19652
19653         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
19654         stop us from restricting permissions of just-created absolute-named
19655         directories.
19656         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
19657         to restore initial working directory.
19658         * lib/mkdir-p.c (make_dir_parents): New parameter:
19659         different_working_dir, to tell caller if/when we change the working
19660         directory and are unable to return to the initial one.
19661         * lib/mkdir-p.h (make_dir_parents): Update prototype.
19662         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
19663         `return false'.  This fixes a bug introduced on 2004-07-30.
19664
19665         * lib/openat.c (fdopendir): Be sure to close the supplied
19666         file descriptor before returning.  This makes our replacement
19667         implementation a little closer to Solaris's, where fdopendir
19668         ties the file descriptor to the returned DIR* pointer.
19669         * lib/openat.c (unlinkat): New function.
19670         * lib/openat.h (unlinkat): Add prototype.
19671         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
19672         (openat_restore_fail): Rename from openat_restore_die.
19673         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
19674
19675         Provide an alternative to exiting immediately upon save_cwd or
19676         restore_cwd failure.  Now, an application can arrange e.g.,
19677         to perform a longjump in that case.
19678         * lib/openat.c: Include dirname.h.
19679         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
19680         (rpl_openat, fdopendir, fstatat): Call openat_save_die
19681         and openat_restore_die rather than calling error directly.
19682         Don't include "error.h" or "exitfail.h"; they're no longer needed.
19683
19684         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
19685         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
19686         define.
19687
19688         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
19689         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
19690                             int utc, int nanoseconds);
19691         Background:
19692         date should not have to allocate a megabyte of virtual memory to
19693         handle a format argument like +%1048575T.  When implemented with
19694         strftime, it must allocate such a buffer, use strftime to fill it
19695         in, print it, then free it.
19696         With fprintftime, it simply prints everything and exits.
19697         With no need for memory allocation, that's one fewer way to fail.
19698         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
19699         optional field width, not before, so we accept %9:z, not %:9z.
19700         (my_strftime): Be sure to use L_('x') for literals.
19701
19702         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
19703         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
19704         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
19705         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
19706         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
19707         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
19708         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
19709         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
19710         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
19711         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
19712         * lib/xgethostname.c, lib/xreadlink.c:
19713         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
19714
19715         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
19716         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
19717         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
19718         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
19719         and don't include <sys/file.h>).
19720
19721 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
19722
19723         Sync from coreutils.
19724
19725         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
19726         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
19727         [!LDAV_DONE]: Avoid unused variable warning.
19728
19729 2005-09-21  Bruno Haible  <bruno@clisp.org>
19730
19731         * lib/unicodeio.h (unicode_to_mb): New declaration.
19732
19733 2005-09-20  Derek Price  <derek@ximbiot.com>
19734
19735         * lib/getaddrinfo.c: Don't include <netdb.h> included from
19736         getaddrinfo.h.
19737
19738 2005-09-20  Bruno Haible  <bruno@clisp.org>
19739
19740         * gnulib-tool: Remove trailing slashes from the values specified for
19741         --source-base, --m4-base, --tests-base, --aux-dir.
19742         Suggested by Simon Josefsson <jas@extundo.com>.
19743
19744 2005-09-20  Bruno Haible  <bruno@clisp.org>
19745
19746         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
19747         func_modules_to_filelist, func_import, func_create_testdir): Make all
19748         sorting results locale-independent, so that gnulib-cache.m4 doesn't
19749         change when gnulib-tool is invoked in a different locale.
19750
19751 2005-09-19  Simon Josefsson  <jas@extundo.com>
19752
19753         * m4/socklen.m4: Fix typo.
19754
19755 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19756
19757         Use a consistent style for including <config.h>.
19758         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
19759         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
19760         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
19761         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
19762         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
19763         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
19764         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
19765         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
19766         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
19767         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
19768         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
19769         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
19770         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
19771         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
19772         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
19773         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
19774         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
19775         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
19776         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
19777         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
19778         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
19779         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
19780         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
19781         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
19782         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
19783         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
19784         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
19785         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
19786         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
19787         lib/xstrtoumax.c, lib/yesno.c:
19788         Standardize inclusion of config.h.
19789         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
19790         lib/inttostr.h:  Removed inclusion of config.h from header files.
19791         * lib/inttostr.c:  Adjusted in-tree users.
19792         * lib/timespec.h: Remove superfluous warning to include config.h.
19793         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
19794         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
19795         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
19796         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
19797         config.h with HAVE_CONFIG_H.
19798
19799 2005-09-19  Jim Meyering  <jim@meyering.net>
19800
19801         * modules/pathmax (License): Change to LGPL.
19802
19803 2005-09-19  Derek Price  <derek@ximbiot.com>
19804
19805         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
19806
19807 2005-09-19  Bruno Haible  <bruno@clisp.org>
19808
19809         * gnulib-tool (import): Provide default for --tests-base.
19810
19811 2005-09-19  Bruno Haible  <bruno@clisp.org>
19812
19813         * doc/quote.texi: New file, extracted from gnulib.texi.
19814         * doc/ctime.texi: New file, extracted from gnulib.texi.
19815         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
19816         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
19817         * doc/gnulib.texi: Include them.
19818
19819 2005-09-18  Bruno Haible  <bruno@clisp.org>
19820
19821         Portability fix.
19822         * gnulib-tool (func_readlink): New function.
19823         (func_ln_if_changed): Use it.
19824
19825 2005-09-18  Bruno Haible  <bruno@clisp.org>
19826
19827         * gnulib-tool: Support --with-tests also with --import.
19828         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
19829         (func_import): Use variables $testsbase and $inctests. Emit a
19830         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
19831         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
19832         SUBDIRS += $testsdir.
19833         (func_create_testdir): Update.
19834
19835 2005-09-18  Bruno Haible  <bruno@clisp.org>
19836
19837         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
19838         instead of $dry_run.
19839         (func_cp_if_changed, func_mv_if_changed): Remove functions.
19840         (func_ln_if_changed): Don't handle dry-run here.
19841         (func_import): In dry-run mode, detect more precisely which actions
19842         would be performed, and don't use "...ing" verbs.
19843
19844 2005-09-18  Bruno Haible  <bruno@clisp.org>
19845
19846         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
19847         (func_import): Use join on two temporary files instead of three nested
19848         loops, in order to determine which files are new or old.
19849
19850 2005-09-18  Bruno Haible  <bruno@clisp.org>
19851
19852         * gnulib-tool (func_import): Comment out code that spits out the
19853         new files with --dry-run.
19854
19855 2005-09-18  Bruno Haible  <bruno@clisp.org>
19856
19857         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
19858
19859 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19860
19861         * lib/stat-time.h: New file.
19862         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
19863         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
19864         in a different way.
19865         (timespec_cmp): New function.
19866         * lib/utimecmp.c: Include stat-time.h.
19867         (SYSCALL_RESOLUTION): Depend on whether various struct stat
19868         members exist, not on the obsolescent ST_MTIM_NSEC.
19869         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
19870
19871 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19872
19873         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
19874
19875 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19876
19877         * MODULES.html.sh (File system functions): Add stat-time.
19878         * modules/stat-time: New file.
19879         * modules/timespec (Files): Remove m4/st_mtim.m4; this
19880         is now done in a different way, by the stat-time module.
19881         * modules/utimecmp (Depends-on): Add stat-time.
19882
19883 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
19884
19885         * m4/st_mtim.m4: Remove.  Superseded by...
19886         * m4/stat-time.m4: New file.
19887         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
19888         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
19889
19890 2005-09-15  Derek Price  <derek@ximbiot.com>
19891
19892         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
19893
19894 2005-09-15  Derek Price  <derek@ximbiot.com>
19895
19896         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
19897         * lib/regex_internal.c: Ditto, using this...
19898         (__GNUC_PREREQ): ...new macro.
19899         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
19900         using...
19901         (__GNUC_PREREQ): ...this new macro.
19902
19903         * lib/strstr.h: Include string.h. Define strstr as a macro here.
19904
19905 2005-09-15  Derek Price  <derek@ximbiot.com>
19906             Paul Eggert  <eggert@cs.ucla.edu>
19907
19908         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
19909         changes, consolidating in...
19910         * lib/regex_internal.h: ...this file.
19911
19912 2005-09-13  Jim Meyering  <jim@meyering.net>
19913
19914         * lib/canon-host.c: Filter through gnu indent and reword comments
19915         slightly.
19916         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
19917
19918 2005-09-13  Derek Price  <derek@ximbiot.com>
19919
19920         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
19921         failure.
19922         Reported by Jim Meyering  <jim@meyering.net>.
19923
19924 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
19925
19926         * lib/base64.c: Typo.
19927         (base64_encode): Put b64str in initialized data section.
19928
19929 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19930
19931         Merge glibc and coreutils changes into gnulib, plus a few
19932         extra fixes.
19933         * lib/md5.c: Use #error rather than a string.
19934         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
19935         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
19936         (__attribute__): Define to empty for non recent-GCC.
19937         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
19938         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
19939         Renamed from their non-__ counterparts, with new macros replacing
19940         them if not _LIBC.  Add __THROW attribute.
19941         (rol): Remove.
19942         (struct md5_ctx): Align buffer if using GCC.
19943         * lib/sha1.h (struct sha1_ctx): Likewise.
19944         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
19945         The old name was backwards.
19946         (NOTSWAP): Remove; not used.
19947         (rol): New macro, moved here from md5.h.
19948         (sha1_process_block): Remove a FIXME that doesn't make sense.
19949
19950 2005-09-12  Derek Price  <derek@ximbiot.com>
19951
19952         Return usable errors from canon-host.
19953         * lib/canon-host.h: New file.
19954         * lib/canon-host.c (canon_host): Wrap...
19955         (canon_host_r): ...this new function, which now relies exclusively on
19956         getaddrinfo.
19957         (ch_strerror): New function.
19958         (last_cherror): New global.
19959         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
19960         interface.
19961         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
19962         void *.
19963         (freeaddrinfo): Free ai->ai_canonname when set.
19964
19965 2005-09-12  Derek Price  <derek@ximbiot.com>
19966
19967         Make canon-host require getaddrinfo.
19968         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
19969         AC_LIBSOURCE canon-host.h.  Call...
19970         (gl_PREREQ_CANON_HOST): ...this new function, which requires
19971         gl_GETADDRINFO.
19972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
19973
19974 2005-09-12  Derek Price  <derek@ximbiot.com>
19975
19976         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
19977         LGPL.
19978         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
19979
19980 2005-09-12  Derek Price  <derek@ximbiot.com>
19981
19982         * lib/gai_strerror.c: Include config.h when available.  Include
19983         getaddrinfo.h before other headers to test interface.
19984         Reported by Larry Jones <lawrence.jones@ugs.com>.
19985
19986 2005-09-12  Derek Price  <derek@ximbiot.com>
19987             Paul Eggert  <eggert@cs.ucla.edu>
19988
19989         * modules/glob (Files): Add glob-libc.h.
19990
19991 2005-09-12  Derek Price  <derek@ximbiot.com>
19992             Paul Eggert  <eggert@cs.ucla.edu>
19993
19994         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
19995         glob_.h, glob-libc.h.
19996         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
19997
19998 2005-09-12  Derek Price  <derek@ximbiot.com>
19999             Paul Eggert  <eggert@cs.ucla.edu>
20000
20001         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
20002         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
20003         protecting things that should be done only in gnulib contexts.
20004         * lib/glob_.h: New file, containing only the glob things needed for
20005         gnulib.
20006         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
20007         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
20008         (glob, globfree, glob_pattern_p): Now defined simply in terms of
20009         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
20010         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
20011         and to respect the namespace rules better.
20012
20013 2005-09-08  Simon Josefsson  <jas@extundo.com>
20014
20015         * modules/socklen: New file.
20016
20017 2005-09-08  Simon Josefsson  <jas@extundo.com>
20018
20019         * m4/socklen.m4: New file.
20020
20021 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
20022
20023         * modules/utimens (Files): Add m4/utimbuf.m4, since
20024         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
20025         Reported by Sergey Poznyakoff.
20026
20027 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
20028
20029         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
20030         definitions, since that's the preferred style in glibc.
20031         Fix a minor spacing issue, and update copyright notice to match
20032         glibc's.
20033
20034 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
20035
20036         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
20037
20038 2005-09-06  Simon Josefsson  <jas@extundo.com>
20039
20040         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
20041         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
20042
20043 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
20044
20045         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
20046         warning.
20047
20048 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
20049
20050         * config/srclist.txt: Add glibc bug 1302.
20051
20052 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
20053
20054         Change bitset word type from unsigned int to unsigned long int,
20055         as this has better performance on typical 64-bit hosts.
20056         Port bitset code to hosts with unusual word sizes.
20057         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
20058         (build_collating_symbol):
20059         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
20060         argument is a bitset.  This is merely a style issue, but it makes
20061         it clearer that an entire array is expected.
20062         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
20063         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
20064         Port to the case where bitset_word is not the same as unsigned int.
20065         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
20066         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
20067         Likewise.
20068         * lib/regexec.c (check_dst_limits_calc_pos_1,
20069         check_subexp_matching_top):
20070         (build_trtable, group_nodes_into_DFAstates):
20071         Likewise.
20072         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
20073         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
20074         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
20075         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
20076         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
20077         * lib/regcomp.c (optimize_subexps, lower_subexp):
20078         Work even if bitset_word has holes in its bitwise representation.
20079         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
20080         * lib/regexec.c (check_dst_limits_calc_pos_1,
20081         check_subexp_matching_top):
20082         Likewise.
20083         * lib/regex_internal.c (re_string_reconstruct):
20084         Don't assume UCHAR_MAX == 255.
20085         * lib/regex_internal.h (bitset_set_all): Likewise.
20086         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
20087         All uses changed.
20088         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
20089         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
20090         All uses changed.
20091         (BITSET_WORD_MAX): New macro.
20092         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
20093         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
20094         (bitset_empty, bitset_copy):
20095         Prefer sizeof (bitset) to multiplying it out ourselves.
20096         (bitset_not_merge): Remove; unused.
20097         (bitset_contain): Return bool, not unsigned int with one bit on.
20098         All callers changed.
20099         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
20100         alignment than re_node_set; do this by defining a new internal
20101         type struct dests_alloc and using it to allocate memory.
20102
20103 2005-09-05  Bruno Haible  <bruno@clisp.org>
20104
20105         * gnulib-tool (func_import): Fix comparison in handling of symbolic
20106         links.
20107
20108 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
20109
20110         * modules/size_max (Makefile.am): Add size_max.h
20111
20112 2005-09-04  Derek Price  <derek@ximbiot.com>
20113
20114         * gnulib-tool (func_import): Fix reversed $symbolic logic.
20115
20116 2005-09-03  Simon Josefsson  <jas@extundo.com>
20117
20118         * gnulib-tool: Fix typo.
20119
20120 2005-09-03  Simon Josefsson  <jas@extundo.com>
20121
20122         * config/srclist.txt: Add glibc bug 1293.
20123
20124 2005-09-03  Derek Price  <derek@ximbiot.com>
20125
20126         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
20127         From Larry Jones <lawrence.jones@ugs.com>.
20128
20129 2005-09-02  Simon Josefsson  <jas@extundo.com>
20130
20131         * modules/socklen: New file.
20132
20133 2005-09-02  Simon Josefsson  <jas@extundo.com>
20134
20135         * modules/havelib: New module.
20136
20137         * modules/gettext, modules/iconv, modules/lock, modules/readline:
20138         Use havelib.
20139
20140 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20141
20142         Check for arithmetic overflow when calculating sizes, to prevent
20143         some buffer-overflow issues.  These patches are conservative, in the
20144         sense that when I couldn't determine whether an overflow was possible,
20145         I inserted a run-time check.
20146         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
20147         macros.
20148         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
20149         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
20150         (re_xnrealloc, re_x2nrealloc): New inline functions.
20151         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
20152         parse_bracket_exp):
20153         (build_equiv_class, build_charclass): Check for arithmetic overflow
20154         in size expression calculations.
20155         * lib/regex_internal.c (re_string_realloc_buffers):
20156         (build_wcs_upper_buffer, re_node_set_add_intersect):
20157         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
20158         (re_dfa_add_node, register_state): Likewise.
20159         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
20160         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
20161         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
20162         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
20163
20164 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20165
20166         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
20167         m4/ulonglong.m4.  Problem reported by Martin Lambers.
20168
20169 2005-09-02  Bruno Haible  <bruno@clisp.org>
20170
20171         Support for lib vs. lib64 distinction on biarch platforms.
20172         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
20173         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
20174         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
20175
20176 2005-09-02  Bruno Haible  <bruno@clisp.org>
20177
20178         * gnulib-tool (import): In the other first-use case, provide defaults
20179         as well.
20180
20181 2005-09-02  Bruno Haible  <bruno@clisp.org>
20182
20183         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
20184         patches not yet found in the latest gettext release.
20185
20186 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20187
20188         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
20189         to avoid a collision with bits/local_lim.h in glibc.
20190         All uses changed.  Problem reported by Dmitry V. Levin in
20191         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
20192
20193         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
20194         bugs in int versus size_t comparisons.
20195         (re_string_context_at): Fix bug where the code assumed that
20196         Idx is signed.
20197
20198         Use bool where appropriate.
20199         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
20200         All callers changed.
20201         (calc_eclosure_iter): Likewise, for ROOT arg.
20202         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
20203         (build_charclass_op): Likewise, for NON_MATCH arg.
20204         * lib/regex_internal.c (re_string_allocate, re_string_construct):
20205         (re_string_construct_common): Likewise, for ICASE arg.
20206         * lib/regexec.c (re_search_2_stub, re_search_stub):
20207         Likewise, for RET_LEN arg.
20208         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
20209         (set_regs): Likewise, for FL_BACKTRACK arg.
20210         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
20211         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
20212         (calc_eclosure_iter, parse_bracket_exp):
20213         Use bool for internal variables that are booleans.
20214         * lib/regexec.c (re_search_internal, check_matching,
20215         proceed_next_node):
20216         (set_regs, build_sifted_states, sift_states_bkref):
20217         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
20218         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
20219         (find_collation_sequence_value):
20220         Likewise.
20221         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
20222         (re_node_set_compare):
20223         Return bool, not int. All callers changed.
20224         * lib/regexec.c (check_halt_node_context, check_dst_limits):
20225         (build_trtable, check_node_accept): Likewise.
20226         * lib/regex_internal.h: Include stdbool.h.
20227
20228         Fix bugs uncovered when converting to bool.
20229         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
20230         failure instead of charging ahead blindly.
20231         * lib/regex_internal.c (register_state): Likewise.
20232         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
20233         for freeing internal storage.
20234         (group_nodes_into_DFA_states): Use unsigned int, not int, for
20235         bitset pieces used as boolean, to avoid undefined behavior
20236         on hosts that do int overflow checking.
20237
20238 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20239
20240         * config/srclist.txt: Add glibc bugs 1285-1287.
20241
20242 2005-09-01  Jim Meyering  <jim@meyering.net>
20243
20244         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
20245         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
20246         Require gl_STAT_MACROS, too.
20247
20248 2005-09-01  Bruno Haible  <bruno@clisp.org>
20249
20250         * gnulib-tool (import): In the first-use case, provide defaults.
20251
20252 2005-09-01  Bruno Haible  <bruno@clisp.org>
20253
20254         * gnulib-tool (func_import): Remove the .tmp files.
20255
20256 2005-09-01  Bruno Haible  <bruno@clisp.org>
20257
20258         * gnulib-tool (func_import): Fix handling of symbolic links.
20259
20260 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20261
20262         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
20263         old glibc regex code mishandles strings longer than 2**31 bytes.
20264         This patch fixes this when the regex code is used in gnulib
20265         (i.e., outside glibc).
20266
20267         This patch should not affect the use of the regex code inside
20268         glibc.  No doubt this problem also needs to be handled for glibc
20269         as well, but the result will be an incompatible change to the
20270         glibc ABI, and the old ABI will have to be supported too.  That
20271         can be the the subject for another patch.
20272
20273         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
20274         governing whether the rest of this patch is active.  By default,
20275         the macro is disabled and the patch has no effect.
20276         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
20277         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
20278         (struct re_pattern_buffer, re_search, re_search_2, re_match):
20279         (re_match_2, re_set_registers): Use the new types.
20280         * lib/regex_internal.h (Idx, re_hashval_t): New types.
20281         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
20282         New macros.
20283         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
20284         (re_string_context_at, bin_tree_t, re_dfastate_t):
20285         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
20286         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
20287         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
20288         (re_string_char_size_at, re_string_wchar_at):
20289         (re_string_elem_size_at):
20290         Use the new types and macros to port to 64-bit hosts.
20291         Use unsigned types for internal values, so that the code
20292         mostly works even for arrays larger than SSIZE_MAX.
20293         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
20294         (search_duplicated_node, calc_eclosure_iter, fetch_number):
20295         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
20296         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
20297         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
20298         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
20299         (calc_inveclosure, parse_dup_op, build_range_exp):
20300         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
20301         (fetch_number, create_token_tree, mark_opt_subexp):
20302         Likewise.
20303         * lib/regex_internal.c (re_string_construct_common,
20304         create_ci_newstate):
20305         (create_cd_newstate, re_string_allocate, re_string_construct):
20306         (re_string_realloc_buffers, build_wcs_upper_buffer):
20307         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
20308         (re_string_reconstruct, re_string_peek_byte_case):
20309         (re_string_fetch_byte_case, re_string_context_at):
20310         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
20311         (re_node_set_init_copy, re_node_set_add_intersect):
20312         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20313         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20314         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
20315         (re_acquire_state, re_acquire_state_context, register_state):
20316         Likewise.
20317         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
20318         search_cur_bkref_entry):
20319         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
20320         (re_search_internal, re_search_2_stub, re_search_stub)
20321         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
20322         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
20323         (update_cur_sifted_state, check_dst_limits):
20324         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
20325         (check_subexp_limits, sift_states_bkref, merge_state_array):
20326         (check_subexp_matching_top, get_subexp, get_subexp_sub):
20327         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
20328         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
20329         (expand_bkref_cache, check_node_accept_bytes):
20330         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
20331         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
20332         (acquire_init_state_context, check_halt_node_context):
20333         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
20334         (sift_states_backward, clean_state_log_if_needed):
20335         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
20336         (find_recover_state, transit_state_sb, transit_state_mb):
20337         (transit_state_bkref, build_trtable, match_ctx_clean):
20338         Likewise.
20339         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
20340         to work around an assumption that REG_MISSING is negative.
20341
20342         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
20343         (seek_collating_symbol_entry) [defined _LIBC]:
20344         (lookup_collation_sequence_value) [defined _LIBC]:
20345         (build_range_exp, build_collating_symbol) [defined _LIBC]:
20346         Use prototypes rather than old-style function definitions.
20347         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
20348         (transit_state_sb) [0]:
20349         (find_collation_sequence_value) [defined _LIBC]: Likewise.
20350
20351         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
20352         rm_eo.
20353
20354         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
20355         (optimize_subexps, lower_subexp):
20356         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
20357         since the signed shift might overflow.  Use 1u<<31 instead.
20358         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
20359         Likewise.
20360         * lib/regexec.c (check_dst_limits_calc_pos_1,
20361         check_subexp_matching_top): Likewise.
20362
20363         * lib/regcomp.c (optimize_subexps, lower_subexp):
20364         Use CHAR_BIT rather than 8, for clarity.
20365         * lib/regexec.c (check_dst_limits_calc_pos_1):
20366         (check_subexp_matching_top): Likewise.
20367         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
20368         have to worry about portability issues when shifting it left.
20369         Remove no-longer-needed test for table_size > 0.
20370         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
20371         in a word, as the resulting behavior is undefined.
20372         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
20373         in one case, a <= should have been an <, and in another case the
20374         whole test was missing.
20375         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
20376         the standard name CHAR_BIT.
20377         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
20378         this is not true on one's complement and signed-magnitude hosts.
20379
20380         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
20381         next_last_offset.
20382         (struct re_dfa_t): Remove unused member states_alloc.
20383         * lib/regcomp.c (init_dfa): Don't initialize unused members.
20384
20385 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20386
20387         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
20388         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
20389         and large-file glibc and in 32-bit large-file Solaris.
20390
20391 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20392
20393         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
20394         lengths fit in regoff_t; this isn't true if regoff_t is the same
20395         width as size_t.
20396         * lib/regex.c (re_search_internal): 5th arg is LAST_START
20397         (= START + RANGE) instead of RANGE.  This avoids overflow
20398         problems when regoff_t is the same width as size_t.
20399         All callers changed.
20400         (re_search_2_stub): Check for overflow when adding the
20401         sizes of the two strings.
20402         (re_search_stub): Check for overflow when adding START
20403         to RANGE; if it occurs, substitute the extreme value.
20404
20405 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20406
20407         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
20408
20409 2005-08-31  Jim Meyering  <jim@meyering.net>
20410
20411         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
20412         a pointer-to-const.
20413         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
20414         (register_state): Likewise.
20415         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
20416         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
20417         (group_nodes_into_DFAstates): Likewise.
20418
20419 2005-08-31  Jim Meyering  <jim@meyering.net>
20420
20421         * check-module: Add a FIXME comment.
20422
20423 2005-08-31  Eric Blake  <ebb9@byu.net>
20424
20425         * modules/unistd-safer (Files): Add unistd--.h.
20426         * modules/stdio-safer (Files): Add stdio--.h.
20427
20428 2005-08-31  Derek Price  <derek@ximbiot.com>
20429
20430         * lib/getdelim.c (getdelim): Return EOF on EOF.
20431         Reported by Larry Jones <lawrence.jones@ugs.com>.
20432
20433 2005-08-31  Bruno Haible  <bruno@clisp.org>
20434
20435         Avoid unnecessary diffs in the generated lib/Makefile.am.
20436         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
20437         the generated files.
20438         (func_import): Don't set cmd.
20439
20440 2005-08-31  Bruno Haible  <bruno@clisp.org>
20441
20442         * lib/strstr.c: Include <stddef.h>, for NULL.
20443         * lib/strcasestr.c: Likewise.
20444         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20445
20446 2005-08-31  Bruno Haible  <bruno@clisp.org>
20447
20448         * gnulib-tool: New option --macro-prefix.
20449         (func_import): Use macro_prefix.
20450         (import): Handle option --macro-prefix.
20451
20452 2005-08-31  Bruno Haible  <bruno@clisp.org>
20453
20454         * gnulib-tool (import): Rename most ac_* variables to cached_*.
20455         Also use new variables cached_lgpl, cached_libtool.
20456
20457 2005-08-31  Bruno Haible  <bruno@clisp.org>
20458
20459         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
20460         always instantiating them.
20461
20462 2005-08-31  Bruno Haible  <bruno@clisp.org>
20463
20464         * gnulib-tool (func_import): Read the previous cached settings
20465         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
20466         earlier added by gnulib but are now dropped. Warn when a gnulib file
20467         overwrites a non-gnulib file.
20468
20469 2005-08-31  Bruno Haible  <bruno@clisp.org>
20470
20471         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
20472         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
20473         projects that don't keep autogenerated files in CVS. Put into
20474         actioncmd only the specified modules, not the transitive closure.
20475
20476 2005-08-31  Bruno Haible  <bruno@clisp.org>
20477
20478         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
20479         Create directories that shall be filled.
20480         (import): Don't look for gl_* macros in configure.ac. Recurse across
20481         all directories containing a gnulib-cache.m4 files, if meaningful.
20482
20483 2005-08-31  Bruno Haible  <bruno@clisp.org>
20484
20485         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
20486         (import): Set seen_libtool when we see gl_LIBTOOL.
20487
20488 2005-08-31  Bruno Haible  <bruno@clisp.org>
20489
20490         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
20491         declaration macro definitions from generated gnulib.m4.
20492
20493 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
20494
20495         * lib/iconvme.h: Add prototype for iconv_alloc.
20496
20497 2005-08-29  Simon Josefsson  <jas@extundo.com>
20498
20499         * lib/iconvme.c: Fix errno.
20500
20501 2005-08-29  Bruno Haible  <bruno@clisp.org>
20502
20503         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
20504         that it works when the directory contains spaces.
20505
20506 2005-08-29  Bruno Haible  <bruno@clisp.org>
20507
20508         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
20509
20510 2005-08-29  Bruno Haible  <bruno@clisp.org>
20511
20512         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
20513         Emit more advice.
20514
20515 2005-08-29  Bruno Haible  <bruno@clisp.org>
20516         and Stepan Kasal  <kasal@ucw.cz>
20517
20518         * check-module: If more parameters are given, check each of them
20519         separately; add more exceptions, as noted by Jim Meyering.
20520         (check_module): New procedure.
20521         (%exempt_header): Now contains all exceptions.
20522
20523 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
20524
20525         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
20526
20527 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
20528
20529         * lib/iconvme.c: Split iconv_string into iconv_alloc.
20530
20531 2005-08-28  Bruno Haible  <bruno@clisp.org>
20532
20533         * m4/gnulib-tool.m4: New file.
20534
20535 2005-08-27  Jim Meyering  <jim@meyering.net>
20536
20537         * modules/unistd-safer (Files): Add pipe-safer.c.
20538         * modules/fcntl-safer (Files): Add creat-safer.c.
20539
20540 2005-08-27  Jim Meyering  <jim@meyering.net>
20541
20542         * m4/stdlib-safer.m4: New file.  From coreutils.
20543         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
20544         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
20545         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
20546         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
20547         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
20548
20549 2005-08-27  Jim Meyering  <jim@meyering.net>
20550
20551         * lib/fopen-safer.c: Merge minor changes from coreutils.
20552         * lib/dup-safer.c: Likewise.
20553         * lib/fd-safer.c: Likewise.
20554
20555         Merge from coreutils.
20556         * lib/stdio--.h: New file.
20557         * lib/stdlib--.h: New file.
20558         * lib/mkstemp-safer.c: New file.
20559
20560         GNU tar needs these.
20561         * lib/pipe-safer.c: New file.
20562         * lib/creat-safer.c: New file.
20563         * lib/fcntl--.h (creat): Define to creat_safer.
20564         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
20565         * lib/unistd--.h (pipe): Define to pipe_safer.
20566         * lib/unistd-safer.h: Declare pipe_safer.
20567
20568 2005-08-26  Simon Josefsson  <jas@extundo.com>
20569
20570         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
20571         Haible <bruno@clisp.org>.
20572
20573 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
20574
20575         * lib/regex_internal.h: Remove all references to
20576         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
20577         or better.
20578         (bitset_not, bitset_merge, bitset_not_merge):
20579         (bitset_mask, re_string_allocate, re_string_construct):
20580         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
20581         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
20582         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
20583         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
20584         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20585         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20586         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
20587         (re_acquire_state_context):
20588         Remove unnecessary forward decls.
20589         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
20590         Put __attribute at function definition,
20591         now that the function decl has been removed.
20592         * lib/regex_internal.c (re_string_peek_byte_case):
20593         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
20594         Likewise.
20595
20596 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
20597
20598         * m4/regex.m4: Add AC_PREREQ(2.50).
20599         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
20600
20601 2005-08-25  Simon Josefsson  <jas@extundo.com>
20602
20603         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
20604         __fsetlocking.
20605
20606 2005-08-25  Simon Josefsson  <jas@extundo.com>
20607
20608         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
20609         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
20610         GLIBC specific code.
20611
20612 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20613
20614         Make regex safe for g++.  This fixes one real bug (an "err"
20615         that should have been "*err").  g++ problem reported by
20616         Sam Steingold.
20617         * lib/regex_internal.h (re_calloc): New macro, consistent with
20618         re_malloc etc.  All callers of calloc changed to use re_calloc.
20619         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
20620         not int.  All callers changed.
20621         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
20622         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
20623         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
20624         (find_recover_state): Change "err" to "*err"; this fixes what
20625         appears to be a real bug.
20626         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
20627         versus int.
20628
20629 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20630
20631         * modules/regex (Depends-on): Add malloc, since the code
20632         assumes that !malloc(0) means failure.
20633
20634 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20635
20636         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
20637
20638         alloca modernization/simplification for regex.
20639         * lib/regex.c: Remove portability cruft for alloca.  This no longer
20640         needs to be at the start of the file, and can be moved into
20641         regex_internal.h and simplified.
20642         * lib/regex_internal.h: Include <alloca.h>.
20643         (__libc_use_alloca) [!defined _LIBC]: New macro.
20644         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
20645         now works outside glibc.
20646
20647 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20648
20649         * config/srclist.txt: Add glibc bugs 1241, 1245.
20650
20651 2005-08-25  Jim Meyering  <jim@meyering.net>
20652
20653         * lib/open-safer.c: Include <config.h>.
20654         Otherwise, we'd lose LARGEFILE support in any file using
20655         e.g. "fcntl--.h"
20656
20657 2005-08-25  Bruno Haible  <bruno@clisp.org>
20658
20659         * m4/minmax.m4: Require autoconf 2.52.
20660         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
20661         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
20662         alternatives of translit over the alphabet.
20663         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
20664
20665 2005-08-24  Simon Josefsson  <jas@extundo.com>
20666
20667         * tests/test-getpass.c: New file.
20668
20669 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20670
20671         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
20672         for GNU regex features.
20673
20674 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20675
20676         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
20677         * lib/regex.h (regerror): Likewise.
20678
20679         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
20680         requires this.  (The code never needed it.)
20681
20682         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
20683         All uses of recently-renamed identifiers changed to use the new,
20684         POSIX-compliant names.  The code will build and run just fine
20685         without these changes, but it's better to eat our own dog food
20686         and use the standard-conforming names.
20687
20688         * lib/regex.h: Fix a multitude of POSIX name space violations.
20689         These changes have an effect only for programs that define
20690         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
20691         do not change anything for programs compiled in the normal way.
20692         Also, there is no effect on the ABI.
20693
20694         (_REGEX_SOURCE): New macro.
20695         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
20696         defined and _GNU_SOURCE is not; this fixes a name space violation.
20697
20698         Rename the following macros to obey POSIX requirements.
20699         The old names are still visible as macros if _REGEX_SOURCE is defined.
20700         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
20701         RE_BACKSLASH_ESCAPE_IN_LISTS.
20702         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
20703         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
20704         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
20705         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
20706         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
20707         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
20708         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
20709         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
20710         (REG_INTERVALS): renamed from RE_INTERVALS.
20711         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
20712         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
20713         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
20714         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
20715         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
20716         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
20717         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
20718         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
20719         RE_UNMATCHED_RIGHT_PAREN_ORD.
20720         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
20721         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
20722         (REG_DEBUG): renamed from RE_DEBUG.
20723         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
20724         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
20725         unusual, since we can't clash with the POSIX REG_ICASE.
20726         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
20727         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
20728         (REG_NO_SUB): renamed from RE_NO_SUB.
20729         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
20730         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
20731         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
20732         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
20733         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
20734         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
20735         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
20736         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
20737         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
20738         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
20739         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
20740         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
20741         RE_SYNTAX_POSIX_MINIMAL_BASIC.
20742         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
20743         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
20744         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
20745         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
20746         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
20747         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
20748         (REG_FIXED): Renamed from REGS_FIXED.
20749         (REG_NREGS): Renamed from RE_NREGS.
20750
20751         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
20752         of other REG_* macros, since POSIX says the user is allowed to
20753         #undef these macros selectively.
20754
20755         (reg_errcode_t): Update comment stating what other tables need
20756         to be consistent.
20757
20758         Rename the following enum values to obey POSIX requirements.
20759         The old names are still visible as macros.
20760         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
20761         is not defined, since GNU is supposed to be a superset of POSIX as
20762         much as possible, and since we want reg_errcode_t to be a signed
20763         type for implementation consistency.
20764         (_REG_NOERROR): Renamed from REG_NOERROR.
20765         (_REG_NOMATCH): Renamed from REG_NOMATCH.
20766         (_REG_BADPAT): Renamed from REG_BADPAT.
20767         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
20768         (_REG_ECTYPE): Renamed from REG_ECTYPE.
20769         (_REG_EESCAPE): Renamed from REG_EESCAPE.
20770         (_REG_ESUBREG): Renamed from REG_ESUBREG.
20771         (_REG_EBRACK): Renamed from REG_EBRACK.
20772         (_REG_EPAREN): Renamed from REG_EPAREN.
20773         (_REG_EBRACE): Renamed from REG_EBRACE.
20774         (_REG_BADBR): Renamed from REG_BADBR.
20775         (_REG_ERANGE): Renamed from REG_ERANGE.
20776         (_REG_ESPACE): Renamed from REG_ESPACE.
20777         (_REG_BADRPT): Renamed from REG_BADRPT.
20778         (_REG_EEND): Renamed from REG_EEND.
20779         (_REG_ESIZE): Renamed from REG_ESIZE.
20780         (_REG_ERPAREN): Renamed from REG_ERPAREN.
20781         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
20782         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
20783         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
20784         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
20785
20786         (_REG_RE_NAME, _REG_RM_NAME): New macros.
20787         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
20788         changed.  But support the old name if the new one is not defined
20789         and if _REGEX_SOURCE.
20790
20791         Change the following member names in struct re_pattern_buffer.
20792         The old names are still supported if !_REGEX_SOURCE.
20793         The new names are always supported, regardless of _REGEX_SOURCE.
20794         (re_buffer): Renamed from buffer.
20795         (re_allocated): Renamed from allocated.
20796         (re_used): Renamed from used.
20797         (re_syntax): Renamed from syntax.
20798         (re_fastmap): Renamed from fastmap.
20799         (re_translate): Renamed from translate.
20800         (re_can_be_null): Renamed from can_be_null.
20801         (re_regs_allocated): Renamed from regs_allocated.
20802         (re_fastmap_accurate): Renamed from fastmap_accurate.
20803         (re_no_sub): Renamed from no_sub.
20804         (re_not_bol): Renamed from not_bol.
20805         (re_not_eol): Renamed from not_eol.
20806         (re_newline_anchor): Renamed from newline_anchor.
20807
20808         Change the following member names in struct re_registers.
20809         The old names are still supported if !_REGEX_SOURCE.
20810         The new names are always supported, regardless of _REGEX_SOURCE.
20811         (rm_num_regs): Renamed from num_regs.
20812         (rm_start): Renamed from start.
20813         (rm_end): Renamed from end.
20814
20815         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
20816         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
20817         Prepend __ to parameter names.
20818
20819         Undo yesterday's changes.
20820
20821 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20822
20823         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
20824         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
20825         lib/regex.c.
20826
20827 2005-08-24  Jim Meyering  <jim@meyering.net>
20828
20829         Sync from coreutils.
20830         * m4/fcntl-safer.m4: New file.
20831
20832         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
20833         and object files for this module.
20834
20835 2005-08-24  Jim Meyering  <jim@meyering.net>
20836
20837         Sync from coreutils.
20838         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
20839
20840 2005-08-24  Jim Meyering  <jim@meyering.net>
20841
20842         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
20843         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
20844
20845 2005-08-24  Jim Meyering  <jim@meyering.net>
20846
20847         * modules/fcntl-safer: New module.
20848         * modules/fts (Depends-on): Add fcntl-safer.
20849         * MODULES.html.sh (File descriptor based Input/Output):
20850         Add fcntl-safer.
20851
20852 2005-08-24  Bruno Haible  <bruno@clisp.org>
20853
20854         Support for unit test modules.
20855         * modules/README: Mention tests modules.
20856         * modules/TEMPLATE-TESTS: New file.
20857         * gnulib-tool: New options --extract-tests-module, --with-tests and
20858         --tests-base (unused for the moment).
20859         (testsbase, inctests): New variables.
20860         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
20861         (func_verify_module): Exclude TEMPLATE-TESTS.
20862         (func_verify_nontests_module, func_verify_tests_module): New functions.
20863         (func_get_dependencies): Add implicit dependency for tests modules.
20864         (func_get_tests_module): New function.
20865         (func_modules_transitive_closure): When --with-tests was specified,
20866         include the unit tests as well, unless explicitly avoided.
20867         (func_emit_lib_Makefile_am): Ignore the tests modules here.
20868         (func_emit_tests_Makefile_am): New function.
20869         (func_create_testdir): When --with-tests was specified, emit a
20870         tests/ directory.
20871         * MODULES.html.sh (Future developments): Update.
20872
20873 2005-08-24  Bruno Haible  <bruno@clisp.org>
20874
20875         * modules/tls-tests: New file.
20876         * tests/test-tls.c: New file, from GNU gettext.
20877
20878 2005-08-24  Bruno Haible  <bruno@clisp.org>
20879
20880         * modules/lock-tests: New file.
20881         * tests/test-lock.c: New file, from GNU gettext.
20882
20883 2005-08-24  Bruno Haible  <bruno@clisp.org>
20884
20885         * lib/lock.h: Add multiple inclusion guard.
20886         * lib/tls.h: Add multiple inclusion guard.
20887
20888 2005-08-24  Bruno Haible  <bruno@clisp.org>
20889
20890         * gnulib-tool: Add support for the --aux-dir option to
20891         --create-testdir, --create-megatestdir, --test, --megatest.
20892         (func_create_testdir, func_create_megatestdir): Optionally emit a
20893         AC_CONFIG_AUX_DIR directive.
20894         (create-testdir, create-megatestdir, test, megatest): Provide a
20895         default value for $auxdir.
20896
20897 2005-08-24  Bruno Haible  <bruno@clisp.org>
20898
20899         * gnulib-tool (import): Use compound statement instead of subshell
20900         where possible.
20901
20902 2005-08-24  Bruno Haible  <bruno@clisp.org>
20903
20904         * gnulib-tool (import): Change --aux-dir default to "build-aux".
20905
20906 2005-08-24  Bruno Haible  <bruno@clisp.org>
20907
20908         * gnulib-tool (func_version): Update.
20909
20910 2005-08-24  Bruno Haible  <bruno@clisp.org>
20911
20912         * gnulib-tool (func_import, func_create_testdir,
20913         func_create_megatestdir): Quote all autoconf macro arguments.
20914
20915 2005-08-24  Bruno Haible  <bruno@clisp.org>
20916
20917         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
20918         option --force, because --force causes the aclocal.m4 of each
20919         subdirectory to be newer than the corresponding config.h.in.
20920
20921 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20922
20923         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
20924         All contents moved to gl_REGEX.
20925         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
20926         assume that it does.
20927
20928 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20929
20930         * lib/regex.h (REG_NOSYS)
20931         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
20932         Define, since POSIX requires it as of 2001.
20933         (_REG_ENOSYS)
20934         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
20935         New private symbol, used to keep the enum signed in all cases.
20936         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
20937         Youngman in
20938         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
20939
20940         * lib/regex_internal.c (re_string_skip_chars, register_state):
20941         (calc_state_hash):
20942         Remove forward decls; no longer needed now that we use prototypes.
20943         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
20944         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
20945         (clean_state_log_if_needed): Likewise.
20946
20947 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20948
20949         * config/srclist.txt: Add glibc bugs 1231-1233.
20950
20951 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20952
20953         Fix problems reported by Sam Steingold in
20954         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
20955         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
20956         assumed that reg_errcode_t is a signed type, which is not
20957         necessarily true if _XOPEN_SOURCE is not defined.
20958         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
20959         since some compilers warn about it otherwise.
20960
20961 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20962
20963         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
20964         (init_word_char, create_initial_state, duplicate_node_closure):
20965         (fetch_token, peek_token_bracket, build_range_exp):
20966         (build_collating_symbol): Remove forward decls; no longer needed
20967         now that we use prototypes.
20968
20969         * lib/regcomp.c:
20970         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
20971         (re_compile_fastmap_iter, regcomp, regerror, regfree):
20972         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
20973         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
20974         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
20975         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
20976         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
20977         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
20978         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
20979         (build_range_exp, build_collating_symbol, parse_bracket_exp):
20980         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
20981         (build_charclass, build_charclass_op, fetch_number, create_tree):
20982         (create_token_tree, mark_opt_subexp, duplicate_tree):
20983         Use prototypes rather than old-style definitions.
20984
20985         * lib/regex_internal.c:
20986         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
20987         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
20988         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
20989         (re_string_reconstruct, re_string_peek_byte_case):
20990         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
20991         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
20992         (re_node_set_init_copy, re_node_set_add_intersect):
20993         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20994         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20995         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
20996         (re_acquire_state, re_acquire_state_context, register_state):
20997         (create_ci_newstate, create_cd_newstate, free_state):
20998         Likewise.
20999         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
21000         re_search_2):
21001         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
21002         (re_search_internal, prune_impossible_nodes):
21003         (acquire_init_state_context, check_matching, static):
21004         (check_halt_node_context, check_halt_state_context, proceed_next_node):
21005         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
21006         (update_regs, sift_states_backward, build_sifted_states):
21007         (clean_state_log_if_needed, merge_state_array):
21008         (update_cur_sifted_state, add_epsilon_src_nodes):
21009         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
21010         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
21011         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
21012         (find_recover_state, check_subexp_matching_top, transit_state_mb):
21013         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
21014         (check_arrival, check_arrival_add_next_nodes):
21015         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
21016         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
21017         (check_node_accept_bytes, check_node_accept, extend_buffers):
21018         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
21019         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
21020         (sift_ctx_init):
21021         Likewise.
21022
21023         * lib/regex_internal.h:
21024         (re_string_allocate, re_string_construct, re_string_reconstruct):
21025         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
21026         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
21027         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
21028         (re_string_context_at, re_string_peek_byte_case):
21029         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
21030         is defined, since we now use prototypes always.
21031
21032         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
21033         C89 or better.  All uses removed.
21034
21035 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21036
21037         * config/srclist.txt: Add glibc bugs 1220-1227.
21038
21039 2005-08-20  Jim Meyering  <jim@meyering.net>
21040
21041         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
21042         of unused local, dfa.
21043
21044 2005-08-20  Bruno Haible  <bruno@clisp.org>
21045
21046         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
21047
21048 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21049
21050         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
21051         (re_node_set_insert_last, re_dfa_add_node):
21052         Rename local variables to avoid GCC shadowing warnings.
21053
21054 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21055
21056         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
21057         [defined lint]: Suppress bogus uninitialized-variable warnings.
21058
21059         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
21060         and let the caller return REG_ESPACE if out of space.  This
21061         removes an uninitialied-variable warning with GCC 4.0.1, and also
21062         avoids taking the address of a local variable.  All callers
21063         changed.
21064
21065 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21066
21067         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
21068         $LIBCSRC/posix/regexec.c.
21069         Add glibc bug 1217 for regcomp.c.
21070
21071 2005-08-19  Jim Meyering  <jim@meyering.net>
21072
21073         * lib/regexec.c (proceed_next_node): Redo local variables to
21074         avoid GCC shadowing warnings.
21075
21076 2005-08-18  Bruno Haible  <bruno@clisp.org>
21077
21078         * lib/strstr.c (strstr): Fix return value in multibyte case.
21079         * lib/strcasestr.c (strcasestr): Likewise.
21080
21081 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21082
21083         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
21084
21085 2005-08-17  Jim Meyering  <jim@meyering.net>
21086
21087         Make the %s format (seconds since the epoch) work for a negative
21088         number and when used with a zero-padded field width, e.g. %015s.
21089
21090         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
21091         label so that it precedes the code to set `digits'.  Otherwise,
21092         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
21093         print `00-22'.  Now, it prints `-0022', as it should.
21094
21095 2005-08-17  Bruno Haible  <bruno@clisp.org>
21096
21097         * modules/strstr (Files): Add m4/mbrtowc.m4.
21098         (Depends-on): Add mbuiter.
21099
21100 2005-08-17  Bruno Haible  <bruno@clisp.org>
21101
21102         * modules/strcasestr: New file.
21103         * MODULES.html.sh (String handling, based on ANSI C 89): Add
21104         strcasestr.
21105
21106 2005-08-17  Bruno Haible  <bruno@clisp.org>
21107
21108         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
21109
21110 2005-08-17  Bruno Haible  <bruno@clisp.org>
21111
21112         * modules/mbuiter: New file.
21113         * MODULES.html.sh (Extended multibyte and wide character utilities):
21114         Add mbuiter.
21115
21116 2005-08-17  Bruno Haible  <bruno@clisp.org>
21117
21118         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
21119         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
21120
21121 2005-08-17  Bruno Haible  <bruno@clisp.org>
21122
21123         * m4/strcasestr.m4: New file.
21124
21125 2005-08-17  Bruno Haible  <bruno@clisp.org>
21126
21127         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
21128         * lib/strstr.c: Completely rewritten, with multibyte locale support.
21129
21130 2005-08-17  Bruno Haible  <bruno@clisp.org>
21131
21132         * lib/strcasestr.h: New file.
21133         * lib/strcasestr.c: New file.
21134
21135 2005-08-17  Bruno Haible  <bruno@clisp.org>
21136
21137         * lib/strcasecmp.c: Use mbuiter.h.
21138
21139 2005-08-17  Bruno Haible  <bruno@clisp.org>
21140
21141         * lib/mbuiter.h: New file.
21142
21143 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21144
21145         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
21146         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
21147         and gl_GETOPT are both invoked via different paths (as happens
21148         with GNU tar CVS because it uses both argp and getopt), the former
21149         wins.
21150
21151 2005-08-16  Bruno Haible  <bruno@clisp.org>
21152
21153         * modules/tls: New file.
21154         * MODULES.html.sh (Multithreading): Add tls.
21155
21156 2005-08-16  Bruno Haible  <bruno@clisp.org>
21157
21158         * modules/strnlen1: New file.
21159         * MODULES.html.sh (String handling): Add strnlen1.
21160
21161 2005-08-16  Bruno Haible  <bruno@clisp.org>
21162
21163         * modules/strcase (Files): Add m4/mbrtowc.m4.
21164         (Depends-on): Add strnlen1, mbchar.
21165
21166 2005-08-16  Bruno Haible  <bruno@clisp.org>
21167
21168         * modules/mbiter: New file.
21169         * MODULES.html.sh (Extended multibyte and wide character utilities):
21170         Add mbiter.
21171
21172 2005-08-16  Bruno Haible  <bruno@clisp.org>
21173
21174         * modules/mbfile: New file.
21175         * MODULES.html.sh (Extended multibyte and wide character utilities):
21176         Add mbfile.
21177
21178 2005-08-16  Bruno Haible  <bruno@clisp.org>
21179
21180         * modules/mbchar: New file.
21181         * MODULES.html.sh (Extended multibyte and wide character utilities):
21182         New section.
21183
21184 2005-08-16  Bruno Haible  <bruno@clisp.org>
21185
21186         * m4/tls.m4: New file, from GNU gettext.
21187
21188 2005-08-16  Bruno Haible  <bruno@clisp.org>
21189
21190         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
21191         always.
21192         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
21193
21194 2005-08-16  Bruno Haible  <bruno@clisp.org>
21195
21196         * m4/mbiter.m4: New file.
21197
21198 2005-08-16  Bruno Haible  <bruno@clisp.org>
21199
21200         * m4/mbfile.m4: New file.
21201
21202 2005-08-16  Bruno Haible  <bruno@clisp.org>
21203
21204         * m4/mbchar.m4: New file.
21205
21206 2005-08-16  Bruno Haible  <bruno@clisp.org>
21207
21208         * lib/tls.h: New file, from GNU gettext.
21209         * lib/tls.c: New file, from GNU gettext.
21210
21211 2005-08-16  Bruno Haible  <bruno@clisp.org>
21212
21213         * lib/strnlen1.h: New file.
21214         * lib/strnlen1.c: New file.
21215
21216 2005-08-16  Bruno Haible  <bruno@clisp.org>
21217
21218         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
21219         (mbi_init): Update.
21220         (mbi_avail, mbi_advance): Let the iteration end before the terminating
21221         NUL byte, not after it.
21222
21223 2005-08-16  Bruno Haible  <bruno@clisp.org>
21224
21225         * lib/strcase.h (strcasecmp): Add note in comments.
21226         * lib/strncasecmp.c: Use code from strcasecmp.c.
21227         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
21228         (strcasecmp): Work correctly in multibyte locales.
21229
21230 2005-08-16  Bruno Haible  <bruno@clisp.org>
21231
21232         * lib/mbiter.h: New file.
21233
21234 2005-08-16  Bruno Haible  <bruno@clisp.org>
21235
21236         * lib/mbfile.h: New file.
21237
21238 2005-08-16  Bruno Haible  <bruno@clisp.org>
21239
21240         * lib/mbchar.h: New file.
21241         * lib/mbchar.c: New file.
21242
21243 2005-08-16  Bruno Haible  <bruno@clisp.org>
21244
21245         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
21246         the valid ones. Makes the comparison operations transitive:
21247         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
21248         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
21249
21250 2005-08-15  Simon Josefsson  <jas@extundo.com>
21251
21252         * modules/ssize_t (License): Change to 'unlimited'.
21253
21254         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
21255
21256 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21257
21258         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
21259         Add comments for each pending glibc patch.
21260
21261 2005-08-15  Bruno Haible  <bruno@clisp.org>
21262
21263         * lib/regex.h (__restrict_arr): Don't define to __restrict if
21264         __cplusplus is defined.
21265
21266 2005-08-14  Jim Meyering  <jim@meyering.net>
21267
21268         Sync from coreutils.
21269
21270         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
21271         Use the hash-table-based cycle-detection code not just when
21272         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
21273         Reported by James Youngman in
21274         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
21275         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
21276         FTS_TIGHT_CYCLE_CHECK.
21277         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
21278         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
21279         once again.
21280         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
21281         * lib/fts.c (fd_safer): Remove decl.
21282         Include fcntl--.h rather than unistd-safer.h
21283         (fts_safe_changedir): Don't call fd_safer; no longer needed
21284         now that we include fcntl--.h.
21285
21286 2005-08-12  Simon Josefsson  <jas@extundo.com>
21287
21288         * modules/getndelim2: Use ssize_t module.
21289         * modules/getnline: Likewise.
21290         * modules/safe-read: Likewise.
21291         * modules/xreadlink: Likewise.
21292
21293         * modules/ssize_t: New file.
21294
21295 2005-08-12  Simon Josefsson  <jas@extundo.com>
21296
21297         * m4/readline.m4: Look for termcap, curses or ncurses if required.
21298
21299 2005-08-12  Simon Josefsson  <jas@extundo.com>
21300
21301         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21302         ssize_t.
21303
21304 2005-08-12  Simon Josefsson  <jas@extundo.com>
21305
21306         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
21307         readline, getdelim and check_version.
21308         (Support for systems lacking ISO C 99: Sizes of integer types):
21309         Add size_max.
21310
21311 2005-08-12  Bruno Haible  <bruno@clisp.org>
21312
21313         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
21314
21315 2005-08-11  Simon Josefsson  <jas@extundo.com>
21316
21317         * modules/readline: New file.
21318
21319         * modules/strnlen (Files): Add strnlen.h.
21320
21321 2005-08-11  Simon Josefsson  <jas@extundo.com>
21322
21323         * m4/readline.m4: New file.
21324
21325 2005-08-11  Simon Josefsson  <jas@extundo.com>
21326
21327         * lib/readline.h, readline.c: New file.
21328
21329 2005-08-11  Simon Josefsson  <jas@extundo.com>
21330
21331         * doc/gnulib.texi (Initial import, Finishing touches): Mention
21332         gl_AVOID.
21333
21334 2005-08-11  Bruno Haible  <bruno@clisp.org>
21335
21336         * lib/strnlen.h (strnlen): Change parameter name to match comment.
21337
21338 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
21339
21340         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
21341
21342 2005-08-10  Simon Josefsson  <jas@extundo.com>
21343
21344         * tests/test-iconvme.c: New file.
21345
21346 2005-08-10  Simon Josefsson  <jas@extundo.com>
21347
21348         * m4/strnlen.m4: New file.
21349
21350         * m4/strndup.m4: Don't check for strnlen declaration, done in
21351         strnlen.m4.
21352
21353 2005-08-10  Simon Josefsson  <jas@extundo.com>
21354
21355         * lib/strndup.c: Use strnlen.h.
21356
21357         * lib/strnlen.h: New file.
21358
21359 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
21360
21361         * README: Typos.
21362
21363 2005-08-02  Simon Josefsson  <jas@extundo.com>
21364
21365         * modules/readline: New file.
21366
21367 2005-08-02  Simon Josefsson  <jas@extundo.com>
21368
21369         * modules/getdelim: New file.
21370
21371         * modules/getline: Rewrite, don't use getndelim2.
21372
21373 2005-08-02  Simon Josefsson  <jas@extundo.com>
21374
21375         * m4/getline.m4: Separate out getdelim stuff into separate module.
21376
21377         * m4/getdelim.m4: New file.
21378
21379 2005-08-02  Simon Josefsson  <jas@extundo.com>
21380
21381         * lib/getline.h, getline.c: Rewrite.
21382
21383         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
21384
21385 2005-07-31  Bruno Haible  <bruno@clisp.org>
21386
21387         * lib/lock.h (gl_lock_initializer): New macro.
21388         (gl_lock_define_initialized): Use it.
21389         (gl_rwlock_initializer): New macro.
21390         (gl_rwlock_define_initialized): Use it.
21391         (gl_recursive_lock_initializer): New macro.
21392         (gl_recursive_lock_define_initialized): Use it.
21393
21394 2005-07-30  Karl Berry  <karl@gnu.org>
21395
21396         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
21397         Report from Ben Pfaff, regarding getopt.
21398
21399 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21400
21401         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
21402         normal way.
21403         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
21404         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
21405         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
21406         (gl_GETOPT): Use the new macros.  Most of the implementation
21407         is moved to the new macros.  This is for programs like Emacs
21408         that don't want all the functionality of gl_GETOPT.
21409
21410 2005-07-26  Bruno Haible  <bruno@clisp.org>
21411
21412         * m4/lock.m4: Update from GNU gettext.
21413
21414 2005-07-26  Bruno Haible  <bruno@clisp.org>
21415
21416         * lib/lock.h: Update from GNU gettext.
21417         * lib/lock.c: Update from GNU gettext.
21418
21419 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
21420
21421         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
21422         obsolescent AC_TRY_RUN.  Include the default includes files, for
21423         'exit'.
21424
21425 2005-07-24  Bruno Haible  <bruno@clisp.org>
21426
21427         * modules/visibility: New file.
21428         * MODULES.html.sh (Misc): Add visibility.
21429
21430 2005-07-24  Bruno Haible  <bruno@clisp.org>
21431
21432         * m4/visibility.m4: New file.
21433
21434 2005-07-24  Bruno Haible  <bruno@clisp.org>
21435
21436         * doc/visibility.texi: New file.
21437
21438 2005-07-22  Bruno Haible  <bruno@clisp.org>
21439
21440         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
21441         $(ALLOCA_H), redundant through BUILT_SOURCES.
21442         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
21443         redundant through BUILT_SOURCES.
21444         * modules/byteswap (Makefile.am): Remove explicit dependency on
21445         $(BYTESWAP_H), redundant through BUILT_SOURCES.
21446         * modules/fnmatch (Makefile.am): Remove explicit dependency on
21447         $(FNMATCH_H), redundant through BUILT_SOURCES.
21448         * modules/getopt (Makefile.am): Remove explicit dependency on
21449         $(GETOPT_H), redundant through BUILT_SOURCES.
21450         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
21451         redundant through BUILT_SOURCES.
21452         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
21453         redundant through BUILT_SOURCES.
21454         * modules/stdbool (Makefile.am): Remove explicit dependency on
21455         $(STDBOOL_H), redundant through BUILT_SOURCES.
21456         * modules/stdint (Makefile.am): Remove explicit dependency on
21457         $(STDINT_H), redundant through BUILT_SOURCES.
21458         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
21459         Remove explicit dependency on $(SYSEXITS_H).
21460         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
21461
21462 2005-07-18  Simon Josefsson  <jas@extundo.com>
21463
21464         * lib/check-version.c (check_version): Accept identical versions too.
21465
21466 2005-07-18  Bruno Haible  <bruno@clisp.org>
21467
21468         * modules/lock: New file.
21469         * MODULES.html.sh (Multithreading): New section.
21470
21471 2005-07-18  Bruno Haible  <bruno@clisp.org>
21472
21473         * m4/lock.m4: New file, from GNU gettext.
21474
21475 2005-07-18  Bruno Haible  <bruno@clisp.org>
21476
21477         * lib/lock.h: New file, from GNU gettext.
21478         * lib/lock.c: New file, from GNU gettext.
21479
21480 2005-07-18  Bruno Haible  <bruno@clisp.org>
21481
21482         * lib/lock.h (gl_once_t): New type.
21483         (gl_once_define, gl_once): New macros.
21484         * lib/lock.c (fresh_once): New variable.
21485         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
21486         functions.
21487
21488 2005-07-16  Simon Josefsson  <jas@extundo.com>
21489
21490         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
21491         workaround, suggested by Bruno.
21492
21493 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21494
21495         * modules/xalloc (Depends-on): Add xalloc-die.
21496         * modules/xvasprintf (Depends-on): Add xalloc-die.
21497
21498 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21499
21500         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
21501         with a minor change.
21502
21503 2005-07-15  Bruno Haible  <bruno@clisp.org>
21504
21505         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
21506         When using lib/poll.c, define poll as rpl_poll.
21507
21508 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21509
21510         * modules/argp (Depends-on): Remove unlocked-io.
21511
21512 2005-07-14  Derek Price  <derek@ximbiot.com>
21513
21514         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
21515         for glob symlink bug.
21516
21517 2005-07-14  Bruno Haible  <bruno@clisp.org>
21518
21519         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
21520         Instead, test for *_unlocked function declarations directly.
21521
21522 2005-07-11  Simon Josefsson  <jas@extundo.com>
21523
21524         * modules/size_max: New file.
21525
21526         * modules/xsize: Depend on size_max module for size_max.m4.
21527
21528 2005-07-11  Simon Josefsson  <jas@extundo.com>
21529
21530         * lib/size_max.h: New file.
21531
21532 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21533
21534         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
21535         copyright symbol and the year.
21536         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
21537         (version_etc_va): Use parameterized copyright notice.
21538         Reword to conform to the current GNU coding standards.
21539
21540 2005-07-11  Karl Berry  <karl@gnu.org>
21541
21542         * doc/gnulib.texi (Quoting): new node.
21543         (Initial import): more info, from Patrice.
21544
21545 2005-07-11  Bruno Haible  <bruno@clisp.org>
21546
21547         * gnulib-tool (func_usage): Document option --avoid.
21548         (Command line options): Handle --avoid.
21549         (func_acceptable): New function.
21550         (func_modules_transitive_closure): Use it.
21551
21552 2005-07-11  Bruno Haible  <bruno@clisp.org>
21553
21554         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
21555         Reported by Jim Meyering.
21556
21557 2005-07-10  Bruno Haible  <bruno@clisp.org>
21558
21559         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
21560         Needed when size_t is smaller than 'unsigned int'.
21561         Reported by Paul Eggert.
21562
21563 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21564
21565         * modules/argp (Depends-on): Add unlocked-io
21566
21567 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21568
21569         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
21570         block of defines.
21571
21572 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21573
21574         * config/srclist.txt: Comment out regcomp.c, since we have a porting
21575         fix now.
21576
21577 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
21578         and Paul Eggert  <eggert@cs.ucla.edu>
21579
21580         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
21581         in wint_t, not wchar_t.  Remove now-unnecessary cast.
21582
21583 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21584
21585         * modules/regex (Files): Add lib/regex_internal.c,
21586         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
21587         (Depends-on): Add extensions.
21588         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
21589
21590 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21591
21592         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
21593         pathconf.
21594         * m4/same.m4 (gl_SAME): Likewise.
21595         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
21596
21597         * m4/regex.m4: Adjust to new libc regex implementation.
21598         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
21599         all the .c and .h parts of (the new) regex.
21600         Quote the m4 stuff better.
21601         Check for RE_ICASE bug of old gnulib.
21602         Check for REG_STARTEND of recent libc.
21603         Rename local variables from jm_* to gl_*.
21604         Quote operand of "test -f".
21605         Say "recent enough" version of libc, not "version 2".
21606         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
21607         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
21608         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
21609         Remove check for btowc, isascii.
21610         Require AM_LANGINFO_CODESET.
21611
21612 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21613
21614         * lib/regex.c, regex.h: Sync from libc.
21615         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
21616         * lib/regexec.c:
21617         New files, synced from libc, except that regex_internal.h
21618         currently has a small porting fix.
21619
21620 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21621
21622         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
21623         regex_internal.c, regexec.c.
21624         Add regex_internal.h too, but as a comment, since the libc version
21625         is currently broken in gnulib mode.
21626
21627 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21628
21629         Support programs like Emacs that use gnulib but not gettext.
21630         * MODULES.html.sh (Internationalization functions): Add gettext-h.
21631         * modules/gettext-h: New file.
21632         * modules/gettext (Files): Remove lib/gettext.h.
21633         (Depends-on): Add gettext-h.
21634         (Makefile.am): Remove lib_SOURCES.
21635         * modules/argmatch, modules/c-stack, modules/closeout:
21636         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
21637         * modules/execute, modules/file-type, modules/getaddrinfo:
21638         * modules/getopt, modules/human, modules/javacomp:
21639         * modules/javaexec, modules/mkdir-p, modules/obstack:
21640         * modules/openat, modules/pagealign_alloc, modules/pipe:
21641         * modules/quotearg, modules/regex, modules/rpmatch:
21642         * modules/unicodeio, modules/userspec, modules/version-etc:
21643         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
21644         * modules/xsetenv:
21645         Depend on gettext-h, not gettext.
21646
21647 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21648
21649         * gnulib-tool (func_import): Add support for 'public domain' license.
21650         * modules/alloca, modules/atexit, modules/memmove:
21651         Now public domain, not GPL.
21652         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
21653         * modules/realloc, modules/strerror, modules/strtod:
21654         Now LGPL, not GPL.
21655
21656 2005-07-05  Bruno Haible  <bruno@clisp.org>
21657
21658         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
21659         autoconf CVS. Needed for mingw.
21660
21661 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21662
21663         Remove the dependency of the strftime module on the tzset module.
21664         * modules/strftime (Depends-on): Remove dependency on tzset.
21665
21666 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21667
21668         Remove the dependency of the strftime module on the tzset module.
21669         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
21670         gl_FUNC_TZSET_CLOBBER.
21671
21672 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21673
21674         Remove the dependency of the strftime module on the tzset module.
21675         * lib/strftime.c (my_strftime)
21676         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
21677         Copy the input structure, to work around some of the bug with
21678         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
21679         Solaris releases, you should also use the tzset module, but we won't
21680         require it as a dependency any more since we don't want LGPLed code
21681         to depend on GPLed code.
21682
21683 2005-07-02  Jim Meyering  <jim@meyering.net>
21684
21685         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
21686         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
21687         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
21688         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
21689
21690 2005-07-02  Jim Meyering  <jim@meyering.net>
21691
21692         * lib/backupfile.c (backup_args): Change a `0' to NULL.
21693
21694 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
21695
21696         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
21697         declares only 'struct timespec;' (!).
21698
21699 2005-07-01  Jim Meyering  <jim@meyering.net>
21700
21701         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
21702         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
21703         * lib/save-cwd.c, tempname.c:
21704         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
21705         and don't include <sys/file.h>).
21706
21707 2005-06-29  Jim Meyering  <jim@meyering.net>
21708
21709         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
21710         type name.  Use the variable name instead.
21711         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
21712         Likewise.
21713
21714 2005-06-28  Simon Josefsson  <jas@extundo.com>
21715
21716         * modules/check-version (Files): Add check-version.m4.
21717
21718 2005-06-28  Simon Josefsson  <jas@extundo.com>
21719
21720         * m4/check-version.m4: New file, suggested by Jim Meyering
21721         <jim@meyering.net>.
21722
21723 2005-06-28  Simon Josefsson  <jas@extundo.com>
21724
21725         * lib/check-version.h, lib/check-version.c: New files.
21726
21727 2005-06-28  Simon Josefsson  <jas@extundo.com>
21728
21729         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
21730         collision with global variable.  Better indentation.  Don't
21731         increment buffer pointer beyond buffer end.  Based on comments
21732         from Paul Eggert <eggert@cs.ucla.edu>.
21733
21734         * lib/base64.h: Indent.
21735
21736 2005-06-28  Simon Josefsson  <jas@extundo.com>
21737
21738         * doc/gnulib.texi (Library version handling): New section.
21739
21740 2005-06-28  Jim Meyering  <jim@meyering.net>
21741
21742         * check-module (find_included_lib_files): Hard-code another
21743         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
21744         but modules/fts-lgpl (correctly) does not list those files.
21745
21746         * modules/canonicalize (Files): Add lib/pathmax.h.
21747
21748 2005-06-25  Simon Josefsson  <jas@extundo.com>
21749
21750         * modules/check-version: New file.
21751
21752 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21753
21754         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
21755         initializer of struct addrinfo, as an indication that we don't
21756         care how many members the structure has.
21757
21758 2005-06-24  Derek Price  <derek@ximbiot.com>
21759         and Bruno Haible  <bruno@clisp.org>
21760
21761         Remove stat module & update lstat.
21762         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
21763         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21764         * m4/stat.m4: Remove this file.
21765
21766 2005-06-24  Derek Price  <derek@ximbiot.com>
21767         and Bruno Haible  <bruno@clisp.org>
21768
21769         Remove stat module & update lstat.
21770         * lib/stat.c: Remove this file...
21771         (slash_aware_lstat): ...moving this content and its support...
21772         * lib/lstat.c (rpl_lstat): ...into here.
21773         * lib/lstat.h: New file.
21774
21775 2005-06-24  Derek Price  <derek@ximbiot.com>
21776         and Bruno Haible  <bruno@clisp.org>
21777
21778         Remove stat module & update lstat.
21779         * config/srclist.txt (libc sources): Remove stat.
21780
21781 2005-06-24  Derek Price  <derek@ximbiot.com>
21782         and Bruno Haible  <bruno@clisp.org>
21783
21784         Remove stat module & update lstat.
21785         * MODULES.html.sh (stat): Remove.
21786         * MODULES.html: Regenerated.
21787         * modules/lstat (Description): Correct function name.
21788         (Files): Add "lstat.h".
21789         (Depends-on): Remove stat, add xalloc, stat-macros.
21790         * modules/stat: Remove this file.
21791         (Include): Add "lstat.h", remove <sys/stat.h>.
21792
21793 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21794
21795         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
21796         (ranged_convert): Don't save conversion in a temporary struct.
21797         This causes a warning with GCC 4.0.0, and anyway in the typical
21798         case it's not worth the extra 100 bytes or so of code.
21799         (ranged_convert, __mktime_internal): When calling a function via a
21800         pointer P, use P () rather than (*P) (), as we now assume C89 or
21801         better.
21802
21803 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21804
21805         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
21806         "who -r" failed to give output.  Problem reported by Tim Waugh.
21807
21808         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
21809         (xcalloc): Use it to avoid needless tests.
21810         Problem reported by Jim Meyering.
21811
21812 2005-06-20  Derek Price  <derek@ximbiot.com>
21813
21814         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
21815         unnecessary for Autoconfs > 2.59c.
21816
21817 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21818
21819         * lib/argp.h (__option_is_short): Check upper limit of
21820         __key. Isprint() requires its argument to have the value
21821         of an unsigned char or EOF.
21822
21823 2005-06-16  Jim Meyering  <jim@meyering.net>
21824
21825         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
21826         when either N or S is zero.
21827
21828 2005-06-16  Derek Price  <derek@ximbiot.com>
21829
21830         * m4/bison.m4: Declare YACC & YFLAGS precious.
21831
21832 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
21833
21834         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
21835         multibyte string or pattern, fall back on unibyte matching.
21836         Problem reported by James Youngman.
21837
21838 2005-06-08  Bruno Haible  <bruno@clisp.org>
21839
21840         * modules/csharpcomp: New file.
21841         * MODULES.html.sh (C#): Add csharpcomp.
21842
21843 2005-06-08  Bruno Haible  <bruno@clisp.org>
21844
21845         * m4/csharpcomp.m4: New file, from GNU gettext.
21846
21847 2005-06-08  Bruno Haible  <bruno@clisp.org>
21848
21849         * lib/csharpcomp.h: New file, from GNU gettext.
21850         * lib/csharpcomp.c: New file, from GNU gettext.
21851         * lib/csharpcomp.sh.in: New file, from GNU gettext.
21852
21853 2005-06-08  Bruno Haible  <bruno@clisp.org>
21854
21855         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
21856         warning on mingw.
21857
21858 2005-06-07  Derek Price  <derek@ximbiot.com>
21859
21860         Sync from CVS.
21861         * lib/glob_.h: Indent nested #ifdef.
21862
21863 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21864
21865         Sync from coreutils.
21866         Use "file name" when talking about file names, instead of "filename"
21867         or "path", as per the GNU coding standards.
21868         * lib/mkdir-p.c: Renamed from makepath.c.
21869         (make_dir_parents): Renamed from make_path.  All callers changed.
21870         * lib/mkdir-p.h: Likewise.  All includers changed.
21871         * lib/filenamecat.c: Renamed from path-concat.c.
21872         (file_name_concat): Renamed from path_concat.  All callers changed.
21873         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
21874         * lib/filenamecat.h: Likewise.  All includers changed.
21875         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
21876         in comments or local variable names.
21877         * lib/basename.c: Likewise.
21878         * lib/canonicalize.c, canonicalize.h: Likewise.
21879         * lib/dirname.c, dirname.h: Likewise.
21880         * lib/euidaccess.c: Likewise.
21881         * lib/exclude.c: Likewise
21882         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
21883         * lib/fsusage.c, fsuage.h: Likewise.
21884         * lib/fts.c, fts_.h: Likewise.
21885         * lib/getcwd.c: Likewise.
21886         * lib/getloadavg.c: Likewise.
21887         * lib/mkstemp.c: Likewise.
21888         * lib/mountlist.c, mountlist.h: Likewise.
21889         * lib/openat.c, openat.h: Likewise.
21890         * lib/readlink-stub.c: Likewise.
21891         * lib/readutmp.c, readutmp.h: Likewise.
21892         * lib/rename.c: Likewise.
21893         * lib/rmdir.c: Likewise.
21894         * lib/same.c: Likewise.
21895         * lib/savedir.c: Likewise.
21896         * lib/stripslash.c: Likewise.
21897         * lib/tempname.c: Likewise.
21898         * lib/xreadlink.c: Likewise.
21899         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
21900         All uses changed.
21901         * lib/exclude.h: Likewise.
21902
21903         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
21904         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21905         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
21906         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21907         * lib/pathmax.h: Include <limits.h> unconditionally, since other
21908         files have been getting away with it for years (MORE/BSD 4.3
21909         is extinct now).
21910         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
21911         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21912
21913         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
21914         Define to 256, not 255, as per modern POSIX.
21915
21916 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21917
21918         Sync from coreutils.
21919         Use "file name" when talking about file names, instead of "filename"
21920         or "path", as per the GNU coding standards.
21921         * MODULES.html.sh: mkdir-p renamed from makepath.
21922         filenamecat renamed from path-concat.
21923         * modules/filenamecat: Renamed from modules/path-concat.
21924         (Files): filenamecat.h and filenamecat.c renamed from
21925         path-concat.h and path-concat.c.
21926         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
21927         (Include): filenamecat.h, not path-concat.h.
21928         * modules/mkdir-p: Renamed from modules/makepath.
21929         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
21930         makepath.c.
21931         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
21932         (Include): mkdir-p.h, not makepath.h.
21933
21934 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21935
21936         Sync from coreutils.
21937         * m4/mkdir-p.m4: Renamed from makepath.m4.
21938         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
21939         Rename files from makepath.c to mkdir-p.c, and from
21940         makepath.h to mkdir-p.h.
21941         * m4/filenamecat.m4: Renamed from path-concat.m4.
21942         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
21943         Rename files from path-concat.c to filenamecat.c,
21944         and from path-concat.h to filenamecat.h.
21945         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
21946         "file name" in local variables or comments.
21947         * m4/rename.m4: Likewise.
21948
21949 2005-06-01  Bruno Haible  <bruno@clisp.org>
21950
21951         * modules/csharpexec: New file.
21952         * MODULES.html.sh (C#): New section.
21953
21954 2005-06-01  Bruno Haible  <bruno@clisp.org>
21955
21956         * m4/csharp.m4: New file, from GNU gettext.
21957         * m4/csharpexec.m4: New file, from GNU gettext.
21958
21959 2005-06-01  Bruno Haible  <bruno@clisp.org>
21960
21961         * lib/csharpexec.h: New file, from GNU gettext.
21962         * lib/csharpexec.c: New file, from GNU gettext.
21963         * lib/csharpexec.sh.in: New file, from GNU gettext.
21964
21965 2005-05-31  Derek Price  <derek@ximbiot.com>
21966             Paul Eggert  <eggert@cs.ucla.edu>
21967
21968         Sync from cvs.
21969         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
21970
21971 2005-05-31  Derek Price  <derek@ximbiot.com>
21972             Paul Eggert  <eggert@cs.ucla.edu>
21973
21974         Sync from cvs.
21975         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
21976
21977 2005-05-29  Derek Price  <derek@ximbiot.com>
21978
21979         * config/srclist.txt (glob_.h, glob.c): Add these files.
21980
21981 2005-05-29  Derek Price  <derek@ximbiot.com>
21982
21983         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
21984         * modules/glob: New file.
21985         * modules/getlogin_r: Add link to POSIX spec in description.
21986
21987 2005-05-29  Derek Price  <derek@ximbiot.com>
21988             Paul Eggert  <eggert@cs.ucla.edu>
21989
21990         * m4/glob.m4: New file.
21991
21992 2005-05-29  Derek Price  <derek@ximbiot.com>
21993             Paul Eggert  <eggert@cs.ucla.edu>
21994
21995         * lib/glob_.h, lib/glob.c: New files.
21996
21997 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21998
21999         * modules/fts (Files): Remove m4/inttypes-pri.m4.
22000         * modules/fts-lgpl (Depends-on): Remove gettext.
22001
22002 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22003
22004         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
22005         and don't require gt_INTTYPES_PRI.
22006
22007 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22008
22009         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
22010
22011         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
22012         the configuration hassle isn't worth it.
22013         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
22014         (LONGEST_MODIFIER, PRIuMAX): Remove.
22015
22016 2005-05-27  Bruno Haible  <bruno@clisp.org>
22017
22018         * lib/getlogin_r.h: Remove second include of <stddef.h>.
22019
22020 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22021
22022         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
22023         _POSIX_PTHREAD_SEMANTICS for Solaris.
22024
22025 2005-05-25  Derek Price  <derek@ximbiot.com>
22026
22027         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
22028
22029 2005-05-25  Derek Price  <derek@ximbiot.com>
22030             Paul Eggert  <eggert@cs.ucla.edu>
22031
22032         * modules/getlogin_r, m4/getlogin_r.m4: New files.
22033         * lib/getlogin_r.c, getlogin_r.h: New files.
22034
22035 2005-05-25  Bruno Haible  <bruno@clisp.org>
22036             Derek Price  <derek@ximbiot.com>
22037
22038         * lib/getlogin_r.h: Simplify API documentation.
22039
22040 2005-05-23  Derek Price  <derek@ximbiot.com>
22041
22042         * modules/minmax (Files): Add m4/minmax.m4.
22043         (configure.ac): Add gl_MINMAX.
22044
22045 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
22046
22047         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
22048         so that unistd-safer.h (GPL'ed code) need not be included.
22049
22050 2005-05-22  Bruno Haible  <bruno@clisp.org>
22051
22052         * m4/minmax.m4: New file.
22053         Based on a patch by Derek Price <derek@ximbiot.com>.
22054
22055 2005-05-22  Bruno Haible  <bruno@clisp.org>
22056
22057         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
22058         (INT64_MIN): Fix definition.
22059         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
22060
22061         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
22062         NEED_SIGNED_INT_TYPES.
22063
22064         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
22065         HAVE_SYSTEM_INTTYPES.
22066
22067 2005-05-22  Bruno Haible  <bruno@clisp.org>
22068
22069         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
22070         Also include <sys/param.h> if it defines MIN, MAX.
22071         Based on a patch by Derek Price <derek@ximbiot.com>.
22072
22073 2005-05-21  Jim Meyering  <jim@meyering.net>
22074
22075         * modules/fts (Files): Add m4/inttypes-pri.m4.
22076         (Depends-on): Add lstat and remove gettext.  Alphabetize.
22077
22078 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22079
22080         New fts module.
22081         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
22082         (setup_dir, free_dir): New functions.
22083         (enter_dir, leave_dir): Define trivial
22084         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
22085         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
22086         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
22087         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
22088         Move to fts-cycle.c.
22089         (fts_open): Use setup_dir.
22090         (fts_close): Use free_dir.
22091         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
22092         This adds a label and some gotos, but the alternatives were messier.
22093         Check for memory allocation failure when entering a dir.
22094         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
22095         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
22096         (FTS): New member fts_cycle, that is a union that contains the
22097         old active_dir_ht and cycle_state.  All uses changed to mention
22098         fts_cycle.ht and fts_cycle.state.
22099         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
22100         fts.c, with the following changes:
22101         (setup_dir, free_dir): New functions.
22102         (enter_dir): Now returns bool.  Return true if successful, false
22103         if memory exhausted.  All callers changed.
22104         Do not bother partly cleaning up on
22105         memory allocation failure; that is free_dir's job.
22106         However, free ad if hash_insert fails, to avoid memory leak.
22107         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
22108         fts->fts_options to see which union member to use.
22109
22110 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22111
22112         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
22113         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
22114
22115 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22116
22117         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
22118
22119 2005-05-20  Jim Meyering  <jim@meyering.net>
22120
22121         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
22122         Now a macro, to pacify GCC.
22123
22124 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
22125
22126         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
22127         of -1.
22128
22129 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
22130
22131         * lib/chown.c (rpl_chown): Return -1 on failure.
22132
22133 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22134
22135         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
22136         Don't check for stddef.h.
22137         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
22138         don't use its results.
22139         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
22140         since we include them unconditionally.  Don't require
22141         AM_STDBOOL_H, since stdbool is a prerequisite.
22142         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
22143         since we assume C89 or better.
22144         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
22145         as we don't use their results.
22146         Don't check for fchdir, memmove, memset, strrchr, as we use
22147         them unconditionally.
22148         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
22149         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
22150
22151 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22152
22153         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
22154         Include <stddef.h> unconditionally, since we assume C89 now.
22155         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
22156         * lib/fts.c: Include fts_.h first, to check interface.
22157         Do not include intprops.h; no longer needed.
22158         Include cycle-check.h and hash.h, since fts_.h no longer does.
22159         Remove unnecessary casts of closedir to void.
22160         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
22161         decide whether to decrement nlinks.
22162         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
22163         (FTS): Use struct hash_table * instead of Hash_table, so that
22164         we no longer need to include hash.h here.
22165
22166 2005-05-18  Jim Meyering  <jim@meyering.net>
22167
22168         * modules/dirfd (License): Change to LGPL.  Most of the code
22169         is already in the public domain.
22170
22171 2005-05-18  Jim Meyering  <jim@meyering.net>
22172
22173         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
22174         Reported by Yoann Vandoorselaere.
22175
22176 2005-05-17  Jim Meyering  <jim@meyering.net>
22177
22178         * m4/fts.m4: New file, from coreutils.
22179
22180 2005-05-17  Jim Meyering  <jim@meyering.net>
22181
22182         * lib/fts.c, lib/fts_.h: New files, from coreutils.
22183
22184 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22185
22186         Sync from coreutils.
22187         * m4/unlinkdir.m4: New file.
22188
22189 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22190
22191         Sync from coreutils.
22192         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
22193         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
22194         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
22195         White space changes only.
22196         * lib/makepath.c (make_path): Port to hosts where leading "//" is
22197         special.
22198         * lib/yesno.c: Include getline.h, not ctype.h.
22199         (yesno): Don't remove leading white space; POSIX doesn't allow it.
22200         Use getline to remove arbitrary restriction on response length.
22201
22202 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22203
22204         * config/srclist-update: Spell out "Street" in FSF postal
22205         mail address; this is the style the FSF seems to prefer.
22206
22207         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
22208         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
22209         this updates FSF postal mail address.
22210
22211         Sync from coreutils.
22212         * modules/unlinkdir: New file.
22213         * modules/yesno (Depends-on): Add getline.
22214         * MODULES.html.sh (File system functions): Add unlinkdir.
22215
22216 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22217
22218         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
22219         lib/strsep.h:
22220         Change the initial comment to refer to GPL, not LGPL.
22221         gnulib-tool will change it to LGPL as needed.
22222
22223         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
22224         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
22225         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
22226         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
22227         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
22228         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
22229         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
22230         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
22231         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
22232         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
22233         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
22234         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
22235         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
22236         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
22237         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
22238         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
22239         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
22240         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
22241         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
22242         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
22243         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
22244         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
22245         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
22246         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
22247         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
22248         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
22249         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
22250         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
22251         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
22252         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
22253         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
22254         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
22255         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
22256         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
22257         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
22258         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
22259         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
22260         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
22261         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
22262         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
22263         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
22264         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
22265         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
22266         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
22267         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
22268         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
22269         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
22270         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
22271         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
22272         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
22273         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
22274         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
22275         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
22276         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
22277         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
22278         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
22279         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
22280         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
22281         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
22282         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
22283         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
22284         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
22285         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
22286         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
22287         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
22288         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
22289         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
22290         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
22291         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
22292         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
22293         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
22294         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
22295         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
22296         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
22297         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
22298         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
22299         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
22300         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
22301         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
22302         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
22303         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
22304         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
22305         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
22306         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
22307         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
22308         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
22309         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
22310         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
22311         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
22312         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
22313         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
22314         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
22315         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
22316         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
22317         lib/yesno.c, lib/yesno.h:
22318         Update FSF postal mail address.
22319
22320 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22321
22322         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
22323         tests/test-memmem.c, tests/test-stpncpy.c:
22324         Update FSF postal mail address.
22325
22326 2005-05-13  Bruno Haible  <bruno@clisp.org>
22327
22328         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
22329         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
22330         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
22331         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
22332         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
22333         Add support for 64-bit integers in the MSVC compiler.
22334
22335 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22336
22337         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
22338
22339 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
22340
22341         * gnulib-tool (func_import): Sort and uniquify recommended includes.
22342
22343 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22344
22345         * doc/getdate.texi (General date syntax): Don't say that date
22346         date --iso-8601=ns generates acceptable dates; it doesn't yet.
22347         Problem reported by Nic Ferrier.
22348
22349 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22350
22351         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
22352         specified in ai_socktype. Fix invalid ai_protocol
22353         check. ai_protocol is usually set to 0 or depending on
22354         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
22355         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
22356         ai_socktype / ai_protocol in the returned addrinfo structure.
22357
22358 2005-05-10  Simon Josefsson  <jas@extundo.com>
22359
22360         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
22361         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22362
22363 2005-05-10  Karl Berry  <karl@gnu.org>
22364
22365         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
22366         (from http://www.gnu.org/licenses).
22367         * doc/COPYING.LIB: also rename to COPYING.LESSER.
22368         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
22369         fdl.texi suffices.
22370
22371 2005-05-10  Karl Berry  <karl@gnu.org>
22372
22373         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
22374         (COPYING.DOC): remove.
22375
22376         * config/srclist-update: new FSF address.
22377
22378 2005-05-10  Derek Price  <derek@ximbiot.com>
22379
22380         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
22381         possible.
22382
22383 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22384             Bruno Haible  <bruno@clisp.org>
22385
22386         * modules/inet_ntop: New file.
22387         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22388         inet_ntop.
22389
22390 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22391             Bruno Haible  <bruno@clisp.org>
22392
22393         * m4/inet_ntop.m4: New file.
22394
22395 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22396             Bruno Haible  <bruno@clisp.org>
22397
22398         * lib/inet_ntop.h: New file.
22399         * lib/inet_ntop.c: New file, from glibc with modifications.
22400
22401 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
22402
22403         * modules/time_r (License): Change to LGPL.
22404         * modules/extensions (License): Change to LGPL.  Actually,
22405         the license is more permissive than that, but currently gnulib-tool
22406         doesn't know how to handle more-permissive licenses.
22407
22408         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
22409         Problem reported by Dave Love.
22410
22411 2005-05-08  Jim Meyering  <jim@meyering.net>
22412
22413         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
22414         blank.
22415
22416 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22417
22418         * modules/argmatch (Depends-on): Add stdbool.
22419         * modules/backupfile (Depends-on): Likewise.
22420         * modules/chdir-long (Depends-on): Likewise.
22421         * modules/closeout (Depends-on): Likewise.
22422         * modules/cycle-check (Depends-on): Likewise.
22423         * modules/dirname (Depends-on): Likewise.
22424         * modules/fnmatch (Depends-on): Likewise.
22425         * modules/fsusage (Depends-on): Likewise.
22426         * modules/fwriteerror (Depends-on): Likewise.
22427         * modules/getcwd (Depends-on): Likewise.
22428         * modules/getloadavg (Depends-on): Likewise.
22429         * modules/hard-locale (Depends-on): Likewise.
22430         * modules/makepath (Depends-on): Likewise.
22431         * modules/mountlist (Depends-on): Likewise.
22432         * modules/nanosleep (Depends-on): Likewise.
22433         * modules/posixtm (Depends-on): Likewise.
22434         * modules/quotearg (Depends-on): Likewise.
22435         * modules/readtokens (Depends-on): Likewise.
22436         * modules/readtokens0 (Depends-on): Likewise.
22437         * modules/readutmp (Depends-on): Likewise.
22438         * modules/save-cwd (Depends-on): Likewise.
22439         * modules/strftime (Depends-on): Likewise.
22440         * modules/userspec (Depends-on): Likewise.
22441         * modules/utimecmp (Depends-on): Likewise.
22442         * modules/xgetcwd (Depends-on): Likewise.
22443         * modules/xnanosleep (Depends-on): Likewise.
22444         * modules/xstrtod (Depends-on): Likewise.
22445         * modules/yesno (Depends-on): Likewise.
22446
22447 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22448
22449         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
22450         needless checks.
22451
22452 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22453
22454         Merge from coreutils.  Among other things,
22455         add bulletproofing for cases where stdin, stdout, or stderr are closed.
22456         * lib/fd-safer.c: New file.
22457         * lib/fcntl-safer.h, open-safer.c: Remove.
22458         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
22459         * lib/dup-safer.c: Include unistd-safer.h first.
22460         Don't include errno.h.
22461         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
22462         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
22463         * lib/file-type.c: Rely on file-type.h change.
22464         * lib/getloadavg.c: Include unistd-safer.h.
22465         (getloadavg): Use safer open.
22466         * lib/getusershell.c: Include "stdio-safer.h".
22467         (getusershell): Use safer fopen.
22468         * lib/long-options.c (long_options): Use NULL rather than 0.
22469         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
22470         'free'.
22471         * lib/modechange.c: Likewise.
22472         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
22473         (MODE_DONE): New constant.
22474         (struct mode_change): Remove 'next' member.
22475         (make_node_op_equals): New function; like the old one of the
22476         same name, except it allocates an array.
22477         (mode_compile, mode_create_from_ref): Use it.
22478         (mode_compile): Allocate result as an array, not a linked list.
22479         Parse octal string ourself, so that we catch mistakes like "+0".
22480         (mode_adjust): Arg is an array, not a linked list.
22481         * lib/modechange.c: Include stat-macros.h, xalloc.h.
22482         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
22483         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
22484         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
22485         Remove.  This is now stat-macros.h's job.
22486         (talloc): Remove.  All callers replaced by xalloc, so that
22487         our invokers don't have to worry about reporting memory failures.
22488         (make_node_op_equals): Remove.
22489         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
22490         New constants.
22491         (struct mode_change): Moved here from modechange.h.
22492         (mode_append_entry): Remove.
22493         (mode_compile): Remove MASKED_OPS arg, since it encouraged
22494         apps to have incorrect behavior.  Use simpler algorithm for head
22495         and tail.  Don't futz with umask; that's now the job of mode_adjust.
22496         Detect more invalid usages rather than having somewhat-random behavior.
22497         Don't insert an "a=" action, as that leads to incorrect behavior.
22498         (mode_compile, mode_create_from_ref): Return NULL on error instead
22499         of an enum, since now there's only one way to have an error.  All
22500         callers changed.
22501         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
22502         at the correct time.  Simplify calculation of "+u" and its ilk.
22503         Don't mishandle "+X".
22504         (mode_free): Remove "register" and localize decls.
22505         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
22506         (struct mode_change): Move to modechange.c; callers don't
22507         need to see this stuff.
22508         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
22509         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
22510         (mode_change, mode_adjust): Reflect the new signatures noted above.
22511         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
22512         that might redefine system include files.
22513         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
22514         (my_usleep): Use NULL rather than (void *) 0.
22515         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
22516         Use siginterrupt to specify that system calls should be interrupted.
22517         (rpl_nanosleep): Move initialization of suspended closer to call of
22518         my_usleep.
22519         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
22520         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
22521         (desirable_utmp_entry): New function.
22522         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
22523         using x2nrealloc, to simplify logic.
22524         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
22525         size calculation.  Do not assume utmp file is a regular file.
22526         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
22527         (READ_UTMP_CHECK_PIDS): New constant.
22528         * lib/save-cwd.c: Include unistd-safer.h.
22529         (save_cwd): Use fd_safer.
22530         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
22531         [!_LIBC] Include "stat-macros.h" instead.
22532         * lib/unistd-safer.h (fd_safer): New decl.
22533
22534 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22535
22536         * modules/getloadavg (Depends-on): Add unistd-safer.
22537         * modules/getusershell (Depends-on): Add stdio-safer.
22538         * modules/lstat (Depends-on): Remove xalloc.
22539         * modules/mkstemp (Depends-on): Add stat-macros.
22540         * modules/modechange (Depends-on): Remove xstrtol.
22541         Add stat-macros, xalloc.
22542         * modules/save-cwd (Depends-on): Add unistd-safer.
22543         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
22544         * modules/unistd-safer (Files): Add lib/fd-safer.c
22545         (Makefile.am): Remove lib_SOURCES.
22546
22547         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
22548         Remove fcntl-safer; unistd-safer supersedes it.
22549
22550 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22551
22552         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
22553         AC_HEADER_STAT.
22554         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
22555         (gl_PREREQ_CHOWN): Remove.
22556         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
22557         it.  Don't require AC_HEADER_STAT.
22558         (gl_PREREQ_LSTAT): Remove.
22559         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
22560         Don't require AC_HEADER_STAT.
22561         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
22562         (gl_PREREQ_RMDIR): Remove.
22563         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
22564         mention stat-macros.h or AC_HEADER_STAT, since we'll make
22565         the stat-macros module a prerequisite.
22566         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
22567         * m4/filemode.m4 (gl_FILEMODE): Likewise.
22568         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
22569         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
22570         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
22571         variable names.
22572         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
22573         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
22574         variable prefixes.
22575         * m4/fcntl-safer.m4: Remove.
22576         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
22577         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
22578         Invoke gl_PREREQ_FD_SAFER.
22579         (gl_PREREQ_FD_SAFER): New macro.
22580         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
22581         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
22582         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
22583         Remove duplicate call to AC_LIBOBJ(readutmp).
22584         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
22585
22586         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
22587         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
22588
22589 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22590
22591         * MODULES.html.sh (Misc): Add byteswap.
22592
22593 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22594
22595         * modules/getcwd (Depends-on): Add extensions.
22596         * modules/openat (Depends-on): Likewise.
22597
22598 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22599
22600         * modules/byteswap: New file.
22601
22602 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22603
22604         * m4/byteswap.m4: New file.
22605
22606 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22607
22608         * lib/byteswap_.h: New file.
22609
22610 2005-04-25  Karl Berry  <karl@gnu.org>
22611
22612         * m4/gettext.m4: Update from GNU gettext 0.14.4.
22613
22614 2005-04-25  Albert Chin  <china@thewrittenword.com>
22615
22616         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
22617         Toolkit C bug.
22618
22619 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
22620
22621         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
22622         (func_ln_if_changed) Remove forcibly for no error message
22623         in case file does not exist.
22624
22625 2005-04-19  Simon Josefsson  <jas@extundo.com>
22626
22627         * gnulib-tool (Options): Make --symlink mean --symbolic.
22628
22629 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
22630
22631         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
22632
22633 2005-04-16  Simon Josefsson  <jas@extundo.com>
22634
22635         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
22636
22637 2005-04-15  Simon Josefsson  <jas@extundo.com>
22638
22639         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
22640
22641 2005-04-15  Simon Josefsson  <jas@extundo.com>
22642
22643         * gnulib-tool: Rename --symlink to --symbolic.
22644
22645 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
22646
22647         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
22648         symbolic links to files instead of copying/moving.  Add --aux-dir,
22649         specifying directory relative --dir where auxiliary build tools
22650         are placed.
22651
22652 2005-04-14  Bruno Haible  <bruno@clisp.org>
22653
22654         * modules/allocsa (License): Change to LGPL.
22655         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22656
22657 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
22658
22659         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
22660         that "UTC +1 second" continues to work.  Problem reported
22661         by Dmitry V. Levin.
22662         (relunit_snumber): New rule.
22663         (relunit): Use it.
22664
22665 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22666
22667         * lib/getdate.y (universal_time_zone_table): New constant.
22668         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
22669         universal_time_zone_table.
22670         (lookup_zone): Prefer universal_time_zone_table to
22671         local_time_zone_table, so that "GMT" time stamps are allowed in
22672         London during the summer.  Problem reported by Ian Abbott.
22673
22674 2005-04-12  Jim Meyering  <jim@meyering.net>
22675
22676         * lib/human.c (humblock): Set *options even when returning due to
22677         xstrtoumax conversion failure.  Thanks to a used-uninitialized
22678         warning from gcc-4.
22679
22680 2005-04-09  Jim Meyering  <jim@meyering.net>
22681
22682         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
22683         -Wuninitialized: initialize tm0.tm_year.
22684
22685 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22686
22687         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
22688         count, since there's no maximum.  All uses changed.
22689         Add member dsts_seen.
22690         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
22691         not being INT_MAX.
22692         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
22693         Use pc_rels_seen to decide whther a date is absolute.
22694
22695         * lib/getdate.y (number): Don't overwrite year.
22696         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
22697         check.
22698
22699 2005-04-02  Simon Josefsson  <jas@extundo.com>
22700
22701         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
22702         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
22703
22704 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
22705
22706         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
22707         where no absolute path name can be longer than PATH_MAX.
22708
22709 2005-03-27  Jim Meyering  <jim@meyering.net>
22710
22711         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
22712
22713 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
22714
22715         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
22716         "one's complement" -> "ones' complement" in comment, as per Knuth.
22717         "value of type" -> "type or expression" in comment.
22718         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
22719
22720 2005-03-26  Jim Meyering  <jim@meyering.net>
22721
22722         Comment nits.
22723         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
22724         Correct typos: s/or/of/.
22725
22726 2005-03-26  Jim Meyering  <jim@meyering.net>
22727
22728         * modules/check-include-files: Move to ../ and rename to...
22729         * check-module: ...this.
22730
22731 2005-03-25  Jim Meyering  <jim@meyering.net>
22732
22733         * modules/xvasprintf (Files): Add xalloc.h.
22734
22735 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
22736
22737         * modules/gettext (Files): config/config.rpath ->
22738         build-aux/config.rpath
22739         * modules/iconv (Files): Likewise.
22740         Problem reported by Oskar Liljeblad.
22741
22742 2005-03-23  Jim Meyering  <jim@meyering.net>
22743
22744         * modules/check-include-files: New script to check for
22745         missing dependencies, multiple includes, etc.
22746
22747         * modules/c-strtold (Depends-on): Add xalloc.
22748         * modules/c-strtod (Depends-on): Add xalloc.
22749         * modules/hash (Depends-on): Add xalloc.
22750         (Files): Remove lib/xalloc.h.
22751
22752         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
22753         * modules/userspec (Files): Add lib/inttostr.h.
22754
22755 2005-03-23  Jim Meyering  <jim@meyering.net>
22756
22757         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
22758
22759 2005-03-22  Jim Meyering  <jim@meyering.net>
22760
22761         * modules/stat-macros: New module.
22762         * modules/canonicalize, modules/euidaccess, modules/file-type,
22763         * modules/filemode, modules/lchown, modules/makepath,
22764         * modules/rmdir, modules/stat: Depend on new stat-macros module
22765         rather than listing lib/stat-macros.h manually.
22766         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
22767
22768 2005-03-22  Jim Meyering  <jim@meyering.net>
22769
22770         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
22771
22772 2005-03-22  Bruno Haible  <bruno@clisp.org>
22773
22774         * config/srclist.txt: Replace target directory 'config' with
22775         'build-aux'.
22776         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
22777         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
22778         ../build-aux/.
22779
22780 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
22781
22782         * modules/chdir-long (Depends-on): Add mempcpy.
22783
22784         * modules/acl, modules/backupfile, modules/c-strtod,
22785         modules/c-strtold, modules/canon-host, modules/canonicalize,
22786         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
22787         modules/exclude, modules/exitfail, modules/file-type,
22788         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
22789         modules/getdate, modules/getline, modules/getpagesize,
22790         modules/getpass, modules/getugroups, modules/group-member,
22791         modules/hard-locale, modules/hash, modules/human, modules/idcache,
22792         modules/inttostr, modules/long-options, modules/makepath,
22793         modules/md5, modules/memcasecmp, modules/memcoll,
22794         modules/modechange, modules/mountlist, modules/path-concat,
22795         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
22796         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
22797         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
22798         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
22799         modules/strftime, modules/strndup, modules/strverscmp,
22800         modules/timespec, modules/unlocked-io, modules/userspec,
22801         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
22802         modules/yesno:
22803         Remove lib_SOURCES line from Makefile.am section, as this is now
22804         done automatically by the corresponding Autoconf macro.
22805
22806 2005-03-21  Jim Meyering  <jim@meyering.net>
22807
22808         Changes imported from coreutils.
22809
22810         * lib/cycle-check.c: Don't include xalloc.h.
22811
22812         * lib/path-concat.c: Don't include assert.h.
22813         (path_concat): Remove assertion that would have triggered
22814         for ABASE starting with more than one slash.
22815         Reported by Andreas Schwab.
22816
22817         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
22818         properly when ABASE is an absolute file name.
22819         Correct the description of this function.
22820         Include <assert.h>.
22821         Add an assertion and a test driver.
22822         This fixes a bug introduced on 2004-07-02.
22823         Andreas Schwab reported the resulting failure of cp --parents:
22824         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
22825
22826 2005-03-21  Jim Meyering  <jim@meyering.net>
22827
22828         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
22829         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
22830
22831 2005-03-21  Jim Meyering  <jim@meyering.net>
22832         and  Paul Eggert  <eggert@cs.ucla.edu>
22833
22834         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
22835         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
22836         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
22837         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
22838         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
22839         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
22840         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
22841         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
22842         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
22843         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
22844         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
22845         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
22846         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
22847         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
22848         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
22849         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
22850         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
22851         for these modules.
22852
22853 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
22854
22855         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
22856         (which shouldn't happen), generate nothing instead of returning 0
22857         immediately, so that nstrftime (NULL, ...) doesn't return 0.
22858
22859 2005-03-16  Bruno Haible  <bruno@clisp.org>
22860
22861         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
22862         HAVE_LONGLONG_64BIT.
22863
22864 2005-03-16  Bruno Haible  <bruno@clisp.org>
22865
22866         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
22867         HAVE_LONGLONG_64BIT.
22868
22869 2005-03-16  Bruno Haible  <bruno@clisp.org>
22870
22871         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
22872         HAVE_LONGLONG_64BIT.
22873
22874 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
22875
22876         * lib/strftime.c (my_strftime): Prepend space to format so that we can
22877         reliably distinguish strftime failure from empty output on POSIX
22878         hosts.
22879
22880 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
22881
22882         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
22883         (iconv_string): Don't guess a size-zero buffer, as that might cause
22884         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
22885         result would be 'too large', where 'too large' is (heuristically)
22886         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
22887         overflow concerns.  This will prevent some unwanted malloc failures
22888         when the inputs are very large.
22889
22890 2005-03-15  Karl Berry  <karl@gnu.org>
22891
22892         * config/srclist.txt (config.rpath): from gettext.
22893         * config/config.rpath: update.
22894
22895 2005-03-15  Bruno Haible  <bruno@clisp.org>
22896
22897         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
22898         to 'negate'.
22899
22900         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
22901         variable.
22902
22903         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
22904         results.
22905
22906 2005-03-14  Simon Josefsson  <jas@extundo.com>
22907
22908         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
22909         <fx@gnu.org>.
22910
22911 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
22912
22913         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
22914         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
22915         intprops.h.
22916         * lib/strtol.c: Likewise.
22917
22918 2005-03-14  Jim Meyering  <jim@meyering.net>
22919
22920         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
22921         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
22922         to be nonzero so that we (and caller) can detect the difference
22923         between a valid zero-length expansion and an error return, even
22924         when the underlying strftime fails before writing anything into
22925         that location.
22926
22927 2005-03-14  Bruno Haible  <bruno@clisp.org>
22928
22929         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
22930         Update from GNU gettext 0.14.3.
22931
22932 2005-03-10  Jim Meyering  <jim@meyering.net>
22933
22934         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
22935
22936 2005-03-10  Jim Meyering  <jim@meyering.net>
22937
22938         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
22939         so that this module works on systems without fchdir.
22940
22941 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
22942
22943         Factor int-properties macros into a single file, except for
22944         glibc-related files.
22945         * lib/intprops.h: New file.
22946         * lib/getloadavg.c: Include it instead of limits.h.
22947         (INT_STRLEN_BOUND): Remove.
22948         * lib/human.c: Include intprops.h.
22949         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
22950         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
22951         302/1000.
22952         * lib/inttostr.h: Include intprops.h instead of limits.h.
22953         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
22954         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
22955         for consistency with intprops.h.
22956         (time_t_is_integer, twos_complement_arithmetic): Use them.
22957         * lib/sig2str.h: Include <signal.h>, intprops.h.
22958         (INT_STRLEN_BOUND): Remove.
22959         * lib/strftime.c (TYPE_SIGNED): Remove.
22960         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
22961         * lib/strtol.c: Adjust comments to match intprops.h.
22962         * lib/userspec.c: Include intprops.h.
22963         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
22964         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
22965         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
22966         instead of rolling our own expressions.
22967         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
22968
22969         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
22970         instead of int.
22971         (my_strftime): Do not mishandle years close to INT_MAX, by doing
22972         the right thing even if adding 1900 would overflow.  Similarly
22973         for tm_mon + 1 and tm_yday + 1.
22974         Make %Y always equivalent to %C%y, and similarly for %G and %g.
22975         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
22976         (DO_SIGNED_NUMBER): New macro.
22977         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
22978
22979 2005-03-07  Bruno Haible  <bruno@clisp.org>
22980
22981         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
22982
22983 2005-03-07  Bruno Haible  <bruno@clisp.org>
22984
22985         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
22986
22987 2005-03-04  Derek R. Price  <derek@ximbiot.com>
22988
22989         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
22990         (func_import): Only replace files via --import when they have actually
22991         changed.
22992
22993 2005-03-03  Derek R. Price  <derek@ximbiot.com>
22994
22995         * m4/mmap-anon.m4: New file.
22996         * m4/pagealign_alloc.m4: New file.
22997
22998 2005-03-03  Derek R. Price  <derek@ximbiot.com>
22999             Bruno Haible  <bruno@clisp.org>
23000
23001         * modules/pagealign_alloc: New file.
23002         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
23003
23004 2005-03-03  Derek R. Price  <derek@ximbiot.com>
23005             Bruno Haible  <bruno@clisp.org>
23006
23007         * lib/pagealign_alloc.h: New file.
23008         * lib/pagealign_alloc.c: New file.
23009
23010 2005-03-03  Bruno Haible  <bruno@clisp.org>
23011
23012         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
23013         Use an all-permissive copyright notice, recommended by RMS.
23014
23015 2005-03-02  Bruno Haible  <bruno@clisp.org>
23016
23017         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
23018         of AIX, the replacement has to be done only after <string.h> is
23019         included, therefore not in config.h. stpncpy.h does the replacement,
23020         and stpncpy.c uses it.
23021
23022 2005-03-02  Bruno Haible  <bruno@clisp.org>
23023
23024         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
23025         stpncpy.c uses it.
23026
23027 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
23028
23029         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
23030         The workaround isn't strictly needed for POSIX conformance, and
23031         it's too much of a pain to configure and maintain.  We'll ask
23032         people to fix their kernels instead.
23033         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
23034         (NANOSLEEP_BUG_WORKAROUND): Remove.
23035         (xnanosleep): Remove the workaround.
23036
23037 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
23038
23039         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
23040         Reported by Derek Price.
23041         (Include): Add "timespec.h".
23042
23043         * modules/xnanosleep (Depends-on): Remove gethrxtime.
23044
23045 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
23046
23047         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
23048         to detect nanosleep bug.
23049
23050 2005-03-01  Bruno Haible  <bruno@clisp.org>
23051
23052         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
23053
23054 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
23055
23056         * modules/gethrxtime: New file.
23057         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
23058         (Depends-on): Add gethrxtime.
23059         (configure.ac): Add gl_XNANOSLEEP.
23060         (Makefile.am): Remove lib_SOURCES line.
23061
23062 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23063
23064         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
23065         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
23066
23067 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23068
23069         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
23070         * lib/timespec.h (gettime): Return void, since it always
23071         succeeds now.  All uses changed.
23072         * lib/gettime.c (gettime) Likewise.
23073         [HAVE_NANOTIME]: Prefer nanotime.
23074         Assume gettimeofday succeeds, as POSIX requires.
23075         Assime time () succeeds, since other code already does.
23076         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
23077         (timespec_subtract): Remove.
23078         (NANOSLEEP_BUG_WORKAROUND): New constant.
23079         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
23080         things considerably.  Use it only on GNU/Linux hosts, since the
23081         workaround shouldn't be needed elsewhere.
23082
23083 2005-02-24  Bruno Haible  <bruno@clisp.org>
23084
23085         * modules/gettext (Files): Add m4/glibc2.m4.
23086
23087 2005-02-24  Bruno Haible  <bruno@clisp.org>
23088
23089         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
23090         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
23091         * m4/progtest.m4:
23092         Update from GNU gettext 0.14.2.
23093         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
23094
23095 2005-02-24  Bruno Haible  <bruno@clisp.org>
23096
23097         * lib/localcharset.c: Update from GNU gettext 0.14.2.
23098         * lib/config.charset: Update from GNU gettext 0.14.2.
23099
23100 2005-02-24  Bruno Haible  <bruno@clisp.org>
23101
23102         * lib/gettext.h: Update from GNU gettext 0.14.2.
23103
23104 2005-02-23  Simon Josefsson  <jas@extundo.com>
23105
23106         * m4/iconvme.m4: New file.
23107
23108 2005-02-23  Jim Meyering  <jim@meyering.net>
23109
23110         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
23111         change.
23112         Thanks to Bruno Haible for catching it.
23113
23114 2005-02-22  Simon Josefsson  <jas@extundo.com>
23115
23116         * modules/iconvme: New file.
23117
23118         * MODULES.html.sh: Add iconvme.
23119
23120 2005-02-22  Simon Josefsson  <jas@extundo.com>
23121
23122         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
23123
23124 2005-02-22  Simon Josefsson  <jas@extundo.com>
23125
23126         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
23127
23128 2005-02-22  Jim Meyering  <jim@meyering.net>
23129
23130         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
23131         s/ifndef/ifdef/.
23132
23133 2005-02-20  Neil Conway  <neilc@samurai.com>
23134
23135         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
23136         returned by OSX/Darwin if the specified buffer is not large
23137         enough for the hostname.
23138
23139 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23140
23141         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
23142         pass it to _help, otherwise the latter coredumps trying to
23143         dereference state.root_argp.
23144
23145 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23146
23147         * modules/chdir-long (Depends-on): Add memrchr.
23148         * modules/memrchr (Files): Add lib/memrchr.h.
23149         (Include): "memrchr.h".
23150
23151 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23152
23153         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
23154
23155 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23156
23157         * lib/memrchr.h: New file.
23158         * lib/chdir-long.c: Include it.
23159         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
23160         Don't bother including stddef.h.
23161
23162 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
23163
23164         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
23165         inclusion.
23166         Include <sys/types.h>, for dev_t.
23167         (ME_DUMMY, ME_REMOTE): Move from here....
23168         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
23169         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
23170         Dmitry V. Levin.
23171         Include mountlist.h first, to test the interface.
23172
23173 2005-01-29  Bruno Haible  <bruno@clisp.org>
23174
23175         * lib/progname.c (program_name): Initialize.
23176         Needed when linking statically on MacOS X.
23177
23178 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23179
23180         Sync from coreutils.
23181         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
23182         (Depends-on): Add c-strtod.
23183         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
23184
23185 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23186
23187         Sync from coreutils.
23188         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
23189
23190         Remove files that are specific to coreutils.
23191         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
23192
23193 2005-01-28  Bruno Haible  <bruno@clisp.org>
23194
23195         * modules/javacomp: New file.
23196         * MODULES.html.sh (Java): Add javacomp.
23197
23198 2005-01-28  Bruno Haible  <bruno@clisp.org>
23199
23200         * m4/javacomp.m4: New file, from GNU gettext.
23201
23202 2005-01-28  Bruno Haible  <bruno@clisp.org>
23203
23204         * lib/javacomp.sh.in: New file, from GNU gettext.
23205         * lib/javacomp.h: New file, from GNU gettext.
23206         * lib/javacomp.c: New file, from GNU gettext.
23207
23208 2005-01-26  Simon Josefsson  <jas@extundo.com>
23209
23210         * lib/gai_strerror.c: Use GPL in header.
23211
23212 2005-01-26  Bruno Haible  <bruno@clisp.org>
23213
23214         * modules/javaexec: New file.
23215         * MODULES.html.sh (Java): Add javaexec.
23216
23217 2005-01-26  Bruno Haible  <bruno@clisp.org>
23218
23219         * m4/javaexec.m4: New file, from GNU gettext.
23220
23221 2005-01-26  Bruno Haible  <bruno@clisp.org>
23222
23223         * lib/javaexec.sh.in: New file, from GNU gettext.
23224         * lib/javaexec.h: New file, from GNU gettext.
23225         * lib/javaexec.c: New file, from GNU gettext.
23226
23227 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23228
23229         * modules/lchown (Depends-on): Remove lchown.h
23230
23231 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23232
23233         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
23234         must be defined if the header file was not found, in order
23235         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
23236
23237 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23238
23239         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
23240         initializers for struct pentry_state.
23241         (__argp_error): Check return value of __asprintf
23242         (__argp_failure): Translate error message
23243
23244         * lib/argp-parse.c: Removed braces around the expansion of N_()
23245
23246 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23247
23248         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
23249         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
23250         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
23251         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
23252         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
23253         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
23254         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
23255         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
23256         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
23257         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
23258         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
23259         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
23260         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
23261         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
23262         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
23263         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
23264         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
23265         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
23266         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
23267         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
23268         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
23269         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
23270         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
23271         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
23272         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
23273         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
23274         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
23275         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
23276         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
23277         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
23278         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
23279         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
23280         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
23281         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
23282         xstrtol.m4, xstrtoumax.m4, yesno.m4:
23283         Use an all-permissive copyright notice, recommended by RMS.
23284
23285 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
23286
23287         * modules/chdir-long (Depends-on): Remove mempcpy.
23288
23289 2005-01-21  Jim Meyering  <jim@meyering.net>
23290
23291         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
23292         same value as for Solaris 9.
23293
23294         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
23295         component length.  This included changing the parameter to be
23296         of type `char *' rather than `char const *'.
23297         * lib/chdir-long.h (chdir_long): Update prototype.
23298
23299         * lib/openat.c (fdopendir, fstatat): New functions.
23300         * lib/openat.h: Include headers required for use of DIR and struct
23301         stat.
23302         [AT_SYMLINK_NOFOLLOW]: Define.
23303         (fdopendir, fstatat): Add prototypes.
23304
23305 2005-01-21  Bruno Haible  <bruno@clisp.org>
23306
23307         * modules/classpath: New file.
23308         * MODULES.html.sh (Java): Add classpath.
23309
23310 2005-01-21  Bruno Haible  <bruno@clisp.org>
23311
23312         * lib/classpath.h: New file, from GNU gettext.
23313         * lib/classpath.c: New file, from GNU gettext.
23314
23315 2005-01-20  Simon Josefsson  <jas@extundo.com>
23316
23317         * modules/version-etc-fsf: New file.
23318
23319 2005-01-20  Simon Josefsson  <jas@extundo.com>
23320
23321         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
23322         * lib/version-etc.c: Remove version_etc_copyright.
23323         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
23324         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
23325
23326 2005-01-20  Simon Josefsson  <jas@extundo.com>
23327
23328         * lib/base64.h (isbase64): Add.
23329
23330         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
23331         using a unsigned prototype, don't inline.
23332         (base64_decode): Use it.
23333
23334 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23335
23336         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
23337         it.
23338
23339 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23340
23341         * lib/save-cwd.c (save_cwd): Remove code to support the case
23342         where fchdir is missing or flaky.
23343
23344 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23345
23346         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
23347
23348 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
23349
23350         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
23351         AC_LIBSOURCES now does this.
23352         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
23353         with new ullong_max module.
23354
23355 2005-01-19  Bruno Haible  <bruno@clisp.org>
23356
23357         * modules/sh-quote: New file.
23358         * MODULES.html.sh (Executing programs): Add sh-quote.
23359
23360 2005-01-19  Bruno Haible  <bruno@clisp.org>
23361
23362         * lib/sh-quote.h: New file, from GNU gettext.
23363         * lib/sh-quote.c: New file, from GNU gettext.
23364
23365 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23366
23367         Merge from coreutils.
23368         * m4/ullong_max.m4: New file.
23369         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
23370         (gl_MACROS): Assume localeconv exists.
23371
23372 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23373
23374         Merge changes from coreutils, as described below in several
23375         changelogs dated today.
23376
23377         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
23378         (O_DIRECTORY): Remove; not needed here, since "." must be
23379         a directory.  All uses removed.
23380         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
23381         universal on Suns, and we also need to test for IRIX.
23382         Revamp code to use 'if' rather than '#if'.
23383         Avoid unnecessary comparison of cwd->desc to 0.
23384
23385         * lib/utimens.c (futimens): Robustify the previous patch, by checking
23386         for known valid error numbers rather than observed invalid ones.
23387
23388 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23389
23390         * modules/ullong_max: New file.
23391
23392         * modules/chdir-long, modules/openat: New files.
23393         * modules/save-cwd (Depends-on): Depend on chdir-long.
23394         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
23395
23396 2005-01-18  Jim Meyering  <jim@meyering.net>
23397
23398         Merge from coreutils.
23399         * m4/chdir-long.m4, m4/openat.m4: New files.
23400         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
23401         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
23402         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
23403         is sane and DOES follow symlinks.  Besides, testing 20 different
23404         systems found no broken chown implementations.
23405         Prompted by a change in rsync's copy of this macro.
23406         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
23407
23408         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
23409
23410         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
23411         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
23412         NULL-means-set-to-current-time semantics.
23413         Remove temporary file immediately, rather than waiting
23414         for configure's at-exit trap code to do it.
23415
23416 2005-01-18  Jim Meyering  <jim@meyering.net>
23417
23418         * lib/version-etc.c (version_etc_copyright): Update copyright date.
23419
23420         * lib/utimens.c (futimens): Account for the fact that futimes
23421         can also fail with errno == ENOSYS or errno == ENOENT.
23422         Patch from Dmitry V. Levin.
23423
23424         Change the name of the robust chdir function from chdir to chdir_long.
23425         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
23426         (restore_cwd): Use chdir_long, not chdir.
23427         * lib/chdir-long.c: Renamed from chdir.c.
23428         * lib/chdir-long.h: Renamed from chdir.h.
23429         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
23430         Hurd.
23431
23432 2005-01-18  Bruno Haible  <bruno@clisp.org>
23433
23434         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
23435         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
23436         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
23437         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
23438         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
23439         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
23440         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
23441         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
23442         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
23443         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
23444         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
23445         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
23446         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
23447         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
23448         Use an all-permissive copyright notice, recommended by RMS.
23449
23450 2005-01-18  Bob Proulx  <bob@proulx.com>
23451
23452         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
23453         simplify offsetof() macro construct to avoid compile failure with
23454         native HP-UX 11.0 ANSI C compiler.
23455
23456 2005-01-17  Bruno Haible  <bruno@clisp.org>
23457
23458         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
23459         redundant because stpncpy.m4 takes care of it.
23460
23461 2005-01-17  Bruno Haible  <bruno@clisp.org>
23462
23463         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
23464
23465 2005-01-17  Bruno Haible  <bruno@clisp.org>
23466
23467         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
23468         used.
23469
23470 2005-01-17  Bruno Haible  <bruno@clisp.org>
23471
23472         * lib/fwriteerror.h (fwriteerror): Change specification to include
23473         fclose.
23474         * lib/fwriteerror.c: Include <stdbool.h>.
23475         (fwriteerror): At the end, close the file stream. Record whether
23476         stdout was already closed.
23477
23478 2005-01-17  Bruno Haible  <bruno@clisp.org>
23479
23480         * lib/execute.c (environ): Declare if needed.
23481         * lib/pipe.c (environ): Likewise.
23482         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
23483
23484 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23485
23486         * modules/argp: Depend on vsnprintf
23487
23488 2005-01-10  Jim Meyering  <jim@meyering.net>
23489
23490         * modules/closeout (Depends-on): Add atexit.
23491
23492 2005-01-06  Bruno Haible  <bruno@clisp.org>
23493
23494         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
23495
23496 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
23497
23498         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
23499         definitions to be after all include files, to avoid collisions.
23500         Problem reported by Bob Proulx.
23501
23502 2005-01-04  Jim Meyering  <jim@meyering.net>
23503
23504         Changes imported from coreutils.
23505         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
23506         as the mkstemp template, use a temporary directory and an
23507         8.3-friendly template to avoid trouble on systems like DJGPP.
23508         Reported by Juan M. Guerrero via Stepan Kasal.
23509         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
23510         close. Remove the temporary directory right away, rather than waiting
23511         for configure's at-exit trap code to do it.
23512         Suggestion from Stepan Kasal.
23513
23514 2005-01-01  Simon Josefsson  <jas@extundo.com>
23515
23516         * gnulib-tool: Print #include directives when --import'ing.
23517
23518 2004-12-28  Simon Josefsson  <jas@extundo.com>
23519
23520         * tests/test-base64.c: Include required header files.  Remove
23521         unused variables.
23522
23523 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23524
23525         * modules/error (Depends-on): Remove gettext.
23526
23527 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23528
23529         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
23530         not needed.  This removes a dependency on the gettext module.
23531         [defined _LIBC]: Do not include <libintl.h>; not needed.
23532
23533 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
23534
23535         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
23536         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
23537
23538 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
23539
23540         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
23541         HAVE_DECL_STRTOLD.
23542
23543 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23544
23545         * modules/getdate (Depends-on): Remove alloca-opt.
23546
23547 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23548
23549         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
23550
23551 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23552
23553         * lib/argp-parse.c: Include <stddef.h>.
23554         (alignof, alignto): New macros.
23555         (parser_init): Don't assume that void * is aligned sufficiently
23556         for struct option.
23557
23558         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
23559         need to extend the stack.
23560         (YYINITDEPTH): New macro, so that the initial stack isn't overly
23561         large.
23562
23563 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23564
23565         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
23566
23567 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23568
23569         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
23570         (2004-10-24) change.  Apparently this was a false alarm.
23571
23572         * modules/getdate: Depend on alloca-opt, not alloca.
23573
23574 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23575
23576         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
23577         Remove now-obsolete comment about AIX.
23578         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
23579         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
23580         (YYMAXDEPTH): New macro.
23581
23582 2004-12-18  Simon Josefsson  <jas@extundo.com>
23583
23584         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
23585
23586 2004-12-18  Bruno Haible  <bruno@clisp.org>
23587
23588         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
23589
23590 2004-12-18  Bruno Haible  <bruno@clisp.org>
23591
23592         * lib/fatal-signal.c (fatal_signals): Make non-const.
23593         (init_fatal_signals): New function.
23594         (uninstall_handlers, install_handlers): Ignore signals that were set to
23595         SIG_IGN.
23596         (at_fatal_signal): Call init_fatal_signals.
23597         (init_fatal_signal_set): Likewise. Ignore signals that were set to
23598         SIG_IGN.
23599         Reported by Paul Eggert.
23600
23601 2004-12-18  Bruno Haible  <bruno@clisp.org>
23602
23603         * doc/alloca.texi: New file.
23604         * doc/alloca-opt.texi: New file.
23605
23606 2004-12-17  Jim Meyering  <jim@meyering.net>
23607
23608         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
23609         Otherwise, install-sh could exit with improper exit status when
23610         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
23611
23612 2004-12-16  Simon Josefsson  <jas@extundo.com>
23613
23614         * tests/test-base64.c: Add license.
23615
23616 2004-12-15  Stepan Kasal  <address@hidden>
23617
23618         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
23619
23620 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
23621
23622         * modules/getcwd (Files): Add m4/d-ino.m4.
23623         Suggested by Mark D. Baushke.
23624
23625 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
23626
23627         * lib/getdate.y (textint): New member "negative".
23628         (time_zone_hhmm): New function.
23629         Expect 14 shift-reduce conflicts, not 13.
23630         (o_colon_minutes): New rule.
23631         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
23632         (yylex): Set the "negative" member of signed numbers.
23633
23634 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
23635
23636         * doc/getdate.texi (Time of day items, Time zone items):
23637         Describe new formats +00:00, UTC+00:00.
23638
23639 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
23640
23641         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
23642         spurious "-l"s.  Problem reported by Stepan Kasal.
23643
23644 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
23645
23646         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
23647         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
23648
23649 2004-12-04  Simon Josefsson  <jas@extundo.com>
23650
23651         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
23652         Vandoorselaere <yoann@prelude-ids.org>.
23653
23654 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23655
23656         Changes imported from coreutils.
23657         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
23658         exist.
23659         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
23660
23661 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23662
23663         Changes imported from coreutils.
23664         * lib/hard-locale.c: Assume <locale.h> exists.
23665         Include "strdup.h".
23666         (GLIBC_VERSION): New macro.
23667         (hard_locale): Assume setlocale exists.
23668         Rewrite to avoid #ifdef.
23669         Use strdup rather than malloc + strcpy.
23670         * lib/human.c: Assume <locale.h> exists.
23671         (human_readable): Assume localeconv exists.
23672
23673 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23674
23675         * modules/hard-locale (Depends-on): Add strdup.
23676
23677 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
23678
23679         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
23680         convert T2, not T.  (Imported from libc.)
23681
23682 2004-11-30  Simon Josefsson  <jas@extundo.com>
23683
23684         * modules/restrict (License): Change to LGPL.
23685
23686 2004-11-30  Simon Josefsson  <jas@extundo.com>
23687
23688         * m4/restrict.m4: Add copyright and copying conditions.
23689
23690 2004-11-30  Simon Josefsson  <jas@extundo.com>
23691
23692         * m4/base64.m4: New file.
23693
23694 2004-11-30  Simon Josefsson  <jas@extundo.com>
23695
23696         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
23697         base64.
23698
23699         * tests/test-base64.c: New file.
23700
23701         * modules/base64: New file.
23702
23703 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
23704
23705         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
23706         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
23707
23708         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
23709
23710 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
23711
23712         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
23713         (__getcwd.c): Don't restore errno; glibc doesn't.
23714         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
23715         first, falling back to our code only if its results look suspicious.
23716         Ensure that the resulting buffer is only as large as necessary.
23717
23718         * lib/readutmp.c: Include readutmp.h first.
23719         Include <errno.h>, since readutmp.h no longer does that.
23720         * lib/readutmp.h: Don't include <errno.h>,
23721         <sys/param.h>, <time.h>; not needed to establish interface.
23722         (errno): Remove decl.
23723         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
23724         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
23725         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
23726
23727 2004-11-28  Simon Josefsson  <jas@extundo.com>
23728
23729         * lib/base64.h, base64.c: New file.
23730
23731 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
23732
23733         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
23734
23735 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
23736
23737         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
23738         (Depends-on): Remove pathmax, same.  Add mempcpy.
23739         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
23740         (Makefile.am): Append getcwd.h to lib_SOURCES.
23741         (Include): Add getcwd.h.
23742         (Maintainer): Change from Jim Meyering to "all, glibc",
23743         since getdate now uses intended-for-glibc code.
23744         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
23745         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
23746
23747 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23748
23749         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
23750         HP's ANSI C compiler.
23751         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
23752         Declaring int functions causes warnings on some modern systems and
23753         shouldn't be needed to compile on ancient ones.
23754         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
23755         defined.
23756
23757         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
23758         with the following changes.
23759         (__set_errno): Parenthesize properly.
23760         Include <stdbool.h>.
23761         (MIN, MAX, MATCHING_INO): New macros.
23762         (__getcwd): Define with prototype, not K&R form.
23763         Use heuristics to allocate default buffer on stack if possible.
23764         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
23765         behavior, and to avoid the PATH_MAX limit when computing
23766         ../../../../...
23767         Use MATCHING_INO to compare inode number to file.
23768         Check for arithmetic overflow in size calculations.
23769         Fix bug in reallocation of dot array that caused getcwd to fail
23770         on directories nested deeper than 75.
23771         Be more careful about saving errno on error.
23772         Do not use realloc; use only free+malloc, as this is a bit
23773         more flexible and avoids a needless copy operation.
23774         Do not inspect st_dev and st_ino for symbolic links; POSIX
23775         doesn't specify the latter.
23776         Check for closedir errors.
23777         Avoid needless casts.
23778         Use "#ifdef weak_alias" around weak_alias, to be like other
23779         glibc code.
23780         The following changes to getcwd.c have effect only when used in
23781         gnulib; they have no effect inside glibc proper.
23782         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
23783         as alloca isn't used.
23784         (alloca, __alloca): Likewise.
23785         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
23786         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
23787         unconditionally, as gnulib assumes C89 or better.
23788         Do not include <sys/param.h>.
23789         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
23790         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
23791         better.
23792         (NULL) [!defined NULL]: Remove; we assume C89 or better.
23793         Include <dirent.h> in a way that is compatible with modern Autoconf.
23794         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
23795         New macros, if not already defined.
23796         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
23797         Use "_LIBC", not "defined _LIBC", for consistency.
23798         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
23799         a mempcpy module.
23800         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
23801         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
23802         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
23803         credit only to Jim Meyering and adjust the copyright dates.
23804         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
23805         <stdlib.h>, <unistd.h>, "pathmax.h".
23806         Instead, include "xgetcwd.h" (first) and "getcwd.h".
23807         (INITIAL_BUFFER_SIZE): Remove.
23808         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
23809
23810 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23811
23812         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
23813         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
23814         Use the _ONCE methods, for efficiency.
23815         Check for fcntl.h.  In test program, include <errno.h>
23816         and <fcntl.h> if available.  Remove old K&R cruft from
23817         test program.  Check for common errors in GNU/Linux,
23818         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
23819         don't do AC_LIBOBJ, as that's getcwd.m4's job.
23820         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
23821         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
23822         name accordingly.
23823         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
23824         accommodate new getcwd.c.
23825         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
23826         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
23827         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
23828         that's all we need now.
23829
23830 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23831
23832         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
23833         argp-parse.c depends on getopt internals, that means we should
23834         always use our getopt, to be on the safe side.
23835         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
23836         order not to spoil the result of an eventual previous invocation
23837         of gl_GETOPT_SUBSTITUTE.
23838
23839 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23840
23841         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
23842         redefinition warnings. To avoid them, include the defines
23843         in `#if !defined __need_getopt ... #endif'. The only place
23844         where __getopt_argv_const is used is in definitions
23845         of getopt_long and getopt_long_only below, which are as well
23846         protected by `#ifndef __need_getopt'.
23847         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
23848         __need_getopt after including <stdio.h> and <unistd.h> These
23849         headers might have defined it.
23850
23851 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
23852
23853         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
23854
23855 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
23856
23857         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
23858         (futimens): New function, which uses futimes if available.
23859         (futimens, utimens): Support timespec==NULL, with same semantics
23860         as utime and utimens.
23861         * lib/utimens.h (futimens): New decl.
23862
23863 2004-11-23  Jim Meyering  <jim@meyering.net>
23864
23865         * lib/getopt_.h: Remove trailing blanks.
23866
23867 2004-11-23  Jim Meyering  <jim@meyering.net>
23868
23869         * lib/__fpending.c: Add comment.
23870
23871 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
23872
23873         * modules/canonicalize (Depends-on): Add xreadlink.
23874         Problem reported by James Youngman.
23875
23876 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
23877
23878         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
23879         New macros.
23880         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
23881         optopt): Use them instead of invoking ## directly; otherwise, the
23882         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
23883
23884 2004-11-19  Bruno Haible  <bruno@clisp.org>
23885
23886         * lib/strtok_r.c: Move comments from here...
23887         * lib/strtok_r.h: ... to here.
23888
23889 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23890
23891         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
23892         implementations that mishandle size_t overflow.
23893
23894 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23895
23896         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
23897         might fail.  Problem reported by Yoann Vandoorselaere.
23898         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
23899         implementations that mishandle size_t overflow.
23900
23901 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23902
23903         * modules/canon-host (Depends-on): Add strdup.
23904
23905 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23906
23907         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
23908
23909 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23910
23911         * lib/canon-host.c: Include "strdup.h".
23912         (canon_host): Use getaddrinfo if available, so that IPv6 works.
23913         Use strdup instead of malloc/strcpy to duplicate strings.
23914
23915         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
23916         (human_space_before_unit): New constant.
23917         * lib/human.c (human_readable): Support it.
23918
23919         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
23920         (xgetcwd): Set errno correctly when failing.
23921         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
23922         the failure is actually due to a PATH_MAX problem.
23923
23924         Further getopt changes to make it more likely that glibc will
23925         buy the changes back.
23926         * lib/getopt.c (POSIXLY_CORRECT): New constant.
23927         (getopt): Use it, so to preserve glibc semantic
23928         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
23929         when compiling for libc.
23930         * lib/getopt_.h (__getopt_argv_const): Bring it back.
23931         (getopt_long, getopt_long_only): Use it.
23932
23933         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
23934         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
23935         (getopt): Argv is now char * const *, as per standard.
23936         (_getopt_internal_r, _getopt_internal): Argv is now char **,
23937         not char *__getopt_argv_const *.
23938         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
23939         _getopt_long_only_r): Likewise.
23940         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
23941         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
23942         _getopt_long_r, _getopt_long_only_r): Likewise.
23943         * lib/getopt_.h (__getopt_argv_const): Remove.
23944         (getopt): Argv is now char * const *, as per standard.
23945
23946         * lib/getdate.y (tORDINAL): New token.
23947         (day, relunit): Allow it for relative times.
23948         (relative_time_table): Use tORDINAL for ordinals.
23949
23950 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23951
23952         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
23953         Document that "second" isn't allowed as an ordinal number.
23954
23955 2004-11-16  Jim Meyering  <jim@meyering.net>
23956
23957         * modules/closeout (Depends-on): Add fpending.
23958
23959 2004-11-15  Jim Meyering  <jim@meyering.net>
23960
23961         * lib/closeout.c: Include "__fpending.h" once again.
23962         Include <stdbool.h>.
23963         (close_stdout): Don't fail just because stdout was closed initially,
23964         since some programs don't write to stdout in the normal course of
23965         operation (other than --version and --help), and we don't want this
23966         function to make e.g. `touch file >&-' fail.
23967         But do fail if it was closed and someone has tried to write to it.
23968         E.g., `printf foo >&-' must fail.
23969
23970 2004-11-13  Jim Meyering  <jim@meyering.net>
23971
23972         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
23973
23974 2004-11-12  Simon Josefsson  <jas@extundo.com>
23975
23976         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
23977         small doc fix is still pending.
23978
23979 2004-11-11  Simon Josefsson  <jas@extundo.com>
23980
23981         * modules/strtok_r: New file.
23982
23983         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23984         strtok_r.
23985
23986 2004-11-11  Simon Josefsson  <jas@extundo.com>
23987
23988         * m4/strtok_r.m4: New file.
23989
23990         * m4/getopt.m4: Replace opterr.
23991
23992 2004-11-11  Simon Josefsson  <jas@extundo.com>
23993
23994         * lib/strtok_r.h, strtok_r.c: New file.
23995
23996 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23997
23998         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
23999         of replacing opterr, getopt, etc.  This should handle the
24000         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
24001
24002 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24003
24004         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
24005         we can stop lying to compilers about the constness of argv when we
24006         are compiled outside glibc.
24007         (getopt, getopt_long, getopt_long_only): Use it.
24008         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
24009         _getopt_internal, getopt): Likewise.
24010         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
24011         _getopt_long_only_r): Likewise.
24012         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
24013         _getopt_long_r, _getopt_long_only_r): Likewise.
24014
24015         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
24016         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
24017         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
24018         the other external symbols.
24019         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
24020         declaration, since the above renaming now works around collisions.
24021
24022 2004-11-11  Jim Meyering  <jim@meyering.net>
24023
24024         * lib/linebreak.c: Remove trailing blanks.
24025         * lib/alloca_.h: Likewise.
24026         * lib/acosl.c: Likewise.
24027         * lib/euidaccess.c: Likewise.
24028         * lib/allocsa.h: Likewise.
24029
24030 2004-11-10  Simon Josefsson  <jas@extundo.com>
24031
24032         * m4/getaddrinfo.m4: New file.
24033
24034 2004-11-10  Simon Josefsson  <jas@extundo.com>
24035
24036         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
24037
24038 2004-11-10  Simon Josefsson  <jas@extundo.com>
24039
24040         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24041         getaddrinfo.
24042
24043         * modules/getaddrinfo: New file.
24044
24045 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
24046
24047         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
24048
24049 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
24050
24051         * lib/mktime.c (SHR): New macro, which is a portable
24052         substitute for >> that should work even on Crays.
24053         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
24054         Problem reported by Mark D. Baushke in
24055         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
24056         * lib/getdate.y (SHR): Likewise.
24057         (tm_diff): Use it.
24058         * lib/strftime.c (SHR): Likewise.
24059         (tm_diff): Use it.
24060         * lib/quotearg.c (struct quoting_options): Use unsigned int for
24061         quote_these_too, so that right shifts are well defined.  All uses
24062         changed.
24063
24064 2004-11-10  Jim Meyering  <jim@meyering.net>
24065
24066         Ensure that no close failure goes unreported.
24067         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
24068         return early when it seems there's nothing to flush.
24069         Don't include __fpending.h.
24070
24071 2004-11-10  Jim Meyering  <jim@meyering.net>
24072
24073         * modules/closeout (Depends-on): Remove fpending.
24074
24075 2004-11-10  Jim Meyering  <jim@meyering.net>
24076
24077         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
24078
24079 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
24080
24081         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
24082         gl_FUNC_STRFTIME.
24083         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
24084         and AC_REQUIRE when possible, to avoid duplicate checks.
24085         Check for <wchar.h>.
24086
24087 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
24088
24089         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
24090
24091 2004-11-09  Bruno Haible  <bruno@clisp.org>
24092
24093         * m4/sockpfaf.m4: New file.
24094
24095 2004-11-05  Bruno Haible  <bruno@clisp.org>
24096
24097         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
24098         Reported by Mark D. Baushke <mdb@cvshome.org>.
24099
24100 2004-11-04  Bruno Haible  <bruno@clisp.org>
24101
24102         2004-09-11  Bruno Haible  <bruno@clisp.org>
24103                 * allocsa.valgrind: New file.
24104         2004-02-06  Bruno Haible  <bruno@clisp.org>
24105                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
24106                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
24107                 Reported by Christopher Seip <chris.seip@hp.com>.
24108
24109 2004-11-04  Bruno Haible  <bruno@clisp.org>
24110
24111         * modules/allocsa (Files): Add lib/allocsa.valgrind.
24112         (Makefile.am): Distribute it.
24113
24114 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
24115
24116         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
24117         with errno == ERANGE if the buffer is too small.
24118         Problem reported by Mark D. Baushke.
24119
24120 2004-11-03  Albert Chin  <china@thewrittenword.com>
24121             Paul Eggert  <eggert@cs.ucla.edu>
24122
24123         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
24124         equivalent, substitute $ac_type for equivalent type rather than
24125         blindly using uint32_t *always* which won't work if uint32_t is not
24126         available.  Define _UINT32_T to work around typedef of uint32_t if
24127         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
24128         2.5.1.
24129
24130 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24131
24132         * m4/jm-macros.m4: Sync from coreutils.
24133         (gl_MACROS): Check for mbrlen, for pathchk.
24134         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
24135
24136 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24137
24138         * lib/xreadlink.c (MAXSIZE): New macro.
24139         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
24140         size does not exceed MAXSIZE.  Avoid cast.
24141         As suggested by Mark D. Baushke in
24142         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
24143         if readlink fails with buffer size just under MAXSIZE, try again
24144         with MAXSIZE.
24145
24146 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24147
24148         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
24149
24150 2004-11-02  Derek R. Price  <derek@ximbiot.com>
24151         and  Paul Eggert  <eggert@cs.ucla.edu>
24152
24153         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
24154         (get_date): Overparenthesize to avoid GCC warning.
24155
24156 2004-11-02  Bruno Haible  <bruno@clisp.org>
24157
24158         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
24159         returns void.
24160
24161 2004-11-02  Bruno Haible  <bruno@clisp.org>
24162
24163         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
24164         function returns void.
24165
24166 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24167
24168         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
24169         fflush_unlocked, flockfile, funlockfile, funlockfile,
24170         fputs_unlocked, putc_unlocked.
24171
24172 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24173
24174         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
24175         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
24176         already declared.
24177
24178 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24179
24180         * modules/getdate (Files): Add doc/getdate.texi.
24181         (Depends-on): Add setenv, xalloc.
24182
24183 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24184
24185         * lib/getdate.y: Add support for TZ="foo" within a date string.
24186         Fix some bugs near time_t boundaries.  Reject dates with
24187         out-of-range components, e.g., "Sept 31".
24188         Include <stdlib.h>, "setenv.h", "xalloc.h".
24189         (ISDIGIT_LOCALE): Remove; unused.
24190         Note that the TZ and time functions used here are not reentrant.
24191         (mktime_ok, get_tz): New functions.
24192         (TZBUFSIZE): New constant.
24193         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
24194         This requires that we sometimes generate our own TZ="XXX..." setting.
24195
24196 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24197
24198         * doc/getdate.texi: New file, from coreutils with modifications for
24199         the new TZ parsing.
24200
24201 2004-10-27  Derek R. Price  <derek@ximbiot.com>
24202
24203         * lib/mktime.c (not_equal_tm): Remove redundant check.
24204
24205 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
24206
24207         * modules/regex (lib_SOURCES): Add regex.c.
24208         Reported by James Youngman in
24209         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
24210
24211 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
24212
24213         * lib/getdate.y: Use Bison 1.875 features, and some minor
24214         code cleanups.  This change does not affect semantics.
24215         Don't include <stdlib.h>; no longer needed.
24216         Don't include unlocked-io.h; only the "#if TEST" code uses
24217         stdio, and performance isn't crucial there.
24218         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
24219         Bison 1.875 features as described below.
24220         All uses of "PC." replaced by "pc->".
24221         (YYSTYPE): Add a forward declaration.
24222         (yylex, yyerror): Use full prototypes in forward decls.
24223         Use "%pure-parser" rather than obsolescent "%pure_parser".
24224         Use %parse-param and %lex-param instead of obsolescent
24225         YYPARSE_PARAM and YYLEX_PARAM.
24226         (meridian_table, month_and_day_table, time_units_table,
24227         relative_time_table, time_zone_table, military_table,
24228         lookup_zone, lookup_word, get_date):
24229         Use NULL instead of 0 where appropriate.
24230         (to_hour): Avoid abort (), to avoid a dependency on
24231         stdlib.h.
24232         (yyerror, yylex): Now accepts parser_control * arg.
24233         (main) [TEST]: Use '\0' rather than 0 for char.
24234
24235 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
24236
24237         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
24238
24239 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
24240
24241         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
24242         It's now the caller's responsibility to handle the case where
24243         !HAVE_GETPAGESIZE && !defined getpagesize.
24244
24245         * lib/mktime.c (leapyear): Arg is long int, not int.
24246
24247 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
24248
24249         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
24250
24251 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
24252
24253         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
24254         missing.  Problem reported by James Youngman.
24255
24256 2004-10-16  Simon Josefsson  <jas@extundo.com>
24257
24258         * gnulib-tool: Fix comments.  Fix parse problem.
24259         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
24260
24261 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
24262
24263         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
24264         implementation of getopt_long.  Problem reported by Alexander Taler in:
24265         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
24266
24267 2004-10-15  Bruno Haible  <bruno@clisp.org>
24268
24269         * gnulib-tool: Untabify. Initialize supplied_libname.
24270         (func_usage): More homogenous output.
24271         (func_modules_transitive_closure, func_modules_to_filelist,
24272         func_emit_lib_Makefile_am): New functions.
24273         (func_import): New function, extracted from big case statement. Use
24274         func_get_license, func_modules_transitive_closure,
24275         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
24276         opt_lgpl. Don't use test -a, as it's not portable.
24277         (func_create_testdir): Use func_modules_transitive_closure,
24278         func_modules_to_filelist, func_emit_lib_Makefile_am.
24279
24280 2004-10-15  Bruno Haible  <bruno@clisp.org>
24281
24282         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
24283
24284 2004-10-15  Bruno Haible  <bruno@clisp.org>
24285
24286         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
24287         the portions belonging to each module.
24288         Suggested by Derek Robert Price <derek@ximbiot.com>.
24289
24290 2004-10-12  Simon Josefsson  <jas@extundo.com>
24291
24292         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
24293         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
24294         to real functions.
24295
24296 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24297
24298         * modules/vsnprintf: New file.
24299
24300 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24301
24302         * m4/vsnprintf.m4: New file.
24303
24304 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24305
24306         * lib/vsnprintf.h: New file.
24307         * lib/vsnprintf.c: New file.
24308
24309 2004-10-11  Bruno Haible  <bruno@clisp.org>
24310
24311         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
24312         vsnprintf.
24313
24314 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24315
24316         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
24317
24318 2004-10-07  Bruno Haible  <bruno@clisp.org>
24319
24320         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
24321         fits into the provided buffer.
24322
24323 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
24324
24325         * lib/diacrit.c, diacrit.h: Add GPL notice.
24326
24327         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
24328         notice.
24329         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
24330         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
24331         This avoids a potential constant-folding bug.
24332
24333 2004-10-05  Bruno Haible  <bruno@clisp.org>
24334
24335         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
24336         for the declaration of strsep.
24337
24338 2004-10-05  Bruno Haible  <bruno@clisp.org>
24339
24340         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
24341
24342 2004-10-04  Simon Josefsson  <jas@extundo.com>
24343
24344         * modules/memmem: New file.
24345         * tests/test-memmem.c: New file.
24346         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
24347
24348 2004-10-04  Simon Josefsson  <jas@extundo.com>
24349
24350         * m4/memmem.m4: New file.
24351
24352 2004-10-04  Simon Josefsson  <jas@extundo.com>
24353
24354         * lib/memmem.h: New file.
24355         * lib/memmem.c: New file, taken from glibc.
24356
24357 2004-10-04  Simon Josefsson  <jas@extundo.com>
24358
24359         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
24360         '#ifdef USE_UNLOCKED_IO'.
24361
24362 2004-10-04  Simon Josefsson  <jas@extundo.com>
24363
24364         * config/srclist.txt: Add memmem from glibc.
24365
24366 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24367
24368         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
24369
24370         * modules/argmatch, modules/argp, modules/closeout, modules/error,
24371         modules/exclude, modules/getdate, modules/getline,
24372         modules/getndelim2, modules/getpass, modules/getpass-gnu,
24373         modules/getusershell, modules/linebuffer, modules/md5,
24374         modules/mountlist, modules/posixtm, modules/readtokens,
24375         modules/readutmp, modules/regex, modules/sha1,
24376         modules/version-etc, modules/yesno:
24377         Remove dependency on unlocked-io.
24378
24379 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24380
24381         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
24382
24383         * m4/unlocked-io.m4: Add copyright notice.
24384         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
24385
24386 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24387
24388         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
24389         * lib/xmalloc.c (xmemdup): Likewise.
24390         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
24391         XFREE): Remove these long-obsolescent macros.
24392         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
24393         * lib/xstrdup.c: Remove.
24394
24395         * lib/regex.c (re_comp): Cast gettext return value to char *,
24396         Problem reported by Martin Neitzel via Mark D. Baushke.
24397
24398 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24399
24400         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
24401         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
24402         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
24403         regex.c, sha1.c, version-etc.c, yesno.c:
24404         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
24405         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
24406         the includer's responsibility.
24407
24408         Sync from coreutils.
24409
24410         * lib/modechange.c (mode_compile): Don't decrement a pointer that
24411         points to the start of a string, as the C Standard says the
24412         resulting behavior is undefined.
24413
24414         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
24415         simple -> simple_backups, numbered_existing ->
24416         numbered_existing_backups, numbered -> numbered_backups
24417         to avoid shadowing problems.  All uses changed.
24418         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
24419         * lib/backupfile.c (check_extension, numbered_backup):
24420         Rename locals to avoid shadowing 'basename'.
24421         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
24422         once.
24423
24424         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
24425         * lib/.cvsignore: Add getopt.h.
24426
24427 2004-10-04  Bruno Haible  <bruno@clisp.org>
24428
24429         * modules/README: New file.
24430         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
24431         not a module.
24432
24433 2004-10-02  Jim Meyering  <jim@meyering.net>
24434
24435         * lib/dirfd.h, getpagesize.h: Add copyright notice.
24436
24437 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24438
24439         * modules/strsep: New file.
24440
24441 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24442
24443         * m4/strsep.m4: New file.
24444
24445 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24446
24447         * lib/strsep.h: New file.
24448         * lib/strsep.c: New file.
24449
24450 2004-10-01  Simon Josefsson  <jas@extundo.com>
24451
24452         * lib/snprintf.c (snprintf): Handle size==0.
24453
24454 2004-10-01  Simon Josefsson  <jas@extundo.com>
24455             Bruno Haible  <bruno@clisp.org>
24456
24457         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
24458         (snprintf): Declare 'args'.
24459
24460 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
24461
24462         * lib/snprintf.c: Remove comments as to why each header is needed.
24463
24464 2004-10-01  Bruno Haible  <bruno@clisp.org>
24465
24466         * MODULES.html.sh: Add strsep.
24467
24468 2004-09-30  Simon Josefsson  <jas@extundo.com>
24469
24470         * modules/snprintf: New file.
24471
24472 2004-09-30  Simon Josefsson  <jas@extundo.com>
24473
24474         * m4/snprintf.m4: New file.
24475
24476 2004-09-30  Simon Josefsson  <jas@extundo.com>
24477
24478         * lib/snprintf.h, lib/snprintf.c: New files.
24479
24480 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24481
24482         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
24483         (hol_entry_help): Never translate an empty string.
24484         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
24485         * lib/argp.h (OPTION_NO_TRANS): New option.
24486
24487 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24488
24489         * modules/argp (Maintainer): Replace Simon Josefsson
24490         by Sergey Poznyakoff.
24491
24492 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24493
24494         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
24495         changes merged back into glibc.
24496
24497 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24498
24499         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
24500
24501 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
24502
24503         * lib/xvasprintf.c: Include xalloc.h.
24504         (xvasprintf): Use xalloc_die, not xmalloc_die.
24505
24506 2004-09-29  Bruno Haible  <bruno@clisp.org>
24507
24508         * modules/alloca-opt: New file, derived from modules/alloca.
24509         * modules/allocsa: Depend on alloca-opt instead of alloca.
24510         * modules/setenv: Likewise.
24511         * modules/vasnprintf: Likewise.
24512         * MODULES.html.sh: Add alloca-opt.
24513
24514 2004-09-28  Simon Josefsson  <jas@extundo.com>
24515
24516         * gnulib-tool: New parameter --lgpl, to asseert that modules are
24517         LGPL, and to replace license template from GPL to LGPL.
24518
24519 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
24520
24521         * modules/dummy: Change license to LGPL.
24522
24523 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
24524
24525         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
24526
24527 2004-09-24  Simon Josefsson  <jas@extundo.com>
24528
24529         * modules/minmax (License): Change from GPL to LGPL.
24530
24531 2004-09-23  Simon Josefsson  <jas@extundo.com>
24532
24533         * gnulib-tool (--import): Typo.
24534
24535 2004-09-23  Simon Josefsson  <jas@extundo.com>
24536
24537         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
24538
24539 2004-09-22  Bruno Haible  <bruno@clisp.org>
24540
24541         * modules/*: Add 'License' field.
24542         * gnulib-tool: Accept --extract-license option.
24543         (func_get_license): New function.
24544
24545 2004-09-21  Bruno Haible  <bruno@clisp.org>
24546
24547         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
24548         Reported by Simon Josefsson.
24549
24550 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24551
24552         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
24553         gl_AC_TYPE_LONG_LONG.
24554
24555 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24556
24557         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
24558
24559 2004-09-18  Simon Josefsson  <jas@extundo.com>
24560         and  Paul Eggert  <eggert@cs.ucla.edu>
24561
24562         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
24563         calls with autoreconf.  Define GL_LIB.
24564
24565 2004-09-14  Karl Berry  <karl@gnu.org>
24566
24567         * config/srclist.txt: unsync setenv.c, sigh.
24568
24569 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24570
24571         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
24572         Problem reported by Bruno Haible in:
24573         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
24574
24575 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24576
24577         * config/srclist.txt: Comment out argp-pvh.c.
24578
24579 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
24580
24581         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
24582         in case some system header has #define'd it.  Problem reported by
24583         Soeren D. Schulze in
24584         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
24585
24586 2004-09-09  Karl Berry  <karl@gnu.org>
24587
24588         * regex.[ch]: delete from the root.  These were supposed to be
24589                 synced with emacs cvs, but this has not happened for about
24590                 a year, and anyway nothing else uses emacs regex.[ch].
24591                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
24592                 lib/regex[.ch] is untouched.
24593
24594 2004-09-09  Bruno Haible  <bruno@clisp.org>
24595
24596         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
24597
24598 2004-09-09  Bruno Haible  <bruno@clisp.org>
24599
24600         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
24601         modifications.
24602         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
24603
24604 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
24605
24606         * modules/xvasprintf: New file.
24607         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
24608
24609 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
24610
24611         * lib/xvasprintf.h: New file.
24612         * lib/xvasprintf.c: New file.
24613         * lib/xasprintf.c: New file.
24614
24615 2004-09-08  Bruno Haible  <bruno@clisp.org>
24616
24617         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
24618
24619 2004-09-08  Bruno Haible  <bruno@clisp.org>
24620
24621         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
24622         length is > INT_MAX.
24623         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
24624         more.
24625
24626 2004-09-08  Bruno Haible  <bruno@clisp.org>
24627
24628         * lib/stdint_.h: New file, taken from GNU clisp.
24629
24630 2004-09-08  Bruno Haible  <bruno@clisp.org>
24631             Oskar Liljeblad  <oskar@osk.mine.nu>
24632
24633         * modules/stdint: New file.
24634         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
24635
24636 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24637
24638         Import from coreutils.
24639         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
24640         strings on unbounded length.  alloca's performance benefits aren't
24641         that important here.
24642         (V_STRDUP): Remove.
24643         (parse_with_separator): New function, with most of the internals
24644         of the old parse_user_spec.  Allow user to omit both user and group,
24645         for compatibility with FreeBSD.
24646         Clone only the user name, not the entire spec.
24647         Do not set *uid, *gid unless entirely successful.
24648         Avoid memory leak in some failing cases.
24649         Fix regression for USER.GROUP reported by Dmitry V. Levin in
24650         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
24651         (parse_user_spec): Rewrite to use parse_with_separator.
24652
24653 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24654
24655         * modules/userspec: Don't depend on alloca.
24656
24657 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24658
24659         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
24660
24661 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
24662
24663         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
24664         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
24665         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
24666
24667 2004-08-16  Simon Josefsson  <jas@extundo.com>
24668
24669         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
24670         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
24671         Add --dry-run for --import.
24672         Let user provided command line parameters override configure.ac
24673         settings.
24674
24675 2004-08-12  Simon Josefsson  <jas@extundo.com>
24676
24677         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
24678         as discussed with Paul Eggert in threads rooted at
24679         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
24680         and
24681         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
24682         Before, the test was empty, and relied on ELIDE_CODE in source
24683         code.)
24684         (gl_PREREQ_GETOPT): New macro.
24685         (gl_GETOPT): Use them.
24686
24687 2004-08-12  Simon Josefsson  <jas@extundo.com>
24688
24689         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
24690         * lib/getopt_.h: Renamed from getopt.h.
24691
24692 2004-08-12  Simon Josefsson  <jas@extundo.com>
24693
24694         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
24695         Change default library name from libfoo to libgnu.
24696         Now, if you have a configure.ac that says:
24697                 gl_SOURCE_BASE(gl)
24698                 gl_M4_BASE(gl/m4)
24699                 gl_MODULES(error getopt etcetera)
24700                 gl_INIT
24701         you can import all you need by running:
24702                 ../gnulib/gnulib-tool --import
24703
24704         * modules/getopt (Files): Rename getopt.h to getopt_.h.
24705         (Makefile.am): Rewrite, use logic from argz.
24706         (Include): Use <getopt.h> instead of "getopt.h".
24707
24708 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24709
24710         * modules/argp (Files): Add m4/unlocked-io.m4.
24711         (Depends-on): Add extensions.
24712
24713 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24714
24715         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
24716         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
24717         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
24718         Check for program_invocation_name, program_invocation_short_name,
24719         flockfile, funlockfile, features.h, _getopt_long_only_r.
24720
24721 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24722
24723         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
24724         its complicated substitute.
24725         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
24726         and program_invocation_name.
24727         (__argp_basename) [!_LIBC]: Remove; the only use was
24728         replaced by its body.
24729         (__argp_short_program_name): Change condition from
24730         !defined __argp_short_program_name to
24731         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
24732         to match argp-namefrob.h.
24733         (__argp_failure): Don't assume strerror_r returns char *.
24734         * lib/argp-parse.c (N_): Define unconditionally.
24735         (argp_default_options): Fill out initializers with 0 to avoid
24736         gcc warnings.
24737
24738 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24739
24740         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
24741         getopt1.c.
24742
24743 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24744
24745         Merge from coreutils.
24746
24747         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
24748
24749         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
24750         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
24751
24752 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24753
24754         Merge from coreutils.
24755
24756         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
24757         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
24758         for Reliant Unix 5.43.
24759
24760         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
24761         (union fooround): Use uintmax_t, not long int.
24762         The rest is a merge from libc:
24763         [defined _LIBC]: Include <shlib-compat.h>.
24764         (_obstack) [defined _LIBC]: Remove after 2.3.4.
24765
24766         * lib/settime.c (settime): Recode to avoid warning with
24767         Sun Forte C 6U2.
24768
24769         * lib/strverscmp.c: Convert to UTF-8.
24770
24771 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24772
24773         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
24774         m4/uintmax_t.m4.
24775
24776 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24777
24778         * modules/xalloc-die: New file.
24779         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
24780
24781         * modules/md5 (Files): Add m4/uint32_t.m4.
24782         * modules/sha1: Renamed from modules/sha.
24783         (Files):
24784         Rename lib/sha.h to lib/sha1.h.
24785         Rename lib/sha.c to lib/sha1.c.
24786         Rename m4/sha.m4 to m4/sha1.m4.
24787         (lib_SOURCES): Likewise.
24788         (configure.ac): Rename gl_SHA to gl_SHA1.
24789         (Include): sha.h -> sha1.h.
24790
24791 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24792
24793         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
24794         * m4/sha1.m4: Renamed from sha.m4.
24795         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
24796
24797 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24798
24799         * lib/obstack.h (obstack_empty_p):
24800         Don't assume that chunk->contents is suitably aligned.
24801         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
24802         Likewise. Problem reported by Benno in
24803         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
24804
24805         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
24806         readable.  This could be improved further but it'd take some work.
24807
24808 2004-08-08  Simon Josefsson  <jas@extundo.com>
24809
24810         * modules/xgethostname (Depends-on): Remove exit and error (not
24811         used).
24812
24813         * modules/getpass-gnu: Add getpass.h.
24814         (Depends-on): Add stdbool.
24815         * modules/getpass: Add getpass.h.
24816
24817 2004-08-08  Simon Josefsson  <jas@extundo.com>
24818
24819         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
24820         Check getpass declaration.
24821
24822 2004-08-08  Simon Josefsson  <jas@extundo.com>
24823
24824         * lib/xgethostname.c: Don't include error.h (not used).
24825
24826         * lib/getpass.h: Add.
24827         * lib/getpass.c: Include getpass.h first.
24828
24829 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
24830
24831         * lib/xalloc-die.c: New file.
24832         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
24833         All uses removed.
24834         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
24835         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
24836         xalloc-die.c.
24837         (_, N_, xalloc_die): Move to xalloc-die.c.
24838         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
24839         so that we needn't mess with xalloc_msg_memory_exhausted.
24840
24841         * lib/sha1.h: Renamed from sha.h.
24842         (SHA1_H): Renamed from _SHA_H.
24843         (sha1_ctx): Renamed from sha_ctx.
24844         (sha1_init_ctx): Renamed from sha_init_ctx.
24845         (sha1_process_block): Renamed from sha_process_block.
24846         (sha1_process_bytes): Renamed from sha_process_bytes.
24847         (sha1_finish_ctx): Renamed from sha_finish_ctx.
24848         (sha1_read_ctx): Renamed from sha_read_ctx.
24849         (sha1_stream): Renamed from sha_stream.
24850         (sha1_buffer): Renamed from sha_buffer.
24851         * lib/sha1.c: Likewise; renamed from sha.c.
24852         Do not include <sys/types.h>.
24853         Include <stddef.h> rather than <stdlib.h>.
24854
24855 2004-08-08  Bruno Haible  <bruno@clisp.org>
24856
24857         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
24858         FILESYSTEM_PREFIX_LEN.
24859         * lib/progreloc.c: Likewise.
24860         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
24861
24862 2004-08-06  Simon Josefsson  <jas@extundo.com>
24863
24864         * modules/progname (Depends-on): Don't depend on stdbool.
24865
24866 2004-08-06  Simon Josefsson  <jas@extundo.com>
24867
24868         * modules/getsubopt: New file.
24869         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24870         getsubopt.
24871
24872 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24873
24874         More merge from coreutils.
24875
24876         * m4/utimens.m4, m4/utimecmp.m4: New files.
24877         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
24878         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
24879         prereq.m4, sha.m4: Import changes from coreutils.
24880
24881 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24882
24883         More merge from coreutils.
24884         * modules/raise, modules/readtokens0, modules/utimens:
24885         * modules/utimecmp, module/xnanosleep: New files.
24886         * modules/strftime: Add lib/strftime.h.
24887         Change include from <time.h> to "strftime.h".
24888         * modules/yesno: Add lib/yesno.h.
24889         * modules/backupfile: Remove lib/addext.c.
24890         * modules/euidaccess: Add stat-macros.h.
24891         * modules/canonicalize, modules/euidaccess,
24892         modules/filemode, modules/lchown, modules/makepath,
24893         modules/rmdir, modules/stat: Likewise.
24894
24895 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24896
24897         Merge from tar.
24898         * lib/argp-help.c (make_hol, hol_append): Don't assume that
24899         SIZE_MAX is a valid preprocessor constant.
24900         (__argp_basename): Change from "#ifndef _LIBC"
24901         to "#ifndef __argp_short_program_name", so that
24902         we don't compile these functions for tar.
24903
24904         More merges from coreutils.
24905         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
24906         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
24907         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
24908         * lib/addext.c: Remove; no longer needed.
24909         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
24910         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
24911         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
24912         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
24913         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
24914         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
24915         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
24916         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
24917         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
24918         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
24919         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
24920         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
24921         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
24922         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
24923         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
24924         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
24925         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
24926         Import changes from coreutils.
24927
24928 2004-08-05  Simon Josefsson  <jas@extundo.com>
24929
24930         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
24931
24932 2004-08-05  Simon Josefsson  <jas@extundo.com>
24933
24934         * m4/getsubopt.m4: New file.
24935
24936 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24937
24938         Merge from coreutils.
24939
24940         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
24941         * m4/getcwd-path-max.m4: New files.
24942
24943         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
24944         FILESYSTEM_PREFIX_LEN ->
24945         FILE_SYSTEM_PREFIX_LEN.
24946         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
24947         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
24948         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
24949         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
24950
24951         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
24952         prerequisite modules now handle the DOS stuff.
24953         Don't check for unistd.h.
24954
24955 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24956
24957         Merge from coreutils.
24958
24959         * lib/.gdb-history: Remove; this doesn't belong here.
24960
24961         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
24962         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
24963         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
24964         * lib/getcwd.c: New files.
24965
24966         * lib/dirname.h: Include <stdbool.h>.
24967         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
24968         for consistency with POSIX terminology.  All uses changed.
24969         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
24970         (strip_trailing_slashes): Use bool for booleans.
24971         * lib/stripslash.c (strip_trailing_slashes): Likewise.
24972
24973         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
24974         sometimes returns a positive errno value even when it succeeds.
24975         (print_errno_message) [!LIBC]: Fall back on strerror if
24976         __strerror_r fails.
24977
24978         * lib/path-concat.c (mempcpy): Don't define if a system header defines
24979         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
24980         (longest_relative_suffix): New function.
24981         (path_concat): Use it.  Assume first argument is not NULL.
24982         Port to DOS.  Omit redundant separators.
24983         Report an error instead of returning NULL.
24984         Use mempcpy instead of memcpy.
24985         (xpath_concat): Remove: not declared or used.
24986
24987         * lib/same.h: Include <stdbool.h>
24988         (same_name): Return bool, not int.
24989         * lib/same.c (same_name): Likewise.
24990         (errno): Don't declare; we assume C89 or better now.
24991
24992         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
24993         if not already defined.
24994
24995         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
24996         * lib/dup-safer.c (errno): Likewise.
24997
24998 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24999
25000         Merge from coreutils.
25001         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
25002         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
25003         * modules/path-concat: Don't depend on strdup.
25004
25005 2004-08-03  Simon Josefsson  <jas@extundo.com>
25006
25007         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
25008         * lib/progname.h: Don't include stdbool.h.
25009
25010 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
25011
25012         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
25013         * MODULES.html.sh (func_all_modules): Remove fatal.
25014
25015 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
25016
25017         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
25018
25019 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
25020
25021         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
25022         working.
25023
25024 2004-08-02  Simon Josefsson  <jas@extundo.com>
25025
25026         * lib/getsubopt.h: New file, with comments from Bruno Haible.
25027         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
25028         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
25029
25030 2004-08-01  Simon Josefsson  <jas@extundo.com>
25031
25032         * lib/xgetdomainname.c: Include stdlib.h, for free().
25033
25034 2004-07-19  Bruno Haible  <bruno@clisp.org>
25035
25036         * MODULES.html.sh (func_all_modules): Add dummy.
25037
25038 2004-07-16  Simon Josefsson  <jas@extundo.com>
25039
25040         * modules/dummy: New file.
25041
25042 2004-07-16  Simon Josefsson  <jas@extundo.com>
25043
25044         * lib/dummy.c: New file.
25045
25046 2004-07-16  Bruno Haible  <bruno@clisp.org>
25047
25048         * lib/backupfile.h: Add extern "C" for C++.
25049         * lib/closeout.h: Likewise.
25050         * lib/copy-file.h: Likewise.
25051         * lib/findprog.h: Likewise.
25052         * lib/full-write.h: Likewise.
25053         * lib/pathname.h: Likewise.
25054         * lib/progname.h: Likewise.
25055         * lib/stpcpy.h: Likewise.
25056         * lib/stpncpy.h: Likewise.
25057         * lib/strcase.h: Likewise.
25058         * lib/strstr.h: Likewise.
25059         * lib/xalloc.h: Likewise.
25060
25061         * lib/mbswidth.h: Add extern "C" for C++.
25062         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
25063
25064 2004-07-13  Robert Millan  <robertmh@gnu.org>
25065
25066         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
25067
25068 2004-07-09  Simon Josefsson  <jas@extundo.com>
25069
25070         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
25071         failed without this.)
25072
25073 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
25074
25075         * modules/chown (Files): Add lib/fchown-stub.c, since
25076         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
25077
25078 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
25079
25080         * lib/fchown-stub.c: New file.
25081
25082 2004-06-24  Jim Meyering  <jim@meyering.net>
25083
25084         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
25085
25086 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25087
25088         * modules/argz: Omit "#include".
25089
25090         * MODULES.html.sh (func_all_modules): Add calloc, to match
25091         2004-06-01 addition of calloc module.
25092
25093 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25094
25095         * m4/argz.m4: New file, which is autoupdated from libtool.
25096
25097 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25098
25099         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
25100         libtool.
25101
25102 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25103
25104         * config/srclist-update: Don't insist on "USA." before the
25105         close-comment, as libtool omits the period and puts the */ on a
25106         separate line.
25107         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
25108         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
25109
25110 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
25111
25112         * modules/argz: New file.
25113         * MODULES.html.sh (func_all_modules): Add argz.
25114
25115 2004-06-12  Jim Meyering  <jim@meyering.net>
25116         and  Paul Eggert  <eggert@cs.ucla.edu>
25117
25118         * modules/hash (Files): Add lib/xalloc.h.
25119         * modules/pipe (Depends-on): Add wait-process.
25120         * modules/stat (Depends-on): Add xalloc.
25121         * modules/userspec (Files): Add lib/userspec.h.
25122         * modules/xstrto
25123
25124         Upgrade from gettext-0.13.
25125         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
25126         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
25127         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
25128
25129 2004-06-10  Jim Meyering  <jim@meyering.net>
25130
25131         * lib/calloc.c: New file.
25132
25133 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
25134
25135         * lib/getdate.y (yylex): Allow space between sign and number.
25136         Problem reported by Dan Jacobson.
25137
25138 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25139
25140         Merge from coreutils CVS.
25141
25142         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
25143         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
25144         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
25145         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
25146         xstrtol.m4: Fix copyright date and/or serial number.
25147
25148         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
25149         See if we need an fchown replacement.
25150         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
25151         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
25152         and use the replacement function if we detect either defect.
25153
25154         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
25155         gl_UTIMECMP.
25156
25157 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25158         and  Jim Meyering  <jim@meyering.net>
25159
25160         Merge from coreutils CVS.
25161
25162         * lib/stat-macros.h: New file, with contents from file-type.h
25163         and coreutils' system.h.
25164         * lib/file-type.c: Include "stat-macros.h".
25165         * lib/file-type.h (file_type): Move all macro definitions to new file,
25166         stat-macros.h.
25167
25168         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
25169         Wrap old code with this conditional.
25170         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
25171         function that does not dereference symlinks.
25172         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
25173
25174         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
25175         dependency problems.
25176         (xreadlink): Accept new arg SIZE, for efficiency.
25177         All decls and uses changed.
25178         * lib/xreadlink.h: Include <stddef.h>, for size_t.
25179
25180         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
25181         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
25182
25183         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
25184         sysexits.h.
25185
25186 2004-06-01  Jim Meyering  <jim@meyering.net>
25187
25188         * m4/calloc.m4: New file.
25189
25190 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
25191
25192         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
25193         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
25194         Also, fix a typo in a diagnostic.
25195
25196 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25197
25198         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
25199         or AC_FUNC_REALLOC.
25200
25201 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25202
25203         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
25204         macros to be defined.
25205         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
25206         the allocator returns NULL because the requested size is zero.
25207
25208 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25209
25210         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
25211         var.  Add comment explaining why libc still defines it.  This
25212         merges the following patch from glibc:
25213         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
25214
25215 2004-05-20  Andreas Schwab  <schwab@suse.de>
25216
25217         * m4/free.m4: Replace free if it not known to work, not the other
25218         way round.
25219
25220 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
25221
25222         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
25223         present in glibc since revision 1.1 of this file.
25224         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
25225         obstack_alignment_mask, obstack_alloc, obstack_base,
25226         obstack_blank, obstack_blank_fast, obstack_chunk_size,
25227         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
25228         obstack_grow0, obstack_init, obstack_int_grow,
25229         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
25230         obstack_next_free, obstack_object_size, obstack_ptr_grow,
25231         obstack_ptr_grow_fast, obstack_room): Remove declarations of
25232         nonexistent functions.
25233
25234 2004-05-18  Karl Berry  <karl@gnu.org>
25235
25236         * config/srclist.txt: break link for vasnprintf.c.
25237
25238 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25239
25240         Port obstack to the AS/400, where pointers are 16 bytes wide and
25241         you cannot cast an integer to a valid pointer.  This patch is
25242         currently waiting to be integrated into glibc; see
25243         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
25244
25245         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
25246         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
25247         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
25248         (struct obstack): temp member is now a union of a pointer and
25249         an integer, instead of an integer.  All integer uses changed.
25250         This does not affect the physical layout of struct obstack,
25251         except on hosts (like the AS/400) where the size or alignment of
25252         void * is greater than that of ptrdiff_t.
25253         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
25254         __STDC__)]: Store temporary in pointer member of union, not
25255         integer member.
25256         * lib/obstack.c: Include <stddef.h>, for offsetof.
25257         (struct fooalign): Remove; it doesn't need a name.
25258         (union fooround): Change double to long double, and add void *.
25259         (DEFAULT_ALIGNMENT): Use offsetof to compute.
25260         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
25261         not a macro.  Hence the values are always int; so remove all
25262         casts-to-int in uses.
25263
25264 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25265
25266         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
25267         we can get this patch merged into glibc.
25268
25269 2004-05-17  Derek R. Price  <derek@ximbiot.com>
25270             Paul Eggert  <eggert@cs.ucla.edu>
25271
25272         * m4/argp: Depend on alloca.
25273
25274 2004-05-17  Derek R. Price  <derek@ximbiot.com>
25275             Paul Eggert  <eggert@cs.ucla.edu>
25276
25277         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
25278         freecoding.
25279
25280 2004-05-17  Bruno Haible  <bruno@clisp.org>
25281
25282         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
25283         precision that consists of a '.' followed by an empty digit string.
25284         Patch by Tor Lillqvist <tml@iki.fi>.
25285
25286 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25287
25288         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
25289         for backward compatibility with older code.  We need our own
25290         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
25291         it under some other name, and our alloca.h will define it.
25292
25293 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25294             Derek Price  <derek@ximbiot.com>
25295
25296         * lib/alloca.c: Include <alloca.h>, to get our interface.
25297         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
25298         include <alloca.h> first.  Use C89 prototype for alloca; this
25299         requires including <stddef.h> for size_t.  Use extern "C" if C++.
25300         Use #elif for simplicity, since we can assume C89 now.
25301         Don't try to source the system alloca.h since it will not be found
25302         and to prevent recursively including its replacement.
25303         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
25304         * lib/regex.c: Likewise.
25305
25306 2004-05-16  Derek Price  <derek@ximbiot.com>
25307             Paul Eggert  <eggert@cs.ucla.edu>
25308
25309         getline cleanup.  This changes the getndelim2 API: both order of
25310         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
25311         no delimiter).
25312
25313         * lib/getline.c: Don't include stddef.h or stdio.h, since our
25314         interface does that.
25315         (getline): Always use getdelim, so that we don't have two
25316         copies of this code.
25317         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
25318         if available.
25319         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
25320         (GETNDELIM2_MAXIMUM): New macro.
25321         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
25322         instead of the old practice of delim2==0.  All callers changed.
25323         Return -1 on overflow, instead of returning junk.
25324         Do not set *linesize unless allocation succeeds.
25325         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
25326         that we include sys/types.h.
25327         * lib/getnline.h: Likewise.
25328         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
25329         (getndelim2): Reorder arguments.
25330         * lib/getnline.c (getnline, getndelim):
25331         Don't discard the NMAX argument.
25332         (getnline): Invoke getndelim, to avoid code duplication.
25333         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
25334         of (size_t) -1 by callers of the getnline family.
25335
25336 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25337
25338         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
25339         Check for gettimeofday.
25340         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
25341         Check for settimeofday, stime.
25342
25343 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25344
25345         * lib/nanosleep.c (suspended): Change its type from int to
25346         sig_atomic_t volatile.
25347         (first_call): Make it private to rpl_nanosleep, and have it
25348         be zero initially as that's a bit faster.
25349         (my_usleep): Round up fractional times instead of truncating them,
25350         as this is the usual meaning for 'sleep'.
25351
25352         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
25353         doesn't work.
25354         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
25355         (ENOSYS): Define if not defined.
25356         (settime): Fall back on stime if it exists and settimeofday fails.
25357         But don't bother with fallbacks if a method fails with errno == EPERM.
25358
25359 2004-05-11  Jim Meyering  <jim@meyering.net>
25360
25361         Prior to this change, the save_cwd caller required read access to the
25362         current directory on most systems (ones with the fchdir function).
25363
25364         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
25365         fails, try write-only, and finally, resort to using xgetcwd.
25366
25367 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25368
25369         * lib/obstack.c, obstack.h: Import changes from libc.
25370
25371 2004-04-28  Bruno Haible  <bruno@clisp.org>
25372
25373         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
25374         also implicitly appends .exe to executables.
25375         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
25376         accepts Windows pathnames.
25377         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
25378         Treat Cygwin like Windows, since it now accepts Windows pathnames.
25379         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
25380         Treat Cygwin like Windows, since it now accepts Windows pathnames.
25381         Reported by Derek Robert Price <derek@ximbiot.com>.
25382
25383 2004-04-21  Karl Berry  <karl@gnu.org>
25384
25385         * config/srclist.txt (localcharset.c): break sync.
25386
25387 2004-04-20  Paul Eggert  <eggert@twinsun.com>
25388
25389         * m4/host-os.m4: Add a copyright notice.
25390
25391 2004-04-20  Jim Meyering  <jim@meyering.net>
25392
25393         Change UTILS_ to gl_ in AC_DEFINE'd names.
25394         Change utils_- and jm_-prefixed variables, too.
25395         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
25396         UTILS_FUNC_MKDIR_TRAILING_SLASH.
25397         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
25398
25399         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
25400         Don't emit trailing blanks.
25401         Also rename jm_-prefixed variables to have gl_ prefix.
25402
25403         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
25404         Also rename jm_-prefixed variables to have gl_ prefix.
25405
25406         * m4/jm-macros.m4: Reflect the renamings.
25407         * m4/prereq.m4: Likewise.
25408
25409 2004-04-20  Jim Meyering  <jim@meyering.net>
25410
25411         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
25412         memory.
25413
25414 2004-04-20  Jim Meyering  <jim@meyering.net>
25415             Bruno Haible  <bruno@clisp.org>
25416
25417         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
25418         memory when realloc fails.
25419
25420 2004-04-19  Jim Meyering  <jim@meyering.net>
25421
25422         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
25423         now that readutmp.c may call `free (0)'.
25424
25425 2004-04-19  Bruno Haible  <bruno@clisp.org>
25426
25427         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
25428         * m4/inttypes_h.m4: Likewise.
25429         * m4/stdint_h.m4: Likewise.
25430         * m4/intmax_t.m4: Likewise.
25431         * m4/uintmax_t.m4: Likewise.
25432
25433 2004-04-18  Jim Meyering  <jim@meyering.net>
25434
25435         * m4/prereq.m4: Don't forbid jm_ prefix.
25436
25437         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
25438         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
25439         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
25440         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
25441         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
25442         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
25443         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
25444         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
25445         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
25446         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
25447         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
25448         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
25449         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
25450         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
25451         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
25452         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
25453         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
25454         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
25455         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
25456
25457 2004-04-18  Jim Meyering  <jim@meyering.net>
25458
25459         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
25460         failure, don't leak memory and do call END_UTMP_ENT.
25461
25462 2004-04-16  Jim Meyering  <jim@meyering.net>
25463
25464         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
25465         coreutils' stat program.
25466         (gl_PREREQ): Don't require jm_PREREQ_STAT.
25467
25468 2004-04-11  Paul Eggert  <eggert@twinsun.com>
25469
25470         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
25471         C89.
25472         (CHAR_BIT): Remove, since we assume C89.
25473         Include <stdint.h> if available, as per current Autoconf CVS advice.
25474
25475 2004-03-31  Jim Meyering  <jim@meyering.net>
25476
25477         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
25478         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
25479         * m4/xalloc.m4: Likewise.
25480
25481 2004-03-30  Paul Eggert  <eggert@twinsun.com>
25482
25483         Merge from coreutils.
25484
25485         * m4/inttostr.m4: New file.
25486         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
25487         Require AM_STDBOOL_H and gl_TIMESPEC instead.
25488         Require gl_CLOCK_TIME.
25489         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
25490
25491 2004-03-30  Paul Eggert  <eggert@twinsun.com>
25492
25493         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
25494         not bool, to be more consistent with Unix conventions.
25495         Suggested by Bruno Haible.
25496
25497         Merge from coreutils.
25498
25499         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
25500         * lib/umaxtostr.c: New files.
25501
25502         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
25503         the usual <time.h> dance.
25504         (get_date): Change signature to support fractional time stamps.
25505         All callers changed.
25506         * lib/getdate.y: Include "getdate.h" first, as we can now
25507         assume C89 and don't need to worry about 'const'.
25508         Similarly, include "unlocked-io.h" near start, not in middle.
25509         Include <limits.h>.
25510         (textint.value): Use long int rather than int.
25511         (textint.digits): Use size_t rather than int.
25512         (BILLION, LOG10_BILLION): New constants.
25513         (parser_control): New member rel_ns.  Members day_ordinal,
25514         time_zone, month, day, hour, minutes, rel_year, rel_month,
25515         rel_day, rel_hour, rel_minutes, rel_seconds
25516         are now long int, not int.  Member seconds is now struct timespec,
25517         not int.  New member timespec_seen.  Members dates_seen, days_seen,
25518         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
25519         not int.
25520         (%union.intval): Now long int, not int.
25521         New member timespec.
25522         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
25523         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
25524         (spec): Now is a timespec or an item list.
25525         (timespec, items): New nonterminals.
25526         (time, rel, relunit, number, get_date):
25527         Add support for fractional seconds.
25528         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
25529         (gmtime, localtime, mktime): Remove decls; not needed with C89.
25530         (to_hour): First arg is now long int, not int.
25531         (to_year): Returns long int, not int.
25532         Don't treat year -70 like 70.
25533         (tm_diff): Returns long int, not int.
25534         (lookup_word): Use bool instead of int when appropriate.
25535         (yylex): Use size_t for count, not int.
25536         Detect overflow when parsing large integer constants.
25537         Add support for fractions.
25538         (get_date): Make pointers 'const' if possible.
25539         Use more-portable code to detect integer overflow.
25540         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
25541         Don't use ctime; it's not reliable if the year has >4 digits.
25542
25543         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
25544         This is for compatibility with BSD.
25545
25546         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
25547         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
25548         From coreutils' system.h.
25549
25550         * lib/userspec.c: Don't include "posixver.h".
25551         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
25552         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
25553         compatible extension.  Simplify code by removing a boolean int
25554         that was always nonzero if a string was nonnull.
25555
25556 2004-03-30  Jim Meyering  <jim@meyering.net>
25557
25558         Merge from coreutils.
25559
25560         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
25561         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
25562         on some systems one must include <grp.h> before it.
25563         Reported by Christian Krackowizer.
25564
25565 2004-03-30  Jim Meyering  <jim@meyering.net>
25566
25567         Merge from coreutils.
25568
25569         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
25570
25571         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
25572         an empty input stream.
25573
25574         * lib/readtokens.c: Include <stdbool.h>.
25575         (readtoken): Use `size_t' rather than int/long.
25576         All callers adjusted.
25577         Use `bool' rather than `int' where appropriate.
25578         Use memset rather than an explicit loop.
25579         Use x2nrealloc rather than xrealloc.
25580         Allow the use of `\0' as a delimiter.
25581         (readtokens): Likewise.
25582         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
25583
25584 2004-03-30  Jim Meyering  <jim@meyering.net>
25585
25586         * m4/realloc.m4: Remove file, since now it does no more than
25587         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
25588         the `configure.ac' section of module/realloc.
25589         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
25590
25591 2004-03-30  Bruno Haible  <bruno@clisp.org>
25592
25593         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
25594         nonnull.
25595
25596 2004-03-29  Paul Eggert  <eggert@twinsun.com>
25597
25598         Merge changes to getloadavg.c from coreutils and Emacs.
25599
25600         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
25601         Define to an expression, not to the empty string.
25602         Include cloexec.h and xalloc.h.
25603         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
25604         Use set_cloexec_flag rather than rolling our own.
25605         * lib/cloexec.c, lib/cloexec.h: New files.
25606
25607 2004-03-29  Paul Eggert  <eggert@twinsun.com>
25608
25609         * m4/cloexec.m4: New file.
25610
25611 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25612
25613         * lib/getopt.h: Sync with libc CVS.
25614
25615 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25616             Bruno Haible  <bruno@clisp.org>
25617
25618         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
25619         mbswidth.
25620
25621 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25622             Bruno Haible  <bruno@clisp.org>
25623
25624         * lib/mbswidth.h: Include <wchar.h> only if
25625         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
25626         <wchar.h>.
25627         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
25628
25629 2004-03-09  Paul Eggert  <eggert@twinsun.com>
25630
25631         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
25632         Sync with libc CVS.
25633         * lib/getopt_int.h: New file, also synced from libc.
25634
25635 2004-03-09  Paul Eggert  <eggert@twinsun.com>
25636
25637         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
25638         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
25639         Bring back getopt.c, getopt.h, getopt1.c.
25640
25641 2004-03-07  Paul Eggert  <eggert@twinsun.com>
25642
25643         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
25644         All uses changed.  Check for sa_sigaction member; this fixes
25645         a bug first reported by Jason Andrade in
25646         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
25647
25648 2004-03-07  Paul Eggert  <eggert@twinsun.com>
25649
25650         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
25651         '#if' expressions.  Unlike the code it replaces, it does not
25652         depend on (defined _SC_PAGESIZE).  However, it does depend on
25653         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
25654         first reported by Jason Andrade in
25655         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
25656
25657 2004-02-25  Simon Josefsson  <jas@extundo.com>
25658
25659         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
25660
25661 2004-02-25  Simon Josefsson  <jas@extundo.com>
25662
25663         * lib/strdup.h: New file.
25664         * lib/strdup.c: Include it.
25665         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
25666         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
25667
25668 2004-02-23  Karl Berry  <karl@gnu.org>
25669
25670         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
25671         (from fencepost.gnu.org:/gd/gnuorg).
25672
25673 2004-02-23  Karl Berry  <karl@gnu.org>
25674
25675         * config/srclistvars.sh (GNUORG) [karl]: redefine.
25676         * config/srclist.txt: add maintain/standards documents.
25677
25678 2004-02-18  Bruno Haible  <bruno@clisp.org>
25679
25680         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
25681         Reported by Derek Robert Price <derek@ximbiot.com>.
25682
25683 2004-02-16  Karl Berry  <karl@gnu.org>
25684
25685         * config/mkinstalldirs, install-sh: update from automake.
25686
25687 2004-02-06  Karl Berry  <karl@gnu.org>
25688
25689         * m4/po.m4: update from gettext 0.14.1.
25690
25691 2004-02-06  Karl Berry  <karl@gnu.org>
25692
25693         * lib/config.charset: update from gettext 0.14.1.
25694
25695 2004-02-05  Paul Eggert  <eggert@twinsun.com>
25696
25697         Add comments and code, prompted by suggestions from Bruno Haible
25698         for sh-quote.
25699         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
25700         describing the enum quoting_style values.
25701         * lib/quotearg.c (quotearg_alloc): New function.
25702         (quotearg_buffer_restyled): Treat lone { and } as special.
25703         Treat = as special.  Work around bug with older shells
25704         that "see" a '\' that is really the 2nd byte of a multibyte char.
25705         Quote empty string with shell_quoting_style.
25706
25707 2004-02-03  Bruno Haible  <bruno@clisp.org>
25708
25709         * m4/pipe.m4: New file, from GNU gettext.
25710
25711 2004-02-03  Bruno Haible  <bruno@clisp.org>
25712
25713         * lib/pipe.h: New file, from GNU gettext.
25714         * lib/pipe.c: New file, from GNU gettext.
25715
25716 2004-01-27  Bruno Haible  <bruno@clisp.org>
25717
25718         * m4/execute.m4: New file, from GNU gettext.
25719
25720 2004-01-27  Bruno Haible  <bruno@clisp.org>
25721
25722         * lib/execute.h: New file, from GNU gettext.
25723         * lib/execute.c: New file, from GNU gettext.
25724         * lib/w32spawn.h: New file, from GNU gettext.
25725
25726 2004-01-24  Paul Eggert  <eggert@twinsun.com>
25727
25728         Merge from diffutils.
25729
25730         * lib/file-type.c (file_type): Add typed memory objects.
25731         * lib/file-type.h (S_TYPEISTMO): New macro.
25732
25733         * lib/c-stack.h (c_stack_action): Remove argv argument.
25734         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
25735         (die): Don't calculate message unless segv_action returns.
25736         (get_stack_location, min_address_from_argv, max_address_from_argv,
25737         volatile stack_base, volatile_stack_size): Remove.
25738         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
25739         that every segmentation violation is a stack overflow.  (Ouch!)
25740         See Debian bug 136249 (still outstanding) for more info about why
25741         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
25742
25743 2004-01-24  Paul Eggert  <eggert@twinsun.com>
25744
25745         Exit-status fix from coreutils.
25746
25747         Use exit_failure consistently in place of EXIT_FAILURE,
25748         so that program exit statuses are consistent on failure.
25749
25750         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
25751         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
25752         * lib/argmatch.h: Comment fix to match the above.
25753         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
25754         Now a macro referring to exit_failure, instead of a separate
25755         variable.  Include "exitfail.h" to get it.
25756         * lib/xstrtol.h: Include "exitfail.h".
25757         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
25758
25759         * lib/long-options.c (parse_long_options): Use prototype
25760         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
25761         for clarity.
25762
25763 2004-01-21  Jim Meyering  <jim@meyering.net>
25764
25765         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
25766         so as not to conflict with a different-sized __mktime_internal
25767         function in GNU libc.
25768         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
25769         Problem building statically-linked `ls' reported by Michael Brunnbauer.
25770
25771 2004-01-20  Karl Berry  <karl@gnu.org>
25772
25773         * config/config.guess: update from config.
25774
25775         * config/srclistvars.sh: GNUWWWLICENSES for karl.
25776
25777 2004-01-20  Bruno Haible  <bruno@clisp.org>
25778
25779         Safer stack allocation.
25780         * lib/setenv.c: Include allocsa.h.
25781         (alloca): Remove fallback definition.
25782         (freea): Remove macro.
25783         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
25784         instead of freea.
25785
25786 2004-01-20  Bruno Haible  <bruno@clisp.org>
25787
25788         * m4/eealloc.m4: New file, from GNU gettext.
25789
25790 2004-01-20  Bruno Haible  <bruno@clisp.org>
25791
25792         * m4/allocsa.m4: New file, from GNU gettext.
25793
25794 2004-01-20  Bruno Haible  <bruno@clisp.org>
25795
25796         * lib/xallocsa.h: New file, from GNU gettext.
25797         * lib/xallocsa.c: New file, from GNU gettext.
25798
25799 2004-01-20  Bruno Haible  <bruno@clisp.org>
25800
25801         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
25802
25803 2004-01-20  Bruno Haible  <bruno@clisp.org>
25804
25805         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
25806         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
25807         specially.
25808
25809 2004-01-20  Bruno Haible  <bruno@clisp.org>
25810
25811         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
25812         patch.
25813
25814 2004-01-20  Bruno Haible  <bruno@clisp.org>
25815
25816         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
25817
25818 2004-01-20  Bruno Haible  <bruno@clisp.org>
25819
25820         * lib/eealloc.h: New file.
25821
25822 2004-01-20  Bruno Haible  <bruno@clisp.org>
25823
25824         * lib/binary-io.h: Avoid warnings on Cygwin.
25825
25826 2004-01-20  Bruno Haible  <bruno@clisp.org>
25827
25828         * lib/allocsa.h: New file, from GNU gettext.
25829         * lib/allocsa.c: New file, from GNU gettext.
25830
25831 2004-01-18  Karl Berry  <karl@gnu.org>
25832
25833         * doc/gpl.texi, doc/lgpl.texi: new files.
25834
25835 2004-01-18  Karl Berry  <karl@gnu.org>
25836
25837         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
25838         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
25839
25840 2004-01-15  Paul Eggert  <eggert@twinsun.com>
25841
25842         Merge from coreutils.
25843
25844         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
25845         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
25846         (gl_DEFAULT_POSIX2_VERSION): Move
25847         the documentation from 'configure' into 'config.hin',
25848         so that 'configure --help' isn't burdened by it and
25849         we don't have to worry about its formatting there.
25850         Reword the documentation so that it's more succinct
25851         and can be run together into a single paragraph.
25852         * m4/same.m4 (gl_SAME): Check for pathconf.
25853
25854 2004-01-15  Paul Eggert  <eggert@twinsun.com>
25855
25856         Merge from coreutils.
25857
25858         * lib/posixver.c: Include posixver.h.
25859
25860         * lib/same.c: Include <stdbool.h>, <limits.h>.
25861         (_POSIX_NAME_MAX): Define if not defined.
25862         (MIN): New macro.
25863         (same_name): If file names are silently truncated, report
25864         that the file names are the same if they are the same after
25865         the silent truncation.
25866
25867         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
25868         conversion function.
25869         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
25870         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
25871         longer needed.
25872
25873 2004-01-15  Jim Meyering  <jim@meyering.net>
25874
25875         Merge from coreutils.
25876
25877         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
25878         if no library is required.
25879         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
25880         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
25881         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
25882         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
25883         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
25884         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
25885         value, $ac_cv_search_crypt, if it's "none required".
25886         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
25887         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
25888         not gl_FUNC_GETLOADAVG.
25889         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
25890         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
25891
25892 2004-01-15  Jim Meyering  <jim@meyering.net>
25893
25894         Merge from coreutils.
25895
25896         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
25897         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
25898         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
25899
25900         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
25901         optional configure-time default.
25902
25903         * lib/version-etc.c (version_etc_copyright): Update copyright date.
25904
25905         * lib/xreadlink.c (xreadlink): Correct outdated comment.
25906
25907 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
25908
25909         Merge from coreutils.
25910
25911         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
25912         value, $ac_cv_search_nanosleep, if it's "none required".
25913
25914 2004-01-14  Paul Eggert  <eggert@twinsun.com>
25915
25916         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
25917         with like-named macro in fnmatch.c.
25918         (EXT): Use an internal constant instead.
25919
25920         Merge fnmatch patches from glibc.
25921         * lib/fnmatch.c (mbsinit): Remove define.
25922         Add libc_hidden_ver (__fnmatch, fnmatch).
25923         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
25924         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
25925
25926 2004-01-14  Karl Berry  <karl@gnu.org>
25927
25928         * config/install-sh: update from automake.
25929
25930 2004-01-13  Karl Berry  <karl@gnu.org>
25931
25932         * config/install-sh: update from automake.
25933
25934 2004-01-09  Karl Berry  <karl@gnu.org>
25935
25936         * config/install-sh: update from automake.
25937
25938 2004-01-05  Karl Berry  <karl@gnu.org>
25939
25940         * config/config.{sub,guess}: update from config.
25941
25942 2003-12-31  Karl Berry  <karl@gnu.org>
25943
25944         * config/depcomp: update from automake.
25945
25946 2003-12-14  Karl Berry  <karl@gnu.org>
25947
25948         * lib/config.charset: update from gettext-runtime.
25949
25950 2003-12-03  Paul Eggert  <eggert@twinsun.com>
25951
25952         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
25953         Bug reported by Alfred M. Szmidt.
25954
25955 2003-12-03  Bruno Haible  <bruno@clisp.org>
25956
25957         * m4/gettext.m4: Upgrade from gettext-0.13.
25958         * m4/po.m4: Upgrade from gettext-0.13.
25959         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
25960         * m4/intmax.m4: New file, from gettext-0.13.
25961         * m4/printf-posix.m4: New file, from gettext-0.13.
25962
25963 2003-11-29  Karl Berry  <karl@gnu.org>
25964
25965         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
25966
25967 2003-11-25  Paul Eggert  <eggert@twinsun.com>
25968             Bruno Haible  <bruno@clisp.org>
25969
25970         * lib/printf-parse.h: Don't include sys/types.h.
25971         (ARG_NONE): New macro.
25972         (char_directive): Change type of *arg_index fields to size_t.
25973         * lib/printf-parse.c: Don't include sys/types.h.
25974         (SSIZE_MAX): Remove macro.
25975         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
25976         Remove unnecessary overflow check.
25977         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
25978         fields.
25979
25980 2003-11-25  Bruno Haible  <bruno@clisp.org>
25981
25982         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
25983
25984 2003-11-25  Bruno Haible  <bruno@clisp.org>
25985
25986         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
25987         gt_TYPE_SSIZE_T.
25988
25989 2003-11-24  Paul Eggert  <eggert@twinsun.com>
25990
25991         * modules/alloca: Remove dependency on xalloc.
25992
25993 2003-11-24  Paul Eggert  <eggert@twinsun.com>
25994
25995         * lib/alloca.c: Remove dependency on xalloc module.
25996         (xalloc_die): Remove.
25997         (memory_full) [!defined emacs]: New macro.
25998         [!defined emacs]: Don't include xalloc.h.
25999         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
26000         address arithmetic overflows.  Change datatypes a bit to avoid
26001         unnecessary casts.
26002
26003 2003-11-22  Jim Meyering  <jim@meyering.net>
26004
26005         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
26006         s/size/size_t/.
26007
26008 2003-11-21  Karl Berry  <karl@gnu.org>
26009
26010         * config/config.{sub,guess}: update from config.
26011
26012 2003-11-18  Karl Berry  <karl@gnu.org>
26013
26014         * config/config.{sub,guess}: update from config.
26015
26016         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
26017
26018 2003-11-17  Paul Eggert  <eggert@twinsun.com>
26019
26020         * README: Mention that S+T cannot overflow if S is the size of
26021         an existing object and T is sufficiently small.
26022
26023 2003-11-17  Jim Meyering  <jim@meyering.net>
26024
26025         On systems without utime and without a utimes function capable of
26026         dealing with a NULL struct utimbuf* argument, this utime replacement
26027         could -- in unusual circumstances -- leak a file descriptor.
26028         * lib/utime.c: Include <unistd.h> and <errno.h>.
26029         (utime_null): Be sure to close `fd' and to preserve errno.
26030         Reported by Geoff Collyer via Arnold Robbins.
26031
26032 2003-11-17  Bruno Haible  <bruno@clisp.org>
26033
26034         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
26035         (Depends-on): Add xsize.
26036
26037 2003-11-17  Bruno Haible  <bruno@clisp.org>
26038
26039         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
26040
26041 2003-11-17  Bruno Haible  <bruno@clisp.org>
26042
26043         * lib/vasnprintf.c (alloca): Remove fallback definition.
26044         (freea): Remove definition.
26045         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
26046         Reported by Paul Eggert.
26047
26048 2003-11-16  Paul Eggert  <eggert@twinsun.com>
26049             Bruno Haible  <bruno@clisp.org>
26050
26051         Protect against address arithmetic overflow.
26052         * lib/printf-args.h: Include stddef.h.
26053         (arguments): Change type of field 'count' to size_t.
26054         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
26055         'unsigned int' where appropriate.
26056         * lib/printf-parse.h: Include sys/types.h.
26057         (char_directive): Change type of *arg_index fields to ssize_t.
26058         (char_directives): Change type of fields 'count', max_*_length to
26059         size_t.
26060         * lib/printf-parse.c: Include sys/types.h and xsize.h.
26061         (SSIZE_MAX): Define fallback value.
26062         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
26063         instead of 'int' where appropriate. Check a_allocated, d_allocated
26064         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
26065         * lib/vasnprintf.c: Include xsize.h.
26066         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
26067         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
26068         overflow. Avoid wraparound when converting a width or precision from
26069         decimal to binary.
26070
26071 2003-11-16  Bruno Haible  <bruno@clisp.org>
26072
26073         Update from GNU gettext.
26074         * lib/printf-parse.c: Generalize to it can be compiled for wide
26075         strings.
26076         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
26077         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
26078         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
26079         SNPRINTF): New macros.
26080         Don't include <alloca.h> if the file is used inside libintl.
26081         (local_wcslen): New function, for Solaris 2.5.1.
26082         (VASNPRINTF): Use it instead of wcslen.
26083
26084 2003-11-16  Bruno Haible  <bruno@clisp.org>
26085
26086         * lib/xsize.h (xmax): New function.
26087         (xsum, xsum3, xsum4): Declare as "pure" functions.
26088
26089 2003-11-12  Paul Eggert  <eggert@twinsun.com>
26090
26091         * modules/xalloc (Files): Undo latest change, since xalloc.h
26092         no longer needs SIZE_MAX or PTRDIFF_MAX.
26093
26094 2003-11-12  Paul Eggert  <eggert@twinsun.com>
26095
26096         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
26097         gl_PTRDIFF_MAX.
26098
26099 2003-11-12  Paul Eggert  <eggert@twinsun.com>
26100
26101         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
26102         "return", to pacify some unknown compiler.  Problem reported
26103         by Joerg Schilling.
26104
26105 2003-11-12  Paul Eggert  <eggert@twinsun.com>
26106
26107         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
26108         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
26109         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
26110         heuristic is just as accurate as far as we know, and it removes a
26111         dependency on size_max.m4 and ptrdiff_max.m4.
26112
26113 2003-11-11  Bruno Haible  <bruno@clisp.org>
26114
26115         * modules/xsize (Files): Add m4/size_max.m4.
26116         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
26117
26118 2003-11-11  Bruno Haible  <bruno@clisp.org>
26119
26120         * m4/size_max.m4: New file.
26121         * m4/ptrdiff_max.m4: New file.
26122         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
26123         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
26124         (gl_XALLOC): Invoke it.
26125
26126 2003-11-11  Bruno Haible  <bruno@clisp.org>
26127
26128         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
26129         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
26130         defined.
26131
26132 2003-11-10  Paul Eggert  <eggert@twinsun.com>
26133
26134         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
26135         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
26136         rejected some allocations of exactly SIZE_MAX - 2 bytes.
26137         From Bruno Haible.
26138         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
26139         not (size_t) -1, since it's defined here.
26140
26141 2003-11-09  Karl Berry  <karl@gnu.org>
26142
26143         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
26144
26145 2003-11-06  Paul Eggert  <eggert@twinsun.com>
26146
26147         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
26148         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
26149         Reject sizes of exactly SIZE_MAX bytes.
26150         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
26151         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
26152
26153 2003-11-05  Bruno Haible  <bruno@clisp.org>
26154
26155         * lib/xsize.h: Include limits.h, to avoid a possible collision with
26156         SIZE_MAX defined in <limits.h> on Solaris.
26157
26158 2003-11-04  Jim Meyering  <jim@meyering.net>
26159
26160         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
26161         variable names, rather than @VAR@.
26162         * modules/poll: Likewise.
26163
26164 2003-11-04  Bruno Haible  <bruno@clisp.org>
26165
26166         * modules/xsize: New file.
26167         * modules/linebreak: Depend on xsize.
26168         * MODULES.html.sh (func_all_modules): Add xsize.
26169
26170 2003-11-04  Bruno Haible  <bruno@clisp.org>
26171
26172         * m4/xsize.m4: New file.
26173
26174 2003-11-04  Bruno Haible  <bruno@clisp.org>
26175
26176         * lib/xsize.h: New file.
26177         * lib/linebreak.c: Include xsize.h.
26178         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
26179         argument for overflow.
26180         Suggested by Paul Eggert.
26181
26182 2003-11-03  Karl Berry  <karl@gnu.org>
26183
26184         * config/config.{guess,sub}: update from config.
26185
26186 2003-11-03  Jim Meyering  <jim@meyering.net>
26187
26188         * modules/userspec (lib_SOURCES): Add userspec.h.
26189         (Include): Add "userspec.h".
26190         Improve description.
26191
26192 2003-11-03  Jim Meyering  <jim@meyering.net>
26193
26194         * lib/userspec.c: Include "userspec.h".
26195         * lib/userspec.h: New file.
26196
26197 2003-11-03  Bruno Haible  <bruno@clisp.org>
26198
26199         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
26200
26201 2003-11-03  Bruno Haible  <bruno@clisp.org>
26202
26203         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
26204         available, to avoid (extremely rare) race condition.
26205         Suggested by Paul Eggert.
26206
26207 2003-11-02  Karl Berry  <karl@gnu.org>
26208
26209         * config/srclist.txt (vasprintf.c): sync broken, sigh.
26210
26211 2003-10-31  Paul Eggert  <eggert@twinsun.com>
26212
26213         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
26214         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
26215         (read_filesystem_list): Set and use me_type_malloced.
26216         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
26217         whatever the type happens to be), for brevity and consistency.
26218         Check for size calculation overflow on Alphas running OSF/1.
26219
26220 2003-10-31  Jim Meyering  <jim@meyering.net>
26221
26222         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
26223
26224         * lib/linebuffer.c: Include <string.h> for declaration of memset.
26225
26226 2003-10-30  Paul Eggert  <eggert@twinsun.com>
26227             Bruno Haible  <bruno@clisp.org>
26228
26229         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
26230         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
26231
26232 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
26233
26234         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
26235         netbsd*-gnu*.  Suggested by Robert Millan.
26236
26237 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26238
26239         * modules/group-member: Depend on stdbool.
26240
26241 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26242
26243         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
26244
26245 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26246
26247         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
26248         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
26249         after the 'gnu' in these cases.  This fixes some bugs in the
26250         previous change, and is based on suggestions by Robert Millan.
26251
26252 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26253
26254         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
26255         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
26256         no longer needed.
26257         * lib/quotearg.c (quotearg_n_options): Use it.
26258         * lib/group-member.c: Include <stdbool.h>.
26259         (free_group_info): Arg is now const *; don't free arg.
26260         (get_group_info): Now returns bool and accepts struct group_info *,
26261         rather than returning a malloc'ed struct group_info *.
26262         All uses changed.  Check for overflow in internal size calculation.
26263
26264         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
26265         rather than xmalloc/xrealloc.
26266         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
26267         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
26268         conformance bug: the old code used a pointer after freeing the
26269         storage that it addressed.
26270         * lib/hash.c (hash_initialize): Simplify the code by using
26271         xalloc_oversized rather than doing it by hand.
26272         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
26273         the buffer preserved.  Use free and xmalloc instead.
26274         * lib/quotearg.c (quotearg_n_options): Likewise.
26275         Use a simpler test for size overflow.  Don't use xalloc_oversized
26276         because unsigned int might be wider than size_t (!); this suggests
26277         that we should switch from unsigned int to size_t for slot numbers.
26278
26279 2003-10-28  Paul Eggert  <eggert@twinsun.com>
26280
26281         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
26282         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
26283         NetBSD kernels.  Requested by Richard Stallman.
26284
26285 2003-10-27  Paul Eggert  <eggert@twinsun.com>
26286
26287         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
26288         to allocate the returned structure.  Do not allocate a subarray,
26289         as x2nrealloc will do that.
26290         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
26291         instead of xnrealloc.
26292         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
26293
26294 2003-10-27  Bruno Haible  <bruno@clisp.org>
26295
26296         * lib/stdbool_.h: Better support for BeOS.
26297
26298 2003-10-26  Paul Eggert  <eggert@twinsun.com>
26299
26300         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
26301         now uses inline.
26302
26303 2003-10-26  Paul Eggert  <eggert@twinsun.com>
26304
26305         * lib/xalloc.h (xalloc_oversized): New static inline function, for
26306         callers that want to do their own size-overflow checking.  Include
26307         <stdbool.h>, since xalloc_oversized returns bool.
26308         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
26309         to use xalloc_oversized.
26310
26311         Add two functions x2realloc, x2nrealloc, for programs that grow
26312         arrays dynamically by doubling their sizes.
26313         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
26314         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
26315         New functions.
26316
26317         Port to C99 semantics for 'inline' of external functions.
26318         Bug reported by Bruno Haible.
26319         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
26320         with the old contents of xnmalloc.
26321         (xnmalloc, xmalloc): Use it.
26322         (xnrealloc_inline): New static inline function,
26323         with the old contents of xnrealloc.
26324         (xnrealloc, xrealloc): Use it.
26325
26326         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
26327         that.
26328
26329 2003-10-26  Karl Berry  <karl@gnu.org>
26330
26331         * config/srclist.txt (COPYING.DOC): no longer available from
26332         /gd/gnuorg; don't know where the ultimate source is.
26333
26334 2003-10-25  Paul Eggert  <eggert@twinsun.com>
26335
26336         Fix several address-calculation bugs in the hash modules,
26337         plus some minor code cleanup.
26338
26339         * lib/hash.h: Include <stdbool.h>, for bool.
26340         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
26341         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
26342         hash_get_n_entries, hash_get_max_bucket_length,
26343         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
26344         hash_rehash): Use size_t rather than unsigned.
26345         * lib/hash.c (struct hash_table, hash_get_n_buckets,
26346         hash_get_n_buckets_used, hash_get_n_entries,
26347         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
26348         hash_get_entries, hash_do_for_each, hash_string, is_prime,
26349         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
26350         Likewise.
26351         (SIZE_MAX): Define if not defined.
26352         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
26353         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
26354         hash_print):
26355         Use const * when possible.
26356         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
26357         (check_tuning): Fix bug: if tuning parameters were very close to
26358         0 or 1, rounding errors could have caused subscript violations.
26359         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
26360         (hash_initialize): Add 'fail:' label
26361         to free table and return NULL, and use it to simplify code.
26362         Use calloc rather than clearing the storage ourself.
26363         (hash_initialize, hash_rehash): Check for arithmetic overflow in
26364         buffer size calculations.
26365         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
26366         Include <stddef.h>, for size_t.
26367         * lib/hash-pjw.c (hash_pjw): Likewise.
26368         Switch to method described by Bruno Haible.
26369         Include <limits.h>, for CHAR_BIT.
26370         (SIZE_BITS): New macro.
26371
26372 2003-10-23  Paul Eggert  <eggert@twinsun.com>
26373
26374         * m4/getline.m4 (AM_FUNC_GETLINE):
26375         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
26376         hosts.  Problem reported by Derek Robert Price in
26377         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
26378         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
26379         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
26380
26381 2003-10-21  Paul Eggert  <eggert@twinsun.com>
26382
26383         * lib/getndelim2.c (getndelim2): When size calculation overflows,
26384         ceiling the allocation at NMAX bytes rather than silently
26385         discarding input bytes before NMAX is reached.  This makes
26386         a difference only if NMAX exceeds SIZE_MAX / 2.
26387
26388         * lib/obstack.c: Merge from glibc.
26389         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
26390         Add libc_hidden_def (_obstack_newchunk).
26391         (_obstack_free) [! defined _LIBC]: Remove.
26392         [defined _LIBC]: Make a strong alias from obstack_free, rather than
26393         a clone of the function body.
26394         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
26395         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
26396
26397         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
26398         glibc.
26399         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
26400         arg to memcpy.
26401
26402         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
26403         (obstack_ptr_grow_fast, obstack_int_grow_fast):
26404         Don't use lvalue casts, as GCC plans to remove support for them
26405         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
26406         was also present in the non-GCC version, indicating that this
26407         code had always been buggy and had never been widely used.
26408         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
26409         Use the fast variant of each macro, rather than copying the
26410         definiens of the fast variant; that way, we'll be more likely to
26411         catch future bugs in the fast variants.
26412
26413 2003-10-20  Bruno Haible  <bruno@clisp.org>
26414
26415         * modules/wait-process: New file.
26416         * MODULES.html.sh (func_all_modules): Add wait-process.
26417
26418 2003-10-20  Bruno Haible  <bruno@clisp.org>
26419
26420         * m4/wait-process.m4: New file.
26421
26422 2003-10-20  Bruno Haible  <bruno@clisp.org>
26423
26424         * lib/wait-process.h: New file, from GNU gettext.
26425         * lib/wait-process.c: New file, from GNU gettext.
26426
26427 2003-10-19  Jim Meyering  <jim@meyering.net>
26428
26429         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
26430         HPUX 10.20.
26431
26432 2003-10-18  Karl Berry  <karl@gnu.org>
26433
26434         * config/config.guess: update from config.
26435
26436 2003-10-16  Paul Eggert  <eggert@twinsun.com>
26437
26438         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
26439         (getgroups): First arg is int, not size_t.
26440         Don't let 'free' mangle errno.
26441
26442 2003-10-16  Paul Eggert  <eggert@twinsun.com>
26443
26444         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
26445
26446 2003-10-16  Karl Berry  <karl@gnu.org>
26447
26448         * config/config.{guess,sub}: update from config.
26449
26450 2003-10-16  Jim Meyering  <jim@meyering.net>
26451
26452         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
26453         memcpy.
26454
26455 2003-10-15  Paul Eggert  <eggert@twinsun.com>
26456
26457         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
26458         (SIZE_MAX): Remove.
26459         (new_exclude, add_exclude_file): Initial size no longer needs to
26460         be a power of 2.
26461         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
26462         our own address arithmetic overflow checking.
26463
26464         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
26465         (fnmatch): Do not alloca more than 2000 wide characters;
26466         instead, use malloc for large buffers.
26467         Check for address arithmetic overflow, and return -1
26468         with errno set to ENOMEM in that case.
26469         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
26470         (NEW_PATTERN): Do not alloca more than 8000 bytes;
26471         instead, return -1.  Check for address arithmetic overflow.
26472
26473 2003-10-14  Paul Eggert  <eggert@twinsun.com>
26474
26475         Handle invalid suffixes and overflow independently, so that
26476         callers can treat them independently as needed.  Fix some bugs in
26477         suffix handling, e.g., "100k@" was not diagnosed as an invalid
26478         suffix for a human-readable blocksize.  The major caller-visible
26479         change is the addition of a new
26480         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
26481         that both overflow and suffix chars were found.
26482
26483         * lib/human.c (humblock): Don't check separately for invalid suffix
26484         char; that is xstrtoumax's job (now that its bug is fixed).
26485         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
26486         INTMAX_MAX]: New macros.
26487         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
26488         TYPE_MAXIMUM): New macros.
26489         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
26490         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
26491         if overflow occurs, as it's what __strtol does and it's more useful
26492         in practice.
26493         (__xstrtol): If __strtol reports some error other than ERANGE,
26494         reflect it to the caller as LONGINT_INVALID.  If it reports
26495         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
26496         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
26497         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
26498         value.
26499         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
26500         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
26501         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
26502         [defined UINTMAX_MAX]: New macros.
26503
26504 2003-10-14  Bruno Haible  <bruno@clisp.org>
26505
26506         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
26507
26508 2003-10-14  Bruno Haible  <bruno@clisp.org>
26509
26510         * m4/sig_atomic_t: New file, from GNU gettext.
26511         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
26512
26513 2003-10-14  Bruno Haible  <bruno@clisp.org>
26514
26515         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
26516         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
26517         Also use volatile where needed.
26518
26519 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26520
26521         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
26522         Change maintainer from Bruno Haible to 'all'.
26523
26524 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26525
26526         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
26527
26528 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26529
26530         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
26531         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
26532         and define in terms of the other primitives.
26533         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
26534         (SIZE_MAX): Define if not already defined.
26535         (array_size_overflow): New function.
26536         (xalloc_die): Abort instead of exiting if 'error' returns.
26537         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
26538         (xmalloc, xrealloc): Use them.
26539         (xcalloc): Check for address arithmetic overflow.
26540         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
26541         a bit faster than strcpy.
26542
26543 2003-10-10  Simon Josefsson  <jas@extundo.com>
26544
26545         * modules/argp (Depends-on): Add restrict and strcase.
26546
26547 2003-10-10  Simon Josefsson  <jas@extundo.com>
26548
26549         * m4/argp.m4: Add AC_C_INLINE.
26550
26551 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26552
26553         Merge getpass from libc, plus a few fixes.
26554
26555         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
26556         Include <stdbool.h>.
26557         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
26558         __fsetlocking to empty.
26559         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
26560         do include <bits/libc-lock.h>.
26561         Do not include <fcntl.h>; not needed.
26562         [_LIBC]: Include <wchar.h>.
26563         (NOTCANCEL_MODE): New macro.
26564         (flockfile, funlockfile) [_LIBC]: New macros.
26565         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
26566         [!_LIBC]: New macros.
26567         (call_fclose): New function.
26568         (getpass): Use it.  Save tty stream separately; this simplifies the
26569         code and makes it more reliable if stdin happens to equal stdout.
26570         Invoke __fsetlocking on tty.
26571         Handle thread cancellation if needed.
26572         Namespace cleanup (use __tcgetattr, __getline).
26573         Use bool for Booleans.
26574         [USE_IN_LIBIO]: Handle wide streams.
26575         [!_LIBC]: Unconditionally do the fseek, since we don't know what
26576         stream might go where.
26577
26578         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
26579         doesn't have to include <stdio.h> before us.
26580         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
26581         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
26582         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
26583         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
26584         if not declared, so that we can use getpass.c code from libc without
26585         rewriting it.
26586         (flockfile, ftrylockfile, funlockfile): New macros.
26587
26588 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26589
26590         * modules/getpass: Depend on stdbool.
26591
26592 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26593
26594         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
26595
26596 2003-10-07  Karl Berry  <karl@gnu.org>
26597
26598         * config/config.{guess,sub}: update from config.
26599
26600 2003-10-06  Jim Meyering  <jim@meyering.net>
26601             Bruno Haible  <bruno@clisp.org>
26602
26603         This lets translators provide better translations for the
26604         "Written by ..." part of --version output.
26605         * lib/version-etc.h: Include stdarg.h.
26606         (version_etc_copyright): Declare as readonly.
26607         (version_etc): Make this function variadic with a NULL-terminated list
26608         of author name strings.
26609         (version_etc_va): New declaration.
26610         * lib/version-etc.c: Include stdarg.h, stdlib.h.
26611         (version_etc_copyright): Declare as readonly.
26612         (version_etc_va): New function. Provide a different translatable string
26613         for each possible number of authors < 10. Abbreviate when there are 10
26614         authors or more.
26615         (version_etc): Make this function variadic. Call version_etc_va.
26616         Suggestion from Gary V. Vaughan.
26617
26618         * lib/long-options.h (parse_long_options): Change prototype: the
26619         authors string is moved to the end and becomes variadic.
26620         * lib/long-options.c: Include stdarg.h.
26621         (parse_long_options): Make this function variadic, too.
26622         Call version_etc_va, not version_etc.
26623
26624 2003-10-06  Bruno Haible  <bruno@clisp.org>
26625
26626         * modules/version-etc-2: Remove file.
26627         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
26628
26629 2003-10-06  Bruno Haible  <bruno@clisp.org>
26630
26631         * modules/fatal-signal: New file.
26632         * MODULES.html.sh (func_all_modules): Add fatal-signal.
26633
26634 2003-10-06  Bruno Haible  <bruno@clisp.org>
26635
26636         * m4/fatal-signal.m4: New file.
26637         * m4/signalblocking.m4: New file, from GNU gettext.
26638
26639 2003-10-06  Bruno Haible  <bruno@clisp.org>
26640
26641         * lib/version-etc-2.h: Remove file.
26642         * lib/version-etc-2.c: Remove file.
26643
26644 2003-10-06  Bruno Haible  <bruno@clisp.org>
26645
26646         * lib/fatal-signal.h: New file, from GNU gettext.
26647         * lib/fatal-signal.c: New file, from GNU gettext.
26648
26649 2003-10-05  Paul Eggert  <eggert@twinsun.com>
26650
26651         * README: Rework advice for preventing empty .o files.
26652         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
26653         not <sys/types.h>.
26654
26655 2003-10-04  Karl Berry  <karl@gnu.org>
26656
26657         * lib/argp*: update from libc.
26658
26659 2003-10-04  Karl Berry  <karl@gnu.org>
26660
26661         * config/config.{guess,sub}: update from config.
26662
26663 2003-10-02  Bruno Haible  <bruno@clisp.org>
26664
26665         * modules/lchown (Include): Add lchown.h.
26666         * modules/time_r (Include): Use "..." syntax.
26667         * modules/xgetdomainname (Include): Add xgetdomainname.h.
26668
26669 2003-10-01  Simon Josefsson  <jas@extundo.com>
26670
26671         * MODULES.html.sh (func_all_modules): Move gethostname from section
26672         'based on' to section 'lacking' POSIX:2001.
26673
26674 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
26675
26676         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
26677         to output mode on the same stream.
26678
26679 2003-09-29  Paul Eggert  <eggert@twinsun.com>
26680
26681         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
26682         Fix arg typo in previous patch.
26683
26684 2003-09-28  Jim Meyering  <jim@meyering.net>
26685
26686         * lib/error.c: Correct cpp indentation.
26687
26688 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26689
26690         * modules/free: New file.
26691
26692 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26693
26694         * m4/free.m4: New file.
26695
26696 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26697
26698         * lib/minmax.h (MIN, MAX)
26699         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
26700         Omit the special code that used __typeof__, since we worry that
26701         it could be more trouble than it's worth.  See:
26702         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
26703         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
26704
26705         * lib/free.c: New file.
26706
26707 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
26708
26709         Trivial fixes to Makefile.am parts of module listings.
26710         * modules/strstr: Append strstr.h to lib_SOURCES.
26711         * modules/strcase: Likewise, for strcase.h.
26712
26713 2003-09-27  Karl Berry  <karl@gnu.org>
26714
26715         * config/mkinstalldirs: update from automake.
26716
26717 2003-09-26  Paul Eggert  <eggert@twinsun.com>
26718
26719         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
26720         (error_tail): Do not loop, reallocating temporary buffer, since
26721         the output cannot contain more wide characters than the input
26722         contains bytes, the size must be big enough already.  This avoids
26723         one potential size overflow calculation.  Check for size overflow
26724         when calculating temporary buffer size.  Free temporary buffer
26725         when done, if it was allocated with malloc; this plugs a memory
26726         leak.  Remove casts from void * to pointers, that are no longer
26727         needed now that we're assuming C89 or better.
26728
26729         Merge error changes from glibc.
26730
26731         * lib/error.c, error.h: Update copyright notice header to match glibc.
26732         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
26733         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
26734         Disable cancellation while printing error.
26735         * lib/error.h: Prepend __ to parameter names.
26736
26737 2003-09-26  Jim Meyering  <jim@meyering.net>
26738
26739         * lib/error.c (error_tail): Move some declarations
26740         into inner scope where the local variables are used.
26741
26742 2003-09-26  Bruno Haible  <bruno@clisp.org>
26743
26744         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
26745         stpncpy().
26746         Don't define stpncpy through config.h; it's now done through stpncpy.h.
26747
26748 2003-09-26  Bruno Haible  <bruno@clisp.org>
26749
26750         * lib/stpncpy.h (gnu_stpncpy): New declaration.
26751         (stpncpy): Define as alias for gnu_stpncpy.
26752         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
26753
26754 2003-09-25  Simon Josefsson  <jas@extundo.com>
26755
26756         * lib/xgetdomainname.h: New file.
26757         * lib/xgetdomainname.c: New file.
26758
26759 2003-09-25  Simon Josefsson  <jas@extundo.com>
26760             Bruno Haible  <bruno@clisp.org>
26761
26762         * modules/getdomainname: New file.
26763         * modules/xgetdomainname: New file.
26764         * MODULES.html.sh (func_all_modules): Add getdomainname,
26765         xgetdomainname.
26766
26767 2003-09-25  Simon Josefsson  <jas@extundo.com>
26768             Bruno Haible  <bruno@clisp.org>
26769
26770         * m4/getdomainname.m4: New file.
26771
26772 2003-09-25  Simon Josefsson  <jas@extundo.com>
26773             Bruno Haible  <bruno@clisp.org>
26774
26775         * lib/getdomainname.h: New file.
26776         * lib/getdomainname.c: New file.
26777
26778 2003-09-25  Karl Berry  <karl@gnu.org>
26779
26780         * lib/argp-fmtstream.c, argp-help.c: update from libc.
26781
26782 2003-09-25  Karl Berry  <karl@gnu.org>
26783
26784         * config/install-sh: update from automake.
26785
26786 2003-09-25  Bruno Haible  <bruno@clisp.org>
26787
26788         * modules/version-etc-2: New file, from modules/version-etc with
26789         modifications.
26790         * MODULES.html.sh (func_all_modules): Add version-etc-2.
26791
26792 2003-09-25  Bruno Haible  <bruno@clisp.org>
26793
26794         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
26795         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
26796
26797 2003-09-24  Simon Josefsson  <jas@extundo.com>
26798
26799         * modules/xgethostname: Add xgethostname.h.
26800
26801 2003-09-24  Paul Eggert  <eggert@twinsun.com>
26802
26803         * lib/linebuffer.c (freebuffer): Don't free the argument, just
26804         the buffer associated with the argument.  Bug reported by
26805         Simon Josefsson.
26806
26807 2003-09-24  Paul Eggert  <eggert@twinsun.com>
26808
26809         * README: Document assumptions that 'int' is at least 32 bits
26810         wide, that integer arithmetic is 2's complement without overflow,
26811         that there are no holes in integer values, that adding sizes of
26812         two nonoverlapping objects can't overflow, and that all-bits-zero
26813         yields scalar zero.  Fix spelling and capitalization typos.
26814
26815 2003-09-19  Karl Berry  <karl@gnu.org>
26816
26817         * lib/argp.h: update from libc.
26818
26819 2003-09-17  Paul Eggert  <eggert@twinsun.com>
26820
26821         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
26822         to avoid spurious warnings like "AC_RUN_IFELSE was called before
26823         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
26824
26825 2003-09-17  Paul Eggert  <eggert@twinsun.com>
26826
26827         * gnulib-tool: Use "test -h", not "test -L", for portability
26828         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
26829         (tags_regexp): Remove, since \| doesn't conform to POSIX.
26830         (sed_extract_prog): Issue s commands one-by-one, rather than
26831         using \| in one s command.
26832
26833 2003-09-16  Paul Eggert  <eggert@twinsun.com>
26834
26835         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
26836         input error, instead of returning NULL the next time we are called
26837         (and therefore losing track of errno).
26838
26839 2003-09-16  Bruno Haible  <bruno@clisp.org>
26840
26841         * gnulib-tool (func_create_testdir): Warn about duplicated
26842         dependencies.
26843
26844 2003-09-15  Paul Eggert  <eggert@twinsun.com>
26845
26846         * modules/argmatch, modules/fatal, modules/obstack,
26847         modules/xalloc, modules/xgethostname: Sort dependencies by
26848         importance, not alphabetically.
26849
26850 2003-09-15  Paul Eggert  <eggert@twinsun.com>
26851
26852         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
26853         fails, so that the caller gets the proper errno.
26854
26855         * lib/readutmp.c (read_utmp): Likewise.
26856         Check for fstat error.  Close stream and free storage
26857         when failing.
26858
26859 2003-09-14  Karl Berry  <karl@gnu.org>
26860
26861         * config/srclist.txt (strdup.c): disable for c89 changes.
26862
26863 2003-09-14  Jim Meyering  <jim@meyering.net>
26864
26865         * lib/getloadavg.c: Correct cpp indentation.
26866         * lib/strdup.c: Likewise.
26867         * lib/vasnprintf.c: Likewise.
26868
26869 2003-09-14  Bruno Haible  <bruno@clisp.org>
26870
26871         * modules/fwriteerror: New file.
26872         * MODULES.html.sh (func_all_modules): Add fwriteerror.
26873
26874 2003-09-14  Bruno Haible  <bruno@clisp.org>
26875
26876         * lib/fwriteerror.h: New file.
26877         * lib/fwriteerror.c: New file.
26878
26879 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26880
26881         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
26882         modules/xgethostname, modules/xalloc: Depend on exit.
26883
26884 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26885
26886         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
26887
26888         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
26889         and AC_MINIX, too, so that their extensions are available.
26890
26891         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
26892         This macro has been superseded by gl_BACKUPFILE.
26893
26894         More patches to assume C89 or better.
26895
26896         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
26897
26898         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
26899         unconditionally.
26900         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
26901         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
26902         Include <string.h>, <stdlib.h> unconditionally.
26903         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
26904         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
26905         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
26906         headers or for string.h.
26907         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
26908         or strtoul.
26909
26910         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
26911         headers.
26912         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
26913         * m4/userspec.m4 (gl_USERSPEC): Likewise.
26914         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
26915         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
26916         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
26917         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
26918         memcpy, memset.
26919         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
26920         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
26921         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
26922         strtol.
26923         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
26924         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
26925         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
26926         strtoul.
26927
26928 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26929
26930         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
26931         * lib/obstack.c [!defined _LIBC]: Likewise.
26932         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
26933         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
26934         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
26935
26936         More changes to assume C89 or better.
26937
26938         * lib/error.c (error_tail): Assume vprintf.
26939
26940         * lib/argmatch.c (getenv): Remove decl.
26941         * lib/progreloc.c (get_full_program_name): Define via prototype.
26942         * lib/setenv.c (clearenv): Likewise.
26943         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
26944         needed.
26945         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
26946         (malloc, memcpy): Remove decls.
26947         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
26948         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
26949         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
26950         (memcpy): Remove macro.
26951         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
26952         (__P): Remove.  All uses removed.
26953         (PTR): Remove.  All uses changed to void *.
26954         (CHAR_BIT, NULL): Remove.
26955         (spaces, zeros, memset_space, memset_zero)
26956         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
26957         Remove.
26958         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
26959         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
26960         Define with prototype.
26961         Remove now-unnecessary prototype decl.
26962         (extra_args_spec): Assume ANSI C.  All uses changed.
26963         (extra_args_spec_iso): Remove.
26964         (my_strftime, emacs_strftimeu): Define via prototype.
26965         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
26966         unconditionally.
26967         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
26968         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
26969         (strtoul, strtol): Remove decls.
26970         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
26971         LONG_MAX): Remove.
26972         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
26973         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
26974         (LOCALE_PARAM_PROTO): New macro.
26975         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
26976         (INTERNAL (strtol), strtol): Define with a prototype.
26977         (PARAMS): Remove.  All uses removed.
26978         * lib/tempname.c: Include <string.h> unconditionally.
26979         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
26980         * lib/xgethostname.c (main): Define with a prototype.
26981         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
26982         Include <stdlib.h> unconditionally.
26983         (calloc, malloc, realloc, free): Remove decls.
26984         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
26985         Include <stdlib.h> unconditionally.  Sort include file names.
26986         (strtod): Remove.
26987         (xstrtod): Define with a prototype.
26988         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
26989         (strtol, strtoul): Remove decls.
26990
26991 2003-09-11  Paul Eggert  <eggert@twinsun.com>
26992
26993         More patches to assume C89 or better.
26994         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
26995         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
26996         string.h, memchr, STDC_HEADERS.
26997
26998 2003-09-11  Paul Eggert  <eggert@twinsun.com>
26999
27000         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
27001         Include <stdlib.h>, <string.h> unconditionally.
27002         Remove now-unnecessary cast to char *.
27003         * lib/strnlen.c: Include <string.h> unconditionally.
27004         * lib/yesno.c (yesno): Define with a prototype.
27005
27006 2003-09-11  Bruno Haible  <bruno@clisp.org>
27007
27008         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
27009
27010 2003-09-10  Jim Meyering  <jim@meyering.net>
27011
27012         * lib/error.c: Correct indentation of cpp directives.
27013
27014 2003-09-10  Bruno Haible  <bruno@clisp.org>
27015
27016         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
27017         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
27018         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
27019         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
27020         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
27021         <stdlib.h> and <string.h> checks.
27022         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
27023         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
27024
27025 2003-09-10  Bruno Haible  <bruno@clisp.org>
27026
27027         * lib/strcspn.c: Include <string.h> unconditionally.
27028         * lib/strpbrk.c: Include <string.h> unconditionally.
27029         * lib/strstr.c: Include <string.h> unconditionally.
27030         * lib/unicodeio.c: Include <string.h> unconditionally.
27031         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
27032         * lib/unsetenv.c: Likewise.
27033         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
27034         * lib/yesno.c: Include <stdlib.h> unconditionally.
27035         (rpmatch): Add prototype.
27036
27037 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27038
27039         More patches to assume C89 or better.
27040         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
27041         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
27042         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
27043         or for string.h.
27044         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
27045         stdlib.h.
27046         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
27047         C headers.
27048         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
27049         string.h.
27050         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
27051         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
27052         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
27053         or for string.h.
27054         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
27055         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
27056         C headers.
27057         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
27058         memcpy.
27059         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
27060         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
27061         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
27062         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
27063         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
27064         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
27065         string.h, free.
27066         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
27067         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
27068         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
27069         C headers, or for string.h.
27070         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
27071         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
27072         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
27073         headers, memory.h, stdlib.h, string.h, strings.h.
27074         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
27075         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
27076         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
27077         strchr.
27078         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
27079         headers, memory.h, string.h.
27080         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
27081         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
27082         free.
27083         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
27084         headers.
27085         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
27086         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
27087         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
27088         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
27089         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
27090
27091 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27092
27093         More K&R removal.
27094
27095         * lib/acosl.c (main): Use a prototype.
27096         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
27097         tanl.c: Likewise.
27098
27099         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
27100
27101         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
27102         (getopt, etopt_long, getopt_long_only, _getopt_internal)
27103         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
27104         with a prototype.
27105         * lib/getopt.c (const): Remove macro.
27106         Include <string.h> unconditionally.
27107         (my_index): Remove; all uses changed to strchr.
27108         (strlen): Remove decl.
27109         (exchange): Remove forward decl; no longer needed.
27110         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
27111         Define with prototype.
27112         * lib/getopt1.c (const): Remove macro.
27113         (getopt_long, getopt_long_only, main): Define with prototype.
27114
27115         * lib/getugroups.c: Include <string.h> unconditionally.
27116
27117         * lib/getusershell.c: Include <stdlib.h> unconditionally.
27118         (getusershell, setusershell, endusershell, readname, main):
27119         Define with prototypes.
27120
27121         * lib/group-member.c: Include group-member.h first.
27122         Include <stdlib.h> unconditionally.
27123
27124         * lib/hard-locale.c: Include hard-locale.h first.
27125         Include <stdlib.h>, <string.h> unconditionally.
27126
27127         * lib/hash.c (free, malloc): Remove decls.
27128         Include <stdlib.h> unconditionally.
27129
27130         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
27131         (getenv): Do not declare.
27132
27133         * lib/idcache.c: Include <string.h> unconditionally.
27134
27135         * lib/long-options.c: Include long-options.h first, to test interface.
27136         Include <stdlib.h> unconditionally.
27137
27138         * lib/makepath.c: Include makepath.h first, to test interface.
27139         Include <stdlib.h> and <string.h> unconditionally.
27140
27141         * lib/linebuffer.c: Include <stdlib.h>.
27142         (free): Remove decl.
27143
27144         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
27145         stddef.h. rpl_malloc returns void *, not char *.
27146         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
27147         prototype.
27148
27149         * lib/md5.h: Include <limits.h> unconditionally.
27150         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
27151         (__P): Remove; all uses removed.
27152         * lib/md5.c: Include "md5.h" first.
27153         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
27154         md5_buffer, md5_process_bytes, md5_process_block):
27155         Define with prototypes.
27156         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
27157         * lib/sha.c: Include "sha.h" first.
27158         Include <stdlib.h>, <string.h> unconditionally.
27159
27160         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
27161         * lib/memcmp.c (__ptr_t): Likewise.
27162         * lib/memrchr.c (__ptr_t): Likewise.
27163         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
27164         Include <string.h> unconditionally.
27165         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
27166         * lib/memchr.c: Include <stdlib.h> unconditionally.
27167         * lib/memchr.c (LONG_MAX): Remove.
27168         * lib/memrchr.c (LONG_MAX): Likewise.
27169         * lib/memchr.c (__memchr): Define via a prototype.
27170         * lib/memrchr.c (__memrchr): Likewise.
27171         * lib/memcmp.c (__P): Remove, and remove all uses.
27172         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
27173         Remove forward decls; no longer needed.
27174         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
27175         Use types required by C89 in prototype.
27176
27177         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
27178         * lib/savedir.c: Likewise.
27179         * lib/mkdir.c (free): Remove decl.
27180         * lib/rmdir.c (rmdir): Define with a prototype.
27181         * lib/savedir.c: Include savedir.h first, to test interface.
27182
27183         * lib/mktime.c (STDC_HEADERS): Remove.
27184         Include <stdlib.h>, <string.h> unconditionally.
27185
27186         * lib/modechange.c: Include <stdlib.h> unconditionally.
27187         (malloc): Remove decl.
27188
27189         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
27190         (free): Remove decl.
27191
27192         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
27193         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
27194         (This type really should be intptr_t, but that's a C99ism.)
27195         (_obstack_memcpy): Remove: all uses changed to memcpy.
27196         Include <string.h> unconditionally.
27197         (struct obstack): Assume __STDC__ for types of members
27198         chunkfun, freefun, extra_arg.
27199         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
27200         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
27201         obstack_begin, obstack_specify_allocation,
27202         obstack_specify_allocation_with_arg, obstack_chunkfun,
27203         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
27204         Remove unprototyped decls and the macros that use them.
27205         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
27206         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
27207         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
27208         (defined __STDC__ && __STDC__)]:
27209         Remove nonprototyped code.
27210         Include <stdlib.h> unconditionally.
27211         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
27212         _obstack_allocated_p, _obstack_free, obstack_free,
27213         _obstack_memory_used, print_and_abort):
27214         Define using prototypes.
27215         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
27216         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
27217         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
27218         obstack_next_free, obstack_object_size, obstack_room) [0]:
27219         Remove unused, unprototyped code.
27220
27221         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
27222
27223         * lib/physmem.c (physmem_total, physmem_available, main): Define
27224         with prototypes.
27225
27226         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
27227         (main): Define with a prototype.
27228
27229         * lib/posixver.c (getenv): Remove decl.
27230
27231         * lib/putenv.c (malloc): Returns void *, not char *.
27232         Include <string.h> unconditionally.
27233         (strchr, memcpy, NULL): Do not define.
27234
27235         * lib/readtokens.c: Include readtokens.h first, to test interface.
27236         Include <stdlib.h>, <string.h> unconditionally.
27237         (init_tokenbuffer): Define with a prototype.
27238
27239         * lib/regex.c (PARAMS): Remove.  All uses removed.
27240         All uses of _RE_ARGS removed, too.
27241         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
27242         unconditionally.
27243         (bzero): Assume memset exists.
27244         (memcmp, memcpy, NULL): Remove.
27245         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
27246         char, or assignments to local vars of type signed char.
27247         (init_syntax_once, PREFIX(extract_number_and_incr),
27248         PREFIX(print_partial_compiled_pattern),
27249         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
27250         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
27251         PREFIX(regex_grow_registers), PREFIX(regex_compile),
27252         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
27253         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
27254         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
27255         wcs_compile_range, byte_compile_range, truncate_wchar,
27256         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
27257         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
27258         count_mbs_length, wcs_re_match_2_internal,
27259         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
27260         PREFIX(alt_match_null_string_p),
27261         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
27262         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
27263         regfree, PREFIX(extract_number)): Define with prototype.  Remove
27264         now-unnecessary declaration, if any.
27265         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
27266         regcomp, regexec):
27267         Remove now-unnecessary casts among pointer types.
27268         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
27269
27270         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
27271         (free): Remove decl.
27272
27273         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
27274
27275         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
27276         (free): Remove decl.
27277
27278         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
27279         * lib/xgetcwd.c: Likewise.
27280
27281         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
27282         (free): Remove decl.
27283
27284         * lib/strchrnul.c (strchrnul): Define with a prototype.
27285         Fix bug: c_in was not converted to char before searching.
27286
27287         The following changes are not K&R related:
27288
27289         * lib/group-member.h: Include <sys/types.h>, so that this file is
27290         self-contained.
27291         * lib/makepath.h: Likewise.
27292
27293         * lib/getusershell.c (readname, default_index, line_size, readname):
27294         Use size_t, not int, for sizes.
27295         (readname): If the size overflows, report an error instead of
27296         looping forever.
27297
27298 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27299
27300         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
27301         libc.
27302
27303 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27304
27305         * README: New section: portability guidelines.
27306
27307 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
27308
27309         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
27310         C89 spec.
27311
27312 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
27313
27314         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
27315
27316 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27317
27318         Assume C89 or better; remove K&R cruft.
27319         A few of these changes were first proposed by Derek Robert Price
27320         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
27321
27322         * lib/addext.c: Include <string.h> unconditionally.
27323         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
27324         Don't declare getenv or malloc.
27325
27326         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
27327         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
27328         (NULL): Remove.
27329         (find_stack_direction, alloca): Use prototypes.
27330
27331         * lib/atexit.c (atexit): Define using a prototype.
27332
27333         * lib/basename.c, dirname.c, stripslash.c:
27334         Include <string.h> unconditionally.
27335
27336         * lib/bcopy.c: Include <stddef.h>.
27337         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
27338
27339         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
27340
27341         * lib/error.h (error, error_at_line, error_print_progname)
27342         [! (defined (__STDC__) && __STDC__)]: Remove decls.
27343         * lib/error.c: Include error.h first, to check interface.
27344         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
27345         (VA_START): Remove; all uses changeed to va_start.
27346         (exit, strerror): Remove decls.
27347         (error_print_progname): Prototype uncondionally.
27348         Don't include <errno.h>; no longer needed.
27349         (private_strerror): Remove.
27350         (error_tail): Always define.
27351         (error, error_at_line): Assume C89 or better; always use prototypes.
27352         * lib/fatal.c: Include "fatal.h" first, to test interface.
27353         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
27354         (VA_START): Remove; all uses changed to va_start.
27355         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
27356         this case.
27357         (exit): Remove decl.
27358         (fatal): Prototype unconditionally.  Assume va_start works.
27359         Abort at end, to pacify gcc.
27360
27361         * lib/euidaccess.c (main): Define with a prototype.
27362
27363         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
27364
27365         * lib/exitfail.c: Include <stdlib.h> unconditionally.
27366
27367         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
27368         prototypes.
27369         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
27370         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
27371         (getenv): Remove decl.
27372         (fnmatch): Define using a prototype.
27373         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
27374         (FCT): Define using a prototype.
27375
27376         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
27377
27378         * lib/gethostname.c: Include <stddef.h>.
27379         (gethostname): Define with prototype.  Length is size_t, not int.
27380
27381 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27382
27383         Assume C89 or better; remove K&R cruft.
27384         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
27385         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
27386         string.h, getenv, malloc.
27387         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
27388         headers.
27389         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
27390         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
27391         do not check for strerror.
27392         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
27393         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
27394         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
27395         do not check for doprnt or vprintf.
27396         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
27397         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
27398
27399 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27400
27401         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
27402         getversion.c should have been removed then, but was accidentally
27403         preserved.
27404
27405         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
27406         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
27407
27408 2003-09-08  Karl Berry  <karl@gnu.org>
27409
27410         * config/config.sub, config.guess, srclistvars.sh: update from savannah
27411                 config, forget about prep.
27412
27413         * config/depcomp, missing: update from automake.
27414
27415 2003-09-07  Paul Eggert  <eggert@twinsun.com>
27416
27417         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
27418         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
27419
27420 2003-09-07  Paul Eggert  <eggert@twinsun.com>
27421
27422         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
27423         copy_tm_result.  Bug reported by Simon Josefsson in
27424         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
27425
27426 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27427
27428         * m4/time_r.m4: New file.
27429         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
27430         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
27431         is. Check for timegm declaration.
27432         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
27433         Do not check for gmtime_r.
27434         Replace mktime if __mktime_internal does not exist and if mktime
27435         hasn't been replaced already.
27436
27437 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27438
27439         * lib/time_r.c, lib/time_r.h: New files.
27440
27441         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
27442         __localtime_r.
27443         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
27444         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
27445
27446         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
27447         __gmtime_r.
27448         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
27449         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
27450         Include <time_r.h>.
27451
27452         * lib/timegm.c: Switch to glibc implementation, with the following
27453         changes:
27454         [defined HAVE_CONFIG_H]: Include <config.h>.
27455         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
27456         (__mktime_internal) [!defined _LIBC]: New decl.
27457         (__gmtime_r) [!defined _LIBC]: New macro and function.
27458         (timegm): Use a prototype, since gnulib assumes C89.
27459         Do not bother declaring tmp to be const, as it's not really usefu.
27460         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
27461         (timegm): Declare only if HAVE_DECL_TIMEGM.
27462
27463 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27464
27465         * MODULES.html.sh (func_all_modules): Add time_r.
27466         * modules/time_r: New file.
27467         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
27468         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
27469
27470 2003-09-03  Paul Eggert  <eggert@twinsun.com>
27471
27472         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
27473         Bug reported by Lute Kamstra in
27474         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
27475
27476         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
27477         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
27478         course with correspondingly smaller numbers for tomorrow and
27479         yesterday.  From Tadayoshi Funaba.  Originally installed into
27480         sh-utils on 1999-08-07, but the patch got lost (I guess during the
27481         coreutils merge?).
27482
27483 2003-08-31  Simon Josefsson  <jas@extundo.com>
27484
27485         * modules/timegm: New file.
27486         * MODULES.html.sh (func_all_modules): Add timegm.
27487
27488 2003-08-31  Simon Josefsson  <jas@extundo.com>
27489
27490         * m4/timegm.m4: New file.
27491
27492 2003-08-31  Simon Josefsson  <jas@extundo.com>
27493
27494         * lib/timegm.h: New file.
27495         * lib/timegm.c: New file.  Based on
27496         wget-1.8.2/src/http.c:mktime_from_utc.
27497
27498 2003-08-31  Karl Berry  <karl@gnu.org>
27499
27500         * lib/argp.h: update from libc.
27501
27502 2003-08-28  Bruno Haible  <bruno@clisp.org>
27503
27504         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
27505         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
27506         followed by '#define fnmatch fnmatch_posix' gives an error.
27507
27508 2003-08-28  Bruno Haible  <bruno@clisp.org>
27509
27510         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
27511         warning on QNX, which defines O_BINARY to 000000.
27512
27513 2003-08-27  Jim Meyering  <jim@meyering.net>
27514
27515         * m4/mkstemp.m4: Require that the system mkstemp be able to create
27516         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
27517         would fail after 32.  Reported by Danny Levinson.  Details here:
27518         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
27519
27520 2003-08-24  Bruno Haible  <bruno@clisp.org>
27521
27522         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
27523         MSVC7 <stdio.h> is included later.
27524
27525 2003-08-22  Simon Josefsson  <jas@extundo.com>
27526
27527         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
27528
27529 2003-08-20  Karl Berry  <karl@gnu.org>
27530
27531         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
27532
27533 2003-08-20  Bruno Haible  <bruno@clisp.org>
27534
27535         * modules/progname: New file.
27536         * MODULES.html.sh (func_all_modules): Add progname.
27537
27538 2003-08-20  Bruno Haible  <bruno@clisp.org>
27539
27540         * lib/progname.h: New file, from GNU gettext.
27541         * lib/progname.c: New file, from GNU gettext.
27542         * lib/progreloc.c: New file, from GNU gettext.
27543
27544 2003-08-19  Jim Meyering  <jim@meyering.net>
27545
27546         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
27547         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
27548
27549 2003-08-19  Bruno Haible  <bruno@clisp.org>
27550
27551         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
27552         more.
27553
27554 2003-08-19  Bruno Haible  <bruno@clisp.org>
27555
27556         * lib/xstrdup.c: Assume <string.h> exists.
27557
27558 2003-08-18  Paul Eggert  <eggert@twinsun.com>
27559
27560         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
27561         in makefile rules.
27562
27563 2003-08-18  Jim Meyering  <jim@meyering.net>
27564
27565         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
27566         * m4/lib-ld.m4: Likewise.
27567
27568 2003-08-18  Jim Meyering  <jim@meyering.net>
27569
27570         * lib/setenv.h: Indent nested cpp directive.
27571         * lib/vasnprintf.c: Remove trailing blanks.
27572
27573 2003-08-17  Simon Josefsson  <jas@extundo.com>
27574
27575         * modules/xstrndup: New file.
27576         * MODULES.html.sh (func_all_modules): Add xstrndup.
27577
27578 2003-08-17  Simon Josefsson  <jas@extundo.com>
27579
27580         * modules/argp: Fix autoconf macro name. Add more dependencies.
27581
27582 2003-08-17  Simon Josefsson  <jas@extundo.com>
27583
27584         * m4/xstrndup.m4: New file.
27585
27586 2003-08-17  Simon Josefsson  <jas@extundo.com>
27587
27588         * m4/argp.m4: New file.
27589
27590 2003-08-17  Simon Josefsson  <jas@extundo.com>
27591             Bruno Haible  <bruno@clisp.org>
27592
27593         * lib/xstrndup.h: New file.
27594         * lib/xstrndup.c: New file.
27595
27596 2003-08-17  Bruno Haible  <bruno@clisp.org>
27597
27598         * modules/strndup (Files, Include): Add lib/strndup.h.
27599
27600 2003-08-17  Bruno Haible  <bruno@clisp.org>
27601
27602         * modules/euidaccess (Files): Add lib/euidaccess.h.
27603
27604 2003-08-17  Bruno Haible  <bruno@clisp.org>
27605
27606         * lib/strndup.h: New file.
27607
27608 2003-08-17  Bruno Haible  <bruno@clisp.org>
27609
27610         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
27611         like AC_GNU_SOURCE.
27612         * modules/extensions (configure.ac): Comment out the invocation of
27613         gl_USE_SYSTEM_EXTENSIONS.
27614
27615 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27616
27617         Merges from coreutils, etc.
27618         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
27619         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
27620         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
27621         fixing a typo.
27622         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
27623         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
27624
27625 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27626
27627         Document merge from coreutils.
27628         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
27629         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
27630         * modules/utime: Add m4/utimes-null.m4.
27631
27632 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27633
27634         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
27635         space, undoing this 2003-08-12 change:
27636         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
27637
27638 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27639
27640         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
27641         strtoul.c from libc, undoing this 2003-08-12 change:
27642         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
27643
27644 2003-08-16  Jim Meyering  <jim@meyering.net>
27645
27646         Merges from coreutils.
27647         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
27648         prefix.  Adjust cache variables similarly.  Create 500 rather than
27649         just 300 files, to exercise bug on Darwin6.5, too.
27650         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
27651         $missing_dir.
27652         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
27653         AM_SYS_POSIX_TERMIOS.
27654         Reported by mkc@mathdogs.com.
27655         Also change use of $am_cv_sys_posix_termios
27656         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
27657         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
27658         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
27659         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
27660         in /proc/mounts until it finds one with matching device number.  This
27661         is unnecessary when the FILE argument *is* a mount point.  No stat call
27662         is necessary in that case.  So, disable the statvfs-testing code on
27663         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
27664         as RedHat bug# 84846.
27665         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
27666         to 1MB, so as not to render systems with no stack size limit (e.g.,
27667         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
27668         Include <unistd.h>.  On some systems,
27669         it is required for the definition of _SC_PAGESIZE.
27670
27671 2003-08-16  Jim Meyering  <jim@meyering.net>
27672
27673         Merge from coreutils.
27674         * lib/xstrtoimax.c: #else #if -> #elif.
27675         * lib/xstrtoumax.c: Likewise.
27676
27677 2003-08-16  Jim Meyering  <jim@meyering.net>
27678
27679         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
27680         * m4/utimes.m4: Removed.
27681         * m4/utimes-null.m4: Renamed from utimes.m4.
27682
27683         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
27684         to 1MB, so as not to render systems with no stack size limit (e.g.,
27685         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
27686         Include <unistd.h>.  On some systems,
27687         it is required for the definition of _SC_PAGESIZE.
27688
27689 2003-08-16  Jim Meyering  <jim@meyering.net>
27690         and Paul Eggert  <eggert@cs.ucla.edu>
27691
27692         Merges from coreutils, etc.
27693
27694         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
27695         using the latest version from cvs.  This avoids problems with #line
27696         directives using a vendor (Sun) compiler.
27697         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
27698         Don't set GETGROUPS_LIB here; now it's
27699         done via getgroups.m4's wrapper function.
27700         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
27701         rather than just in sh-util/configure.in, so that the
27702         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
27703         same.
27704         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
27705         AC_FUNC_GETLOADAVG where to find getloadavg.c.
27706         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
27707         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
27708         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
27709         Remove code that is now done by the newly-required macros.
27710         Append $(EXEEXT) to DF_PROG.
27711         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
27712         Do not invoke or require the following here,
27713         since prereq.m4 or some gnulib .m4 now does this for us:
27714         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
27715         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
27716         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
27717         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
27718         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
27719         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
27720         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
27721         AC_FUNC_OBSTACK.
27722         Do not replace the following functions, as this is now the job
27723         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
27724         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
27725         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
27726         atexit getpass, strdup, getpagesize.
27727         Replace 'raise'.
27728         Do not check for the following functions, as this is now the job
27729         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
27730         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
27731         setregid.
27732         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
27733         Check for sys/sysctl.h.
27734         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
27735         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
27736         of checking for ssize_t ourselves.
27737
27738         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
27739         Require every macro that gnulib/modules/* suggests for us.
27740         (jm_PREREQ_ADDEXT): New macro.
27741         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
27742         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
27743
27744         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
27745         (gl_PHYSMEM): Use it.
27746         Also check for `table' function.
27747         Check for new headers and functions.
27748         Add check for sys/sysmp.h.
27749         With suggestions from Kaveh Ghazi.
27750         Ignore headers that are present but cannot be compiled.  This
27751         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
27752         C 5.4.
27753
27754 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27755
27756         Document merge from coreutils.
27757         * modules/userspec: Depend on posixver.
27758         * modules/strftime: Depend on tzset.
27759
27760 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27761
27762         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
27763         rather than tab, after '#' in shell-script copyright notices.
27764         Suggested by Bruno Haible.
27765
27766 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27767
27768         * config/srclist-update: Use three spaces, rather than tab, after '#'
27769         in shell-script copyright notices.  Suggested by Bruno Haible.
27770         Remove unnecessary parenthesization in regular expression.
27771
27772 2003-08-15  Jim Meyering  <jim@meyering.net>
27773
27774         Merge from coreutils.
27775         * lib/xgethostname.c: Include <stdlib.h>.
27776         (xghostname): Don't exit for anything other than memory-related
27777         failure; just return NULL.
27778         * lib/userspec.c: Include "posixver.h".
27779         (parse_user_spec): Accept `.' as a separator only
27780         in pre-POSIX-200112 mode.
27781         * lib/strtoimax.c: Use #elif rather than #else #if.
27782         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
27783         Remove function, now that we can rely on a working tzset function.
27784         [!_LIBC]: Ensure that the required autoconf test has been run.
27785         [!defined _NL_CURRENT && HAVE_STRFTIME]:
27786         Use underlying_strftime for %r.
27787         * lib/sha.c: Merge in some clean-up and optimization changes from
27788         glibc.
27789         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
27790         Ensure that it is a multiple of 64.
27791         Rearrange loop exit tests so as to avoid performing an
27792         additional fread after encountering an error or EOF.
27793         * lib/realloc.c: Update copyright date.
27794
27795 2003-08-15  Jim Meyering  <jim@meyering.net>
27796         and Paul Eggert  <eggert@twinsun.com>
27797
27798         Merge from coreutils.
27799         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
27800         member but strut utmpx does not.  Needed for AIX 4.3.3.
27801         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
27802
27803 2003-08-15  Jim Meyering  <jim@meyering.net>
27804         and Paul Eggert  <eggert@cs.ucla.edu>
27805
27806         Merges from coreutils, etc.
27807         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
27808         Require gl_FUNC_TZSET_CLOBBER.
27809         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
27810         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
27811         members.
27812
27813 2003-08-14  Paul Eggert  <eggert@twinsun.com>
27814
27815         Help the merge from coreutils.
27816         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
27817         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
27818         * m4/tzset.m4: Use it too.
27819
27820 2003-08-14  Paul Eggert  <eggert@twinsun.com>
27821
27822         * modules/tzset: New file.
27823
27824 2003-08-14  Jim Meyering  <jim@meyering.net>
27825
27826         Merges from coreutils.
27827         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
27828         variable names, rather than @FNMATCH_H@.
27829         * modules/alloca: Likewise for $(ALLOCA_H).
27830
27831         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
27832         the three copies of the literal target, `fnmatch.h'.
27833         * modules/alloca (alloca.h): Likewise.
27834
27835 2003-08-14  Jim Meyering  <jim@meyering.net>
27836
27837         Merge from coreutils.
27838         * m4/tzset.m4: New file.
27839         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
27840         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
27841         otherwise, AIX 5.1 systems would end up using the latter.
27842         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
27843         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
27844         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
27845         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
27846
27847 2003-08-14  Jim Meyering  <jim@meyering.net>
27848
27849         Merge from coreutils.
27850         * lib/obstack.h: Whitespace changes.
27851         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
27852         and xcalloc return values.
27853         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
27854         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
27855         hang on OSF/1 5.1 for DIR on both local and remote file systems.
27856         Reported by (and fix confirmed by) Nelson H. F. Beebe.
27857         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
27858         error from mntctl.
27859         Use mntctl's return value to drive the entry-processing loop, since
27860         we can't rely on the value of the vmt_length member in the last
27861         entry.  On some systems doing so could result in exhausting
27862         virtual memory.  Based in part on a patch from Mike Jetzer.
27863
27864 2003-08-14  Jim Meyering  <jim@meyering.net>
27865         and Paul Eggert  <eggert@twinsun.com>
27866
27867         Merges from coreutils, plus other fixes.
27868         * lib/physmem.c: Merge in portability changes from gcc/libiberty
27869         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
27870         for credits and details.  Thanks to Kaveh Ghazi for helping
27871         to keep these files in sync.
27872         (ARRAY_SIZE): Define it.
27873         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
27874         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
27875         (memcasecmp): Don't assume size_t fits in unsigned int.
27876         Remove casts and duplicate code.
27877         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
27878         (memcpy): Remove definition.
27879         Merge in some clean-up and optimization changes from glibc.
27880         [BLOCKSIZE]: Move definition to top of file.
27881         Ensure that it is a multiple of 64.
27882         Rearrange loop exit tests so as to avoid performing an
27883         additional fread after encountering an error or EOF.
27884         * lib/md5.h (md5_uintptr): Define.
27885         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
27886         return to the initial working directory.  Preserve errno
27887         for caller.
27888         * lib/idcache.c: Include "xalloc.h".
27889         (xmalloc, xrealloc): Remove decls.
27890         (getuser): Remove casts no longer required in C89.
27891         * lib/human.c: Include stdio.h, for sprintf.
27892         * lib/group-member.c: Include "xalloc.h".
27893         (xmalloc, xrealloc): Remove decls.
27894         (get_group_info): Remove casts no longer required in C89.
27895         * lib/getusershell.c (readname): Remove casts no longer required in
27896         C89.
27897         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
27898         * lib/getline.c: Whitespace fix, from coreutils.
27899
27900 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27901
27902         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
27903         Check for isascii.
27904
27905         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
27906         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
27907         Undo previous (whitespace-only) change.
27908
27909 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27910
27911         * lib/exclude.c: Include <ctype.h>
27912         (IN_CTYPE_DOMAIN): New macro.
27913         (is_space): New fn.
27914         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
27915         and empty lines.
27916
27917         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
27918         Undo previous (whitespace-only) change.
27919
27920 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27921
27922         * config/srclist-update: Change update back to the old behavior,
27923         leaving whitespace alone.  Use one 'sed' command rather than a
27924         pipeline.
27925         (fixlicense): Now a variable, not a function.
27926         (remove_trailing_blanks): Remove.
27927         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
27928         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
27929         Undo previous (whitespace-only) change.
27930
27931 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27932
27933         Merge from coreutils.
27934         * modules/euidaccess: Add lib_SOURCES, include for new
27935         file euidaccess.h
27936
27937 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27938
27939         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
27940         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
27941         Normalize leading white space and remove trailing white space.
27942
27943         Merge from coreutils
27944         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
27945
27946         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
27947         0.12.1.  These files are now being upgraded automatically by
27948         ../config/srclist-update.
27949
27950 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27951
27952         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
27953         Normalize leading white space and remove trailing white space.
27954         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
27955         notice, as per ../config/srclist-update.
27956
27957         Merge from coreutils.
27958         * lib/euidaccess.h: New file.
27959         * lib/euidaccess.c: Include it.
27960         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
27961         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
27962         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
27963
27964 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27965
27966         * config/srclist-update: Add copyright notice.
27967         (remove_id_lines, remove_trailing_blanks): New constants.
27968         (fixfile): Use them to normalize spacing a bit in copied files.
27969         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
27970         Normalize leading white space and remove trailing white space.
27971
27972         * config/texinfo.tex: Sync with texinfo.
27973
27974         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
27975         strtoul.c from libc, to merge coreutils whitespace changes.
27976
27977         * config/srclist.txt: Get the following m4 files from gettext:
27978         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
27979         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
27980         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
27981         wint_t.m4.
27982
27983 2003-08-12  Karl Berry  <karl@gnu.org>
27984
27985         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
27986         been made.
27987
27988 2003-08-11  Paul Eggert  <eggert@twinsun.com>
27989
27990         * modules/gnu-source, m4/gnu-source.m4:
27991         Remove; we're assuming Autoconf 2.54 or later now.
27992         Suggested by Bruno Haible.
27993         * MODULES.html.sh (func_all_modules): Remove gnu-source.
27994
27995 2003-08-11  Bruno Haible  <bruno@clisp.org>
27996
27997         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
27998
27999 2003-08-11  Bruno Haible  <bruno@clisp.org>
28000
28001         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
28002         (vasnprintf): Use it instead of wcslen.
28003
28004 2003-08-11  Bruno Haible  <bruno@clisp.org>
28005
28006         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
28007         value to ensure that _Bool promotes to int. Use #define for _Bool when
28008         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
28009
28010 2003-08-10  Karl Berry  <karl@gnu.org>
28011
28012         * lib/regex.h: update from libc (whitespace fix).
28013
28014 2003-08-09  Paul Eggert  <eggert@twinsun.com>
28015
28016         Merge some files from coreutils.  These changes were
28017         originally made by Jim Meyering.
28018         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
28019         many older Unixes require this.
28020         * lib/alloca.c (alloca): Remove cast to argument of free;
28021         no longer needed in C89.
28022         * lib/alloca_.h, regex.h: Fix white space to match
28023         what GNU indent does.
28024
28025 2003-08-09  Paul Eggert  <eggert@twinsun.com>
28026
28027         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
28028         apparently Emacs's Unicode mode got confused before my 2003-08-05
28029         checkin.
28030
28031 2003-08-08  Paul Eggert  <eggert@twinsun.com>
28032
28033         * m4/extensions.m4: New file.
28034         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
28035         Require gl_USE_SYSTEM_EXTENSIONS.
28036         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
28037         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
28038
28039 2003-08-08  Paul Eggert  <eggert@twinsun.com>
28040
28041         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
28042         * modules/extensions, modules/gnu-source: New files.
28043         * modules/timespec, modules/unlocked-io: Depend on extensions.
28044
28045 2003-08-07  Paul Eggert  <eggert@twinsun.com>
28046
28047         * modules/restrict: New file.
28048         * MODULES.html.sh (func_all_modules): Add restrict.
28049         * modules/regex: Depend on restrict.
28050
28051 2003-08-07  Paul Eggert  <eggert@twinsun.com>
28052
28053         * m4/restrict.m4: New file.
28054         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
28055
28056 2003-08-07  Bruno Haible  <bruno@clisp.org>
28057
28058         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
28059         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
28060
28061 2003-08-07  Bruno Haible  <bruno@clisp.org>
28062
28063         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
28064         makes the module 'getndelim2' compatible with the module 'getline'.
28065
28066 2003-08-05  Paul Eggert  <eggert@twinsun.com>
28067
28068         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
28069         byte with "\201" to avoid glitches when editing that source file
28070         with multi-gnome-terminal.
28071
28072 2003-08-05  Paul Eggert  <eggert@twinsun.com>
28073
28074         * lib/bumpalloc.h: Remove.
28075
28076 2003-08-05  Paul Eggert  <eggert@twinsun.com>
28077
28078         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
28079         * modules/bumpalloc: Remove.
28080
28081 2003-08-04  Paul Eggert  <eggert@twinsun.com>
28082
28083         * lib/getloadavg.c: Change copyright notice and spacing to conform to
28084         GNU coding style.
28085
28086         Merge from coreutils.
28087         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
28088         1. From glibc.
28089         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
28090         from Karl Berry, implemented by Jim Meyering.
28091         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
28092         from Dmitry V. Levin.
28093         Remove anachronistic cast of xrealloc.
28094         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
28095         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
28096         type. Otherwise, it wouldn't compile with at least /bin/cc on
28097         ymp-cray-unicos9.0.2.X.
28098         Combine two mostly-identical uses of alloca into one.
28099         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
28100
28101 2003-08-04  Dave Love  <d.love@dl.ac.uk>
28102
28103         [From Emacs.]
28104
28105         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
28106         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
28107         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
28108         obsolete NLIST_NAME_UNION.
28109         [__GNU__]: Undef BSD and FSCALE.
28110         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
28111
28112 2003-08-03  Paul Eggert  <eggert@twinsun.com>
28113
28114         * lib/stdbool_.h (_Bool): Make it signed char, instead of
28115         an enum type, so that it's guaranteed to promote to int.  See:
28116         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
28117
28118 2003-08-03  Karl Berry  <karl@gnu.org>
28119
28120         * config/depcomp: update from automake.
28121
28122 2003-07-31  Paul Eggert  <eggert@twinsun.com>
28123
28124         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
28125         (strerror): Don't assume that a printable int fits in 14 bytes.
28126
28127 2003-07-31  Bruno Haible  <bruno@clisp.org>
28128
28129         * modules/getpass-gnu: New file.
28130         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
28131
28132 2003-07-31  Bruno Haible  <bruno@clisp.org>
28133
28134         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
28135
28136 2003-07-24  Karl Berry  <karl@gnu.org>
28137
28138         * config/missing: update from automake.
28139
28140 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
28141             Bruno Haible  <bruno@clisp.org>
28142
28143         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
28144         * lib/getline.c (getline, getdelim): Likewise.
28145         Remove _GNU_SOURCE define; now it's defined in config.h through
28146         m4/getline.m4.
28147
28148 2003-07-23  Karl Berry  <karl@gnu.org>
28149
28150         * config/config.sub: update from prep.
28151
28152 2003-07-22  Paul Eggert  <eggert@twinsun.com>
28153
28154         * modules/xalloc (Depends-on): Add exitfail.
28155         * modules/xmemcoll: Likewise.
28156
28157 2003-07-22  Paul Eggert  <eggert@twinsun.com>
28158
28159         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
28160         over-parenthesization in macros.
28161
28162         Sync with coreutils.
28163
28164         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
28165         required by C99.
28166
28167         Use `exit_failure' for xalloc and xmemcoll instead of their own
28168         private exit-failure variables.
28169         * lib/xalloc.h (xalloc_exit_failure): Remove.
28170         * lib/xmalloc.c: Likewise.  Include exitfail.h.
28171         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
28172         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
28173         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
28174         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
28175
28176 2003-07-20  Jim Meyering  <jim@meyering.net>
28177
28178         * modules/closeout (Depends-on): Add exitfail.
28179         Suggestion from Bruno Haible.
28180
28181 2003-07-19  Karl Berry  <karl@gnu.org>
28182
28183         * config/config.sub: update from prep.
28184
28185 2003-07-18  Paul Eggert  <eggert@twinsun.com>
28186
28187         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
28188         Remove.
28189         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
28190         to test that it can stand by itself.  Include "exitfail.h".
28191         Clients should set exit_failure instead.
28192         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
28193
28194 2003-07-18  Bruno Haible  <bruno@clisp.org>
28195
28196         * modules/getndelim2: New file.
28197         * modules/getline: Share files with module getndelim2.
28198         * modules/getnline: Depend on getndelim2 instead of sharing files with
28199         it. Add getnline.c to lib_SOURCES.
28200         * MODULES.html.sh (func_all_modules): Add getndelim2.
28201
28202 2003-07-18  Bruno Haible  <bruno@clisp.org>
28203
28204         * m4/getndelim2.m4: New file.
28205         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
28206         invoke gl_PREREQ_GETNDELIM2.
28207         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
28208         gl_PREREQ_GETNDELIM2.
28209         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
28210         gl_GETNDELIM2.
28211
28212 2003-07-18  Bruno Haible  <bruno@clisp.org>
28213
28214         * lib/getndelim2.h: New file.
28215         * lib/getndelim2.c: Make into a module of its own. Include config.h,
28216         getndelim2.h.
28217         (getndelim2): Make non-static. Change return type to ssize_t.
28218         * lib/getline.h: Change argument names.
28219         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
28220         * lib/getnline.c: Include getndelim2.h.
28221
28222 2003-07-18  Andreas Schwab  <schwab@suse.de>
28223
28224         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
28225
28226 2003-07-17  Karl Berry  <karl@gnu.org>
28227
28228         * config/config.sub: update from prep.
28229
28230 2003-07-17  Bruno Haible  <bruno@clisp.org>
28231
28232         * modules/getnline: New file.
28233         * modules/getline: Add lib/getndelim2.c to source file list.
28234         * MODULES.html.sh (func_all_modules): Add getnline.
28235
28236 2003-07-17  Bruno Haible  <bruno@clisp.org>
28237
28238         * m4/getnline.m4: New file.
28239
28240 2003-07-17  Bruno Haible  <bruno@clisp.org>
28241
28242         * m4/Makefile.am.in: Remove file.
28243         * m4/Makefile.am: Remove file.
28244         * m4/Makefile.in: Remove file.
28245
28246 2003-07-17  Bruno Haible  <bruno@clisp.org>
28247
28248         * lib/getnline.h: New file.
28249         * lib/getnline.c: New file.
28250         * lib/getndelim2.c: New file, extracted from getline.c.
28251         (getndelim2): Renamed from getdelim2, with added nmax argument.
28252         * lib/getline.c: Include getndelim2.c.
28253         (getdelim2): Moved out to getndelim2.c.
28254         (getline, getdelim): Update.
28255
28256 2003-07-17  Bruno Haible  <bruno@clisp.org>
28257
28258         * lib/Makefile.am: Remove file.
28259         * lib/Makefile.in: Remove file.
28260
28261 2003-07-17  Bruno Haible  <bruno@clisp.org>
28262
28263         * configure.in: Remove file.
28264         * Makefile.in: Remove file.
28265
28266 2003-07-17  Bruno Haible  <bruno@clisp.org>
28267
28268         * MODULES.html.sh: Put the </BODY> right before </HTML>.
28269
28270 2003-07-16  Karl Berry  <karl@gnu.org>
28271
28272         * config/srclist-update: was running fixlicense twice, which caused
28273                 texinfo.tex to be nullified for some reason.  Simplify,
28274                 $gplsrc is no longer needed as far as I can see?
28275
28276 2003-07-16  Jim Meyering  <jim@meyering.net>
28277
28278         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
28279
28280 2003-07-15  Paul Eggert  <eggert@twinsun.com>
28281
28282         * config/srclist.txt: Get the following files from gettext-runtime/intl
28283         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
28284         ref-del.sin.  From Bruno Haible.
28285         * config/srclist-update (fixfile): Change grep pattern again, since the
28286         previous fix didn't work (there was another trailing $).  Use
28287         '[$]' to escape the $s.
28288
28289 2003-07-15  Karl Berry  <karl@gnu.org>
28290
28291         * lib/vasnprintf.c: update from gettext.
28292
28293 2003-07-15  Karl Berry  <karl@gnu.org>
28294
28295         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
28296         gets expanded when surrounded by '$'.
28297
28298 2003-07-15  Jim Meyering  <jim@meyering.net>
28299
28300         * modules/save-cwd: Don't depend on error.  From Derek Price.
28301
28302 2003-07-15  Jim Meyering  <jim@meyering.net>
28303
28304         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
28305
28306 2003-07-14  Simon Josefsson  <jas@extundo.com>
28307
28308         * modules/mempcpy: New file.
28309         * MODULES.html.sh (func_all_modules): Add mempcpy.
28310
28311 2003-07-14  Simon Josefsson  <jas@extundo.com>
28312
28313         * m4/mempcpy.m4: New file.
28314
28315 2003-07-14  Simon Josefsson  <jas@extundo.com>
28316
28317         * lib/mempcpy.h: New file.
28318         * lib/mempcpy.c: New file.
28319
28320 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28321
28322         * modules/getdate, modules/posixtm: Depend on mktime.
28323
28324 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28325
28326         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
28327         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
28328         unicodeio.c, unicodeio.h, unlocked-io.h:
28329         Switch from LGPL to GPL.
28330
28331 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28332
28333         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
28334         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
28335         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
28336         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
28337         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
28338         updated automatically by ../config/srclist-update.  This changes
28339         their license from LPGL to GPL.
28340
28341 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28342
28343         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
28344         assumed to refer to the root of the most recent stable gettext version.
28345         * config/srclistvars.sh: Add defaults for eggert.
28346         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
28347         Match "This program" as well as "The program".  This is needed
28348         for gettext.
28349
28350 2003-07-14  Jim Meyering  <jim@meyering.net>
28351
28352         Don't emit diagnostics.  Let callers do that.
28353         * lib/save-cwd.c: Don't include "error.h".
28354         (save_cwd): Don't call error.  Ensure that errno is valid
28355         when returning nonzero.
28356
28357         * lib/save-cwd.h (restore_cwd): Update prototype.
28358         * lib/save-cwd.c (restore_cwd): Remove two parameters.
28359         Simplify.  Don't call error upon failure.  Let callers do that.
28360         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
28361         when auditing is enabled.  But don't bother updating the #if.
28362
28363 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
28364
28365         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
28366         it breaks C++ compilation.
28367         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
28368
28369 2003-07-10  Simon Josefsson  <jas@extundo.com>
28370
28371         * modules/strchrnul (Makefile.am): Add strchrnul.h.
28372
28373 2003-07-10  Jim Meyering  <jim@meyering.net>
28374
28375         * m4/clock_time.m4: Remove trailing blank.
28376         * m4/intmax_t.m4: Likewise.
28377
28378 2003-07-10  Jim Meyering  <jim@meyering.net>
28379
28380         * lib/vasnprintf.c: Remove trailing blanks.
28381         Make cpp indentation consistent.
28382
28383 2003-07-09  Paul Eggert  <eggert@twinsun.com>
28384
28385         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
28386         posixver.c, strftime.c, strnlen.c, strverscmp.c:
28387         Switch from LGPL to GPL.
28388
28389 2003-07-09  Paul Eggert  <eggert@twinsun.com>
28390
28391         * config/srclist.txt: Sort sublists.  Add
28392         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
28393         that differ from gnulib for one reason or another; we'd like this list
28394         to be smaller but for now let's document what we have.
28395
28396 2003-07-08  Paul Eggert  <eggert@twinsun.com>
28397
28398         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
28399         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
28400         and sweeter "eval x=$x".
28401         * config/srclist.txt: Get lib/argp* from glibc.
28402
28403 2003-07-07  Paul Eggert  <eggert@twinsun.com>
28404
28405         * lib/mktime.c: Fix some boundary cases and remove need for floating
28406         point.
28407
28408         Issue a compile-time diagnostic if time_t is floating point, or if
28409         two's complement arithmetic is not in effect, or if arithmetic
28410         right shift does not propagate the sign.  These assumptions were
28411         all in the original code but they weren't checked.
28412
28413         (TIME_T_MIDPOINT, verify): New macros.
28414         (__isleap): Remove; it has integer overflow problems.
28415         (leapyear): New function, without those problems.
28416         (ydhms_tm_diff): Remove; splitting into two parts.
28417         (ydhms_diff): New function, containing the arithmetic part of
28418         the old ydhms_tm_diff function.  Issue a compile-time
28419         diagnostic if we are not using C99 integer division.
28420         Avoid casts when possible.
28421         (guess_time_tm): New function, containing the checking part of
28422         the old ydhms_tm_diff function.  Return the new value, rather than
28423         the difference between it and the old.  Accept a new argument T
28424         so that *T specifies the old value.  Check for overflow in the result.
28425
28426         (__mktime_internal): Use a time_t offset, not a long int offset.
28427         This undoes the 2003-06-04 change, which is no longer needed now
28428         that we have better overflow checking.
28429         (localtime_offset): Likewise.
28430
28431         (__mktime_internal): Avoid harmful overflow on hosts where time_t
28432         and long are 64-bit but int is only 32-bit.
28433         (ydhms_diff): Use long int to store year1 and yday1.
28434         Issue a compile-time diagnostic if long int is not wide enough.
28435
28436         (__mktime_internal): Use long int to store adjusted year and yday.
28437         Use plain C rather than preprocessor commands, if that doesn't
28438         affect efficiency.
28439         Check for overflow (and try to repair) after each probe
28440         rather than checking only at the very end.  This avoids some bugs
28441         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
28442         does not equal GMT offset at maximum time).
28443         Use integer to check for overflow rather than floating point; this
28444         is more portable to non-IEEE hosts, and is a tad faster.
28445         When we detect that we are oscillating between two values,
28446         don't check whether tm_isdst has the requested value, since
28447         we already know the answer.  When tm_isdst has the wrong value,
28448         use a different heuristic to find the right one, based on the
28449         extreme values actually observed in practice in tz2003a,
28450         rather than the (overly optimistic) "previous 3 calendar quarters".
28451
28452         (not_equal_tm, print_tm, check_result): Use "const T" rather than
28453         "T const" to accommodate glibc style.
28454         (check_result): Use less-confusing report format.  "long" -> "long int.
28455         (main): Likewise.
28456         Don't loop if the iteration overflows time_t.
28457         Allow a negative step in the iteration.
28458
28459 2003-07-06  Karl Berry  <karl@gnu.org>
28460
28461         * config/depcomp: update from automake.
28462         * config/config.sub: update from prep.
28463
28464 2003-07-03  Karl Berry  <karl@gnu.org>
28465
28466         * config/config.guess: update from prep.
28467
28468 2003-07-01  Paul Eggert  <eggert@twinsun.com>
28469
28470         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
28471         xreadlink.c now includes it unconditionally.
28472
28473 2003-07-01  Paul Eggert  <eggert@twinsun.com>
28474
28475         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
28476         having it depend on HAVE_SYS_TYPES_H.
28477
28478 2003-07-01  Bruno Haible  <bruno@clisp.org>
28479
28480         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
28481         <sys/types.h> should be sufficient.
28482         Reported by Paul Eggert.
28483
28484 2003-06-26  Karl Berry  <karl@gnu.org>
28485
28486         * config/depcomp: update from automake.
28487
28488 2003-06-26  Bruno Haible  <bruno@clisp.org>
28489
28490         * modules/human: Depend on module stdbool.
28491
28492 2003-06-25  Bruno Haible  <bruno@clisp.org>
28493
28494         * modules/readlink: New file.
28495         * modules/xreadlink: Depend on it.
28496         * MODULES.html.sh (func_all_modules): Add readlink.
28497
28498 2003-06-25  Bruno Haible  <bruno@clisp.org>
28499
28500         * m4/readlink.m4: New file.
28501
28502 2003-06-25  Bruno Haible  <bruno@clisp.org>
28503
28504         * lib/readlink.c: New file.
28505
28506 2003-06-22  Karl Berry  <karl@gnu.org>
28507
28508         * config/srclist.txt: update mkinstalldirs from automake.
28509         * config/mkinstalldirs: update.
28510
28511 2003-06-22  Bruno Haible  <bruno@clisp.org>
28512
28513         Portability to mingw32.
28514         * m4/ssize_t.m4: New file, from GNU gettext.
28515         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
28516         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
28517
28518 2003-06-22  Bruno Haible  <bruno@clisp.org>
28519
28520         * modules/safe-read: Add m4/ssize_t.m4.
28521         * modules/xreadlink: Add m4/ssize_t.m4.
28522
28523 2003-06-20  Bruno Haible  <bruno@clisp.org>
28524
28525         Assume C89, so PARAMS isn't needed.
28526         * lib/unicodeio.h (PARAMS): Remove.
28527         * lib/unicodeio.c: Don't use PARAMS.
28528
28529 2003-06-18  Karl Berry  <karl@gnu.org>
28530
28531         * config/config.{guess,sub}: update from prep.
28532
28533 2003-06-18  Jim Meyering  <jim@meyering.net>
28534
28535         Merge changes from coreutils.
28536         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
28537         Remove explicit declarations of xmalloc and realloc.
28538         Include xalloc.h.
28539         (read_utmp): Remove anachronistic cast of xmalloc.
28540
28541 2003-06-17  Paul Eggert  <eggert@twinsun.com>
28542
28543         Assume C89, so PARAMS isn't needed.
28544         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
28545         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
28546         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
28547         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
28548         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
28549         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
28550         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
28551         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
28552         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
28553         lib/xstrtod.h, lib/xstrtol.h: Likewise.
28554         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
28555         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
28556         no longer needed. Anyway, config.h should always be included before any
28557         other file.
28558
28559 2003-06-11  Simon Josefsson  <jas@extundo.com>
28560
28561         * modules/sysexits: New file.
28562         * MODULES.html.sh (func_all_modules): Add sysexits.
28563
28564 2003-06-11  Simon Josefsson  <jas@extundo.com>
28565
28566         * lib/sysexit_.h: New file.
28567
28568 2003-06-11  Derek Price  <derek@ximbiot.com>
28569
28570         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
28571         necessary.
28572
28573 2003-06-11  Bruno Haible  <bruno@clisp.org>
28574
28575         * m4/sysexits.m4: New file.
28576
28577 2003-06-10  Simon Josefsson  <jas@extundo.com>
28578
28579         * lib/argp.h: New file, from glibc.
28580         * lib/argp-ba.c: New file, from glibc.
28581         * lib/argp-eexst.c: New file, from glibc.
28582         * lib/argp-fmtstream.c: New file, from glibc.
28583         * lib/argp-fmtstream.h: New file, from glibc.
28584         * lib/argp-fs-xinl.c: New file, from glibc.
28585         * lib/argp-help.c: New file, from glibc.
28586         * lib/argp-namefrob.h: New file, from glibc.
28587         * lib/argp-parse.c: New file, from glibc.
28588         * lib/argp-pv.c: New file, from glibc.
28589         * lib/argp-pvh.c: New file, from glibc.
28590         * lib/argp-xinl.c: New file, from glibc.
28591
28592 2003-06-10  Simon Josefsson  <jas@extundo.com>
28593
28594         * modules/strchrnul: New file.
28595
28596 2003-06-10  Simon Josefsson  <jas@extundo.com>
28597
28598         * modules/argp: New file.
28599
28600 2003-06-10  Simon Josefsson  <jas@extundo.com>
28601
28602         * m4/strchrnul.m4: New file.
28603
28604 2003-06-10  Simon Josefsson  <jas@extundo.com>
28605
28606         * lib/strchrnul.h: New file.
28607         * lib/strchrnul.c: New file.
28608
28609 2003-06-10  Bruno Haible  <bruno@clisp.org>
28610
28611         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
28612
28613 2003-06-07  Karl Berry  <karl@gnu.org>
28614
28615         * config/config.{guess,sub}: update from prep.
28616
28617 2003-06-07  Jim Meyering  <jim@meyering.net>
28618
28619         * modules/strtod: Use $(...) notation, not @...@ for
28620         AC_REPLACE'd variables.
28621         * modules/localcharset: Likewise.
28622
28623 2003-06-07  Jim Meyering  <jim@meyering.net>
28624
28625         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
28626         in place of my name in the copyright comment.
28627         Remove definition and uses of __P.
28628
28629         From coreutils.
28630         * lib/stat.c: Don't declare xmalloc explicitly.
28631         Instead, include "xalloc.h".
28632         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
28633         xrealloc, and xcalloc return values.
28634         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
28635         Improve comment.
28636         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
28637
28638 2003-06-07  Bruno Haible  <bruno@clisp.org>
28639
28640         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
28641         avoid AC_CONFIG_LINKS.
28642         * modules/fnmatch (Makefile.am): Use explicit creation rule for
28643         fnmatch.h, to avoid AC_CONFIG_LINKS.
28644         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
28645
28646 2003-06-07  Bruno Haible  <bruno@clisp.org>
28647
28648         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
28649         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
28650         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
28651         directory.
28652         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
28653         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
28654         directory.
28655
28656 2003-06-06  Jim Meyering  <jim@meyering.net>
28657
28658         Merge from coreutils.
28659         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
28660         Consolidate declarations and initializations of *_base* locals.
28661
28662         Merge from coreutils.
28663         This avoids a core dump on systems without GNU putenv,
28664         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
28665         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
28666         (unsetenv): New static function, from GNU libc.
28667         (rpl_putenv): Use it.
28668
28669         * lib/modechange.c: Remove trailing blanks.
28670
28671         Merge from coreutils.
28672         * lib/fsusage.c: Remove declaration of statfs.
28673         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
28674
28675         * lib/posixtm.c: Include <stdbool.h> unconditionally.
28676
28677 2003-06-06  Jim Meyering  <jim@meyering.net>
28678
28679         * lib/stdbool_.h: Renamed from stdbool.h.in.
28680
28681 2003-06-06  Jim Meyering  <jim@meyering.net>
28682             Bruno Haible  <bruno@clisp.org>
28683
28684         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
28685         Adjust Makefile.am snippet not to redirect directly to target.
28686         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
28687
28688 2003-06-05  Paul Eggert  <eggert@twinsun.com>
28689
28690         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
28691         mismatch, look in future quarters as well as past.  This fixes a
28692         bug when processing fall-backwards gaps immediately after a long
28693         period of daylight-saving time.
28694
28695         * lib/mktime.c: Assume freestanding C89 or better.
28696         (HAVE_LIMITS_H): Remove.  Assume it's 1.
28697         (__P): Remove; not used.
28698         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
28699         (mktime, not_equal_tm, print_tm, check_result,
28700         main): Use prototypes.  Use const * where appropriate.
28701         (main): Fix typo in testing code that uncovered by above changes.
28702         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
28703
28704 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28705
28706         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
28707         locale.h, localeconv.  This merges changes from coreutils.
28708
28709         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
28710         It can be removed after the next Autoconf is released.
28711         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
28712         needed.
28713
28714 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28715
28716         * lib/mktime.c: Fix Debian bug 177940
28717         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
28718         (localtime_offset): Now long int, not time_t, because we want it
28719         to be guaranteed to be signed.  All uses changed.
28720         (__mktime_internal): If overflow would occur when adding offset,
28721         don't add it.
28722
28723         Merge 'human' changes from coreutils.  Rewrite to support
28724         locale-specific notations like thousands separators.
28725         * lib/human.c: Simplify authorship notice.
28726         Include human.h immediately after config.h.
28727         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
28728         <limits.h>: Do not include, since human.h does.
28729         (SIZE_MAX, UINTMAX_MAX): New macros.
28730         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
28731         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
28732         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
28733         (power_letter): Renamed from suffixes.
28734         (generate_suffix_backwards): Remove.
28735         (adjust_value): Now takes int style (because of human.h changes)
28736         and long double value (for greater precision on some platforms).
28737         (group_number): New function.
28738         (human_readable): Use it.  Use integer options, not enum.
28739         Put the options before the sizes in the arg list.
28740         Support all the new options.
28741         The old human_readable function has been removed;
28742         use inttostr.h instead.
28743         (human_readable, default_block_size, humblock):
28744         Use uintmax_t, not int, for block sizes.
28745         (human_readable_inexact, block_size_types): Remove.
28746         (block_size_opts): New constant.
28747         (human_options): Renamed from human_block_size, with new signature
28748         that allows block sizes up to UINTMAX_MAX.  All callers changed.
28749         * lib/human.h: Add copyright and authorship notice.
28750         Include <limits.h> and <stdbool.h> unconditionally.
28751         (PARAMS): Remove.  All uses removed.
28752         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
28753         (enum human_inexact_style): Remove tag; now a nameless enum.
28754         (human_floor, human_ceiling, human_round_to_even): Now have
28755         values 2, 0, 1 rather than -1, 1, 0.
28756         (human_group_digits, human_suppress_point_zero, human_autoscale,
28757         human_base_1024, human_SI, human_B): New constants.
28758         (human_readable_inexact, human_block_size): Remove.
28759         (human_readable): Size args are now uintmax_t, not int.
28760         (human_options): New decl.
28761
28762         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
28763         unnecessary now that we assume C89 or better.  This change
28764         imported from coreutils.
28765
28766         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
28767         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
28768         in the 2003-05-30 sync from glibc.
28769
28770         .h files should stand alone, but we shouldn't include <sys/types.h>
28771         if we can get away with just <stddef.h>.
28772
28773         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
28774         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
28775         rather than <sys/types.h>, as we merely need size_t.
28776         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
28777         to get size_t.
28778         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
28779         Include <stdio.h>, to get FILE.
28780         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
28781         memcasecmp.h has included <stddef.h> and all we need is size_t.
28782         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
28783         our interface, instead of including <sys/types.h>
28784
28785 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28786
28787         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
28788         now, as glibc mktime is buggy on non-glibc systems.
28789
28790 2003-06-03  Karl Berry  <karl@gnu.org>
28791
28792         * config/config.sub: update from prep.
28793
28794 2003-06-02  Paul Eggert  <eggert@twinsun.com>
28795
28796         [from coreutils]
28797         Fix some minor time-related bugs with POSIX time arguments.
28798         Some valid time stamps were being rejected (notably -1, and
28799         time stamps before 1900 on 64-bit hosts).  And some invalid
28800         time stamps were being accepted, e.g. September 31.
28801
28802         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
28803         that we can return (time_t) -1 successfully.
28804         * lib/posixtm.c: Likewise.
28805         [HAVE_STDBOOL_H]: Include <stdbool.h>.
28806         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
28807         (t): Remove static var.
28808         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
28809         of static var.  All uses changed.
28810         (year): Do not reject years before 1900; they can occur with
28811         64-bit time_t.
28812         (posix_time_parse): Do not check for out-of-range components;
28813         that is now the caller's responsibility, since our checks were
28814         only approximations.
28815         (posixtime): Use mktime to check for out-of-range components,
28816         since it knows them exactly.
28817         If mktime returns (time_t) -1, check whether an error actually occurred
28818         by invoking localtime on -1.
28819         (main) [TEST_POSIXTIME]: Check for input data errors, and report
28820         posixtime failures better.
28821         Improve the test data (in comments only).
28822
28823 2003-06-02  Karl Berry  <karl@gnu.org>
28824
28825         * config/mkinstalldirs (version): new variable.
28826         (--version): new option.
28827         (usage): improve message.
28828
28829 2003-05-30  Karl Berry  <karl@gnu.org>
28830
28831         * lib/mktime.c: update from libc.
28832
28833 2003-05-30  Bruno Haible  <bruno@clisp.org>
28834
28835         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
28836         * config/config.rpath: Upgrade to gettext-0.12.1.
28837
28838 2003-05-30  Bruno Haible  <bruno@clisp.org>
28839
28840         * m4/gettext.m4: Upgrade to gettext-0.12.1.
28841         * m4/nls.m4: New file, from gettext-0.12.1.
28842         * m4/po.m4: New file, from gettext-0.12.1.
28843         * m4/progtest.m4: Upgrade to gettext-0.12.1.
28844
28845 2003-05-30  Bruno Haible  <bruno@clisp.org>
28846
28847         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
28848         * lib/localcharset.h: Likewise.
28849         * lib/localcharset.c: Likewise.
28850
28851 2003-05-29  Karl Berry  <karl@gnu.org>
28852
28853         * config/config.rpath: update from gettext.
28854
28855 2003-05-28  Paul Eggert  <eggert@twinsun.com>
28856
28857         Assume the headers required for C89 freestanding compilers.
28858         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
28859         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
28860         * m4/human.m4 (gl_HUMAN): Likewise.
28861         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
28862         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
28863         * m4/userspec.m4 (gl_USERSPEC): Likewise.
28864         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
28865         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
28866         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
28867
28868 2003-05-28  Paul Eggert  <eggert@twinsun.com>
28869
28870         Assume the headers required for C89 freestanding compilers.
28871         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
28872         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
28873         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
28874         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
28875         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
28876         define, since <limits.h> is guaranteed to do that.
28877         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
28878         * lib/exclude.c: Include <stdbool.h> unconditionally.
28879         * lib/tempname.c: Include <stddef.h> unconditionally.
28880         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
28881         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
28882         <stddef.h> does that.
28883         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
28884         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
28885         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
28886         needed.
28887         * lib/xstrtol.c: Likewise.
28888         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
28889         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
28890
28891         * lib/addext.c (addext): Use assignment rather than cast, to avoid
28892         warnings on some platforms.
28893
28894         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
28895         arbitrarily.
28896
28897 2003-05-26  Jim Meyering  <jim@meyering.net>
28898
28899         Merge in a change from coreutils:
28900         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
28901         that is guaranteed to be `no'.  Use `no_such_member' to indicate
28902         that condition, rather than `-1' which is slightly misleading.
28903         Change the name of the cache variable to have the gl_ prefix.
28904         Prompted by a patch from Richard Dawe for DJGPP.
28905
28906 2003-05-24  Karl Berry  <karl@gnu.org>
28907
28908         * config/config.guess: update from prep.
28909
28910 2003-05-22  Karl Berry  <karl@gnu.org>
28911
28912         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
28913
28914 2003-05-20  Karl Berry  <karl@gnu.org>
28915
28916         * config/config.guess: update from prep.
28917
28918 2003-05-18  Karl Berry  <karl@gnu.org>
28919
28920         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
28921         might actually be set by the user.
28922
28923         * config/depcomp, install-sh, mdate-sh: update from automake.
28924
28925 2003-05-17  Bruno Haible  <bruno@clisp.org>
28926
28927         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
28928         invalid expansion for AC_EGREP_CPP.
28929         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28930         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28931         Suggested by Akim Demaille <akim@epita.fr> in
28932         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
28933
28934 2003-05-12  Jim Meyering  <jim@meyering.net>
28935
28936         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
28937         the space-padded-by-default conversion specifiers, %e, %k, %l.
28938
28939 2003-05-12  Bruno Haible  <bruno@clisp.org>
28940
28941         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
28942         the string is longer than 4 KB.
28943
28944 2003-05-11  Karl Berry  <karl@gnu.org>
28945
28946         * config/config.{guess,sub}: update from prep.
28947
28948 2003-05-09  Bruno Haible  <bruno@clisp.org>
28949
28950         * modules/error: Add m4/strerror_r.m4 to file list.
28951
28952 2003-05-03  Bruno Haible  <bruno@clisp.org>
28953
28954         Upgrade to Unicode-4.0.
28955         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
28956         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
28957         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
28958         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
28959         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
28960         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
28961         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
28962         Change width of U+E0100..U+E01EF from 1 to 0.
28963
28964 2003-04-25  Jim Meyering  <jim@meyering.net>
28965
28966         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
28967         of type size_t, not int.
28968
28969 2003-04-25  Bruno Haible  <bruno@clisp.org>
28970
28971         * lib/copy-file.c: Include <stddef.h>, for size_t.
28972
28973 2003-04-21  Paul Eggert  <eggert@twinsun.com>
28974
28975         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
28976         code which expansion is under static control.  Patch imported from
28977         Akim Demaille's patch to Bison; see
28978         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
28979
28980 2003-04-14  Bruno Haible  <bruno@clisp.org>
28981
28982         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
28983
28984 2003-04-11  Jim Meyering  <jim@meyering.net>
28985
28986         Merge changes from Coreutils.
28987
28988         2003-03-22  Jim Meyering  <jim@meyering.net>
28989
28990         * lib/strftime.c (widen): Cast alloca return value to proper type.
28991
28992         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
28993
28994         From GNU libc.
28995         * lib/strftime.c (my_strftime): Handle very large width
28996         specifications for numeric values correctly.  Improve checks for
28997         overflow.
28998
28999         2003-01-19  Jim Meyering  <jim@meyering.net>
29000
29001         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
29002         definitions.
29003         (nl_get_alt_digit) [! defined my_strftime]: Define.
29004         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
29005         _nl_get_alt_digit and _nl_get_walt_digit.
29006
29007         * lib/strftime.c (my_strftime): Merge in locale-related changes from
29008         libc. These changes have no effect outside of _LIBC.
29009
29010 2003-04-10  Bruno Haible  <bruno@clisp.org>
29011
29012         * modules/findprog: New file.
29013         * MODULES.html.sh (func_all_modules): Add it.
29014
29015 2003-04-10  Bruno Haible  <bruno@clisp.org>
29016
29017         * m4/findprog.m4: New file.
29018         * m4/eaccess.m4: New file.
29019
29020 2003-04-10  Bruno Haible  <bruno@clisp.org>
29021
29022         * lib/findprog.h: New file, from GNU gettext.
29023         * lib/findprog.c: New file, from GNU gettext.
29024
29025 2003-04-05  Jim Meyering  <jim@meyering.net>
29026
29027         Merge changes from Coreutils.
29028
29029         * lib/exclude.h (PARAMS): Remove definition and uses.
29030         * lib/exclude.c: Remove uses of `PARAMS'.
29031
29032         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
29033         Add test-cases for DOS filenames. Declare program_name.
29034         (main): Set up program_name.  Patch by Rich Dawe.
29035
29036         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
29037         error from mntctl.
29038         Use mntctl's return value to drive the entry-processing loop, since
29039         we can't rely on the value of the vmt_length member in the last
29040         entry.  On some systems doing so could result in exhausting
29041         virtual memory.  Based in part on a patch from Mike Jetzer.
29042
29043 2003-04-04  Bruno Haible  <bruno@clisp.org>
29044
29045         * modules/linebreak: New file.
29046         * MODULES.html.sh (func_all_modules): Add it.
29047
29048 2003-04-04  Bruno Haible  <bruno@clisp.org>
29049
29050         * m4/linebreak.m4: New file.
29051
29052 2003-04-04  Bruno Haible  <bruno@clisp.org>
29053
29054         * lib/linebreak.h: New file, from GNU gettext.
29055         * lib/linebreak.c: New file, from GNU gettext with slight
29056         modifications.
29057         * lib/lbrkprop.h: New file, from GNU gettext.
29058
29059 2003-04-03  Bruno Haible  <bruno@clisp.org>
29060
29061         * modules/utf8-ucs4: New file.
29062         * modules/utf16-ucs4: New file.
29063         * modules/ucs4-utf8: New file.
29064         * modules/ucs4-utf16: New file.
29065         * MODULES.html.sh (func_all_modules): Add them.
29066
29067 2003-04-03  Bruno Haible  <bruno@clisp.org>
29068
29069         * m4/utf-ucs4.m4: New file.
29070         * m4/ucs4-utf.m4: New file.
29071
29072 2003-04-03  Bruno Haible  <bruno@clisp.org>
29073
29074         * lib/utf8-ucs4.h: New file, from GNU gettext.
29075         * lib/utf16-ucs4.h: New file, from GNU gettext.
29076         * lib/ucs4-utf8.h: New file, from GNU gettext.
29077         * lib/ucs4-utf16.h: New file, from GNU gettext.
29078
29079 2003-04-02  Bruno Haible  <bruno@clisp.org>
29080
29081         * modules/binary-io: New file.
29082         * MODULES.html.sh (func_all_modules): Add it.
29083
29084 2003-04-02  Bruno Haible  <bruno@clisp.org>
29085
29086         * lib/binary-io.h: New file, from GNU gettext.
29087
29088 2003-04-01  Bruno Haible  <bruno@clisp.org>
29089
29090         * modules/pathname: New file.
29091         * MODULES.html.sh (func_all_modules): Add it.
29092
29093 2003-04-01  Bruno Haible  <bruno@clisp.org>
29094
29095         * lib/pathname.h: New file, from GNU gettext.
29096         * lib/concatpath.c: New file, from GNU gettext.
29097
29098 2003-03-30  Bruno Haible  <bruno@clisp.org>
29099
29100         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
29101
29102 2003-03-30  Bruno Haible  <bruno@clisp.org>
29103
29104         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
29105         function chown() doesn't exist.
29106
29107 2003-03-28  Bruno Haible  <bruno@clisp.org>
29108
29109         * modules/copy-file: New file.
29110         * MODULES.html.sh (func_all_modules): Add it.
29111
29112 2003-03-28  Bruno Haible  <bruno@clisp.org>
29113
29114         * m4/copy-file.m4: New file.
29115
29116 2003-03-28  Bruno Haible  <bruno@clisp.org>
29117
29118         * lib/copy-file.h: New file, from GNU gettext.
29119         * lib/copy-file.c: New file, from GNU gettext.
29120
29121 2003-03-18  Jim Meyering  <jim@meyering.net>
29122
29123         * lib/quote.c (quote_n): Fix typo in comment.
29124
29125 2003-03-18  Bruno Haible  <bruno@clisp.org>
29126
29127         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
29128         checking.
29129         * m4/onceonly_2_57.m4: Likewise.
29130
29131 2003-03-17  Bruno Haible  <bruno@clisp.org>
29132
29133         * m4/onceonly.m4: Require autoconf 2.54 or newer.
29134         (m4_quote): Remove macro.
29135         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
29136
29137 2003-03-14  Jim Meyering  <jim@meyering.net>
29138
29139         Merge changes from Coreutils.
29140         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
29141         to be const, in order to avoid warnings.
29142         (obstack_room): Likewise.
29143         (obstack_empty_p): Likewise.
29144
29145 2003-03-14  Bruno Haible  <bruno@clisp.org>
29146
29147         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
29148         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
29149
29150 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29151
29152         Merge changes from Bison.
29153         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
29154         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
29155         when compiling Bison 1.875's `bitset bset = obstack_alloc
29156         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
29157         * lib/hash.c: Include <stdbool.h> unconditionally.
29158
29159 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29160
29161         * m4/onceonly.m4 (m4_quote): New macro.
29162         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
29163         Quote AC_FOREACH variable-expansions properly.
29164
29165 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29166
29167         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
29168
29169 2003-03-09  Paul Eggert  <eggert@twinsun.com>
29170
29171         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
29172         Reported by Bruce Becker; see:
29173         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
29174
29175 2003-03-03  Paul Eggert  <eggert@twinsun.com>
29176             Bruno Haible  <bruno@clisp.org>
29177
29178         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
29179         Reported by John Hughes, see
29180         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
29181
29182 2003-02-20  Bruno Haible  <bruno@clisp.org>
29183
29184         * MODULES.html.sh (func_all_modules): Add poll.
29185
29186 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29187
29188         * modules/poll: New file.
29189
29190 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29191
29192         * lib/poll_.h: New file.
29193         * lib/poll.c: New file.
29194
29195 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29196
29197         * m4/poll.m4: New file.
29198
29199 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29200
29201         * modules/mathl: New file.
29202
29203 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29204
29205         * lib/mathl.h: New file.
29206         * lib/acosl.c: New file.
29207         * lib/asinl.c: New file.
29208         * lib/atanl.c: New file.
29209         * lib/ceill.c: New file.
29210         * lib/cosl.c: New file.
29211         * lib/expl.c: New file.
29212         * lib/floorl.c: New file.
29213         * lib/frexpl.c: New file.
29214         * lib/ldexpl.c: New file.
29215         * lib/logl.c: New file.
29216         * lib/sincosl.c: New file.
29217         * lib/sinl.c: New file.
29218         * lib/sqrtl.c: New file.
29219         * lib/tanl.c: New file.
29220         * lib/trigl.c: New file.
29221         * lib/trigl.h: New file.
29222
29223 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29224
29225         * m4/mathl.m4: New file.
29226
29227 2003-02-18  Bruno Haible  <bruno@clisp.org>
29228
29229         * MODULES.html.sh (func_all_modules): Add mathl.
29230
29231 2003-02-17  Bruno Haible  <bruno@clisp.org>
29232
29233         * modules/mkdtemp: New module.
29234         * MODULES.html.sh (func_all_modules): Add it.
29235
29236 2003-02-17  Bruno Haible  <bruno@clisp.org>
29237
29238         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
29239
29240 2003-02-17  Bruno Haible  <bruno@clisp.org>
29241
29242         * lib/mkdtemp.h: New file, from GNU gettext.
29243         * lib/mkdtemp.c: New file, from GNU gettext.
29244
29245 2003-02-02  Jim Meyering  <jim@meyering.net>
29246
29247         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
29248         e.g. glibc-2.2.93.
29249
29250 2003-01-31  Bruno Haible  <bruno@clisp.org>
29251
29252         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
29253         'rpl_rename'.
29254         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
29255         'rpl_strnlen'.
29256         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
29257         'rpl_strtod'.
29258         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
29259         'rpl_utime'.
29260
29261 2003-01-31  Bruno Haible  <bruno@clisp.org>
29262
29263         * lib/rename.c: #undef rename before defining rpl_rename.
29264         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
29265
29266 2003-01-30  Bruno Haible  <bruno@clisp.org>
29267
29268         * modules/vasnprintf, modules/vasprintf: New modules.
29269         * MODULES.html.sh (func_all_modules): Add them.
29270
29271 2003-01-30  Bruno Haible  <bruno@clisp.org>
29272
29273         * m4/signed.m4: New file, from GNU gettext.
29274         * m4/longdouble.m4: New file, from GNU gettext.
29275         * m4/wchar_t.m4: New file, from GNU gettext.
29276         * m4/wint_t.m4: New file, from GNU gettext.
29277         * m4/vasnprintf.m4: New file.
29278         * m4/vasprintf.m4: New file.
29279
29280 2003-01-30  Bruno Haible  <bruno@clisp.org>
29281
29282         * lib/printf-args.h: New file, from GNU gettext.
29283         * lib/printf-args.c: New file, from GNU gettext.
29284         * lib/printf-parse.h: New file, from GNU gettext.
29285         * lib/printf-parse.c: New file, from GNU gettext.
29286         * lib/vasnprintf.h: New file, from GNU gettext.
29287         * lib/vasnprintf.c: New file, from GNU gettext.
29288         * lib/asnprintf.c: New file, from GNU gettext.
29289         * lib/vasprintf.h: New file, from GNU gettext with modifications.
29290         * lib/vasprintf.c: New file, from GNU gettext.
29291         * lib/asprintf.c: New file, from GNU gettext.
29292
29293 2003-01-29  Bruno Haible  <bruno@clisp.org>
29294
29295         * modules/stpncpy: New module.
29296         * MODULES.html.sh (func_all_modules): Add it.
29297
29298 2003-01-29  Bruno Haible  <bruno@clisp.org>
29299
29300         * m4/stpncpy.m4: New file.
29301
29302 2003-01-29  Bruno Haible  <bruno@clisp.org>
29303
29304         * lib/stpncpy.h: New file, from GNU gettext with modifications.
29305         * lib/stpncpy.c: New file, from GNU gettext with modifications.
29306
29307 2003-01-28  Bruno Haible  <bruno@clisp.org>
29308
29309         * modules/c-ctype: New module.
29310         * MODULES.html.sh (func_all_modules): Add it.
29311
29312 2003-01-28  Bruno Haible  <bruno@clisp.org>
29313
29314         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
29315         Paul Eggert.
29316         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
29317         Paul Eggert.
29318
29319 2003-01-27  Bruno Haible  <bruno@clisp.org>
29320
29321         * modules/xsetenv: New module.
29322         * MODULES.html.sh (func_all_modules): Add it.
29323
29324 2003-01-27  Bruno Haible  <bruno@clisp.org>
29325
29326         * lib/xsetenv.h: New file, from GNU gettext.
29327         * lib/xsetenv.c: New file, from GNU gettext.
29328
29329 2003-01-23  Jim Meyering  <jim@meyering.net>
29330
29331         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
29332         from working on systems without dirfd (at least Irix and OSF1/Tru64).
29333
29334 2003-01-23  Bruno Haible  <bruno@clisp.org>
29335
29336         * modules/minmax: New module.
29337         * MODULES.html.sh (func_all_modules): Add it.
29338
29339 2003-01-23  Bruno Haible  <bruno@clisp.org>
29340
29341         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
29342         Eggert.
29343
29344 2003-01-22  Bruno Haible  <bruno@clisp.org>
29345
29346         * modules/exit: New module.
29347         * MODULES.html.sh (func_all_modules): Add it.
29348
29349 2003-01-22  Bruno Haible  <bruno@clisp.org>
29350
29351         * lib/exit.h: New file, from GNU gettext.
29352
29353 2003-01-19  Bruno Haible  <bruno@clisp.org>
29354
29355         * gnulib-tool: Recognize option --extract-maintainer.
29356         (func_get_maintainer): New function.
29357         * modules/*: Add Maintainer entry.
29358
29359 2003-01-16  Jim Meyering  <jim@meyering.net>
29360
29361         * m4/regex.m4: The `regex' struct is both input and output.
29362         Initialize it before each use.  Patch by Tim Waugh.
29363
29364 2003-01-16  Bruno Haible  <bruno@clisp.org>
29365
29366         * MODULES.html.sh: Add a table of contents. Add the module name as
29367         leftmost column. Add hyperlinks.
29368
29369 2003-01-15  Bruno Haible  <bruno@clisp.org>
29370
29371         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
29372
29373 2003-01-15  Bruno Haible  <bruno@clisp.org>
29374
29375         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
29376         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
29377         suffix.
29378
29379 2003-01-15  Bruno Haible  <bruno@clisp.org>
29380
29381         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
29382
29383 2003-01-15  Bruno Haible  <bruno@clisp.org>
29384
29385         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
29386         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
29387
29388 2003-01-14  Jim Meyering  <jim@meyering.net>
29389
29390         * lib/same.c (same_name): Tweak a comment.
29391
29392 2003-01-14  Bruno Haible  <bruno@clisp.org>
29393
29394         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
29395         when a string comparison is sufficient.
29396
29397 2003-01-14  Bruno Haible  <bruno@clisp.org>
29398
29399         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
29400         'unsigned int'.
29401
29402 2003-01-14  Bruno Haible  <bruno@clisp.org>
29403
29404         * lib/hash-pjw.c: Add comment about low quality of this function.
29405
29406 2003-01-13  Bruno Haible  <bruno@clisp.org>
29407
29408         * modules/stpcpy: Distribute lib/stpcpy.h.
29409         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
29410
29411 2003-01-13  Bruno Haible  <bruno@clisp.org>
29412
29413         * modules/*: Add a description.
29414         * modules/strpbrk: Fix Makefile.am snippet.
29415         * modules/strtoimax: Fix dependencies.
29416         * modules/strtoumax: Likewise.
29417
29418 2003-01-13  Bruno Haible  <bruno@clisp.org>
29419
29420         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
29421         * modules/alloca (Makefile.am): All object files depend on alloca.h.
29422         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
29423
29424 2003-01-13  Bruno Haible  <bruno@clisp.org>
29425
29426         * gnulib-tool (func_create_testdir): Store config/* files in the main
29427         directory.
29428         * config.rpath: Move to ...
29429         * config/config.rpath: ... here.
29430         * modules/gettext: Contains config/config.rpath, not config.rpath.
29431         * modules/iconv: Likewise.
29432
29433 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29434
29435         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29436         to avoid collisions with libcurses and libreadline.
29437
29438         * m4/getstr.m4: Remove.
29439         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
29440
29441 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29442
29443         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29444         to avoid collisions with libcurses and libreadline.
29445
29446         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
29447         * lib/getstr.h, getstr.c: Remove.
29448         * lib/getline.c: Include "getline.h", to check interface.
29449         Move body of old getstr.c here: this defines MIN_CHUNK and
29450         declares getdelim2, which is renamed from getstr.
29451         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
29452
29453         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
29454         All uses changed.
29455         * lib/linebuffer.h: Likewise.
29456         (readline): Remove backward-compatibility macro.
29457
29458 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29459
29460         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29461         to avoid collisions with libcurses and libreadline.
29462         * getstr: Remove.
29463         * MODULES.html.sh: Remove getstr.
29464         * modules/getline: Depend on unlocked-io, not getstr.
29465
29466 2003-01-12  Jim Meyering  <jim@meyering.net>
29467
29468         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
29469
29470 2003-01-10  Bruno Haible  <bruno@clisp.org>
29471
29472         * modules/alloca: Change Makefile.am requirements. Simplify Include
29473         requirements. Add lib/alloca_.h to file list.
29474
29475 2003-01-10  Bruno Haible  <bruno@clisp.org>
29476
29477         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
29478
29479 2003-01-10  Bruno Haible  <bruno@clisp.org>
29480
29481         * lib/alloca_.h: New file.
29482         * lib/getdate.y: Unconditionally include alloca.h.
29483         * lib/makepath.c: Likewise.
29484         * lib/setenv.c: Likewise.
29485         * lib/userspec.c: Likewise.
29486
29487 2003-01-09  Karl Berry  <karl@gnu.org>
29488
29489         * MODULES.html.sh: include `dirname $0` in PATH, to find
29490         gnulib-tool.
29491
29492 2003-01-09  Bruno Haible  <bruno@clisp.org>
29493
29494         * modules/stdbool: Change configure.ac, Makefile.am requirements.
29495         Simplify Include requirements. Add lib/stdbool.h.in to file list.
29496
29497 2003-01-09  Bruno Haible  <bruno@clisp.org>
29498
29499         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
29500
29501 2003-01-09  Bruno Haible  <bruno@clisp.org>
29502
29503         * lib/stdbool.h.in: New file.
29504
29505 2003-01-09  Bruno Haible  <bruno@clisp.org>
29506
29507         * gnulib-tool (func_all_modules): Ignore files ending in ~.
29508         * MODULES.html.sh: Likewise.
29509
29510 2003-01-08  Jim Meyering  <jim@meyering.net>
29511
29512         * lib/full-write.c: Undefine and define-away `const' after inclusion
29513         of errno.h, not before.  Suggestion from Bruno Haible.
29514
29515 2003-01-08  Bruno Haible  <bruno@clisp.org>
29516
29517         * modules/full-read: Depend on full-write.
29518
29519 2003-01-08  Bruno Haible  <bruno@clisp.org>
29520
29521         * lib/safe-read.c: Include specification header first, to ensure its
29522         selfcontainedness.
29523         * lib/full-write.c: Likewise.
29524
29525 2003-01-07  Jim Meyering  <jim@meyering.net>
29526
29527         * lib/full-write.c: Rework so that it may serve to define full_read,
29528         too.
29529         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
29530
29531 2003-01-07  Bruno Haible  <bruno@clisp.org>
29532
29533         * lib/strtoimax.c: Include <stdint.h> as an alternative to
29534         <inttypes.h>.
29535         * lib/xstrtol.h: Likewise.
29536         * lib/xstrtoimax.c: Likewise.
29537         * lib/xstrtoumax.c: Likewise.
29538         * lib/human.h: Likewise.
29539
29540         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
29541         on systems that have <inttypes.h> but not <stdint.h>.
29542
29543 2003-01-07  Bruno Haible  <bruno@clisp.org>
29544
29545         * MODULES.html.sh: Add copyright notice.
29546         (missed_files): Omit CVS directory entries.
29547         (func_module): Make it work with sed-3.02.
29548         * MODULES.txt: Remove file.
29549
29550 2003-01-06  Jim Meyering  <jim@meyering.net>
29551
29552         * lib/version-etc.c: Update year in translatable copyright string.
29553
29554 2003-01-03  Karl Berry  <karl@gnu.org>
29555
29556         * config/config.{guess,sub}: update from prep.
29557
29558 2003-01-02  Karl Berry  <karl@gnu.org>
29559
29560         * doc/COPYING.DOC: belatedly updated to 1.2.
29561
29562 2003-01-01  Karl Berry  <karl@gnu.org>
29563
29564         * gnulib-tool (func_verify_module): report module name $module in
29565         error message, not $1.
29566         * gnulib-tool (create-testdir): don't complain if destdir couldn't
29567         be created, only if it doesn't exist.
29568         * gnulib-tool (last_checkin_date): don't expand the $Date here.
29569
29570 2002-12-31  Paul Eggert  <eggert@twinsun.com>
29571
29572         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
29573
29574 2002-12-31  Paul Eggert  <eggert@twinsun.com>
29575
29576         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
29577         memcmp if strcoll doesn't work.
29578
29579 2002-12-31  Bruno Haible  <bruno@clisp.org>
29580
29581         * lib/utime.c (utime_null): No need to call ftruncate if the file was
29582         nonempty.
29583
29584 2002-12-31  Bruno Haible  <bruno@clisp.org>
29585
29586         * lib/memcoll.c (STRCOLL): New macro.
29587         (memcoll): Use it.
29588
29589 2002-12-31  Bruno Haible  <bruno@clisp.org>
29590
29591         * lib/localcharset.h: New file.
29592         * lib/localcharset.c: Include it.
29593         * lib/unicodeio.c: Likewise.
29594
29595 2002-12-31  Bruno Haible  <bruno@clisp.org>
29596
29597         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
29598         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
29599
29600 2002-12-31  Bruno Haible  <bruno@clisp.org>
29601
29602         * lib/getline.h: Include <stddef.h>, for size_t.
29603
29604         * lib/unicodeio.h: Include <stddef.h>, for size_t.
29605         * lib/unicodeio.c: Don't include <stddef.h>.
29606
29607 2002-12-31  Bruno Haible  <bruno@clisp.org>
29608
29609         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
29610         HAVE_TM_ZONE.
29611
29612 2002-12-24  Karl Berry  <karl@gnu.org>
29613
29614         * config/config.guess: update from prep.
29615
29616 2002-12-24  Bruno Haible  <bruno@clisp.org>
29617
29618         General infrasructure.
29619         * m4/README: Rewritten.
29620         * m4/onceonly.m4: New file.
29621         * m4/onceonly_2_57.m4: New file.
29622
29623         Module atexit.
29624         * m4/atexit.m4: New file.
29625
29626         Module strtod.
29627         * m4/strtod.m4: New file.
29628
29629         Module strtol.
29630         * m4/strtol.m4: New file.
29631
29632         Module strtoul.
29633         * m4/strtoul.m4: New file.
29634
29635         Module memchr.
29636         * m4/memchr.m4: New file.
29637
29638         Module memcmp.
29639         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
29640         (jm_FUNC_MEMCMP): Invoke it.
29641
29642         Module memcpy.
29643         * m4/memcpy.m4: New file.
29644
29645         Module memmove.
29646         * m4/memmove.m4: New file.
29647
29648         Module memset.
29649         * m4/memset.m4: New file.
29650
29651         Module strcspn.
29652         * m4/strcspn.m4: New file.
29653
29654         Module strpbrk.
29655         * m4/strpbrk.m4: New file.
29656
29657         Module strstr.
29658         * m4/strstr.m4: New file.
29659
29660         Module strerror.
29661         * m4/strerror.m4: New file.
29662
29663         Module mktime.
29664         * m4/mktime.m4: Renamed from jm-mktime.m4.
29665         (gl_PREREQ_MKTIME): New macro.
29666         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
29667
29668         Module malloc.
29669         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
29670         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
29671         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
29672
29673         Module realloc.
29674         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
29675         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
29676         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
29677
29678         Module strftime.
29679         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
29680         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
29681         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
29682         gl_TM_GMTOFF.
29683         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
29684
29685         Module xalloc.
29686         * m4/xalloc.m4: New file.
29687
29688         Module alloca.
29689         * m4/alloca.m4: New file.
29690
29691         Module putenv.
29692         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
29693         (jm_FUNC_PUTENV): Invoke it.
29694
29695         Module setenv.
29696         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
29697         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
29698         when invoked twice.
29699         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
29700         gt_FUNC_SETENV.
29701
29702         Module memrchr.
29703         * m4/memrchr.m4: New file.
29704
29705         Module stpcpy.
29706         * m4/stpcpy.m4: New file.
29707
29708         Module strcase.
29709         * m4/strcase.m4: New file.
29710
29711         Module strdup.
29712         * m4/strdup.m4: New file.
29713
29714         Module strnlen.
29715         * m4/strnlen.m4: New file.
29716
29717         Module strndup.
29718         * m4/strndup.m4: New file.
29719
29720         Module xstrtod.
29721         * m4/xstrtod.m4: New file.
29722
29723         Module xstrtol.
29724         * m4/xstrtol.m4: New file.
29725
29726         Module getdate.
29727         * m4/getdate.m4: New file.
29728
29729         Module unlocked-io.
29730         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
29731         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
29732         * m4/jm-glibc-io.m4n: Remove file.
29733
29734         Module long-options.
29735         * m4/long-options.m4: New file.
29736
29737         Module md5.
29738         * m4/md5.m4: New file.
29739
29740         Module sha.
29741         * m4/sha.m4: New file.
29742
29743         Module getstr.
29744         * m4/getstr.m4: New file.
29745
29746         Module getline.
29747         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
29748         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
29749         <sys/types.h>, for size_t. Use the function name gnu_getline, not
29750         simply getline. Infoke gl_PREREQ_GETLINE.
29751
29752         Module obstack.
29753         * m4/obstack.m4: New file.
29754
29755         Module hash.
29756         * m4/hash.m4: New file.
29757
29758         Module readtokens.
29759         * m4/readtokens.m4: New file.
29760
29761         Module strverscmp.
29762         * m4/strverscmp.m4: New file.
29763
29764         Module stdbool.
29765         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
29766         OSF/1.
29767
29768         Module strtoll.
29769         * m4/strtoll.m4: New file.
29770
29771         Module strtoull.
29772         * m4/strtoull.m4: New file.
29773
29774         Module strtoimax.
29775         * m4/strtoimax.m4: New file.
29776
29777         Module strtoumax.
29778         * m4/strtoumax.m4: New file.
29779
29780         Module xstrtoimax.
29781         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
29782         jm_AC_PREREQ_XSTRTOIMAX.
29783         Moved the strtol prerequisites to strtol.m4.
29784         Moved the strtoll prerequisites to strtoll.m4.
29785         Moved the strtoimax prerequisites to strtoimax.m4.
29786
29787         Module xstrtoumax.
29788         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
29789         jm_AC_PREREQ_XSTRTOUMAX.
29790         Moved the strtoul prerequisites to strtoul.m4.
29791         Moved the strtoull prerequisites to strtoull.m4.
29792         Moved the strtoumax prerequisites to strtoumax.m4.
29793
29794         Module chown.
29795         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
29796         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
29797
29798         Module dup2.
29799         * m4/dup2.m4: New file.
29800
29801         Module ftruncate.
29802         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
29803         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
29804
29805         Module getgroups.
29806         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
29807         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
29808
29809         Module gettimeofday.
29810         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
29811         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
29812         gl_PREREQ_GETTIMEOFDAY.
29813
29814         Module mkdir.
29815         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
29816         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
29817
29818         Module mkstemp.
29819         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
29820         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
29821         jm_AC_TYPE_UINTMAX_T.
29822         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
29823
29824         Module stat.
29825         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
29826         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
29827
29828         Module lstat.
29829         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
29830         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
29831
29832         Module timespec.
29833         * m4/timespec.m4 (gl_TIMESPEC): New macro.
29834         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
29835         * m4/st_mtim.m4: Indentation.
29836
29837         Module nanosleep.
29838         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
29839         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
29840         gl_PREREQ_NANOSLEEP.
29841
29842         Module regex.
29843         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
29844         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
29845         (gl_REGEX): New macro.
29846
29847         Module rename.
29848         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
29849         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
29850
29851         Module rmdir.
29852         * m4/rmdir.m4: New file.
29853
29854         Module utime.
29855         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
29856         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
29857         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
29858
29859         Module dirname.
29860         * m4/dirname.m4: New file.
29861
29862         Module getopt.
29863         * m4/getopt.m4: New file.
29864
29865         Module unistd-safer.
29866         * m4/unistd-safer.m4: New file.
29867
29868         Module fnmatch.
29869         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
29870         declaration.
29871         (gl_PREREQ_FNMATCH_EXTRA): New macro.
29872         (gl_FUNC_FNMATCH_POSIX): New macro.
29873         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
29874         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
29875         simply fnmatch.
29876
29877         Module exclude.
29878         * m4/exclude.m4: New file.
29879
29880         Module human.
29881         * m4/human.m4: New file.
29882
29883         Module acl.
29884         * m4/acl.m4: Nop.
29885
29886         Module backupfile.
29887         * m4/backupfile.m4: New file.
29888         * m4/d-ino.m4: Indentation.
29889
29890         Module fsusage.
29891         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
29892         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
29893         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
29894
29895         Module dirfd.
29896         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
29897         requirements.
29898
29899         Module euidaccess.
29900         * m4/euidaccess.m4: New file.
29901
29902         Module file-type.
29903         * m4/file-type.m4: New file.
29904
29905         Module fileblocks.
29906         * m4/fileblocks.m4: New file.
29907
29908         Module filemode.
29909         * m4/filemode.m4: New file.
29910
29911         Module isdir.
29912         * m4/isdir.m4: New file.
29913
29914         Module lchown.
29915         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
29916         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
29917
29918         Module makepath.
29919         * m4/makepath.m4: New file.
29920
29921         Module modechange.
29922         * m4/modechange.m4: New file.
29923
29924         Module mountlist.
29925         * m4/mountlist.m4: New file.
29926         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
29927         Indentation.
29928
29929         Module path-concat.
29930         * m4/path-concat.m4: New file.
29931
29932         Module pathmax.
29933         * m4/pathmax.m4: New file.
29934
29935         Module same.
29936         * m4/same.m4: New file.
29937
29938         Module save-cwd.
29939         * m4/save-cwd.m4: New file.
29940
29941         Module savedir.
29942         * m4/savedir.m4: New file.
29943
29944         Module xgetcwd.
29945         * m4/xgetcwd.m4: New file.
29946         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
29947
29948         Module xreadlink.
29949         * m4/xreadlink.m4: New file.
29950
29951         Module safe-read.
29952         * m4/safe-read.m4: New file.
29953
29954         Module safe-write.
29955         * m4/safe-write.m4: New file.
29956
29957         Module closeout.
29958         * m4/closeout.m4: New file.
29959
29960         Module stdio-safer.
29961         * m4/stdio-safer.m4: New file.
29962
29963         Module getpass.
29964         * m4/getpass.m4: New file.
29965
29966         Module getugroups.
29967         * m4/getugroups.m4: New file.
29968
29969         Module group-member.
29970         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
29971         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
29972
29973         Module idcache.
29974         * m4/idcache.m4: New file.
29975
29976         Module userspec.
29977         * m4/userspec.m4: New file.
29978
29979         Module gettime.
29980         * m4/clock_time.m4: New file.
29981         * m4/gettime.m4: New file.
29982
29983         Module settime.
29984         * m4/settime.m4: New file.
29985
29986         Module posixtm.
29987         * m4/posixtm.m4: New file.
29988
29989         Module gethostname.
29990         * m4/gethostname.m4: New file.
29991
29992         Module canon-host.
29993         * m4/canon-host.m4: New file.
29994
29995         Module gettext.
29996         * m4/codeset.m4: New file, from gettext-0.11.5.
29997         * m4/gettext.m4: New file, from gettext-0.11.5.
29998         * m4/glibc21.m4: New file, from gettext-0.11.5.
29999         * m4/iconv.m4: New file, from gettext-0.11.5.
30000         * m4/intdiv0.m4: New file, from gettext-0.11.5.
30001         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
30002         * m4/inttypes.m4: New file, from gettext-0.11.5.
30003         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
30004         * m4/isc-posix.m4: New file, from gettext-0.11.5.
30005         * m4/lcmessage.m4: New file, from gettext-0.11.5.
30006         * m4/lib-ld.m4: New file, from gettext-0.11.5.
30007         * m4/lib-link.m4: New file, from gettext-0.11.5.
30008         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
30009         * m4/progtest.m4: New file, from gettext-0.11.5.
30010         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
30011         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
30012         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
30013
30014         Module localcharset.
30015         * m4/localcharset.m4: New file.
30016
30017         Module hard-locale.
30018         * m4/hard-locale.m4: New file.
30019
30020         Module mbswidth.
30021         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
30022         onceonly macros.
30023         * m4/mbrtowc.m4: Add comment.
30024
30025         Module memcasecmp.
30026         * m4/memcasecmp.m4: New file.
30027
30028         Module memcoll.
30029         * m4/memcoll.m4: New file.
30030
30031         Module unicodeio.
30032         * m4/unicodeio.m4: New file.
30033
30034         Module rpmatch.
30035         * m4/rpmatch.m4: New file.
30036
30037         Module yesno.
30038         * m4/yesno.m4: New file.
30039
30040         Module exitfail.
30041         * m4/exitfail.m4: New file.
30042
30043         Module c-stack.
30044         * m4/c-stack.m4 (gl_C_STACK): New macro.
30045         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
30046
30047         Module error.
30048         * m4/error.m4 (gl_ERROR): New macro.
30049         (jm_PREREQ_ERROR): Use onceonly macros.
30050
30051         Module fatal.
30052         * m4/fatal.m4: New file.
30053
30054         Module getloadavg.
30055         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
30056         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
30057
30058         Module getpagesize.
30059         * m4/getpagesize.m4: New file.
30060
30061         Module getusershell.
30062         * m4/getusershell.m4: New file.
30063
30064         Module physmem.
30065         * m4/physmem.m4: New file.
30066
30067         Module posixver.
30068         * m4/posixver.m4: New file.
30069
30070         Module quotearg.
30071         * m4/quotearg.m4: New file.
30072
30073         Module quote.
30074         * m4/quote.m4: New file.
30075
30076         Module readutmp.
30077         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
30078
30079         Module sig2str.
30080         * m4/sig2str.m4: New file.
30081
30082         Other.
30083         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
30084         ulonglong.m4.
30085         * m4/intmax_t.m4: New file.
30086         * m4/d-type.m4: Indentation.
30087         * m4/jm-macros.m4: Update.
30088         * m4/prereq.m4 (jm_PREREQ): Update.
30089         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
30090         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
30091         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
30092         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
30093         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
30094         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
30095         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
30096         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
30097         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
30098         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
30099         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
30100         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
30101         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
30102         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
30103         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
30104         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
30105         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
30106         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
30107         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
30108
30109 2002-12-24  Bruno Haible  <bruno@clisp.org>
30110
30111         * MODULES.txt: Update according to m4/ changes.
30112
30113         Module gettext.
30114         * config.rpath: New file, from gettext-0.11.5.
30115
30116         * modules/*: New module descriptions.
30117         * gnulib-tool: New file.
30118         * MODULES.html.sh: New file.
30119
30120 2002-12-21  Karl Berry  <karl@gnu.org>
30121
30122         * doc/fdl.texi: update to version 1.2.
30123
30124 2002-12-19  Karl Berry  <karl@gnu.org>
30125
30126         * config/config.guess: update from prep.
30127
30128 2002-12-18  Bruno Haible  <bruno@clisp.org>
30129
30130         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
30131         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
30132
30133 2002-12-17  Bruno Haible  <bruno@clisp.org>
30134
30135         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
30136         stdlib.h, string.h.
30137
30138 2002-12-17  Bruno Haible  <bruno@clisp.org>
30139
30140         * lib/canon-host.c (strdup): Remove unused declaration.
30141
30142         * lib/fsusage.c: Include full_read.h.
30143         (get_fs_usage): Use full_read instead of safe_read.
30144
30145         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
30146
30147 2002-12-12  Karl Berry  <karl@gnu.org>
30148
30149         * config/config.guess: update from prep.
30150
30151 2002-12-11  Bruno Haible  <bruno@clisp.org>
30152
30153         * m4/setenv.m4: New file, from gettext-0.11.5.
30154
30155 2002-12-11  Bruno Haible  <bruno@clisp.org>
30156
30157         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
30158         not unsetenv().
30159         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
30160         modifications:
30161
30162         2002-12-11  Bruno Haible  <bruno@clisp.org>
30163
30164                 * setenv.c (alloca): Fall back to malloc.
30165                 (freea): New macro.
30166                 (setenv): Use freea() to free memory allocated with alloca().
30167
30168         2002-11-13  Bruno Haible  <bruno@clisp.org>
30169
30170                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
30171                 function declarations.
30172                 * unsetenv.c (unsetenv): Likewise.
30173
30174         2002-03-04  Bruno Haible  <bruno@clisp.org>
30175
30176                 Portability to AIX 4.3.3.
30177                 * unsetenv.c: New file, extracted from setenv.c.
30178                 * setenv.c: Move the unsetenv() function to unsetenv.c.
30179
30180         2001-12-20  Bruno Haible  <bruno@clisp.org>
30181
30182                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
30183                 use malloc instead. For SunOS 4.
30184
30185         2001-12-11  Bruno Haible  <bruno@clisp.org>
30186
30187                 * setenv.c: Declare alloca.
30188                 (compar_fn_t): New typedef.
30189                 (KNOWN_VALUE, STORE_VALUE): Use it.
30190
30191         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
30192         setenv.h.
30193
30194 2002-12-10  Paul Eggert  <eggert@twinsun.com>
30195
30196         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
30197         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
30198         Choose values that are less likely to collide with system fnmatch
30199         options.
30200         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
30201         defined (e.g., a pure POSIX system).
30202         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
30203         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
30204
30205 2002-12-06  Paul Eggert  <eggert@twinsun.com>
30206
30207         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
30208         a pain in practice to deal with generated m4 files.  This change
30209         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
30210
30211         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
30212         and jm-glibc-io.m4, as they are no longer a special case.
30213         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
30214         kludge and the auto-generation stuff.  Check only whether the
30215         functions are declared, not whether they exist, since older hosts
30216         that don't declare the functions can't use the optimization anyway.
30217
30218 2002-12-06  Jim Meyering  <jim@meyering.net>
30219
30220         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
30221
30222         Merge in changes from libc's misc/error.c, in preparation
30223         for the merge of gnulib's changes back into libc.
30224
30225         * lib/error.c (_): Define only if not already defined.
30226         Move definition to follow all #include directives.
30227         Include unlocked-io.h only if !_LIBC.
30228         [_LIBC]: Include <libio/libioP.h>.
30229         [USE_IN_LIBIO]: Include <libio/iolibio.h>
30230         (fflush): Tweak definition to use INTUSE.
30231         (putc): Define.
30232
30233 2002-12-05  Paul Eggert  <eggert@twinsun.com>
30234
30235         * lib/alloca.c [defined emacs]: Include "lisp.h".
30236         (xalloc_die) [defined emacs]: New macro.
30237         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
30238         [! defined emacs]: Include <xalloc.h>.
30239         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
30240         (pointer): Typedef to POINTER_TYPE *.
30241         (malloc): Remove decl; we now always use xmalloc.
30242         (alloca): Use old-style definition, since Emacs needs this.
30243         Check for arithmetic overflow when computing combined size.
30244
30245 2002-12-04  Paul Eggert  <eggert@twinsun.com>
30246
30247         Do not generate unlocked-io.h automatically, since it's easier to
30248         maintain it by hand.
30249
30250         * lib/unlocked-io.h: New file, from GNU diffutils,
30251         but with proper copyright notice and attribution.
30252         * lib/gen-uio: Remove.
30253         * lib/Makefile.am: Add copyright notice.
30254         (libfetish_a_SOURCES): Add unlocked-io.h.
30255         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
30256         (DISTCLEANFILES, io_functions): Remove macros.
30257         (EXTRA_DIST): Remove gen_uio.
30258         (unlocked-io.h): Remove rule.
30259
30260 2002-12-04  Jim Meyering  <jim@meyering.net>
30261
30262         Reflect the fact that stat.c and lstat.c are no longer generated.
30263         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
30264         (DISTCLEANFILES): Likewise.
30265         (EXTRA_DIST): Likewise.
30266         (all_local): Don't depend on stat.c or lstat.c.
30267         (stat.c, lstat.c): Remove rules.
30268         (EXTRA_DIST): Remove xstat.in.
30269
30270         * lib/xstat.in: Remove file.  Contents moved into stat.c.
30271         * lib/stat.c: New file.  Contents mostly from xstat.in.
30272         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
30273         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
30274
30275         * lib/safe-read.c: Rework so that it may serve to define safe_write,
30276         too.
30277         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
30278
30279 2002-12-03  Jim Meyering  <jim@meyering.net>
30280
30281         * lib/safe-read.c, safe-write.c: Change variable names and comments,
30282         but not semantics, to minimize the differences between these two files.
30283         (safe_read): Change comment to mention SAFE_READ_ERROR.
30284
30285         * lib/safe-read.c (IS_EINTR): Define.
30286         (safe_read): Use IS_EINTR in place of in-function cpp directives.
30287
30288 2002-12-02  Jim Meyering  <jim@meyering.net>
30289
30290         * lib/safe-read.c (EINTR): Define.
30291         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
30292         (INT_MAX): Provide fallback.
30293         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
30294
30295         * lib/safe-read.h (SAFE_READ_ERROR): Define.
30296
30297 2002-12-02  Bruno Haible  <bruno@clisp.org>
30298
30299         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
30300         Define, taken from safe-read.c.
30301         (INT_MAX): Provide fallback.
30302         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
30303         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
30304
30305         * lib/safe-read.c (EINTR): Remove definition.
30306         (safe_read): Don't use EINTR if it is absent.
30307
30308 2002-12-01  Jim Meyering  <jim@meyering.net>
30309
30310         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
30311         zero.
30312         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
30313
30314 2002-11-27  Paul Eggert  <eggert@twinsun.com>
30315
30316         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
30317         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
30318         with `if (! (value < limit)) abort ();', for readability.
30319
30320 2002-11-26  Karl Berry  <karl@gnu.org>
30321
30322         * lib/strdup.c: copy from libc again, with jim's ok.
30323         * lib/.cppi-disable: re-add strdup.c
30324
30325 2002-11-25  Karl Berry  <karl@gnu.org>
30326
30327         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
30328         instead of "strtol.c".
30329
30330 2002-11-25  Karl Berry  <karl@gnu.org>
30331
30332         * config/install-sh: update from automake for variable quoting, $0 in
30333         error msgs, etc.
30334
30335         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
30336         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
30337         entry.
30338
30339 2002-11-25  Jim Meyering  <jim@meyering.net>
30340
30341         * lib/mktime.c: Sync from libc, now that it has the latest fix.
30342
30343 2002-11-24  Karl Berry  <karl@gnu.org>
30344
30345         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
30346         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
30347
30348 2002-11-24  Jim Meyering  <jim@meyering.net>
30349
30350         Update from coreutils:
30351
30352         * lib/mktime.c: Merge in changes from libc.
30353
30354         Avoid a link-time failure on some Linux systems.
30355         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
30356         (otherwise).
30357         (__mon_yday): Declare with the STATIC attribute.
30358         (__mktime_internal): Likewise.
30359         Based on a report from Greg Schafer.
30360
30361 2002-11-23  Jim Meyering  <jim@meyering.net>
30362
30363         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
30364         Use `unsigned', not `int', as type of index.
30365
30366         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
30367
30368         * lib/fsusage.c: Remove unneeded parentheses around operands of
30369         `defined'.
30370
30371 2002-11-22  Paul Eggert  <eggert@twinsun.com>
30372
30373         * lib/quotearg.h: Allow multiple inclusion by surrounding with
30374         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
30375         so that we can be included first.
30376         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
30377         * lib/quotearg.c: Include quotearg.h immediately after config.h.
30378         No need to include stddef.h or sys/types.h any more.
30379         Surround local include files with "", not "<>".
30380         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
30381         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
30382         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
30383         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
30384         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
30385         (ISPRINT): Remove; no longer needed now that we assume C89.
30386
30387         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
30388         Preserve errno.
30389
30390         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
30391         quotearg_char): Use SIZE_MAX rather than
30392         (size_t) -1 when we are talking about "infinity".
30393
30394         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
30395
30396 2002-11-22  Paul Eggert  <eggert@twinsun.com>
30397
30398         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
30399         hint that one should use `if (! x) abort ();' rather than `assert
30400         (x);', and anyway it's one less thing to worry about configuring.
30401         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
30402         hash_rehash, hash_insert): Use abort rather than assert.
30403
30404 2002-11-22  Bruno Haible  <bruno@clisp.org>
30405
30406         * lib/safe-read.h: Assume C89. Add comments.
30407         (safe_read): Change return type to size_t.
30408         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
30409         byte counts > SSIZE_MAX correctly.
30410         * lib/safe-write.h: New file.
30411         * lib/safe-write.c: New file.
30412         * lib/full-read.h: New file.
30413         * lib/full-read.c: New file.
30414         * lib/full-write.h: Assume C89. Add comments.
30415         * lib/full-write.c: Include safe-write.h.
30416         (full_write): Rewritten to use safe_write.
30417         Suggested by Jim Meyering and Paul Eggert.
30418
30419 2002-11-21  Jim Meyering  <jim@meyering.net>
30420
30421         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
30422
30423         Merge in changes from the coreutils.
30424
30425         2002-09-25  Paul Eggert  <eggert@twinsun.com>
30426         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
30427         <stdint.h>.
30428         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
30429         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
30430         int.  Work more efficiently if X is the same width as uintmax_t.
30431         Do not compare X to -1, to avoid bogus compiler warning.
30432         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
30433         Don't assume that f_frsize and f_bsize are the same type.
30434
30435         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
30436         warning on FreeBSD.
30437
30438         * lib/makepath.c (make_path): Restore umask *before* creating the final
30439         component.
30440         (make_path): Minor reformatting.
30441
30442         * lib/xmalloc.c: Adjust to work with new autoconf macros,
30443         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
30444         HAVE_MALLOC/HAVE_REALLOC.
30445
30446         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
30447         dummy ones.  At least on GNU/Linux systems, `auto' means something
30448         else.
30449         From Michael Stone.
30450
30451 2002-11-21  Bruno Haible  <bruno@clisp.org>
30452
30453         Remove case insensitive option matching.
30454         * lib/argmatch.h (argcasematch): Remove declaration.
30455         (ARGCASEMATCH): Remove macro.
30456         (__xargmatch_internal): Remove case_sensitive argument.
30457         (XARGMATCH): Update.
30458         (XARGCASEMATCH): Remove macro.
30459         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
30460         case_sensitive argument.
30461         (argcasematch): Remove function.
30462         (__xargmatch_internal): Remove case_sensitive argument.
30463         (main): Use XARGMATCH instead of XARGCASEMATCH.
30464
30465         * lib/xmalloc.c: Change compile-time error message. Add comment about
30466         required autoconf version.
30467
30468 2002-11-20  Paul Eggert  <eggert@twinsun.com>
30469
30470         Merge argmatch cleanups from Bison.  Assume C89.
30471
30472         * lib/argmatch.c: Include config.h here, not in argmatch.h.
30473         Include stdlib.h, for EXIT_FAILURE.
30474         Always include <string.h>, since we assume C89.
30475         (EXIT_FAILURE): Remove pre-C89 bug workaround.
30476         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
30477         Include <stddef.h> instead, since it's all we need for size_t.
30478         (PARAMS): Remove.  All uses removed.
30479         (ARRAY_CARDINALITY): Do not bother to #undef.
30480         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
30481         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
30482         Remove unnecessary parentheses.
30483         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
30484         Insert necessary parentheses.
30485         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
30486         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
30487
30488 2002-11-19  Bruno Haible  <bruno@clisp.org>
30489
30490         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
30491         * lib/mbswidth.h: Include <stddef.h>, for size_t.
30492
30493         * lib/mbswidth.h (PARAMS): Remove macro.
30494         (mbswidth, mbsnwidth): Use ANSI C function declarations.
30495         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
30496
30497         * lib/gcd.h (PARAMS): Remove macro.
30498         (gcd): Use ANSI C function declarations.
30499         * lib/gcd.c (gcd): Likewise.
30500
30501 2002-11-15  Bruno Haible  <bruno@clisp.org>
30502
30503         * lib/strcspn.c: Include <stddef.h>.
30504         (strcspn): Use ANSI C function declaration. Change return type to
30505         size_t. Use NULL.
30506         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
30507         (strpbrk): Use NULL.
30508         * lib/strpbrk.h (PARAMS): Remove macro.
30509         (strpbrk): Use ANSI C function declaration.
30510         * lib/strstr.c: Don't include <sys/types.h>.
30511         * lib/strstr.h (PARAMS): Remove macro.
30512         (strstr): Use ANSI C function declarations.
30513
30514 2002-11-14  Karl Berry  <karl@gnu.org>
30515
30516         * config/mkinstalldirs: `do' on separate line, instead of
30517         `for var; do'.
30518
30519 2002-11-06  Bruno Haible  <bruno@clisp.org>
30520
30521         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
30522         * lib/gcd.c (gcd): Likewise.
30523
30524 2002-11-05  Bruno Haible  <bruno@clisp.org>
30525
30526         * lib/gcd.h: New file, from gettext-0.11.5.
30527         * lib/gcd.c: New file, from gettext-0.11.5.
30528
30529 2002-11-05  Bruno Haible  <bruno@clisp.org>
30530
30531         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30532         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30533         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30534         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30535
30536         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
30537         <libintl.h>.
30538         * lib/makepath.c: Include gettext.h instead of <locale.h> and
30539         <libintl.h>.
30540
30541         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
30542         * lib/human.c: Include gettext.h instead of <libintl.h>.
30543         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
30544         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
30545         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
30546         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
30547         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
30548         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
30549         (textdomain): Remove definition.
30550         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
30551
30552         * lib/long-options.c: Remove include of <libintl.h> and definition of
30553         _.
30554         * lib/same.c: Remove include of <libintl.h> and definition of _.
30555
30556 2002-11-04  Owen Taylor  <otaylor@redhat.com>
30557
30558         * lib/config.charset: A few additions for Solaris.
30559
30560 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
30561
30562         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
30563         * lib/localcharset.c (locale_charset): Declare as extern "C".
30564
30565 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
30566
30567         * lib/config.charset: msdos in uk_UA uses CP1125.
30568
30569 2002-11-04  Bruno Haible  <bruno@clisp.org>
30570
30571         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
30572         * lib/strcase.h: New file, from GNU gettext-0.11.5.
30573         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
30574         * lib/strstr.h: New file, from GNU gettext-0.11.5.
30575         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
30576
30577 2002-11-04  Bruno Haible  <bruno@clisp.org>
30578
30579         * lib/localcharset.c (locale_charset): Don't return an empty string.
30580
30581 2002-11-04  Bruno Haible  <bruno@clisp.org>
30582
30583         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
30584         aliases.
30585
30586 2002-11-04  Bruno Haible  <bruno@clisp.org>
30587
30588         * lib/config.charset: Update for newest glibc. Add canonical names
30589         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
30590
30591 2002-11-04  Bruno Haible  <bruno@clisp.org>
30592
30593         * lib/config.charset: Add support for NetBSD.
30594
30595 2002-11-04  Bruno Haible  <bruno@clisp.org>
30596
30597         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
30598
30599 2002-11-01  Bruno Haible  <bruno@clisp.org>
30600
30601         * configure.in: Add AC_CONFIG_AUX_DIR call.
30602         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
30603         test/Makefile.
30604         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
30605
30606 2002-09-28  Karl Berry  <karl@gnu.org>
30607
30608         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
30609         installed automake until the next release, since changes have been
30610         made.
30611
30612 2002-09-25  Karl Berry  <karl@gnu.org>
30613
30614         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
30615         * lib/getopt*: copy from libc/posix.
30616         * lib/gettext.h: copy from gettext.
30617         * lib/.cppi-disable: add strdup.c, gettext.h.
30618
30619 2002-09-25  Karl Berry  <karl@gnu.org>
30620
30621         * config/srclist.txt: enable gettext.h check.
30622         * config/config.{guess,sub}: update from prep.
30623         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
30624                 from automake 1.6.3.
30625         See srclist*.
30626
30627 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
30628
30629         * regex.c (PATFETCH): Remove the translating fetch.
30630         (PATFETCH_RAW): Rename to PATFETCH.
30631         (set_image_of_range): New fun.
30632         (SET_RANGE_TABLE_WORK_AREA): Use it.
30633         (regex_compile): Don't translate the pattern chars so eagerly.
30634         Only do it when inserting an `exactn' bytecode or when handling
30635         a char-range.
30636         (mutually_exclusive_p): Avoid empty statement.
30637
30638 2002-07-06  Jim Meyering  <meyering@lucent.com>
30639
30640         * m4/README: Don't mention Makefile.am.in.
30641         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
30642
30643 2002-07-01  Jim Meyering  <meyering@lucent.com>
30644
30645         * lib/c-stack.c: Include sys/time.h.
30646         From Volker Borchert.
30647
30648 2002-06-26  Paul Eggert  <eggert@twinsun.com>
30649
30650         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
30651
30652 2002-06-26  Paul Eggert  <eggert@twinsun.com>
30653
30654         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
30655         New macro.  Use it uniformly instead of
30656         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
30657         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
30658         reported by Vin Shelton.
30659
30660 2002-06-22  Paul Eggert  <eggert@twinsun.com>
30661
30662         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
30663         Do not assume SA_SIGINFO behavior.
30664         Bug reported by Jim Meyering on NetBSD 1.5.2.
30665
30666 2002-06-22  Jim Meyering  <meyering@lucent.com>
30667
30668         * m4/c-stack.m4: New file, from diffutils-2.8.2.
30669         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
30670
30671         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
30672         now that configure.ac uses AC_GNU_SOURCE.
30673         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
30674         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
30675
30676         Update to latest tools.  Suggestions from Paul Eggert.
30677         * m4/stdbool.m4: New file, from diffutils-2.8.2.
30678         * m4/gnu-source.m4: Update from diffutils-2.8.2.
30679         * m4/fnmatch.m4: Likewise.
30680         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
30681         to AC_HEADER_STDBOOL
30682
30683 2002-06-22  Jim Meyering  <meyering@lucent.com>
30684
30685         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
30686         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
30687
30688 2002-06-22  Jim Meyering  <meyering@lucent.com>
30689
30690         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
30691
30692         * lib/exitfail.c, exitfail.h: Likewise.
30693         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
30694
30695         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
30696         of fnmatch.h.
30697         (EXTRA_DIST): Add fnmatch_loop.c.
30698         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
30699
30700         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
30701         * lib/fnmatch.c: Update from diffutils-2.8.2.
30702         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
30703         * lib/fnmatch.h: Remove file.
30704
30705 2002-06-21  Jim Meyering  <meyering@lucent.com>
30706
30707         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
30708         * m4/mbrtowc.m4: Likewise.
30709
30710         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
30711         * m4/mbswidth.m4: Reflect name change:
30712         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
30713         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
30714
30715         * m4/lib-link.m4: Update from gettext-0.11.2.
30716         * m4/gettext.m4: Likewise.
30717
30718         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
30719         From Alfred M. Szmidt.
30720
30721 2002-06-18  Paul Eggert  <eggert@twinsun.com>
30722
30723         * lib/file-type.h: Report an error if neither S_ISREG nor
30724         S_IFREG is defined, instead of using a test specific to glibc
30725         2.2.  This should be safe, since POSIX requires S_ISREG and
30726         Unix Version 7 had S_IFREG.  We don't need to check for
30727         <sys/types.h> since we don't use any symbols that it defines.
30728
30729 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
30730
30731         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
30732         $@-t, so that each temporary file name is unique and valid in the first
30733         8 characters, for operation under DOS.
30734
30735 2002-06-15  Paul Eggert  <eggert@twinsun.com>
30736
30737         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
30738
30739 2002-06-15  Jim Meyering  <meyering@lucent.com>
30740
30741         Work even with DJGPP 2.03, which lacks support for symlinks.
30742         From Richard Dawe.
30743         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
30744         is defined.
30745         * lib/lchown.c (S_ISLNK): Likewise.
30746
30747 2002-06-15  Jim Meyering  <meyering@lucent.com>
30748
30749         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
30750         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
30751         have been included before this file.
30752
30753 2002-06-14  Jim Meyering  <meyering@lucent.com>
30754
30755         * lib/file-type.h: Use the version from diffutils-2.8.2.
30756         * lib/file-type.c: Likewise.
30757
30758 2002-06-07  Jim Meyering  <meyering@lucent.com>
30759
30760         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
30761         They're needed at least for NetBSD 1.5.2.
30762         ($statxfs_includes): Include those same headers.
30763         ($statxfs_includes): Include sys/vfs.h if available.
30764         ($statxfs_includes): Likewise for sys/statvfs.h.
30765         Check for the following members in both structs statfs and statvfs:
30766         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
30767
30768 2002-06-01  Jim Meyering  <meyering@lucent.com>
30769
30770         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
30771         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
30772
30773 2002-05-28  Jim Meyering  <meyering@lucent.com>
30774
30775         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
30776         Reported by Volker Borchert.
30777
30778 2002-05-27  Jim Meyering  <meyering@lucent.com>
30779
30780         Fix a problem seen only on nonconforming systems whereby ls.c's
30781         use of localtime, and then of gettimeofday would cause trouble:
30782         the localtime call used to initialize rpl_gettimeofday's save
30783         mechanism would clobber ls's current local time information so
30784         that in any long listing the first file would always be listed
30785         with date 1970-01-01.  Analysis by Volker Borchert.
30786
30787         * lib/gettimeofday.c (localtime): Undefine.
30788         (rpl_localtime): New function.
30789
30790 2002-05-27  Jim Meyering  <meyering@lucent.com>
30791
30792         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
30793         localtime.
30794
30795         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
30796         use the replacement function; it wouldn't resolve at link time.
30797         Reported by Volker Borchert.
30798
30799 2002-05-22  Jim Meyering  <meyering@lucent.com>
30800
30801         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
30802         file-type.h.
30803         * lib/file-type.h: New file.
30804         * lib/file-type.c (file_type): New file/function.  Extracted from
30805         diffutils.
30806
30807 2002-04-30  Jim Meyering  <meyering@lucent.com>
30808
30809         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
30810
30811 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30812
30813         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
30814
30815 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30816
30817         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
30818         Do not check for alloca.h (no longer used) or stdbool.h (was never
30819         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
30820
30821 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30822
30823         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
30824
30825 2002-04-29  Jim Meyering  <meyering@lucent.com>
30826
30827         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
30828         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
30829         Use AC_FUNC_STRNLEN here instead.
30830
30831         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
30832         With autoconf-2.53a, it's part of AC_PROG_CC.
30833
30834 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30835
30836         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
30837         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
30838
30839 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30840
30841         * lib/sig2str.h, lib/sig2str.c: New files.
30842         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
30843
30844 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30845
30846         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
30847         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
30848         of 127, since 64 is the largest conceivable number for ancient
30849         nonstandard hosts.
30850         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
30851
30852 2002-04-28  Jim Meyering  <meyering@lucent.com>
30853
30854         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
30855
30856 2002-04-24  Jim Meyering  <meyering@lucent.com>
30857
30858         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
30859         (jm_PREREQ): Use it.
30860
30861         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
30862         mach/mach.h fcntl.h.
30863         Check for this function: setlocale.
30864
30865 2002-04-24  Jim Meyering  <meyering@lucent.com>
30866
30867         * lib/gettext.h: New file, from Gettext.
30868         * lib/Makefile.am (INCLUDES): Remove -I../intl.
30869         (libfetish_a_SOURCES): Add gettext.h.
30870
30871 2002-04-16  Jim Meyering  <meyering@lucent.com>
30872
30873         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
30874         ut_pid, ut_id, ut_exit.
30875
30876 2002-04-16  Jim Meyering  <meyering@lucent.com>
30877
30878         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
30879         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
30880         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
30881
30882 2002-04-12  Jim Meyering  <meyering@lucent.com>
30883
30884         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
30885         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
30886         existence of the getmntinfo function.  Needed for Darwin 5.3.
30887
30888         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
30889         This is necessary at least on Darwin 5.3.
30890
30891         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
30892         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
30893         strnlen.o in the library, and that makes some versions of ranlib
30894         object.
30895
30896 2002-04-12  Jim Meyering  <meyering@lucent.com>
30897
30898         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
30899
30900 2002-04-09  Jim Meyering  <meyering@lucent.com>
30901
30902         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
30903         to be more precise.  Rather than saying we're checking whether the
30904         function `works', say what we're testing.
30905         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
30906         Reported by Bruno Haible.
30907
30908 2002-03-10  Jim Meyering  <meyering@lucent.com>
30909
30910         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
30911         Suggestion from Santiago Vila.
30912
30913 2002-03-08  Jim Meyering  <meyering@lucent.com>
30914
30915         * lib/rename.c: Mention that this wrapper is needed also on
30916         mips-dec-ultrix4.4 systems.
30917
30918 2002-03-02  Jim Meyering  <meyering@lucent.com>
30919
30920         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
30921         not HAVE_CLOCK_SETTIME.
30922
30923 2002-02-27  Paul Eggert  <eggert@twinsun.com>
30924
30925         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
30926         Check for clock_settime.
30927
30928 2002-02-27  Paul Eggert  <eggert@twinsun.com>
30929
30930         * lib/nanosleep.h: Rename to....
30931         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
30932
30933         * lib/gettime.c: New file.
30934         * lib/settime.c: New file.
30935         * lib/stime.c: Remove.
30936
30937         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
30938         timespec.h.  Remove nanosleep.h.
30939
30940 2002-02-25  Paul Eggert  <eggert@twinsun.com>
30941
30942         * m4/acl.m4: New file.
30943         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
30944         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
30945
30946 2002-02-25  Paul Eggert  <eggert@twinsun.com>
30947
30948         * lib/acl.c, lib/acl.h: New files.
30949         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
30950
30951 2002-02-24  Jim Meyering  <meyering@lucent.com>
30952
30953         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
30954         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
30955         cause trouble.  Reported by Nelson Beebe.
30956
30957 2002-02-23  Paul Eggert  <eggert@twinsun.com>
30958
30959         * lib/path-concat.c (xpath_concat): Reorder code to pacify
30960         compilers that don't know that xalloc_die never returns.
30961
30962 2002-02-20  Jim Meyering  <meyering@lucent.com>
30963
30964         * lib/getdate.c: Regenerate using bison-1.33.
30965
30966 2002-02-17  Jim Meyering  <meyering@lucent.com>
30967
30968         * config/config.guess (main): Don't use `head -1'; it's no longer
30969         portable. Use `sed 1q' instead.
30970
30971 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
30972
30973         * m4/codeset.m4: Upgrade to gettext-0.11.
30974         * m4/gettext.m4: Upgrade to gettext-0.11.
30975         * m4/glibc21.m4: Upgrade to gettext-0.11.
30976         * m4/iconv.m4: Upgrade to gettext-0.11.
30977         * m4/isc-posix.m4: Upgrade to gettext-0.11.
30978         * m4/lcmessage.m4: Upgrade to gettext-0.11.
30979         * m4/lib-ld.m4: New file, from gettext-0.11.
30980         * m4/lib-link.m4: New file, from gettext-0.11.
30981         * m4/lib-prefix.m4: New file, from gettext-0.11.
30982         * m4/progtest.m4: Upgrade to gettext-0.11.
30983
30984 2002-02-15  Paul Eggert  <eggert@twinsun.com>
30985
30986         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
30987         (jm_PREREQ): Use it.
30988
30989 2002-02-15  Paul Eggert  <eggert@twinsun.com>
30990
30991         * lib/posixver.c, lib/posixver.h: New files.
30992         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
30993
30994 2002-02-02  Paul Eggert  <eggert@twinsun.com>
30995             Bruno Haible  <bruno@clisp.org>
30996
30997         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
30998         (fwrite_success_callback): New declaration.
30999         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
31000         print_unicode_char. Call failure callback instead of error.
31001         (fwrite_success_callback): New function.
31002         (exit_failure_callback): New function.
31003         (fallback_failure_callback): New function.
31004         (print_unicode_char): Call unicode_to_mb.
31005
31006 2002-01-26  Jim Meyering  <meyering@lucent.com>
31007
31008         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
31009         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
31010
31011 2002-01-26  Jim Meyering  <meyering@lucent.com>
31012
31013         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
31014
31015 2002-01-22  Paul Eggert  <eggert@twinsun.com>
31016
31017         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
31018
31019 2002-01-22  Jim Meyering  <meyering@lucent.com>
31020
31021         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
31022         Otherwise, some versions of automake would omit the rule that makes
31023         Makefile from Makefile.in.
31024
31025 2002-01-21  Paul Eggert  <eggert@twinsun.com>
31026
31027         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
31028         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
31029         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
31030         (memcoll): Set errno to zero if there is no error.
31031
31032         * lib/quotearg.c (quotearg_buffer_restyled):
31033         Fix bug with quoting buffers containing NUL when backslashing escapes.
31034         This bug was exposed by the other changes in this patch.
31035         (quotearg_n_options): New arg ARGSIZE.
31036         All callers changed.
31037         (quoting_options_from_style): New function.
31038         (quotearg_n_style): Use it.
31039         (quotearg_n_style_mem): New function.
31040
31041         * lib/quotearg.h (quotearg_n_style_mem): New function.
31042
31043 2002-01-19  Jim Meyering  <meyering@lucent.com>
31044
31045         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
31046         Remove useless quotes: DF_PROG="df".
31047         * m4/strnlen.m4: New file.
31048
31049 2002-01-16  Paul Eggert  <eggert@twinsun.com>
31050
31051         * lib/backupfile.c (ISDIGIT): Comment fix.
31052         * lib/getdate.y (ISDIGIT): Likewise.
31053         * lib/posixtm.c (ISDIGIT, year): Likewise.
31054         * lib/strverscmp.c (ISDIGIT): Likewise.
31055         * lib/userspec.c (ISDIGIT): Likewise.
31056
31057 2002-01-16  Jim Meyering  <meyering@lucent.com>
31058
31059         * lib/getdate.y: Add three semicolons, each just before a closing
31060         brace. Bison (as of version 1.31) no longer papers over that mistake.
31061
31062 2002-01-05  Jim Meyering  <meyering@lucent.com>
31063
31064         * lib/version-etc.c (version_etc_copyright): Update copyright year.
31065
31066 2001-12-19  Paul Eggert  <eggert@twinsun.com>
31067
31068         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
31069         not silently exit merely because the output buffer happens to
31070         have nothing pending.
31071
31072 2001-12-18  Paul Eggert  <eggert@twinsun.com>
31073
31074         See the big note in ../ChangeLog.
31075         * lib/human.c (suffixes): Prefer K to k for 1024.
31076         (generate_suffix_backwards): New function.
31077         (human_readable_inexact): Use it.
31078         * lib/xstrtol.c (__xstrtol): If there is no number but there
31079         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
31080         Accept 'K' as well as 'k'.
31081
31082 2001-12-15  Jim Meyering  <meyering@lucent.com>
31083
31084         * lib/regex.h (__restrict_arr): Update from libc.
31085
31086         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
31087         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
31088         (STREQ): Define.
31089
31090 2001-12-14  Jim Meyering  <meyering@lucent.com>
31091
31092         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
31093         Suggestion from Bruno Haible.
31094
31095 2001-12-10  Jim Meyering  <meyering@lucent.com>
31096
31097         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
31098         xrealloc, Instead, include "xalloc.h".
31099         (initbuffer): Don't cast xmalloc return value to char*.
31100         (readline): Reword comment.
31101         Don't cast xrealloc return value to char*
31102         Return NULL, not 0.
31103
31104 2001-12-09  Jim Meyering  <meyering@lucent.com>
31105
31106         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
31107         about `signed and unsigned type in conditional expression'.
31108         * lib/posixtm.c (posix_time_parse): Likewise.
31109
31110         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
31111
31112         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
31113         to avoid a pedantic warning.
31114
31115         * lib/getstr.c: Don't include assert.h.
31116         (getstr): Remove warning-evoking assertions.
31117         Return -1 if offset parameter is out of bounds.
31118         Change the type of a local from int to size_t.
31119
31120         * lib/strftime.c (my_strftime_localtime_r): Include this function
31121         definition in the `#if ! HAVE_TM_GMTOFF' block.
31122
31123         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
31124         Include xalloc.h instead.
31125
31126 2001-12-02  Jim Meyering  <meyering@lucent.com>
31127
31128         * lib/tempname.c: Don't declare getenv, thus reverting the change of
31129         2001-11-18.  It's no longer necessary, now that stdlib.h is always
31130         included.
31131
31132         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
31133         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
31134
31135 2001-11-30  Akim Demaille  <akim@epita.fr>
31136
31137         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
31138         before being defined.
31139
31140 2001-11-27  Paul Eggert  <eggert@twinsun.com>
31141
31142         * lib/quotearg.h (quotearg_n, quotearg_n_style):
31143         First arg is int, not unsigned.
31144         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
31145         (SIZE_MAX, UINT_MAX): New macros.
31146         (quotearg_n_options): Abort if N is negative.
31147         Avoid overflow check on hosts where size_t is 64 bits and int
31148         is 32 bits, as overflow is impossible there.
31149         Fix off-by-one typo that caused unnecessary reallocation.
31150
31151 2001-11-27  Jim Meyering  <meyering@lucent.com>
31152
31153         * lib/tempname.c: Merge with version from libc.
31154         * lib/regex.c: Likewise.
31155
31156         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
31157         systems for which STDC_HEADERS is 0, it was not included, resulting in
31158         a warning about an integer-to-pointer conversion problem with getenv.
31159         Reported by Volker Borchert.
31160
31161 2001-11-26  Jim Meyering  <meyering@lucent.com>
31162
31163         * lib/gtod.h: Remove file.
31164         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
31165         * lib/gettimeofday.c: Don't include gtod.h.
31166         (GTOD_init): Remove function.
31167         (rpl_gettimeofday): Do its job here instead, rather than aborting.
31168         Suggestion from Volker Borchert.
31169
31170 2001-11-23  Jim Meyering  <meyering@lucent.com>
31171
31172         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
31173         it.
31174         * lib/hash.c (struct hash_table): Define it here instead.
31175
31176 2001-11-22  Jim Meyering  <meyering@lucent.com>
31177
31178         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
31179
31180 2001-11-20  Jim Meyering  <meyering@lucent.com>
31181
31182         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
31183         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
31184
31185 2001-11-19  Jim Meyering  <meyering@lucent.com>
31186
31187         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
31188         directory.  Use "conftestXXXXXX" as the template.
31189         Suggestion from Paul Eggert.
31190
31191         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
31192         immediately, so the test doesn't mistakenly hit the max-open-files
31193         limit.
31194
31195 2001-11-18  Paul Eggert  <eggert@twinsun.com>
31196
31197         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
31198         (TEMPORARIES): New macro.
31199         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
31200         removes an artificial limitation (e.g. HP-UX 10.20, where
31201         TMP_MAX is 17576).
31202
31203 2001-11-18  Jim Meyering  <meyering@lucent.com>
31204
31205         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
31206
31207 2001-11-18  Jim Meyering  <meyering@lucent.com>
31208
31209         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
31210         on SunOS 4.
31211
31212         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
31213         files will be created before anything else.
31214
31215 2001-11-17  Paul Eggert  <eggert@twinsun.com>
31216
31217         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
31218         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
31219
31220 2001-11-17  Jim Meyering  <meyering@lucent.com>
31221
31222         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
31223         Prompted by a report from Bob Proulx.
31224
31225         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
31226         Instead, require UTILS_FUNC_MKSTEMP.
31227
31228 2001-11-17  Jim Meyering  <meyering@lucent.com>
31229
31230         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
31231         Now, that's done as part of AC_FUNC_STRTOD.
31232
31233 2001-11-17  Jim Meyering  <meyering@lucent.com>
31234
31235         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
31236         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
31237         rather than group writable.  Patch by Juan F. Codagnone.
31238
31239         * lib/readtokens.c: Remove explicit declarations of xmalloc and
31240         xrealloc, Instead, include "xalloc.h".
31241
31242         * lib/mountlist.c: Include unlocked-io.h after all system headers.
31243         Remove explicit declarations of xmalloc, xrealloc,
31244         and xstrdup.  Instead, include "xalloc.h".
31245
31246         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
31247         unlocked-io.h.
31248         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
31249         Likewise.
31250         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
31251
31252         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
31253         Reported by Padraig Brady.
31254
31255         * lib/mkstemp.c: #undef mkstemp.
31256         Include config.h.
31257         (rpl_mkstemp): Rename from mkstemp.
31258         Protoize.
31259
31260 2001-11-16  Jim Meyering  <meyering@lucent.com>
31261
31262         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
31263         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
31264         determine the amount of total physical memory, use pstat_getstatic.
31265         HPUX-11 doesn't define _SC_PHYS_PAGES.
31266         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
31267         If sysconf couldn't be used to determine the amount of available
31268         physical memory, use both pstat_getstatic and pstat_getdynamic.
31269         Based on a patch from Bob Proulx.
31270
31271 2001-11-10  Jim Meyering  <meyering@lucent.com>
31272
31273         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
31274         (jm_PREREQ): Use it.
31275
31276 2001-11-09  Jim Meyering  <meyering@lucent.com>
31277
31278         * m4/jm-macros.m4: Require autoconf-2.52f.
31279         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
31280         Use these AC_-prefixed names, not the AM_-prefixed ones.
31281
31282         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
31283
31284 2001-11-05  Jim Meyering  <meyering@lucent.com>
31285
31286         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
31287
31288 2001-11-04  Jim Meyering  <meyering@lucent.com>
31289
31290         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
31291         $DEFS.
31292
31293 2001-11-03  Jim Meyering  <meyering@lucent.com>
31294
31295         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
31296         of AC_DEFUN.
31297
31298         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
31299         know the name of the variable in the macro definition.
31300
31301 2001-11-03  Jim Meyering  <meyering@lucent.com>
31302
31303         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
31304         in argmatch_to_argument call.
31305
31306         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
31307         argument.
31308
31309         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
31310         e.g., a fault due to an attempt to free a NULL pointer.
31311
31312 2001-11-01  Jim Meyering  <meyering@lucent.com>
31313
31314         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
31315         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
31316
31317 2001-11-01  Jim Meyering  <meyering@lucent.com>
31318
31319         * lib/dirfd.c, lib/dirfd.h: New files.
31320         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
31321
31322         * lib/hash.c (hash_print) [TESTING]: Clean up.
31323
31324 2001-10-22  Paul Eggert  <eggert@twinsun.com>
31325
31326         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
31327         to avoid a warning if -Wall.
31328
31329 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
31330
31331         * README: New file
31332         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
31333         (per RMS's instructions, this is now the canonical source)
31334         * lgpl/, gpl/: New directories.
31335
31336 2001-10-21  Paul Eggert  <eggert@twinsun.com>
31337
31338         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
31339
31340 2001-10-21  Jim Meyering  <meyering@lucent.com>
31341
31342         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
31343         this code would end up calling gettext even in packages built
31344         with --disable-nls.
31345         * lib/getopt.c (_): Likewise.
31346         * lib/regex.c (_): Likewise.
31347
31348 2001-10-20  Paul Eggert  <eggert@twinsun.com>
31349
31350         * m4/error.m4 (jm_PREREQ_ERROR):
31351         Do not invoke AC_CHECK_FUNCS with strerror_r, as
31352         AC_FUNC_STRERROR_R does that.
31353         Check for strerror declaration.
31354
31355         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
31356         are supposed to have them these days.
31357         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
31358         Merge changes from latest Autoconf CVS.
31359         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
31360         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
31361         POSIX decided to standardize on the int flavor of strerror_r.
31362
31363 2001-10-20  Paul Eggert  <eggert@twinsun.com>
31364
31365         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
31366         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
31367         Use strerror_r that is only a macro, even if it is not a function.
31368         (strerror): Check for HAVE_DECL_STRERROR before declaring.
31369         (private_strerror): Use prototypes, not old-style function definition.
31370         (print_errno_message): New function.
31371         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
31372         char*-flavored one.
31373         (error_tail, error, error_at_line): Use it.
31374
31375 2001-10-11  Jim Meyering  <meyering@lucent.com>
31376
31377         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
31378         and quote_n (1, ... to avoid clobbering a buffer.
31379
31380 2001-10-05  Jim Meyering  <meyering@lucent.com>
31381
31382         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
31383         hash-pjw.h.
31384         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
31385         * lib/hash-pjw.h: New file.
31386
31387 2001-09-30  Jim Meyering  <meyering@lucent.com>
31388
31389         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
31390         `struct fsstat' has the `f_fstypename' member.
31391         Use that to define FS_TYPE, which is now used to make
31392         the getfsstat link test tighter.
31393
31394 2001-09-30  Jim Meyering  <meyering@lucent.com>
31395
31396         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
31397         Include <sys/ucred.h>, for Apple Darwin.
31398         Include sys/mount.h and sys/fs_types.h only if available.
31399         (FS_TYPE): Define.
31400         (read_filesystem_list): Use FS_TYPE.
31401
31402 2001-09-29  Paul Eggert  <eggert@twinsun.com>
31403
31404         * lib/exclude.c (excluded_filename): 0 -> false, since it's
31405         a boolean context.
31406
31407 2001-09-29  Jim Meyering  <meyering@lucent.com>
31408
31409         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
31410         [one-argument getmntent function]): Include stdio.h before mntent.h.
31411         SunOS 4.1.x needs it for the declaration of `FILE'.
31412         Patch by Volker Borchert.
31413
31414         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
31415         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
31416         sys/fs_types.h, and make the link-test for getfsstat guard #include
31417         directives with appropriate #if HAVE_*_H tests so that we can
31418         detect getfsstat on Apple Darwin1.3.7 systems.
31419         Reported by Nelson Beebe.
31420         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
31421
31422 2001-09-28  Paul Eggert  <eggert@twinsun.com>
31423
31424         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
31425         #defines strtoimax.  Also treat the other strto* functions
31426         like strtoimax.
31427
31428         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
31429         Check for strtoul and strtoumax,
31430         as those declarations are made even in the signed case.
31431         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
31432         Likewise, for strtol and strtoimax.
31433
31434 2001-09-28  Paul Eggert  <eggert@twinsun.com>
31435
31436         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
31437         #defines strtoimax.  Also treat the other strto* functions
31438         like strtoimax.
31439
31440         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
31441         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
31442         (strtoimax, strtoumax): Do not declare if already defined as a macro.
31443
31444 2001-09-26  Jim Meyering  <meyering@lucent.com>
31445
31446         Most macros in unlocked-io.h had the wrong number of arguments.
31447         * lib/gen-uio: New script.
31448         (USE_UNLOCKED_IO): Define to 1 if not already defined.
31449         * lib/unlocked-io.hin: Remove file.
31450         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
31451         rather than trying to embed it here.
31452         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
31453         Reported by Padraig Brady.
31454
31455 2001-09-25  Volker Borchert  <bt@teknon.de>
31456
31457         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
31458         `result'.
31459
31460 2001-09-24  Jim Meyering  <meyering@lucent.com>
31461
31462         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
31463
31464 2001-09-23  Jim Meyering  <meyering@lucent.com>
31465
31466         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
31467         instead of the mere test for existence of mntent.h.  The latter
31468         would get a false-positive on AIX 3.4 systems.
31469         In the outer getmntent if-block, don't die if neither of the getmntent
31470         tests succeeds.  Instead, just fall through and continue with the
31471         remaining tests.
31472
31473 2001-09-23  Jim Meyering  <meyering@lucent.com>
31474
31475         * lib/mountlist.c: Remove useless parentheses in #if directives.
31476         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
31477         the deprecated MOUNTED symbol is no longer defined in mntent.h.
31478
31479 2001-09-22  Jim Meyering  <meyering@lucent.com>
31480
31481         * m4/gettext.m4: New file.  From gettext.
31482         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
31483         * m4/progtest.m4: Likewise
31484         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
31485         * m4/glibc21.m4: Likewise.
31486
31487         * m4/libintl.m4: Remove.  No longer used.
31488
31489 2001-09-22  Jim Meyering  <meyering@lucent.com>
31490
31491         * lib/localcharset.c: Update from latest gettext.
31492         * lib/config.charset: Likewise.
31493
31494 2001-09-20  Jim Meyering  <meyering@lucent.com>
31495
31496         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
31497         strtoimax.
31498         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
31499         strtoumax.
31500
31501 2001-09-20  Jim Meyering  <meyering@lucent.com>
31502
31503         * lib/xstrtol.c (strtoimax): Guard declaration with
31504         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
31505         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
31506         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
31507         (strtoumax): Likewise, for completeness (it wasn't necessary).
31508
31509 2001-09-17  Paul Eggert  <eggert@twinsun.com>
31510
31511         * lib/strtoimax.c (HAVE_LONG_LONG):
31512         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
31513         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
31514         to work around bug in IBM C compiler.
31515
31516 2001-09-17  Jim Meyering  <meyering@lucent.com>
31517
31518         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
31519         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
31520         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
31521         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
31522         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
31523         whenever the right hand side need not be expanded by the shell.
31524
31525 2001-09-16  Paul Eggert  <eggert@twinsun.com>
31526
31527         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
31528         library.  It's not correct, as some older glibcs are buggy.
31529         fnmatch wasn't fixed until glibc 2.2.
31530
31531         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
31532         special shell magic here.
31533
31534 2001-09-16  Jim Meyering  <meyering@lucent.com>
31535
31536         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
31537         * m4/jm-macros.m4: Require it.
31538
31539 2001-09-16  Jim Meyering  <meyering@lucent.com>
31540
31541         * lib/mkdir.c: New file.
31542
31543 2001-09-15  Jim Meyering  <meyering@lucent.com>
31544
31545         * m4/jm-macros.m4: Check for help2man.
31546
31547 2001-09-11  Jim Meyering  <meyering@lucent.com>
31548
31549         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
31550         The body, by Paul Eggert, was moved here from configure.in.
31551         * m4/jm-macros.m4: Require UTILS_HOST_OS.
31552
31553 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31554
31555         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
31556         (jm_PREREQ): Use it.
31557
31558 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31559
31560         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
31561         Use ssize_t, not int, to store result of readlink.
31562         Check for ssize_t overflow as well as size_t overflow,
31563         as POSIX says the result of readlink is implementation-defined
31564         when ssize_t overflows.
31565         Remove unnecessary cast to char*.
31566         Use free+malloc instead of realloc, as the storage doesn't need
31567         to be preserved and it's clearer and can be more efficient that way.
31568         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
31569         * lib/xreadlink.h (xreadlink): Update prototype.
31570
31571 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31572
31573         * lib/xgetcwd.c: Revert some of the previous change; intead,
31574         fix the HAVE_GETCWD_NULL code to behave more like the
31575         !HAVE_GETCWD_NULL code used to.
31576
31577         Include "xalloc.h".
31578         (xgetcwd): Do not return NULL when memory is exhausted; instead,
31579         invoke xalloc_die.
31580
31581 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31582
31583         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
31584         sys/param.h, as pathmax.h includes them.
31585
31586 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31587
31588         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
31589         (jm_PREREQ_XGETCWD): New macro.
31590
31591         * m4/getcwd.m4: New file.
31592
31593 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31594
31595         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
31596         like the HAVE_GETCWD_NULL code.
31597         Include pathmax.h if not HAVE_GETCWD.
31598         Do not include xalloc.h.
31599         (INITIAL_BUFFER_SIZE): New symbol.
31600         Do not use xmalloc / xrealloc, since the caller is responsible for
31601         handling errors.  Preserve errno around `free' during failure.
31602         Do not overrun buffer when using getwd.
31603
31604 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31605
31606         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
31607         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
31608         getcwd (NULL, 0).
31609
31610 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31611
31612         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
31613         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
31614         spotted by Jim Meyering.
31615
31616 2001-09-03  Jim Meyering  <meyering@lucent.com>
31617
31618         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
31619         failure.
31620
31621 2001-09-02  Jim Meyering  <meyering@lucent.com>
31622
31623         * lib/error.c: Update from GNU libc.
31624
31625 2001-09-01  Jim Meyering  <meyering@lucent.com>
31626
31627         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
31628         Used by df.
31629
31630 2001-09-01  Jim Meyering  <meyering@lucent.com>
31631
31632         * lib/xreadlink.c: New file.
31633         * lib/xreadlink.h: New file.
31634         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
31635         xreadlink.h.
31636
31637         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
31638         doesn't conflict with sparc Solaris 7's definition in
31639         /usr/include/sys/int_types.h.
31640
31641         * lib/exclude.c: Use `""', not `<>' to #include non-system header
31642         files.
31643         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
31644         and strncasecmp as r-values.  Unixware didn't have declarations.
31645
31646 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31647
31648         * lib/xstrtol.h: Add copyright notice.
31649         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
31650         LONGINT_INVALID_SUFFIX_CHAR.
31651
31652 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31653
31654         * lib/xstrtol.c (strtoimax): New decl.
31655
31656 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31657
31658         * lib/xgetcwd.c: Don't include pathmax.h.
31659         Include stdlib.h and unistd.h if available.
31660         Include xalloc.h.
31661         (xmalloc, xstrdup, free): Remove decls.
31662         (xgetcwd): Don't assume sizes fit in unsigned.
31663         Check for overflow when computing sizes.
31664         Simplify reallocation code.
31665
31666 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31667
31668         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
31669         a directory's st_size can have an arbitrary value, so the old
31670         usage could waste an arbitrary amount of memory.  All uses
31671         changed.
31672         * lib/savedir.h: Update prototype.
31673
31674 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31675
31676         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
31677
31678         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
31679         old strtoimax.c.
31680
31681         Also, make the following further changes to make this file's
31682         configuration more similar to that of strtol.c:
31683         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
31684         (strtoumax, uintmax_t, strtoull, strtol): Remove.
31685         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
31686         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
31687         changed to signed values.
31688
31689         And make the following changes as well:
31690         Fix copyright notice, as 1999 was missing.
31691         (verify): New macro.
31692         (strtoimax): Check sizes at compile-time, not run-time.
31693         Prefer strtol to strtoll if both work.
31694         (main): Remove; it was not that useful and was a pain to maintain.
31695
31696         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
31697
31698 2001-08-31  Jim Meyering  <meyering@lucent.com>
31699
31700         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
31701         Use an initial, malloc'd, buffer of length 128 rather than
31702         a statically allocated one of length 1024.
31703
31704 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31705
31706         Simplify code, partly by assuming autoconf 2.52 semantics.
31707
31708         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
31709
31710         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
31711         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
31712         All uses removed.
31713         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
31714         Move AC_REQUIRE to next-to-top level, to avoid confusion.
31715         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
31716         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
31717         jm_AC_HEADER_INTTYPES_H.
31718         * m4/jm-macros.m4 (jm_MACROS): Likewise.
31719
31720         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
31721
31722         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
31723         Quote first arg of AC_DEFUN.
31724         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
31725         since they are needed to parse the include file even if we need
31726         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
31727         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
31728         but with opposite signedness.
31729
31730 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31731
31732         Merge 'exclude' changes from tar 1.13.22.
31733         This fixes one or two unlikely storage allocation overflow bugs,
31734         but doesn't change user-visible behavior otherwise.
31735
31736 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31737
31738         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
31739         (jm_PREREQ_EXCLUDE): New macro.
31740
31741 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31742
31743         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
31744         tm to be declared.
31745
31746 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31747
31748         * lib/hash.c: Remove '2001' from copyright notice.
31749
31750 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31751
31752         * lib/full-write.h: New file.
31753         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
31754         * lib/full-write.c: Correct credits, as cccp.c no longer
31755         exists and anyway it was so heavily changed from the old cccp
31756         code as to be unrecognizable.  Include full-write.h.
31757         (full_write) Return size_t, with short writes meaning failure.
31758         All callers changed.  This fixes a bug with large buffers
31759         on 64-bit hosts.
31760         * lib/utime.c: Include full-write.h.
31761
31762 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31763
31764         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
31765         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
31766         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
31767         Include if available.
31768         (<xalloc.h>): Include
31769         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
31770         (verify): New macro.  Use it to verify that EXCLUDE macros do not
31771         collide with FNM macros.
31772         (struct patopts): New struct.
31773         (struct exclude): Use it, as exclude patterns now come with options.
31774         (new_exclude): Support above changes.
31775         (new_exclude, add_exclude_file):
31776         Initial size must now be a power of two to simplify overflow checking.
31777         (free_exclude, fnmatch_no_wildcards): New function.
31778         (excluded_filename): No longer requires options arg, as the options
31779         are determined by add_exclude.  Now returns bool, not int.
31780         (excluded_filename, add_exclude):
31781         Add support for the fancy new exclusion options.
31782         (add_exclude, add_exclude_file): Now takes int options arg.
31783         Check for arithmetic overflow when computing sizes.
31784         (add_exclude_file): xrealloc might modify errno, so don't
31785         realloc until after errno might be used.
31786
31787         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
31788         New macros.
31789         (free_exclude): New decl.
31790         (add_exclude, add_exclude_file): Now takes int options arg.
31791         (excluded_filename): No longer requires options arg, as the options
31792         are determined by add_exclude.  Now returns bool, not int.
31793
31794 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31795
31796         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
31797
31798 2001-08-27  Jim Meyering  <meyering@lucent.com>
31799
31800         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
31801
31802         * lib/version-etc.c (N_): Remove definition.
31803         Revert most of last change.
31804         Instead, simply don't mark the `Copyright...' string for translation.
31805         Based on advice from Paul Eggert.
31806
31807         * lib/strtoxmax.c: Tweak comment.
31808
31809 2001-08-26  Jim Meyering  <meyering@lucent.com>
31810
31811         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
31812
31813         * m4/xstrtoimax.m4: New file.
31814         * m4/xstrtoumax.m4: Add comments explaining why we
31815         AC_REPLACE_FUNCS(strtol).
31816
31817 2001-08-26  Jim Meyering  <meyering@lucent.com>
31818
31819         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
31820         of copyright with `%s' so translators don't get an untranslated
31821         message in 2002.
31822         (COPYRIGHT_YEAR): Define.
31823         (version_etc): Use fprintf rather than fputs.
31824         Suggestion from Ulrich Drepper.
31825
31826         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
31827
31828         * lib/strtoll.c: New file, from GNU libc.
31829         * lib/xstrtoimax.c: New file.
31830
31831         * lib/xstrtol.h: Add xstrtoimax.
31832         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
31833         * lib/strtoimax.c: New file.  Likewise, but first define
31834         STRTOUXMAX_SIGNED.
31835
31836         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
31837         ...
31838         * lib/strtoxmax.c: ... then renamed to this.
31839
31840 2001-08-18  Paul Eggert  <eggert@twinsun.com>
31841
31842         * m4/inttypes.m4: Add AC_PREREQ(2.13).
31843         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
31844         (jm_AC_TYPE_INTMAX_T): New macro.
31845         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
31846
31847         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
31848
31849         * m4/longlong.m4: Renamed from ulonglong.m4.
31850         * m4/inttypes.m4: Renamed from inttypes_h.m4.
31851         * m4/uintmax_t.m4: Removed.
31852
31853 2001-08-13  Paul Eggert  <eggert@twinsun.com>
31854
31855         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
31856         Port to Solaris 8, where 'sed' requires a space after the 'r'
31857         command, and where sh dislikes "$/".  Clean up the spacing a bit.
31858         Redirect output to $tmp just once.
31859
31860 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
31861
31862         * lib/addext.c (<errno.h>): Include.
31863         (errno): Declare if not defined.
31864         (addext): Work correctly when pathconf returns -1 and leaves
31865         errno alone because there is no limit.  Also, work even if
31866         pathconf returns a value greater than SIZE_MAX.
31867
31868 2001-08-12  Jim Meyering  <meyering@lucent.com>
31869
31870         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
31871         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
31872         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
31873         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
31874         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
31875         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
31876         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
31877         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
31878         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
31879         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
31880         utime.m4, utimes.m4, xstrtoumax.m4:
31881         Quote the first argument in each use of AC_DEFUN.
31882
31883 2001-08-12  Jim Meyering  <meyering@lucent.com>
31884
31885         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
31886         Simply `return getcwd (NULL, 0);'.
31887         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
31888         Use 1300 as initial value for length, not PATH_MAX.
31889
31890         * lib/pathmax.h: Clean up cpp syntax.
31891
31892 2001-08-12  Jim Meyering  <meyering@lucent.com>
31893
31894         * lib/gettimeofday.c: New file.
31895         * lib/gtod.h: New file.
31896         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
31897
31898 2001-08-05  Jim Meyering  <meyering@lucent.com>
31899
31900         * m4/jm-macros.m4: Require autoconf-2.52.
31901
31902 2001-08-04  Jim Meyering  <meyering@lucent.com>
31903
31904         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
31905         stmt, to get in sync with glibc.
31906
31907 2001-08-03  Paul Eggert  <eggert@twinsun.com>
31908
31909         The following changes are from gettext 0.10.39 as maintained by
31910         Bruno Haible.
31911
31912         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
31913         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
31914         with inverted sense.  All uses changed.
31915
31916         * lib/mbswidth.c: Don't include <limits.h>.
31917         Include <stdlib.h> and <string.h> unconditionally.
31918         (iswcntrl, mbsinit, ISCNTRL): New macros.
31919         (mbsnwidth): Use K&R style function declarations.
31920         Don't bother checking for MB_LEN_MAX == 1, since the compiler
31921         can optimize it when MB_CUR_MAX == 1.
31922         The width of control characters is zero, not 1.
31923
31924 2001-08-03  Paul Eggert  <eggert@twinsun.com>
31925
31926         The following changes are from gettext 0.10.39 as maintained by
31927         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
31928
31929         * m4/codeset.m4: Upgrade to serial AM1.
31930         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
31931         all uses changed.  Quote first arg of AC_DEFUN.
31932         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
31933
31934         * m4/iconv.m4: Upgrade to serial AM2.
31935         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
31936         Add --with-libconv-prefix.
31937         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
31938         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
31939         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
31940         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
31941         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
31942
31943         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
31944         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
31945         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
31946         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
31947         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
31948         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
31949         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31950         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
31951         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
31952
31953         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
31954         string.h any more.
31955
31956         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
31957         not the default value.
31958
31959         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
31960         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
31961         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
31962         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
31963         Also check for iswcntrl, used for wcwidth fallback.
31964         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
31965         to Autoconf 2.13.
31966
31967 2001-08-03  Jim Meyering  <meyering@lucent.com>
31968
31969         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
31970         as it was in the original.  Reported by Paul Eggert.
31971
31972 2001-07-16  Jim Meyering  <meyering@lucent.com>
31973
31974         * m4/gettimeofday.m4: New file.
31975         Prompted by a report from Bernhard Baehr.
31976
31977 2001-07-15  Jim Meyering  <meyering@lucent.com>
31978
31979         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
31980         stuff. Now it's in ../Makefile.cfg.
31981
31982 2001-07-15  Jim Meyering  <meyering@lucent.com>
31983
31984         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
31985         (BUILT_SOURCES): Add unlocked-io.h.
31986         (io_functions): Define.
31987         (unlocked-io.h): New rule.
31988         (DISTCLEANFILES): Add unlocked-io.h.
31989         (all-local): Depend on unlocked-io.h, to ensure it is created.
31990
31991         * lib/unlocked-io.hin: New file
31992
31993         * lib/regex.c: Update from glibc.
31994
31995 2001-07-05  Jim Meyering  <meyering@lucent.com>
31996
31997         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
31998         recommendation.
31999         (libfetish_a_SOURCES): Put all .h files here instead.
32000         Remove a thus-exposed (better checks in automake) duplicate and
32001         two unnecessary .h files.
32002
32003 2001-07-04  Jim Meyering  <meyering@lucent.com>
32004
32005         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
32006         that generates jm-glibc-io.m4 so that it doesn't trigger any make
32007         distcheck failure.
32008
32009 2001-07-02  Jim Meyering  <meyering@lucent.com>
32010
32011         The following changes were prompted by suggestions from Bruno Haible.
32012
32013         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
32014         is now generated.
32015         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
32016         definition of EXTRA_DIST.
32017         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
32018         ensure that the generated file is created/updated whenever the list
32019         of $(unlocked_functions) is changed.
32020         (jm-glibc-io.m4): New rule.
32021         (unlocked-io.h): New rule -- currently unused.
32022
32023 2001-06-24  Jim Meyering  <meyering@lucent.com>
32024
32025         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
32026         unmatched right bracket, rather than kludging it with an extra,
32027         falsely-matching quote in a comment.  Patch by Akim Demaille.
32028
32029 2001-06-11  Jim Meyering  <meyering@lucent.com>
32030
32031         * lib/regex.c: Update from GNU libc.
32032
32033 2001-05-27  Jim Meyering  <meyering@lucent.com>
32034
32035         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
32036         Check for ut_type in struct utmp.
32037
32038 2001-05-27  Jim Meyering  <meyering@lucent.com>
32039
32040         * lib/readutmp.h (UT_TYPE): Define.
32041
32042 2001-05-24  Jim Meyering  <meyering@lucent.com>
32043
32044         * lib/argmatch.c: Include "quote.h".
32045         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
32046         quote function.  Reported by Göran Uddeborg.
32047
32048 2001-05-22  Jim Meyering  <meyering@lucent.com>
32049
32050         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
32051         now that we use the package-supplied version unconditionally.
32052         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
32053
32054 2001-05-21  Jim Meyering  <meyering@lucent.com>
32055
32056         * m4/regex.m4: Change a couple backticks to single quotes to avoid
32057         shell syntax errors.
32058
32059 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
32060
32061         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
32062
32063 2001-05-20  Paul Eggert  <eggert@twinsun.com>
32064
32065         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
32066         Don't bother to check library strftime, since
32067         we'll be using our own my_strftime function anyway.
32068         Define my_strftime instead of strftime.
32069
32070 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
32071
32072         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
32073         which is not yet declared.
32074
32075 2001-05-15  Jim Meyering  <meyering@lucent.com>
32076
32077         * m4/regex.m4: Use proper quoting so brackets appear in the test
32078         program.
32079         Reported by, and with help from, Bruno Haible.
32080
32081 2001-05-13  Jim Meyering  <meyering@lucent.com>
32082
32083         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
32084         undefined.
32085
32086 2001-05-11  Paul Eggert  <eggert@twinsun.com>
32087
32088         dirname code cleanup.  base_name now behaves more compatibly
32089         with POSIX basename when given file names that have trailing
32090         slashes, and similarly for dir_name.  Add new primitives
32091         base_len and dir_len.  Put the directory-name-related decls
32092         into dirname.h.
32093
32094         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
32095         * lib/backupfile.c (base_name): Likewise.
32096         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
32097         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
32098         * lib/makepath.c (strip_trailing_slashes): Likewise.
32099         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
32100         ISSLASH): Likewise.
32101         * lib/rename.c (strip_trailing_slashes): Likewise.
32102         * lib/same.c (base_name): Likewise.
32103         * lib/stripslash.c (ISSLASH): Likewise.
32104
32105         * lib/addext.c: Include <dirname.h> after size_t is defined.
32106         * lib/backupfile.c: Likewise.
32107
32108         * lib/addext.c (addext): Use base_len to trim redundant
32109         trailing slashes instead of doing it ourselves.
32110         But do not trim the last slash if it is not redundant.
32111
32112         * lib/backupfile.c (find_backup_file_name,
32113         max_backup_version): Use base_len instead of rolling it ourselves.
32114         Handle the case of "" and (on DOS) "C:" correctly.
32115
32116         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
32117         needed. Include <string.h>, <dirname.h>.
32118         (base_name): Allow file names ending in slashes, other than names
32119         that are all slashes.  In this case, return the basename followed
32120         by the slashes.  This is more general, and can be used in places
32121         where the original base_name purposely had an assertion failure.
32122         (base_len): New function.
32123
32124         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
32125         Do not include <assert.h>; no longer needed.
32126         Include xalloc.h.
32127         (memrchr): Remove decl.
32128         (dir_name_r): Remove.
32129         (dir_len): Renamed from dirlen.  All callers changed.
32130         Rewrite in terms of base_name, for simplicity and consistency.
32131         (dir_name): Never return NULL.  All callers changed.
32132         Do not include <stdlib.h> in test program; no longer needed.
32133         return 0; is fine for test program.
32134
32135         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
32136         New macros.
32137         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
32138
32139         * lib/path-concat.c (path_concat): Use base_len to compute
32140         base length, not strlen; this means we cannot rely on memcpy
32141         to null-terminate.
32142
32143         * lib/same.c (STREQ): Remove.
32144         (same_name): Handle the case where the basename ends in trailing '/'.
32145
32146         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
32147         a slash was stripped.  Do not strip the last slash after a
32148         file system prefix.
32149
32150 2001-05-11  Paul Eggert  <eggert@twinsun.com>
32151
32152         * lib/Makefile.am (libfetish_a_SOURCES):
32153         Add strftime.c, since we now compile it on all hosts.
32154
32155         * lib/strftime.c (my_strftime):
32156         Define to nstrftime if emacs, but only if my_strftime is not defined.
32157         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
32158         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
32159         Add one more extra argument: a nanoseconds value.
32160         All uses changed.
32161         (ns): New macro.
32162         (my_strftime function): Add %N format.
32163         (emacs_strftimeu): Renamed from emacs_strftime,
32164         with extra ut argument.
32165
32166 2001-05-09  Paul Eggert  <eggert@twinsun.com>
32167
32168         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
32169
32170 2001-04-21  Jim Meyering  <meyering@lucent.com>
32171
32172         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
32173         doesn't interfere.
32174
32175 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
32176
32177         * m4/ftruncate.m4: Check for chsize.
32178         Link with ftruncate.o unconditionally if ftruncate is missing.
32179         This was required when cross-compiling to i586-mingw32msvc.
32180
32181 2001-04-08  Jim Meyering  <meyering@lucent.com>
32182
32183         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
32184         recomputed; that's necessary when the offset spans a DST transition.
32185         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
32186
32187 2001-04-02  Jim Meyering  <meyering@lucent.com>
32188
32189         * lib/regex.h, regex.c: Update from GNU libc.
32190
32191 2001-03-24  Jim Meyering  <meyering@lucent.com>
32192
32193         * m4/jm-macros.m4: Require autoconf-2.49d.
32194
32195 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
32196
32197         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
32198
32199 2001-03-19  Paul Eggert  <eggert@twinsun.com>
32200
32201         * lib/version-etc.c (version_etc_copyright): Update to 2001.
32202
32203 2001-03-17  Jim Meyering  <meyering@lucent.com>
32204
32205         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
32206         now that the version in autoconf is equivalent.
32207         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
32208
32209         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
32210         Suggestion from Akim Demaille.
32211
32212         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
32213         (jm_PREREQ_TEMPNAME): New function.
32214
32215 2001-03-16  Paul Eggert  <eggert@twinsun.com>
32216
32217         * lib/tempname.c (uint64_t): Define to uintmax_t if
32218         not defined, and if UINT64_MAX is not defined.
32219         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
32220         Reported by John David Anglin.
32221
32222 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
32223
32224         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
32225         resolve alias if codeset is empty.
32226         * lib/config.charset (BeOS): Use wildcard syntax.
32227
32228 2001-03-13  Jim Meyering  <meyering@lucent.com>
32229
32230         * lib/path-concat.c (path_concat)
32231         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
32232         concatenating e.g., `C:' and `foo'.
32233         From Bruno Haible.
32234
32235 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
32236
32237         * lib/localcharset.c (locale_charset): Don't use
32238         setlocale(LC_CTYPE,NULL). Don't return NULL.
32239         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
32240
32241 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
32242
32243         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
32244         support for DOS/DJGPP.
32245
32246 2001-03-01  Paul Eggert  <eggert@twinsun.com>
32247
32248         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
32249         lacks mkstemp.  Compile our own tempname.c if we compile our own
32250         mkstemp.c, as mkstemp relies on tempname.
32251
32252 2001-03-01  Jim Meyering  <meyering@lucent.com>
32253
32254         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
32255         AH_VERBATIM really does output its argument verbatim.
32256
32257 2001-02-28  Paul Eggert  <eggert@twinsun.com>
32258
32259         * lib/Makefile.am (libfetish_a_SOURCES):
32260         Add dup-safer.c, fopen-safer.c.
32261         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
32262
32263         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
32264         * lib/unistd-safer.h: New files.
32265
32266 2001-02-25  Paul Eggert  <eggert@twinsun.com>
32267
32268         The mkstemp replacement is taken from glibc 2.2.2, with some
32269         portability fixes for use outside glibc, as follows:
32270
32271         * lib/tempname.c (struct_stat64): New macro.
32272         (direxists, __gen_tempname): Use it.
32273         This avoids a portability problem with Solaris 8.
32274
32275         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
32276         (<stddef.h>, <stdint.h>, <string.h>):
32277         Include only if STDC_HEADERS || _LIBC.
32278         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
32279         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
32280         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
32281         (__set_errno): Define this macro if <errno.h> doesn't.
32282         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
32283         Define these macros if <stdio.h> doesn't.
32284         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
32285         Define these macros if <sys/stat.h>
32286         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
32287         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
32288         __xstat64): Define if not _LIBC.
32289         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
32290         (__gen_tempname): Invoke gettimeofday only if
32291         HAVE_GETTIMEOFDAY || _LIBC;
32292         otherwise, fall back on plain "time".
32293         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
32294
32295         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
32296
32297         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
32298
32299 2001-02-18  Paul Eggert  <eggert@twinsun.com>
32300
32301         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
32302
32303 2001-02-17  Paul Eggert  <eggert@twinsun.com>
32304
32305         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
32306         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
32307         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
32308         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
32309
32310 2001-02-17  Paul Eggert  <eggert@twinsun.com>
32311
32312         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
32313         Remove workaround macros for hosts that have mbrtowc but not
32314         mbstate_t, as we now insist on proper declarations for both
32315         before using mbrtowc.
32316
32317 2001-02-17  Jim Meyering  <meyering@lucent.com>
32318
32319         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
32320         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
32321         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
32322         UnixWare 7.1.1.
32323
32324         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
32325         rather than AC_CACHE_VAL.
32326
32327 2001-02-17  Jim Meyering  <meyering@lucent.com>
32328
32329         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
32330         around included file name.
32331
32332         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
32333
32334         * lib/strftime.c: Update from GNU libc (the only changes were to
32335         comments).
32336
32337 2001-02-17  Jim Meyering  <meyering@lucent.com>
32338
32339         * lib/regex.c: Update from libc.
32340
32341 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
32342
32343         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
32344         clash.
32345
32346 2001-02-16  Paul Eggert  <eggert@twinsun.com>
32347
32348         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
32349         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
32350         Reported by Mark Hounschell via Paul Eggert.
32351
32352 2001-02-07  Jim Meyering  <meyering@lucent.com>
32353
32354         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
32355
32356 2001-02-05  Jim Meyering  <meyering@lucent.com>
32357
32358         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
32359         it includes the patch required for `large file' support with at least
32360         HP-UX's 10.20 /bin/cc.
32361
32362 2001-02-03  Jim Meyering  <meyering@lucent.com>
32363
32364         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
32365         AS_IF, now that it works once again (mysteriously).
32366         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
32367
32368 2001-01-30  Jim Meyering  <meyering@lucent.com>
32369
32370         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
32371         * m4/chown.m4: Rename conftestchown to conftest.chown.
32372         * m4/rename.m4: s/conftestdir/conftest.d1/ and
32373         s/conftestdir2/conftest.d2/.
32374         * m4/utimes.m4: s/conftestdata/conftest.data/
32375         Inspired by Pavel Roskin's change in autoconf.
32376
32377 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
32378
32379         * lib/config.charset: Update for FreeBSD 4.2.
32380
32381 2001-01-27  Jim Meyering  <meyering@lucent.com>
32382
32383         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
32384         a use of AS_IF.
32385         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
32386
32387 2001-01-26  Jim Meyering  <meyering@lucent.com>
32388
32389         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
32390         quotearg.c includes it.
32391
32392 2001-01-26  Jim Meyering  <meyering@lucent.com>
32393
32394         * lib/quotearg.c: Include stddef.h.
32395         * lib/quote.c: Include stddef.h.
32396         Reported by Axel Kittenberger.
32397
32398         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
32399         line in double quotes so that it evokes a better diagnostic.
32400         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
32401         Reported by Axel Kittenberger.
32402
32403 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
32404
32405         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
32406         as if it was a `charset'.
32407
32408 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
32409
32410         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
32411         has const.
32412
32413 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
32414
32415         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
32416         to avoid a warning.  Add back 'const' to inptr.
32417
32418 2001-01-20  Jim Meyering  <meyering@lucent.com>
32419
32420         Be sure that headers are checked before used in code compiled
32421         for the type checks.
32422         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
32423         In place of that, invoke jm_CHECK_ALL_TYPES.
32424         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
32425         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
32426         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
32427         The check for ssize_t was mistakenly run before the test for unistd.h.
32428
32429         The configure-time check for stdbool.h was missing.
32430         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
32431         (jm_PREREQ_HASH): New function.
32432
32433 2001-01-17  Jim Meyering  <meyering@lucent.com>
32434
32435         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
32436         for autoconf-2.49c.
32437         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
32438
32439 2001-01-16  Jim Meyering  <meyering@lucent.com>
32440
32441         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
32442         From Bruno Haible.
32443
32444 2001-01-14  Jim Meyering  <meyering@lucent.com>
32445
32446         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
32447         foo and bar.  Create conftestdir/ in the script, not in the C code.
32448         Remove directories in the script, not in the C code.
32449         Remove conftestdir{,2} before trying to create the directory.
32450         Make the entire configure script fail if the mkdir fails.
32451
32452 2001-01-14  Jim Meyering  <meyering@lucent.com>
32453
32454         * lib/rename.c: New file.  From Volker Borchert.
32455         Include stdlib.h, string.h or strings.h, and xalloc.h.
32456         Use strip_trailing_slashes rather than open-coding it.
32457
32458 2001-01-03  Paul Eggert  <eggert@twinsun.com>
32459
32460         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
32461
32462 2001-01-03  Jim Meyering  <meyering@lucent.com>
32463
32464         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
32465         of local `inptr' to avoid warning with some system declarations of
32466         iconv.
32467
32468 2001-01-02  Volker Borchert  <bt@teknon.de>
32469
32470         * m4/rename.m4: New file.
32471         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
32472
32473 2001-01-01  Jim Meyering  <meyering@lucent.com>
32474
32475         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
32476         even on systems with utmpx.h.  It's necessary for the declaration of
32477         utmp's ut_user member.  Reported by Andreas Jaeger.
32478
32479         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
32480         available. They are required for the declarations of getgrgid and
32481         getpwuid resp.
32482         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
32483         Reported by Andreas Jaeger.
32484
32485 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
32486
32487         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
32488         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
32489         so `make install' also works in VPATH builds.
32490
32491 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
32492
32493         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
32494         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
32495         can be used in subdirectories.
32496
32497 2000-12-29  Paul Eggert  <eggert@twinsun.com>
32498
32499         * lib/modechange.c: Do not assume that mode_t uses the
32500         traditional octal encoding.  E.g. "chmod 1 FOO" should set
32501         the other-execute bit of FOO even if S_IXOTH != 1.
32502
32503         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
32504         WOTH, XOTH, ALLM): New macros.
32505         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
32506          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
32507         Use them.
32508         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
32509         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
32510         (mode_compile):
32511         No need to use uintmax_t; unsigned long is long enough.
32512         Don't bother to get suffix since we don't use it.
32513
32514 2000-12-26  Jim Meyering  <meyering@lucent.com>
32515
32516         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
32517         better with autoheader.
32518
32519 2000-12-24  Jim Meyering  <meyering@lucent.com>
32520
32521         * lib/hash.c (is_prime): Return explicit boolean values.
32522         (hash_get_first): Return NULL to appease Irix5.6's 89.
32523         Reported by Nelson Beebe.
32524
32525 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
32526
32527         * lib/localcharset.c (locale_charset): Add support for Win32.
32528
32529 2000-12-18  Paul Eggert  <eggert@twinsun.com>
32530
32531         * lib/physmem.h, lib/physmem.c: New files.
32532
32533         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
32534         (noinst_HEADERS): Add physmem.h.
32535
32536         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
32537         't' for compatibility with Solaris 8 sort.
32538
32539 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
32540
32541         * lib/config.charset: Add support for BeOS.
32542
32543 2000-12-17  Jim Meyering  <meyering@lucent.com>
32544
32545         * m4/dos.m4 (jm_AC_DOS): New file and macro.
32546         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
32547
32548 2000-12-16  Jim Meyering  <meyering@lucent.com>
32549
32550         This bug had a serious impact on chown: `chown N:M FILE' (for integer
32551         N and M) would have treated it like `chown N:N FILE'.
32552
32553         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
32554
32555 2000-12-16  Jim Meyering  <meyering@lucent.com>
32556
32557         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
32558         SHELLS_FILE to a file name that's useful on djgpp systems.
32559         Include stdlib.h.
32560         (ADDITIONAL_DEFAULT_SHELLS): Define.
32561         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
32562         Based mostly on a patch from Prashant TR.
32563
32564 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
32565
32566         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
32567         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
32568         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
32569
32570 2000-12-08  Andreas Schwab  <schwab@suse.de>
32571
32572         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
32573         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
32574
32575 2000-12-07  Jim Meyering  <meyering@lucent.com>
32576
32577         * lib/stripslash.c (ISSLASH): Define.
32578         (strip_trailing_slashes): Use ISSLASH rather than comparing against
32579         `/'.
32580         From Prashant TR.
32581
32582         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
32583         (dir_name_r): Declare this function as static.
32584         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
32585         manifest itself on a name containing a mix of slashes and
32586         backslashes.
32587         Make this function work with names starting with a DOS-style
32588         drive letter and colon prefix.
32589         (dir_name): Append `.' if necessary.
32590         Based mostly on patches from Prashant TR and Eli Zaretskii.
32591
32592         * lib/dirname.h (dir_name_r): Remove prototype.
32593
32594 2000-12-06  Paul Eggert  <eggert@twinsun.com>
32595
32596         * m4/off_t-format.m4: Remove this file.
32597         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
32598
32599 2000-12-06  Jim Meyering  <meyering@lucent.com>
32600
32601         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
32602         replacement strtoull, we may well need the replacement strtoul, too.
32603         Check for declarations of strtoul and strtoull.
32604         Check for strtol.  Mainly as a cue to cause automake to include
32605         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
32606         Check for limits.h -- strtol.c needs it.
32607
32608 2000-12-05  Jim Meyering  <meyering@lucent.com>
32609
32610         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
32611
32612 2000-12-04  Jim Meyering  <meyering@lucent.com>
32613
32614         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
32615         Also include memory.h, stdlib.h, unistd.h if appropriate.
32616         Reported by Andreas Jaeger (conflicting declaration of malloc).
32617
32618 2000-12-02  Jim Meyering  <meyering@lucent.com>
32619
32620         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
32621         * m4/jm-macros.m4 (jm_MACROS): require it.
32622
32623 2000-12-02  Jim Meyering  <meyering@lucent.com>
32624
32625         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
32626
32627 2000-12-01  Paul Eggert  <eggert@twinsun.com>
32628
32629         * lib/memrchr.c: Include <config.h> before any system include file.
32630
32631 2000-11-30  Jim Meyering  <meyering@lucent.com>
32632
32633         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
32634
32635 2000-11-30  Jim Meyering  <meyering@lucent.com>
32636
32637         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
32638
32639 2000-11-29  Paul Eggert  <eggert@twinsun.com>
32640
32641         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
32642
32643 2000-11-26  Jim Meyering  <meyering@lucent.com>
32644
32645         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
32646
32647 2000-11-22  Paul Eggert  <eggert@twinsun.com>
32648
32649         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
32650         size of (size_t) -1; it's not portable.
32651
32652 2000-11-17  Jim Meyering  <meyering@lucent.com>
32653
32654         * lib/strstr.c: Update from GNU libc.
32655
32656 2000-11-17  Akim Demaille  <akim@epita.fr>
32657
32658         * lib/obstack.h: Formatting changes.
32659         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
32660         prevent type checking.
32661         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
32662         cast the value to (void *): assigning a `foo *' to a `void *'
32663         variable is valid.
32664         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
32665
32666 2000-11-16  Jim Meyering  <meyering@lucent.com>
32667
32668         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
32669
32670 2000-11-11  Jim Meyering  <meyering@lucent.com>
32671
32672         * lib/error.c: Add a couple #includes, merging from GNU libc version.
32673
32674 2000-11-10  Jim Meyering  <meyering@lucent.com>
32675
32676         * lib/obstack.h: Update from GNU libc.
32677         * lib/obstack.c: Likewise.
32678
32679 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
32680
32681         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
32682
32683 2000-11-06  Paul Eggert  <eggert@twinsun.com>
32684
32685         * lib/getusershell.c (setusershell): Use rewind rather than
32686         fseek/fseeko, to avoid configuration hassles with fseeko.
32687         Don't bother opening SHELLS_FILE if shellstream is NULL;
32688         it's not necessary.
32689
32690 2000-11-05  Jim Meyering  <meyering@lucent.com>
32691
32692         * lib/makepath.h (make_dir): Declare.
32693         * lib/makepath.c (make_dir): Remove `static' attribute.
32694         Tweak a comment.
32695
32696 2000-11-04  Jim Meyering  <meyering@lucent.com>
32697
32698         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
32699
32700 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
32701
32702         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
32703         last one in a bucket, advance to the next bucket.
32704
32705 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
32706
32707         * lib/fnmatch.c: Do not comment out all the code if we are using
32708         the GNU C library, because in some cases we are replacing buggy
32709         code in the GNU C library itself.
32710
32711 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
32712
32713         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
32714         (regex_compile): Catch bogus \(\1\).
32715
32716 2000-10-30  Paul Eggert  <eggert@twinsun.com>
32717
32718         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
32719         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
32720         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
32721
32722 2000-10-30  Paul Eggert  <eggert@twinsun.com>
32723
32724         * lib/error.h, getline.h, modechange.h:
32725         Remove "2000" from Copyright line, as the file hasn't been
32726         changed this year other than in the copyright notice.
32727
32728         * lib/xalloc.h: Add "2000" to Copyright line, as this file
32729         was changed this year.
32730
32731 2000-10-29  Jim Meyering  <meyering@lucent.com>
32732
32733         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
32734         renaming.
32735         * m4/ls-mntd-fs.m4: Likewise
32736
32737 2000-10-29  Jim Meyering  <meyering@lucent.com>
32738
32739         * lib/xstat.in: Fix grammar in comment.
32740
32741 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
32742
32743         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
32744         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
32745         doesn't define __restrict_arr.
32746
32747 2000-10-28  Jim Meyering  <meyering@lucent.com>
32748
32749         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
32750         (jm_PREREQ_MEMCHR): New function.
32751
32752 2000-10-28  Jim Meyering  <meyering@lucent.com>
32753
32754         * lib/memchr.c: Update from libc.
32755         Adjust for portability:
32756         [HAVE_STDLIB_H]: Include stdlib.h.
32757         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
32758         Undef __memchr, too.
32759         [!weak_alias]: Define __memchr to memchr.
32760
32761         * lib/regex.c: Update from libc.
32762         * lib/regex.h: Likewise.
32763         * lib/getopt1.c: Likewise.
32764         * lib/memcmp.c: Likewise.
32765
32766         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
32767         Avoid using fseek, when possible -- it's broken by design.
32768         Patch by Ulrich Drepper.
32769
32770 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
32771
32772         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
32773         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
32774         Giving in to popular pressure to shut up the compiler with casts.
32775
32776 2000-10-26  Jim Meyering  <meyering@lucent.com>
32777
32778         * lib/strftime.c: Update from libc.
32779
32780 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
32781
32782         * regex.c: More `unsigned char' -> `re_char' changes.
32783         Also change several `int' into `re_wchar_t'.
32784         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
32785         (PUSH_FAILURE_POINTER): Don't cast any more.
32786         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
32787         We want GCC to complain, since this piece of code makes
32788         re_match non-reentrant, which *should* be fixed.
32789         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
32790         (EXTEND_BUFFER): Use RETALLOC.
32791         (SET_LIST_BIT): Don't cast.
32792         (re_wchar_t): New type.
32793         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
32794         that those two functions will always properly return.
32795         (IMMEDIATE_QUIT_CHECK): Cast to void.
32796         (analyse_first): Use recursion rather than an explicit stack.
32797         (re_compile_fastmap): Can't fail anymore.
32798         (re_search_2): Don't check re_compile_fastmap for failure.
32799         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
32800         Now also sets the new value (passed in a new argument).
32801         (re_match_2_internal): Use it.
32802         Also, use a new var `reg' of type size_t when looping through regs
32803         rather than reuse the inappropriate `mcnt'.
32804
32805 2000-10-25  Jim Meyering  <meyering@lucent.com>
32806
32807         * lib/obstack.c: Update from libc.
32808
32809 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
32810
32811         * regex.c (regex_compile): Change the way of handling a range from
32812         a char less than 256 to a char not less than 256.
32813
32814 2000-10-24  Andrew Innes  <andrewi@gnu.org>
32815
32816         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
32817         NT-Emacs only.
32818         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
32819         so that re_search functions only quit when callers expect them to.
32820
32821 2000-10-23  Jim Meyering  <meyering@lucent.com>
32822
32823         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
32824         wrong.  That set_locale call must not have any side effects.
32825         From Paul Eggert.
32826
32827 2000-10-22  Jim Meyering  <meyering@lucent.com>
32828
32829         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
32830         [CYCLIC]: Remove now-unused definition.
32831
32832         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
32833         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
32834         Suggestion from Ulrich Drepper.
32835
32836 2000-10-21  Jim Meyering  <meyering@lucent.com>
32837
32838         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
32839         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
32840         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
32841
32842 2000-10-21  Jim Meyering  <meyering@lucent.com>
32843
32844         * lib/dirname.c (memrchr): Declare if necessary.
32845         (dir_name): Remove the restriction that there be no
32846         trailing slashes.  Now, this code skips past them, effectively
32847         ignoring them.
32848         [TEST_DIRNAME] (main): New unit tests.
32849
32850         * lib/memrchr.c: New file from GNU libc.
32851         Undef __memrchr, too.
32852         [!weak_alias]: Define __memrchr to memrchr.
32853         Guard weak_alias use with `#ifdef weak_alias'.
32854
32855 2000-10-21  Jim Meyering  <meyering@lucent.com>
32856
32857         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
32858         (dir_name): Use dir_name_r.
32859         * lib/dirname.h (dir_name_r): Declare it.
32860
32861 2000-10-17  Jim Meyering  <meyering@lucent.com>
32862
32863         * lib/quote.h (PARAMS): Define and use.
32864         Reported by Akim Demaille.
32865
32866         * lib/getopt.c: Update from libc.
32867
32868 2000-10-16  Jim Meyering  <meyering@lucent.com>
32869
32870         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
32871         setlocale.
32872         From Jan Fedak.
32873
32874 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
32875
32876         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
32877
32878 2000-09-25  Jim Meyering  <meyering@lucent.com>
32879
32880         * lib/md5.h (rol): Define (from GnuPG).
32881
32882         * lib/sha.c: Give credit (GnuPG) where due.
32883         (M): Use rol rather than open-coding it.
32884         Add a FIXME comment.
32885
32886 2000-09-21  Jim Meyering  <meyering@lucent.com>
32887
32888         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
32889         Reported by Michael Stone.
32890
32891 2000-09-20  Jim Meyering  <meyering@lucent.com>
32892
32893         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
32894         (noinst_HEADERS): Add sha.h.
32895         Based on code from Scott G. Miller and from GnuPG.
32896
32897 2000-09-18  Jim Meyering  <meyering@lucent.com>
32898
32899         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
32900         LIBS. Otherwise, everyone ends up linking with -lelf for some
32901         configurations.
32902         Reported by Mike Stone.
32903
32904 2000-09-15  Jim Meyering  <meyering@lucent.com>
32905
32906         * lib/regex.c: Update from libc.
32907
32908 2000-09-10  Jim Meyering  <meyering@lucent.com>
32909
32910         * lib/getopt.c (_getopt_internal): Update from glibc.
32911
32912 2000-09-09  Jim Meyering  <meyering@lucent.com>
32913
32914         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
32915         think it should be used as a general replacement for isascii.
32916         * lib/fnmatch.c: Likewise.
32917         * lib/mbswidth.c: Likewise
32918         * lib/regex.c: Likewise.
32919
32920         Don't use atoi.
32921         * lib/userspec.c: Include sys/param.h and limits.h.
32922         Include xstrtol.h.
32923         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
32924         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
32925         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
32926         UID, GID.  Check range.
32927
32928 2000-09-06  Jim Meyering  <meyering@lucent.com>
32929
32930         * lib/getopt.c (_getopt_internal): Update from glibc.
32931
32932 2000-08-30  Jim Meyering  <meyering@lucent.com>
32933
32934         * lib/strftime.c: Merge in changes from GNU libc.
32935
32936 2000-08-26  Jim Meyering  <meyering@lucent.com>
32937
32938         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
32939         * m4/fpending.m4: New file.
32940
32941 2000-08-26  Jim Meyering  <meyering@lucent.com>
32942
32943         * lib/closeout.c: Include "__fpending.h".
32944         (close_stdout_status): Return right away if there's nothing to flush.
32945
32946         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
32947         * lib/__fpending.c: New file.
32948         * lib/__fpending.h: New file.
32949
32950 2000-08-20  Jim Meyering  <meyering@lucent.com>
32951
32952         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
32953         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
32954         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
32955
32956 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
32957
32958         Improve fileutils installation on systems where running
32959         programs (like install) can't be unlinked.
32960         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
32961         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
32962
32963 2000-08-07  Paul Eggert  <eggert@twinsun.com>
32964
32965         Standardize on "memory exhausted" instead of "Memory exhausted"
32966         or "virtual memory exhausted".
32967         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
32968         "virtual memory exhausted".
32969         * lib/same.c (same_name): Invoke xalloc_die instead of printing
32970         our own message.
32971         * lib/userspec.c (parse_user_spec): Likewise.
32972         * lib/bumpalloc.h: comment fix
32973         * lib/same.c, userspec.c: Include xalloc.h.
32974
32975         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
32976         not char *const and pointing to a constant array.
32977         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
32978         (xrealloc): Comment fix.
32979
32980         * lib/userspec.c (parse_user_spec):
32981         Don't translate a message until just before returning,
32982         to avoid unnecessary translation.
32983
32984 2000-08-07  Jim Meyering  <meyering@lucent.com>
32985
32986         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
32987         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
32988         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
32989         getgroups.c, gethostname.c, getopt.h, group-member.c,
32990         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
32991         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
32992         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
32993         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
32994         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
32995         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
32996         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
32997         yesno.c: Back out Copyright date changes for each file with no change
32998         this year.  This eases coordination with other programs using the same
32999         source code modules.  From Paul Eggert.
33000
33001 2000-08-06  Paul Eggert  <eggert@twinsun.com>
33002
33003         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
33004         not char, for compatibility with glibc 2.1.3 strftime.c.
33005
33006 2000-08-03  Greg McGary  <greg@mcgary.org>
33007
33008         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
33009         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
33010         (EXTEND_BUFFER): Use them.
33011
33012 2000-08-01  Jim Meyering  <meyering@lucent.com>
33013
33014         * lib/dirname.c (ISSLASH): Define.
33015         (BACKSLASH_IS_PATH_SEPARATOR): Define.
33016         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
33017         both `\' and `/' may be use as path separators.
33018         Based on a patch from Prashant TR.
33019
33020 2000-07-31  Paul Eggert  <eggert@twinsun.com>
33021
33022         * lib/quotearg.c (quotearg_n_options): Don't make the initial
33023         slot vector a constant, since it might get modified.
33024
33025 2000-07-31  Jim Meyering  <meyering@lucent.com>
33026
33027         * lib/xmalloc.c: Use `virtual memory exhausted', not
33028         `Memory exhausted'.
33029         * lib/obstack.c (print_and_abort): Likewise.
33030
33031 2000-07-30  Paul Eggert  <eggert@twinsun.com>
33032
33033         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
33034         buffer, so that the caller can always quote one small
33035         component of a "memory exhausted" message in slot 0.
33036         From a suggestion by Jim Meyering.
33037
33038 2000-07-30  Jim Meyering  <meyering@lucent.com>
33039
33040         * lib/makepath.c (make_path): Quote the other instance, too.
33041
33042         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
33043         (STATIC_BUF_SIZE): Define.
33044         (quotearg_n_options): Use only statically allocated storage when
33045         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
33046         than STATIC_BUF_SIZE.
33047
33048 2000-07-29  Jim Meyering  <meyering@lucent.com>
33049
33050         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
33051         * lib/dirname.c (dir_name): Likewise.
33052
33053         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
33054         `/'.
33055
33056         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
33057         (dir_name): Assert that there are no trailing slashes.
33058
33059 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
33060
33061         * lib/mbswidth.h (mbswidth): Add a flags argument.
33062         (mbswidth): New declaration.
33063         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
33064         * lib/mbswidth.c (mbswidth): Add a flags argument.
33065         (mbsnwidth): New function.
33066
33067 2000-07-24  Jim Meyering  <meyering@lucent.com>
33068
33069         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
33070
33071 2000-07-23  Paul Eggert  <eggert@twinsun.com>
33072
33073         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
33074
33075 2000-07-23  Paul Eggert  <eggert@twinsun.com>
33076
33077         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
33078         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
33079         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
33080         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
33081         invoke multibyte primitives.
33082
33083 2000-07-23  Paul Eggert  <eggert@twinsun.com>
33084
33085         * lib/quotearg.c:
33086         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
33087         so that mbstate_t is always defined.
33088
33089         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
33090         be 1 in at least one GCC installation, and this configuration
33091         error is likely to be common.  Ignoring MB_LEN_MAX hurts
33092         performance on hosts that have mbrtowc but have only unibyte
33093         locales, but I assume these hosts are rare.
33094
33095 2000-07-23  Paul Eggert  <eggert@twinsun.com>
33096
33097         * lib/mbswidth.c (_XOPEN_SOURCE):
33098         Don't define; this causes problems on Solaris 7.
33099         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
33100
33101 2000-07-23  Jim Meyering  <meyering@lucent.com>
33102
33103         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
33104         too: getgrgid, getpwuid, getuid.
33105
33106 2000-07-23  Jim Meyering  <meyering@lucent.com>
33107
33108         * lib/basename.c (base_name): Add an assertion.
33109
33110 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
33111
33112         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
33113         shadow its mbsinit function.
33114
33115 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
33116
33117         * lib/mbswidth.h: New file.
33118         * lib/mbswidth.c: New file.
33119         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
33120         (noinst_HEADERS): Add mbswidth.h.
33121
33122 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
33123
33124         * lib/config.charset: Add support for FreeBSD. Improve support for
33125         HP-UX and IRIX 6.
33126
33127 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
33128
33129         * m4/mbswidth.m4: New file.
33130         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
33131
33132 2000-07-15  Jim Meyering  <meyering@lucent.com>
33133
33134         * lib/makepath.c: Include quote.h.
33135         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
33136         corresponding argument in a `quote (...)' call.
33137         Give better diagnostics.
33138
33139         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
33140         (noinst_HEADERS): Add quote.h.
33141
33142         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
33143         from tar's src/misc.c.
33144         * lib/quote.h: New file.  Prototypes for same.
33145
33146 2000-07-14  Paul Eggert  <eggert@twinsun.com>
33147
33148         From a suggestion by Bruno Haible.
33149         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
33150         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
33151         to decide whether to define the BeOS workaround macro;
33152         this adjusts to the change to AC_MBSTATE_T.
33153
33154 2000-07-14  Jim Meyering  <meyering@lucent.com>
33155
33156         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
33157         jm_AC_TYPE_UINTMAX_T.
33158
33159 2000-07-13  Paul Eggert  <eggert@twinsun.com>
33160
33161         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
33162
33163         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
33164         quotearg_buffer_restyled): Add support for
33165         clocale_quoting_style.  Undo previous change to
33166         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
33167         and "{RIGHT QUOTATION MARK}" msgids.
33168
33169 2000-07-10  Paul Eggert  <eggert@twinsun.com>
33170
33171         From a suggestion by Bruno Haible.
33172         * m4/mbstate_t.m4 (AC_MBSTATE_T):
33173         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
33174         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
33175         and mbstate_t, to a single-part test that simply defines mbstate_t.
33176         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
33177         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
33178
33179 2000-07-10  Jim Meyering  <meyering@lucent.com>
33180
33181         * m4/strerror_r.m4: Mirror the correction made in autoconf.
33182
33183         * m4/gnu-source.m4: Output to confdefs.h directly.
33184         Suggestion from Akim Demaille.
33185
33186 2000-07-09  Paul Eggert  <eggert@twinsun.com>
33187
33188         The old behavior of quoting `like this' doesn't look good with
33189         newer, ISO-style fonts.  See:
33190         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
33191
33192         Instead, quote "like this" by default.  Let the translator
33193         tailor the locale-specific quoting behavior by providing
33194         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
33195
33196         * lib/quotearg.c (N_): New macro.
33197         (gettext_default): New function.
33198         (quotearg_buffer_restyled): Use
33199         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
33200         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
33201
33202 2000-07-09  Jim Meyering  <meyering@lucent.com>
33203
33204         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
33205         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
33206
33207         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
33208         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
33209
33210 2000-07-09  Jim Meyering  <meyering@lucent.com>
33211
33212         * lib/Most files: Update copyright dates to include 2000.
33213
33214 2000-07-08  Jim Meyering  <meyering@lucent.com>
33215
33216         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
33217         if not defined.
33218         (xgethostname): Remove now-unnecessary #ifdef.
33219         Move declaration of `err' into loop where it's used.
33220
33221 2000-07-05  Paul Eggert  <eggert@twinsun.com>
33222         and Bruno Haible  <haible@clisp.cons.org>
33223
33224         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
33225         only if the test for an object-type mbstate_t fails.  This
33226         prevents us from mistakenly reporting that mbstate_t is a
33227         system object type after we "#define mbstate_t int" to work
33228         around its lack.
33229
33230 2000-07-05  Paul Eggert  <eggert@twinsun.com>
33231         and Bruno Haible  <haible@clisp.cons.org>
33232
33233         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
33234
33235 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33236
33237         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
33238         to strerror_r.
33239         Include <ctype.h> for use of isalpha.
33240
33241 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33242
33243         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
33244         by allocating a larger buffer. Test the gethostname return value for
33245         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
33246         returns an error and ENAMETOOLONG isn't defined.
33247
33248 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33249
33250         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
33251         dimension.
33252
33253 2000-07-04  Jim Meyering  <meyering@lucent.com>
33254
33255         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
33256         of the deprecated AC_CHECKING.
33257
33258 2000-07-04  Jim Meyering  <meyering@lucent.com>
33259
33260         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
33261         Reported by Bruno Haible.
33262
33263 2000-07-04  Jim Meyering  <meyering@lucent.com>
33264
33265         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
33266         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
33267         lacks mbrtowc.
33268
33269 2000-07-03  Paul Eggert  <eggert@twinsun.com>
33270
33271         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
33272         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
33273
33274 2000-07-03  Paul Eggert  <eggert@twinsun.com>
33275         and Bruno Haible  <haible@clisp.cons.org>
33276
33277         * lib/quotearg.c (mbrtowc):
33278         Assign to *pwc, and return 1 only if result is nonzero.
33279         (iswprint): Use ISPRINT when substituting our own mbrtowc.
33280
33281 2000-07-03  Jim Meyering  <meyering@lucent.com>
33282
33283         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
33284
33285 2000-07-03  Jim Meyering  <meyering@lucent.com>
33286
33287         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
33288         This is necessary to get a definition of e.g., UTMP_FILE on
33289         HP-UX 10.20.
33290         From Bob Proulx.
33291
33292 2000-07-02  Jim Meyering  <meyering@lucent.com>
33293
33294         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
33295
33296         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
33297         AC_LIBOBJ(function_name).
33298         * m4/chown.m4: Likewise.
33299         * m4/fnmatch.m4: Likewise.
33300         * m4/ftruncate.m4: Likewise.
33301         * m4/getgroups.m4: Likewise.
33302         * m4/getline.m4: Likewise.
33303         * m4/group-member.m4: Likewise.
33304         * m4/jm-macros.m4: Likewise.
33305         * m4/lstat.m4: Likewise.
33306         * m4/malloc.m4: Likewise.
33307         * m4/memcmp.m4: Likewise.
33308         * m4/nanosleep.m4: Likewise.
33309         * m4/putenv.m4: Likewise.
33310         * m4/realloc.m4: Likewise.
33311         * m4/regex.m4: Likewise.
33312         * m4/stat.m4: Likewise.
33313         * m4/strftime.m4: Likewise.
33314
33315 2000-07-02  Jim Meyering  <meyering@lucent.com>
33316
33317         * lib/quotearg.c (mbstate_t): Don't define here.
33318
33319 2000-07-02  Jim Meyering  <meyering@lucent.com>
33320
33321         * lib/nanosleep.c (SIGCONT): Define if not already defined.
33322
33323 2000-07-01  Jim Meyering  <meyering@lucent.com>
33324
33325         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
33326
33327 2000-07-01  Jim Meyering  <meyering@lucent.com>
33328
33329         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
33330         problem.
33331
33332 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
33333
33334         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
33335         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
33336
33337 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
33338
33339         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
33340         per change in ../m4/ls-mntd-fs.m4.
33341         (read_filesystem_list): Ignore symbolic links.
33342
33343 2000-06-29  Jim Meyering  <meyering@lucent.com>
33344
33345         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
33346         for declaration of strcmp.
33347
33348         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
33349
33350         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
33351         Avoid warning by casting result to `char *' to remove `const'.
33352
33353 2000-06-28  Jim Meyering  <meyering@lucent.com>
33354
33355         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
33356         included by quotearg.c, for which we perform this test.  From
33357         Bruno Haible.
33358
33359 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
33360
33361         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
33362         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
33363         <utmpx.h> exists, put readutmp.o into LIBOBJS.
33364
33365 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
33366
33367         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
33368
33369 2000-06-26  Paul Eggert  <eggert@twinsun.com>
33370
33371         savedir now sets errno on failure and invokes xmalloc to get memory.
33372         Fix a couple of other minor bugs while we're at it.
33373
33374         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
33375         (NAMLEN): Remove macro.
33376         (malloc, realloc): Remove decls.
33377         (stpcpy): Likewise.
33378         ("xalloc.h"): Include.
33379         (NAME_SIZE_DEFAULT): New macro.
33380         (savedir): Use xmalloc / xrealloc to allocate memory.
33381         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
33382         Skip "" directory entries.
33383         Use strlen to calculate directory entry length, since the old method
33384         is rarely used these days and isn't worth supporting.
33385         Don't use a pointer after freeing it.
33386         Check for integer overflow when calculating allocation size.
33387         Use memcpy to copy entries, instead of stpcpy.
33388         Set errno properly when returning NULL.
33389         Check for readdir error.
33390
33391 2000-06-26  Jim Meyering  <meyering@lucent.com>
33392
33393         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
33394
33395 2000-06-25  Jim Meyering  <meyering@lucent.com>
33396
33397         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
33398         Linux header bug when _XOPEN_SOURCE is defined to 500.
33399
33400 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
33401
33402         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
33403         deficiency.
33404
33405 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
33406
33407         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
33408         Include xalloc.h.
33409         Don't include <stdlib.h>.  Don't declare malloc, realloc.
33410
33411 2000-06-24  Jim Meyering  <meyering@lucent.com>
33412
33413         * m4/strerror_r.m4: Revive this file -- to try out an experimental
33414         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
33415         for which strerror does return char*, but which lacks a conveniently
33416         accessible declaration of the function.  If the compile-test says
33417         strerror_r doesn't work, then resort to a `run'-test that works on
33418         BeOS and segfaults on DEC Unix.
33419
33420 2000-06-24  Jim Meyering  <meyering@lucent.com>
33421
33422         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
33423
33424 2000-06-23  Paul Eggert  <eggert@twinsun.com>
33425
33426         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
33427         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
33428
33429 2000-06-23  Paul Eggert  <eggert@twinsun.com>
33430
33431         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
33432         (mbrtowc, mbstate_t): Define substitutes if
33433         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
33434         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
33435         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
33436
33437 2000-06-23  Jim Meyering  <meyering@lucent.com>
33438
33439         * m4/afs.m4: Add missing AC_MSG_RESULT.
33440         Reported by Bruno Haible.
33441
33442         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
33443         Suggestion from Bruno Haible.
33444
33445 2000-06-23  Jim Meyering  <meyering@lucent.com>
33446
33447         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
33448
33449 2000-06-21  Jim Meyering  <meyering@lucent.com>
33450
33451         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
33452
33453 2000-06-21  Jim Meyering  <meyering@lucent.com>
33454
33455         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
33456         (noinst_HEADERS): Add getstr.h.
33457
33458         * lib/getline.c (getstr): Move into a separate file.
33459         * lib/getstr.c (getstr): New file, extracted from getline.c, with
33460         the following changes: new parameter, delim2; both delim[12]
33461         parameters have type `int', not `char'.  The latter would lose
33462         with 8-bit delimiters.
33463         * lib/getstr.h: New file.
33464
33465 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33466
33467         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
33468         than 1024, return a memory chunk of least possible size, instead
33469         of size PATH_MAX + 2. In the loop, increment the size proportionally.
33470         Use free/xmalloc instead of xrealloc to avoid copying for very long
33471         paths.
33472
33473 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33474
33475         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
33476         the empty string.
33477
33478 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33479
33480         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
33481         address, not strdup.  Include <stdlib.h> and don't declare free().
33482
33483 2000-06-19  Jim Meyering  <meyering@lucent.com>
33484
33485         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
33486
33487 2000-06-18  Jim Meyering  <meyering@lucent.com>
33488
33489         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
33490
33491         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
33492         `checking whether...' message to be consistent with that of the
33493         lstat test.
33494
33495 2000-06-18  Jim Meyering  <meyering@lucent.com>
33496
33497         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
33498         Besides, these days every porting target provides a mkdir function.
33499
33500         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
33501         needed. (this snippet comes from src/system.h).
33502
33503 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
33504
33505         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
33506
33507 2000-06-15  Paul Eggert  <eggert@twinsun.com>
33508
33509         * lib/human.c (adjust_value): New function.
33510         (human_readable_inexact): Apply rounding style even when
33511         printing approximate values.
33512
33513 2000-06-14  Paul Eggert  <eggert@twinsun.com>
33514
33515         * lib/human.c (human_readable_inexact): Allow an input block
33516         size that is not a multiple of the output block size, and vice versa.
33517         Reported by Piergiorgio Sartor.
33518
33519 2000-06-14  Paul Eggert  <eggert@twinsun.com>
33520
33521         * lib/getdate.y (get_date): Apply relative times after time
33522         zone indicator, not before.  Reported by Todd A. Jacobs.
33523
33524 2000-06-13  Jim Meyering  <meyering@lucent.com>
33525
33526         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
33527
33528         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
33529
33530 2000-06-12  Paul Eggert  <eggert@twinsun.com>
33531
33532         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
33533
33534 2000-06-12  Jim Meyering  <meyering@lucent.com>
33535
33536         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
33537         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
33538         optional argument.
33539         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
33540         the optional argument, `lib'.
33541
33542 2000-06-08  Jim Meyering  <meyering@lucent.com>
33543
33544         * m4/largefile.m4: Remove file (now that it's part of autoconf).
33545
33546 2000-06-04  Paul Eggert  <eggert@twinsun.com>
33547
33548         Rewrite largefile configuration so that we don't need to run
33549         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
33550         AC_CANONICAL_HOST in configure.in -- jmm]
33551
33552         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
33553         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
33554         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
33555         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
33556         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
33557         All uses changed.
33558         Instead of inspecting the output of getconf, try to compile the
33559         test program without and with the macro definition.
33560         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
33561         for getconf.  Instead, check for the needed flags by compiling
33562         test programs.
33563
33564 2000-06-04  Paul Eggert  <eggert@twinsun.com>
33565
33566         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
33567
33568 2000-06-04  Jim Meyering  <meyering@lucent.com>
33569
33570         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
33571         SunOS 4.1.4 for which gid_t is an unsigned type.
33572
33573 2000-06-03  Jim Meyering  <meyering@lucent.com>
33574
33575         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
33576         now that autoconf requires that.
33577
33578         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
33579         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
33580         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
33581
33582 2000-06-03  Jim Meyering  <meyering@lucent.com>
33583
33584         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
33585
33586 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
33587
33588         * m4/glibc21.m4: New file.
33589         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
33590
33591 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
33592
33593         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
33594         newer, don't install charset.alias.
33595         * lib/config.charset: Change the Linux/glibc rules so they become empty
33596         on glibc-2.1 or newer.
33597
33598 2000-06-02  Jim Meyering  <meyering@lucent.com>
33599
33600         * lib/mountlist.c: Back out last change.  Instead, do this...
33601         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
33602         me_dummy member using the same `ignore'-testing code.
33603         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
33604         fs_type strings.
33605         From Mark D. Roth.
33606
33607 2000-05-29  Jim Meyering  <meyering@lucent.com>
33608
33609         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
33610         mounts with the `ignore' attribute.  Based on a patch from
33611         Mark D. Roth.
33612
33613 2000-05-28  Jim Meyering  <meyering@lucent.com>
33614
33615         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
33616         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
33617         * m4/stat.m4: Likewise.
33618         * m4/lstat.m4: Likewise.
33619         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
33620
33621         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
33622         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
33623
33624 2000-05-26  Jim Meyering  <meyering@lucent.com>
33625
33626         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
33627
33628 2000-05-24  Jim Meyering  <meyering@lucent.com>
33629
33630         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
33631         autoconf requires that.
33632         * m4/lib-check.m4: Likewise.
33633         * m4/jm-macros.m4: Likewise.
33634         * m4/strftime.m4: Likewise.
33635
33636         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
33637         AC_CHECK_DECLS, now that autoconf requires that.
33638
33639 2000-05-22  Jim Meyering  <meyering@lucent.com>
33640
33641         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
33642         * m4/lstat.m4: Likewise.
33643
33644 2000-05-22  Jim Meyering  <meyering@lucent.com>
33645
33646         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
33647
33648 2000-05-20  Jim Meyering  <meyering@lucent.com>
33649
33650         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
33651         (jm_PREREQ): Use it.
33652
33653 2000-05-18  Jim Meyering  <meyering@lucent.com>
33654
33655         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
33656         back, too, since it may have been modified by allocate_entry.
33657         (hash_delete): Rewrite to use neither the assignment operator
33658         nor the comma operator in an if-expression.
33659
33660 2000-05-15  Paul Eggert  <eggert@twinsun.com>
33661
33662         * lib/closeout.c:
33663         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
33664         Remove; no longer needed.
33665         "quotearg.h": Add include.
33666         (file_name): Do not bother to explicitly initialize to NULL; it's less
33667         efficient on some hosts.
33668         (close_stdout_status): Remove test as to whether stdout was already
33669         closed; it breaks for the case "echo x | sort >&-".
33670         Quote file name colons.
33671         Do not assume that _("write error") lacks format strings.
33672
33673 2000-05-15  Jim Meyering  <meyering@lucent.com>
33674
33675         * lib/version-etc.c (version_etc_copyright): Update the copyright
33676         string used in all --version output.
33677
33678 2000-05-14  Jim Meyering  <meyering@lucent.com>
33679
33680         * lib/closeout.c (close_stdout_set_file_name): New function.
33681         (close_stdout_status): Use new file-scoped global.
33682         Return right away if fstat says the stdout file descriptor is invalid.
33683         * lib/closeout.h (close_stdout_set_file_name): Declare.
33684
33685 2000-05-10  Jim Meyering  <meyering@lucent.com>
33686
33687         * lib/closeout.c [default_exit_status]: New file-scoped variable.
33688         (close_stdout_set_status): New function.
33689         * lib/closeout.h (close_stdout_set_status): Declare.
33690
33691 2000-05-09  Jim Meyering  <meyering@lucent.com>
33692
33693         * m4/gettext.m4: Rename this...
33694         * m4/libintl.m4: ...to this.
33695
33696 2000-05-08  Jim Meyering  <meyering@lucent.com>
33697
33698         * lib/long-options.c: Don't include closeout.h.
33699         (parse_long_options): Don't call close_stdout for --version.
33700
33701 2000-05-06  Paul Eggert  <eggert@twinsun.com>
33702
33703         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
33704         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
33705         2.1.3 bug.  This avoids a clash when files like regex.c define
33706         _GNU_SOURCE.
33707
33708 2000-05-06  Jim Meyering  <meyering@lucent.com>
33709
33710         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
33711         (AC_REPLACE_FUNCS): Add strnlen.
33712
33713         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
33714         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
33715
33716         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
33717         AC_SEARCH_LIBS call for nanosleep.
33718         (LIB_NANOSLEEP): Set and AC_SUBST.
33719
33720 2000-05-06  Jim Meyering  <meyering@lucent.com>
33721
33722         * lib/strnlen.c: Undefine __strnlen and strnlen.
33723         [!weak_alias]: Define __strnlen to strnlen.
33724
33725         * lib/atexit.c: New file, from libiberty.
33726
33727 2000-05-06  Jim Meyering  <meyering@lucent.com>
33728
33729         * lib/closeout.c (close_stdout_status): Also check for errors on the
33730         stderr stream.
33731
33732 2000-05-05  Jim Meyering  <meyering@lucent.com>
33733
33734         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
33735         AC_SEARCH_LIBS call for clock_gettime.
33736         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
33737
33738         * m4/search-libs.m4: Update from autoconf.
33739
33740         su doesn't work on Solaris 2.6.
33741         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
33742         <shadow.h>.  Reported by Dragos Harabor.
33743
33744 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
33745
33746         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
33747         memcpy instead of xmalloc, xrealloc, path_concat.
33748         (locale_charset): Treat empty environment variables as absent.
33749         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
33750
33751 2000-05-04  Jim Meyering  <meyering@lucent.com>
33752
33753         * lib/getopt.c: Update from glibc.
33754         * lib/obstack.c: Likewise.
33755         * lib/obstack.h: Likewise.
33756         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
33757         file
33758
33759         * lib/regex.h: Likewise.
33760         * lib/strndup.c: Likewise.
33761         * lib/strnlen.c: New file, from glibc.
33762
33763 2000-05-03  Jim Meyering  <meyering@lucent.com>
33764
33765         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
33766
33767 2000-05-02  Paul Eggert  <eggert@twinsun.com>
33768
33769         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
33770         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
33771         compile-time test, rather than inspecting host and OS, to
33772         decide whether to define _LARGEFILE_SOURCE.
33773
33774 2000-05-01  Jim Meyering  <meyering@lucent.com>
33775
33776         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
33777
33778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
33779         Based on a patch from Bruno Haible.
33780
33781 2000-05-01  Jim Meyering  <meyering@lucent.com>
33782
33783         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
33784
33785 2000-04-29  Jim Meyering  <meyering@lucent.com>
33786
33787         * lib/path-concat.c: Declare strdup only if it's not defined.
33788         * lib/canon-host.c: Likewise.
33789
33790 2000-04-28  Jim Meyering  <meyering@lucent.com>
33791
33792         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
33793         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
33794         is included first, then limits.h is included by locale.h by libintl.h.
33795         From John David Anglin.
33796
33797 2000-04-25  Jim Meyering  <meyering@lucent.com>
33798
33799         * lib/makepath.c (S_IRWXUGO): Define.
33800         (make_path): Always perform explicit chmod if MODE specifies any
33801         of the `special' permission bits.  Prompted by a bug report against
33802         install from Mate Wierdl and Joost van Baal.
33803
33804 2000-04-18  Jim Meyering  <meyering@lucent.com>
33805
33806         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
33807         (jm_PREREQ): Use it.
33808
33809 2000-04-18  Jim Meyering  <meyering@lucent.com>
33810
33811         * lib/README: New file.
33812
33813         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
33814         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
33815
33816 2000-04-17  Jim Meyering  <meyering@lucent.com>
33817
33818         Get it right :-)
33819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
33820         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
33821         Suggestion from Akim Demaille.
33822
33823 2000-04-17  Jim Meyering  <meyering@lucent.com>
33824
33825         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
33826         the definition of it to rpl_strftime also defined-away the system's
33827         declaration.
33828
33829 2000-04-15  Jim Meyering  <meyering@lucent.com>
33830
33831         Use `C' to denote so-called `contiguous' files, the same way
33832         that tar does.
33833         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
33834         (ftypelet): Use S_ISCTG.
33835         From Michael Deutschmann.
33836
33837 2000-04-14  Jim Meyering  <meyering@lucent.com>
33838
33839         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
33840         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
33841         clobbered.
33842
33843 2000-04-14  Jim Meyering  <meyering@lucent.com>
33844
33845         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
33846
33847 2000-04-13  Jim Meyering  <meyering@lucent.com>
33848
33849         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
33850         AH_VERBATIM to insert required #ifndef into config.h.in.
33851         Suggestion from Akim Demaille.
33852
33853 2000-04-12  Jim Meyering  <meyering@lucent.com>
33854
33855         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
33856         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
33857         Christian Krackowizer.
33858
33859         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
33860         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
33861         (AC_SYS_LARGEFILE): Require.
33862         (AM_C_PROTOTYPES): Require.
33863
33864 2000-04-08  Jim Meyering  <meyering@lucent.com>
33865
33866         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
33867         names don't conflict.  Reported by Eli Zaretskii.
33868
33869 2000-04-07  Jim Meyering  <meyering@lucent.com>
33870
33871         * lib/putenv.c: Move inclusion of errno.h so it follows that of
33872         sys/types.h, to work around system header problems on AIX 3.2.5.
33873         From Bruno Haible.
33874
33875 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
33876
33877         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
33878         bug.  Deal with the different error behavior of Irix iconv.
33879
33880 2000-04-05  Paul Eggert  <eggert@twinsun.com>
33881
33882         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
33883         IRIX if the installer said otherwise.
33884
33885 2000-04-05  Jim Meyering  <meyering@lucent.com>
33886
33887         Portability tweaks required for ultrix4.3.
33888         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
33889         (jm_CHECK_DECLS): Add getutent to the list of functions.
33890         (_jm_DECL_HEADERS): Add utmpx.h.
33891         From John David Anglin.
33892
33893         * m4/strftime.m4: Back out the 2000-04-02 change.
33894         Instead of that change, simply undefine putenv in the test program.
33895
33896 2000-04-05  Jim Meyering  <meyering@lucent.com>
33897
33898         Portability tweaks required for ultrix4.3.
33899         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
33900         getutent.
33901         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
33902         * lib/canon-host.c: Declare strdup.
33903         * lib/path-concat.c: Likewise.
33904         From John David Anglin.
33905
33906 2000-04-04  Jim Meyering  <meyering@lucent.com>
33907
33908         Be more DOS 8.3-friendly.
33909         * lib/ref-add.sin: Renamed from ref-add.sed.in.
33910         * lib/ref-del.sin: Renamed from ref-del.sed.in.
33911         * lib/Makefile.am: Reflect renaming.
33912         Reported by Eli Zaretskii.
33913
33914         Use a temporary file name that won't clash with `charset.alias'
33915         in the DOS 8.3 name space.
33916         * lib/Makefile.am (charset_tmp): Define.
33917         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
33918         (uninstall-local): Likewise.
33919         Reported by Eli Zaretskii.
33920
33921 2000-04-03  Jim Meyering  <meyering@lucent.com>
33922
33923         * m4/gettext.m4: Fix typo in comment.
33924
33925         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
33926         textutils/configure.in).  Suggestion from Paul Eggert.
33927         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
33928
33929 2000-04-02  Paul Eggert  <eggert@twinsun.com>
33930
33931         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
33932         variable in the shell rather than using putenv, which isn't
33933         portable.  This avoids the configure-time inter-test dependency
33934         on the potentially-renamed putenv function.
33935
33936 2000-03-30  Paul Eggert  <eggert@twinsun.com>
33937
33938         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
33939         before checking struct stat.st_blksize, so that
33940         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
33941
33942 2000-03-29  Paul Eggert  <eggert@twinsun.com>
33943
33944         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
33945         since strftime.c uses HAVE_STRFTIME to decide whether to use
33946         the underlying strftime.
33947
33948 2000-03-29  Paul Eggert  <eggert@twinsun.com>
33949
33950         * lib/time/strftime.c (my_strftime): Make sure we call the system
33951         strftime, not ourselves, when invoking the underlying strftime.
33952
33953 2000-03-24  Jim Meyering  <meyering@lucent.com>
33954
33955         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
33956         (charset_alias): Define.
33957         (install-exec-local): Factor out common code.
33958         (uninstall-local): Split lines longer than 80.
33959         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
33960         (SUFFIXES): Define.
33961         (.sed.in.sed): New rule.  Don't redirect directly to $@.
33962         (CLEANFILES): Add ref-add.sed and ref-del.sed.
33963
33964 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
33965
33966         * lib/config.charset: Output a line containing "Packages using this
33967         file".
33968         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
33969         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
33970         ref-del.sed): New rules.
33971
33972 2000-03-17  Jim Meyering  <meyering@lucent.com>
33973
33974         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
33975         Otherwise, include <strings.h>
33976
33977 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
33978
33979         * lib/unicodeio.c (utf8_wctomb): New function.
33980         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
33981         format instead of in UCS-4 with platform dependent endianness.
33982
33983 2000-03-10  Jim Meyering  <meyering@lucent.com>
33984
33985         * m4/lib-check.m4: Look for getspnam in -lgen, too.
33986         From Marco Franzen.
33987
33988 2000-03-07  Paul Eggert  <eggert@twinsun.com>
33989
33990         * lib/savedir.c (savedir): Work even if directory size is
33991         negative; this can happen with some screwy NFS configurations.
33992
33993 2000-03-06  Jim Meyering  <meyering@lucent.com>
33994
33995         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
33996         if it's NULL (because we ran out of memory).  From Bruno Haible.
33997
33998 2000-03-05  Jim Meyering  <meyering@lucent.com>
33999
34000         * lib/localcharset.c ("path-concat.h"): Include.
34001         (get_charset_aliases): Use path_concat instead of ANSI string
34002         concatenation.
34003
34004         * lib/unicodeio.h (PARAMS): Define.
34005         Use it to guard prototype.
34006
34007 2000-03-04  Jim Meyering  <meyering@lucent.com>
34008
34009         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
34010         for lib/localcharset.c.
34011
34012 2000-03-04  Jim Meyering  <meyering@lucent.com>
34013
34014         * lib/Makefile.am (install-exec-local): Create $(libdir) before
34015         installing into it.
34016         (uninstall-local): Uncomment this rule so `make distcheck' works
34017         once again.
34018
34019         * lib/unicodeio.c (<errno.h>): Include it.
34020         (errno): Declare if not defined.
34021
34022         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
34023
34024         * lib/config.charset: New version, incorporating remarks from a linux
34025         i18n mailing list.  From Bruno Haible.
34026
34027 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
34028
34029         * m4/codeset.m4: New file.
34030         * m4/iconv.m4: New file.
34031         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
34032
34033 2000-03-03  Jim Meyering  <meyering@lucent.com>
34034
34035         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
34036
34037 2000-03-02  Jim Meyering  <meyering@lucent.com>
34038
34039         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
34040         the messages come out on separate lines.
34041
34042         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
34043         rather than jm_CHECK_DECLARATIONS.
34044         * m4/decl.m4: Remove now-unused file.
34045
34046         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
34047         geteuid.
34048
34049 2000-03-02  Jim Meyering  <meyering@lucent.com>
34050
34051         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
34052
34053 2000-03-01  Jim Meyering  <meyering@lucent.com>
34054
34055         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
34056         * lib/unicodeio.c: Likewise.
34057
34058 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
34059
34060         * lib/config.charset: New file.
34061         * lib/localcharset.c: New file.
34062         * lib/unicodeio.h, lib/unicodeio.c: New files.
34063         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
34064         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
34065         (noinst_HEADERS): Add unicodeio.h.
34066         (all-local, install-exec-local, charset.alias): New targets.
34067
34068 2000-02-28  Paul Eggert  <eggert@twinsun.com>
34069
34070         * lib/quotearg.c (ALERT_CHAR): New macro.
34071         (quotearg_buffer_restyled): Use it.
34072
34073 2000-02-27  Jim Meyering  <meyering@lucent.com>
34074
34075         * m4/check-decl.m4: Add getenv to the list.
34076
34077 2000-02-27  Jim Meyering  <meyering@lucent.com>
34078
34079         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
34080         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
34081
34082         * lib/backupfile.c: Guard inclusion of stdlib.h with
34083         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
34084         Declare malloc if needed.
34085
34086         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
34087         `#ifndef HAVE_DECL..'
34088         now that autoconf always defines the HAVE_DECL_ symbols.
34089         * lib/human.c: Likewise.
34090         * lib/same.c: Likewise.
34091         * lib/strtoumax.c: Likewise.
34092
34093         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
34094         declaration check was not run.
34095         * lib/hash.c: Likewise.
34096         * lib/human.c: Likewise.
34097         * lib/same.c: Likewise.
34098         * lib/strtoumax.c: Likewise.
34099
34100         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
34101         `.', then first look up the entire `.'-containing string as a login
34102         name.
34103
34104 2000-02-23  Jim Meyering  <meyering@lucent.com>
34105
34106         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
34107         in place of my hack.
34108
34109 2000-02-18  Paul Eggert  <eggert@twinsun.com>
34110
34111         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
34112         (textint): New typedef.
34113         (parser_control): Member year changed from int to textint.
34114         All uses changed.
34115         (YYSTYPE): Removed; replaced by %union with int and textint members.
34116         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
34117         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
34118         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
34119         (tSNUMBER, tUNUMBER): Now of type <textintval>.
34120         (date, number, to_year): Use width of number in digits, not its value,
34121         to determine whether it's a 2-digit year, or a 2-digit time.
34122         (yylex): Store number of digits of numeric tokens.
34123         Reported by John Kendall.
34124
34125         (parser_control): Changed from struct parser_control to typedef (for
34126         consistency).  All uses changed.
34127
34128         (tID): Removed; not used.
34129         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
34130
34131 2000-02-14  Paul Eggert  <eggert@twinsun.com>
34132
34133         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
34134         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
34135
34136 2000-02-12  Jim Meyering  <meyering@lucent.com>
34137
34138         * lib/userspec.c (ISDIGIT): Define it.
34139         (isdigit): Remove definition.
34140         (is_number): Use ISDIGIT, not isdigit.
34141         <libintl.h>: Include.
34142         (_ and N_): Define.
34143         (parse_user_spec): Mark translatable strings.
34144
34145 2000-02-10  Jim Meyering  <meyering@lucent.com>
34146
34147         With these changes, nanosleep.[ch] are finally enough like the other
34148         lib/* replacement files to compile on a few more losing systems.
34149
34150         * lib/nanosleep.h: Don't include config.h.
34151         Remove prototype from declaration of nanosleep.
34152         (PARAMS): Remove now-unneeded definition.
34153         * lib/nanosleep.c: #undef nanosleep.
34154         (rpl_nanosleep): Rename from nanosleep.
34155
34156 2000-02-10  Jim Meyering  <meyering@lucent.com>
34157
34158         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
34159         gnu_nanosleep to rpl_nanosleep.
34160
34161 2000-02-09  Jim Meyering  <meyering@lucent.com>
34162
34163         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
34164         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
34165
34166 2000-02-08  Akim Demaille  <akim@epita.fr>
34167
34168         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
34169         `[' and `]' and remove uses of `changequote'.
34170         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
34171         (AC_SYS_LARGEFILE): Likewise.
34172         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
34173         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
34174         of changequote.
34175         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
34176         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
34177         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
34178         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
34179
34180 2000-02-05  Jim Meyering  <meyering@lucent.com>
34181
34182         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
34183         Remove explicit use of AC_HEADER_TIME.  It is required by
34184         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
34185         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
34186         in autoconf whereby the expansion of the latter ended up preceding
34187         the expansion of its prerequisite, AC_HEADER_TIME.
34188         Reported by Volker Borchert.
34189
34190 2000-02-03  Jim Meyering  <meyering@lucent.com>
34191
34192         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
34193
34194 2000-02-03  Jim Meyering  <meyering@lucent.com>
34195
34196         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
34197         rather than with `#if HAVE_UTMPNAME'.
34198
34199 2000-02-02  Jim Meyering  <meyering@lucent.com>
34200
34201         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
34202         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
34203         Reported by Eli Zaretskii.
34204
34205 2000-02-01  Jim Meyering  <meyering@lucent.com>
34206
34207         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
34208
34209 2000-01-31  Jim Meyering  <meyering@lucent.com>
34210
34211         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
34212         functions.  Add the time.h and sys/time.h headers along with the
34213         AC_REQUIRE'ment of AC_HEADER_TIME.
34214
34215 2000-01-31  Jim Meyering  <meyering@lucent.com>
34216
34217         * lib/nanosleep.h (nanosleep): Guard declaration with
34218         `#if ! HAVE_DECL_NANOSLEEP'.
34219         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
34220         the declaration in that vendor's sys/timers.h.
34221         Reported by Christian Krackowizer.
34222
34223         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
34224         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
34225         (ISPRINT): Likewise.
34226         Reported by Tom Tromey.
34227
34228 2000-01-30  Jim Meyering  <meyering@lucent.com>
34229
34230         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
34231
34232         * m4/prereq.m4 (utmp_includes): Define.
34233         Check for ut_user and ut_name members in both struct utmpx
34234         and struct utmp.
34235
34236 2000-01-30  Jim Meyering  <meyering@lucent.com>
34237
34238         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
34239         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
34240         header files where only utmpx.ut_user is declared.
34241
34242         * lib/readutmp.h (UT_USER): Define.
34243
34244 2000-01-29  Jim Meyering  <meyering@lucent.com>
34245
34246         * m4/lib-check.m4: New file containing library-related checks from
34247         fileutils and sh-utils (textutils had none).
34248
34249 2000-01-28  Jim Meyering  <meyering@lucent.com>
34250
34251         * m4/perl.m4: Change format of warning message to look more like that
34252         from the missing script.  Suggestion from François Pinard.
34253
34254 2000-01-25  Jim Meyering  <meyering@lucent.com>
34255
34256         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
34257         well as time.h in the compile check.
34258         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
34259         Fix typo in cross-compiling case: s/yes/no/.
34260
34261 2000-01-23  Jim Meyering  <meyering@lucent.com>
34262
34263         * m4/jm-macros.m4: Move df-related tests here from
34264         fileutils/configure.in
34265
34266         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
34267         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
34268
34269         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
34270         s/space/ac_fsusage_space/.
34271         (jm_FILE_SYSTEM_USAGE): Take two parameters.
34272
34273         * m4/ftruncate.m4: New file (derived from part of
34274         fileutils/configure.in).
34275         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
34276         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
34277
34278         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
34279         AC_SUBST these here, rather than just in sh-util/configure.in, so
34280         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
34281         all the same.
34282         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
34283         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
34284         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
34285         (AC_SUBST(POW_LIBM)): Likewise.
34286         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
34287
34288 2000-01-23  Jim Meyering  <meyering@lucent.com>
34289
34290         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
34291         obstack.c.
34292
34293 2000-01-22  Jim Meyering  <meyering@lucent.com>
34294
34295         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
34296
34297         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
34298
34299         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
34300         configure.in
34301         (AC_CHECK_HEADERS): Likewise for sh-utils.
34302         (AC_CHECK_HEADERS): Likewise for textutils.
34303         Merge the three lists of headers.
34304
34305         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
34306         from fileutils' configure.in.
34307
34308         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
34309         code. Moved tests into their own function (_jm_DECL_HEADERS) in
34310         check-decl.m4.
34311
34312         * m4/check-decl.m4: Use #if rather than #ifdef.
34313         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
34314         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
34315         (_jm_DECL_HEADERS): Define new function.
34316         (jm_CHECK_DECLARATIONS): Require it.
34317
34318 2000-01-22  Jim Meyering  <meyering@lucent.com>
34319
34320         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
34321         [! HAVE_DECL_STRTOULL]: Declare strtoull.
34322         Required for some AIX systems.  Reported by Christian Krackowizer.
34323         [TESTING] (main): New function.
34324
34325         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
34326         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
34327         letters.
34328
34329         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
34330         iswprint.
34331
34332         * lib/strverscmp.c (ISDIGIT): Define.
34333         (strverscmp): Use ISDIGIT, not isdigit.
34334
34335 2000-01-19  Jim Meyering  <meyering@lucent.com>
34336
34337         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
34338         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
34339         defines `struct timespec' in <sys/time.h>
34340
34341         * m4/c-bs-a.m4: Remove uses of changequote altogether.
34342         Thanks to Akim for explaining.
34343
34344 2000-01-17  Paul Eggert  <eggert@twinsun.com>
34345
34346         * lib/nanosleep.c (nanosleep):
34347         Don't use SA_INTERRUPT to decide whether to call sigaction, as
34348         POSIX.1 doesn't require SA_INTERRUPT and some systems
34349         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
34350         it's been part of POSIX.1 since day 1 (in 1988).
34351
34352 2000-01-17  Jim Meyering  <meyering@lucent.com>
34353
34354         * lib/interlock: Remove unused file.  Reported by François Pinard.
34355
34356 2000-01-16  Paul Eggert  <eggert@twinsun.com>
34357
34358         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
34359         alert, backslash, formfeed, and vertical tab unnecessarily in
34360         shell quoting style.
34361
34362 2000-01-16  Jim Meyering  <meyering@lucent.com>
34363
34364         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
34365         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
34366         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
34367         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
34368
34369 2000-01-16  Jim Meyering  <meyering@lucent.com>
34370
34371         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
34372         because the latter didn't work.
34373
34374 2000-01-15  Jim Meyering  <meyering@lucent.com>
34375
34376         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
34377         (AC_REPLACE_FUNCS): Add memcpy and memset.
34378         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
34379         Add strpbrk.
34380         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
34381
34382 2000-01-12  Jim Meyering  <meyering@lucent.com>
34383
34384         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
34385         (jm_PREREQ): Use it.
34386         (jm_PREREQ_READUTMP): New macro.
34387         (jm_PREREQ): Use it.
34388
34389 2000-01-11  Paul Eggert  <eggert@twinsun.com>
34390
34391         Quote multibyte characters correctly.
34392         * m4/c-bs-a.m4: New file.
34393         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
34394         (jm_PREREQ): Use it.
34395
34396 2000-01-11  Paul Eggert  <eggert@twinsun.com>
34397
34398         * m4/uintmax_t.m4: Port to autoconf 2.13.
34399
34400 2000-01-08  Jim Meyering  <meyering@ascend.com>
34401
34402         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
34403         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
34404
34405 2000-01-04  Jim Meyering  <meyering@ascend.com>
34406
34407         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
34408         jm_STRUCT_DIRENT_D_TYPE.
34409         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
34410         jm_STRUCT_DIRENT_D_INO.
34411         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
34412         jm_STRUCT_UTIMBUF.
34413         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
34414         renamings.
34415         * m4/utime.m4: Likewise.
34416
34417         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
34418         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
34419
34420 2000-01-03  Paul Eggert  <eggert@twinsun.com>
34421
34422         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
34423         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
34424
34425 2000-01-02  Jim Meyering  <meyering@ascend.com>
34426
34427         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
34428         remember if this is necessary.
34429
34430 1999-12-26  Jim Meyering  <meyering@ascend.com>
34431
34432         * m4/jm-macros.m4: Use it here.
34433         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
34434
34435 1999-12-23  Jim Meyering  <meyering@ascend.com>
34436
34437         * m4/jm-macros.m4: Check for clock_gettime (moved from
34438         fileutils/configure.in)
34439         Check for gettimeofday.
34440
34441 1999-12-20  Jim Meyering  <meyering@ascend.com>
34442
34443         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
34444         autoconf-2.14a-1999-12-20.
34445
34446 1999-12-19  Jim Meyering  <meyering@ascend.com>
34447
34448         * m4/lstat-slash.m4: New file.
34449         * m4/jm-macros.m4: Use the new macro:
34450         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34451
34452 1999-12-07  Jim Meyering  <meyering@ascend.com>
34453
34454         * m4/perl.m4: Require that File::Compare be available, too.
34455         Too many systems seem to lack it.
34456
34457         * m4/strftime.m4: Add checks for most of the cpp macros tested in
34458         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
34459
34460 1999-11-18  Paul Eggert  <eggert@twinsun.com>
34461
34462         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
34463         problem with the QNX 4.25 shell, which doesn't propagate exit
34464         status of failed commands inside shell assignments.
34465
34466 1999-11-17  Jim Meyering  <meyering@ascend.com>
34467
34468         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
34469
34470 1999-11-07  Jim Meyering  <meyering@ascend.com>
34471
34472         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
34473
34474 1999-11-06  Jim Meyering  <meyering@ascend.com>
34475
34476         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
34477         * m4/jm-macros.m4 (jm_MACROS): Use it here.
34478
34479 1999-11-05  Jim Meyering  <meyering@ascend.com>
34480
34481         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
34482         configure.in of textutils, fileutils, and sh-utils into this one
34483         (shared between those packages) file.
34484         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
34485         AC_STRUCT_ST_BLKSIZE.
34486
34487 1999-11-03  Jim Meyering  <meyering@ascend.com>
34488
34489         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
34490         of AC_CHECK_TYPE checks includes unistd.h.
34491         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
34492         Suggestion from Akim Demaille.
34493
34494 1999-10-30  Jim Meyering  <meyering@ascend.com>
34495
34496         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
34497         m4-quoted string.
34498         * m4/ls-mntd-fs.m4: Likewise.
34499         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
34500         * m4/jm-winsz1.m4: Likewise.
34501
34502         * m4/const.m4: Remove file, since the fix made it into the experimental
34503         version of autoconf.
34504         * m4/mktime.m4: Likewise.
34505
34506         * m4/check-type.m4: Remove file, now that the latest version of
34507         AC_CHECK_TYPE takes a third arg to specify additional #includes.
34508
34509         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
34510         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
34511         AC_CHECK_TYPE.
34512
34513 1999-10-04  Jim Meyering  <meyering@ascend.com>
34514
34515         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
34516
34517 1999-09-22  Paul Eggert  <eggert@twinsun.com>
34518
34519         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
34520         2.95.1 bug with HP-UX 10.20.
34521
34522 1999-09-17  Jim Meyering  <meyering@ascend.com>
34523
34524         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
34525         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
34526         due to missing strdup (against sh-utils-2.0).
34527
34528 1999-08-29  Jim Meyering  <meyering@ascend.com>
34529
34530         * m4/jm-macros.m4: Require jm_BISON.
34531         * m4/bison.m4: New file.
34532
34533 1999-08-17  Paul Eggert  <eggert@twinsun.com>
34534
34535         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
34536         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
34537
34538 1999-08-05  Jim Meyering  <meyering@ascend.com>
34539
34540         * m4/getline.m4: Rename test file from conftestdata to conftest.data
34541         to avoid conflicts with `conftest' on 8+3 filesystems.
34542         Suggestion from Eli Zaretskii.
34543
34544 1999-08-04  Jim Meyering  <meyering@ascend.com>
34545
34546         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
34547         fileutils and sh-utils (textutils's getline test was inadequate).
34548         (AM_FUNC_GETLINE): Run this test.
34549         (AC_CHECK_FUNCS): Check for getdelim.
34550         Reported by Bob Proulx.
34551
34552 1999-08-02  Jim Meyering  <meyering@ascend.com>
34553
34554         * m4/jm-macros.m4: Add a comment.
34555
34556 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34557
34558         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
34559         <inttypes.h> defines strtoumax as a macro (and not as a
34560         function).
34561
34562 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34563
34564         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
34565         that we can shift, multiply and divide unsigned long long
34566         values; Ultrix cc can't do it.
34567
34568 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34569
34570         * m4/mktime.m4: New file, which is a preview of what should appear
34571         in the next public autoconf release.
34572
34573 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34574
34575         * m4/lfs.m4: Remove this file.
34576         * m4/largefile.m4: New file.  It contains the old contents of
34577         lfs.m4, except that all names with prefix AC_LFS have been
34578         changed to use the prefix AC_SYS_LARGEFILE instead, to be
34579         compatible with future autoconf versions.  Also, some minor m4
34580         quoting problems have been fixed.
34581
34582 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34583
34584         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
34585         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
34586         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
34587         and simplify the shell code.
34588
34589 1999-08-01  Jim Meyering  <meyering@ascend.com>
34590
34591         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
34592         m4.
34593
34594 1999-07-20  Jim Meyering  <meyering@ascend.com>
34595
34596         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
34597
34598 1999-07-15  Jim Meyering  <meyering@ascend.com>
34599
34600         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
34601
34602 1999-05-22  Jim Meyering  <meyering@ascend.com>
34603
34604         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
34605
34606 1999-05-20  Jim Meyering  <meyering@ascend.com>
34607
34608         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
34609         Add a colon after each `then' in case $4 is empty.
34610
34611 1999-05-16  Jim Meyering  <meyering@ascend.com>
34612
34613         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
34614
34615 1999-05-10  Jim Meyering  <meyering@ascend.com>
34616
34617         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
34618
34619         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
34620         AC_FUNC_MKTIME.
34621
34622 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
34623
34624         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
34625
34626 1999-05-04  Paul Eggert  <eggert@twinsun.com>
34627
34628         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
34629         not CPPFLAGS, so that linking works correctly in IRIX.
34630
34631 1999-04-30  Paul Eggert  <eggert@twinsun.com>
34632
34633         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
34634
34635 1999-04-20  Paul Eggert  <eggert@twinsun.com>
34636
34637         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
34638         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
34639         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
34640         jm_AC_TYPE_UNSIGNED_LONG_LONG.
34641         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
34642
34643         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
34644
34645 1999-04-20  Jim Meyering  <meyering@ascend.com>
34646
34647         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
34648         AC_REPLACE xstroull if necessary.  From Paul Eggert.
34649         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
34650
34651 1999-04-18  Jim Meyering  <meyering@ascend.com>
34652
34653         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
34654         * m4/jm-macros.m4: Use it.
34655
34656 1999-04-06  Jim Meyering  <meyering@ascend.com>
34657
34658         * m4/strftime.m4: Remove test for %f.
34659
34660 1999-03-29  Jim Meyering  <meyering@ascend.com>
34661
34662         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
34663         superset of the AC_TYPE_* checks in the textutils, fileutils,
34664         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
34665         AC_TYPE_PID_T.
34666
34667 1999-03-28  Jim Meyering  <meyering@ascend.com>
34668
34669         * m4/jm-macros.m4: Define GNU_PACKAGE here.
34670         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
34671         replaced e.g., in the *.sh files of the sh-utils.
34672
34673 1999-03-20  Jim Meyering  <meyering@ascend.com>
34674
34675         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
34676         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
34677         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
34678
34679 1999-03-19  Jim Meyering  <meyering@ascend.com>
34680
34681         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
34682
34683 1999-03-12  Jim Meyering  <meyering@ascend.com>
34684
34685         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
34686
34687 1999-03-07  Jim Meyering  <meyering@ascend.com>
34688
34689         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
34690         declared.
34691
34692 1999-02-17  Jim Meyering  <meyering@ascend.com>
34693
34694         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
34695         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
34696
34697 1999-02-07  Jim Meyering  <meyering@ascend.com>
34698
34699         * m4/group-member.m4: New file -- extracted from sh-utils'
34700         configure.in.
34701
34702         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
34703         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
34704
34705 1999-02-06  Jim Meyering  <meyering@ascend.com>
34706
34707         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
34708         * m4/fnmatch.m4: Likewise.
34709         * m4/getgroups.m4: Likewise.
34710         * m4/lstat.m4: Likewise.
34711         * m4/malloc.m4: Likewise.
34712         * m4/putenv.m4: Likewise.
34713         * m4/realloc.m4: Likewise.
34714         * m4/regex.m4: Likewise.
34715         * m4/stat.m4: Likewise.
34716         * m4/strftime.m4: Likewise.
34717         Suggestion from Alain Magloire.
34718
34719         * m4/chown.m4: Use `.$ac_objext', not `.o'.
34720         * m4/fnmatch.m4: Likewise.
34721         * m4/getgroups.m4: Likewise.
34722         * m4/getline.m4: Likewise.
34723         * m4/lstat.m4: Likewise.
34724         * m4/malloc.m4: Likewise.
34725         * m4/memcmp.m4: Likewise.
34726         * m4/putenv.m4: Likewise.
34727         * m4/realloc.m4: Likewise.
34728         * m4/regex.m4: Likewise.
34729         * m4/stat.m4: Likewise.
34730         * m4/strftime.m4: Likewise.
34731         Suggestion from Alain Magloire.
34732
34733         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
34734         an argument.
34735
34736         * m4/regex.m4: Add a run-time Test for proper operation of
34737         re_compile_pattern.
34738
34739 1999-01-31  Jim Meyering  <meyering@ascend.com>
34740
34741         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
34742
34743 1999-01-30  Jim Meyering  <meyering@ascend.com>
34744
34745         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
34746
34747         * m4/jm-mktime.m4: Make this a wrapper around the official
34748         AM_FUNC_MKTIME rather than my private copy, now that the official one
34749         is up to date.
34750         * m4/mktime.m4: Remove file.
34751
34752         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
34753         * m4/uptime.m4: Likewise.
34754         * m4/uintmax_t.m4: Likewise.
34755
34756 1999-01-28  Jim Meyering  <meyering@ascend.com>
34757
34758         * m4/jm-macros.m4: Use jm_AFS.
34759         * m4/afs.m4: New file (from fileutils' configure.in).
34760
34761         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
34762         * m4/chown.m4: Likewise.
34763         * m4/d-ino.m4: Likewise.
34764         * m4/d-type.m4: Likewise.
34765         * m4/fnmatch.m4: Likewise.
34766         * m4/getgroups.m4: Likewise.
34767         * m4/gettext.m4: Likewise.
34768         * m4/jm-mktime.m4: Likewise.
34769         * m4/jm-winsz2.m4: Likewise.
34770         * m4/lcmessage.m4: Likewise.
34771         * m4/ls-mntd-fs.m4: Likewise.
34772         * m4/malloc.m4: Likewise.
34773         * m4/memcmp.m4: Likewise.
34774         * m4/putenv.m4: Likewise.
34775         * m4/realloc.m4: Likewise.
34776         * m4/st_mtim.m4: Likewise.
34777         * m4/strftime.m4: Likewise.
34778
34779 1999-01-16  Jim Meyering  <meyering@ascend.com>
34780
34781         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
34782         (ARGMATCH_DIE_DECL): Define.
34783
34784 1999-01-12  Jim Meyering  <meyering@ascend.com>
34785
34786         * m4/Makefile.am.in: Rewrite to avoid using fmt.
34787         Reported by Lars Hecking.
34788
34789 1999-01-10  Jim Meyering  <meyering@ascend.com>
34790
34791         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
34792         gross kludge.
34793         * m4/inttypes_h.m4: Likewise.
34794         * m4/lstat.m4: Likewise.
34795         * m4/malloc.m4: Likewise.
34796         * m4/readdir.m4: Likewise.
34797         * m4/realloc.m4: Likewise.
34798         * m4/st_dm_mode.m4: Likewise.
34799         * m4/stat.m4: Likewise.
34800         * m4/utimbuf.m4: Likewise.
34801         * m4/utimes.m4: Likewise.
34802
34803         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
34804         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
34805         comments in config.h.in are meaningful.
34806
34807         * m4/jm-macros.m4: Require autoconf-2.13 here.
34808
34809         * m4/regex.m4: By default, don't use the included regex.c on systems
34810         with glibc 2.  Suggestion from Uli Drepper.
34811
34812 1999-01-02  Jim Meyering  <meyering@ascend.com>
34813
34814         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
34815
34816 1998-12-18  Jim Meyering  <meyering@ascend.com>
34817
34818         * m4/Makefile.am.in (Makefile.am): Simplify rule.
34819         Based on a suggestion from Lars Hecking.
34820
34821 1998-11-16  Paul Eggert  <eggert@twinsun.com>
34822
34823         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
34824
34825 1998-11-16  Jim Meyering  <meyering@ascend.com>
34826
34827         * m4/lfs.m4: Double-quote the `uname...` expression.
34828
34829 1998-11-14  Jim Meyering  <meyering@ascend.com>
34830
34831         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
34832         * m4/stat.m4: Likewise.
34833
34834 1998-11-03  Jim Meyering  <meyering@ascend.com>
34835
34836         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
34837         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
34838
34839 1998-10-18  Jim Meyering  <meyering@ascend.com>
34840
34841         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
34842
34843 1998-10-17  Jim Meyering  <meyering@ascend.com>
34844
34845         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
34846         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
34847         calls for those previously hard-coded headers.  Instead, take a new
34848         parameter.
34849         (jm_CHECK_DECLARATIONS): Reflect interface change.
34850         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
34851         (jm_CHECK_DECL_LOCALTIME_R): New macro.
34852
34853         * m4/mktime.m4: Test for spring-forward gap before long-running test.
34854
34855 1998-10-14  Jim Meyering  <meyering@ascend.com>
34856
34857         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
34858         instead of "TZ=America/Vancouver".  From Paul Eggert.
34859
34860 1998-10-11  Jim Meyering  <meyering@ascend.com>
34861
34862         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
34863         This adds a test for a recently added compatibility fix for mktime.c.
34864         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
34865
34866 1998-09-27  Jim Meyering  <meyering@ascend.com>
34867
34868         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
34869
34870         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
34871         ../configure.in, including a change from Gordon Matzigkeit to allow
34872         cross-compiling for the Hurd.
34873
34874         * m4/glibc.m4: New file/macro to test for the GNU C Library
34875         versions 1 and 2.  From Gordon Matzigkeit.
34876         Indent.
34877
34878 1998-09-21  Jim Meyering  <meyering@ascend.com>
34879
34880         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
34881
34882 1998-08-18  Paul Eggert  <eggert@twinsun.com>
34883
34884         Port nanosecond-resolution times to UnixWare 2.1.2 and
34885         pedantic Solaris 2.6.
34886
34887         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
34888         AC_STRUCT_ST_MTIM.
34889         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
34890         Generate name of ns member, instead of just 1 or undef.
34891         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
34892
34893 1998-08-15  Jim Meyering  <meyering@ascend.com>
34894
34895         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
34896         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
34897         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
34898         instead of jm_TYPE_SSIZE_T.
34899
34900 1998-08-12  Jim Meyering  <meyering@ascend.com>
34901
34902         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
34903
34904 1998-08-02  Jim Meyering  <meyering@ascend.com>
34905
34906         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
34907         in acconfig.h manually.
34908
34909 1998-07-31  Paul Eggert  <eggert@twinsun.com>
34910
34911         * m4/st_mtim.m4: New file.
34912
34913 1998-07-28  Jim Meyering  <meyering@ascend.com>
34914
34915         * m4/utimes.m4: Undef stat.
34916
34917 1998-07-25  Jim Meyering  <meyering@ascend.com>
34918
34919         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
34920         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
34921
34922 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
34923
34924         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
34925         uid and gid actually remain unchanged.
34926
34927 1998-07-07  Jim Meyering  <meyering@ascend.com>
34928
34929         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
34930
34931 1998-07-04  Jim Meyering  <meyering@ascend.com>
34932
34933         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
34934         to prove that this macro can be used in packages without regex.c.
34935
34936 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
34937
34938         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
34939         is to be used.
34940
34941 1998-07-03  Jim Meyering  <meyering@ascend.com>
34942
34943         * m4/gettext.m4: Add -lintl if it's found to be necessary.
34944
34945         * m4/gettext.m4: New file -- from gettext-0.10.35.
34946         * m4/lcmessage.m4: Likewise.
34947         * m4/progtest.m4: Likewise.
34948
34949         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
34950         * m4/jm-macros.m4: Require the new macro.
34951
34952 1998-06-29  Jim Meyering  <meyering@ascend.com>
34953
34954         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
34955         for the definition of NGROUPS (used in a system header included
34956         by sys/mount.h).
34957
34958 1998-06-28  Jim Meyering  <meyering@ascend.com>
34959
34960         * m4/ls-mntd-fs.m4: New file.
34961         * m4/fstypename.m4: New file.
34962
34963         * m4/jm-macros.m4: Require the new macro.
34964         * m4/jm-glibc-io.m4: New file.
34965
34966 1998-05-19  Jim Meyering  <meyering@ascend.com>
34967
34968         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
34969         * m4/lchown.m4: New file.
34970
34971         * m4/Makefile.am.in: New file.
34972         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
34973
34974 1998-05-14  Jim Meyering  <meyering@ascend.com>
34975
34976         * m4/Makefile.am (EXTRA_DIST): Add them.
34977         * m4/jm-macros.m4: New file.
34978         * m4/utimbuf.m4: New file.
34979
34980 1998-05-12  Jim Meyering  <meyering@ascend.com>
34981
34982         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
34983
34984 1998-05-11  Jim Meyering  <meyering@ascend.com>
34985
34986         * m4/isc-posix.m4: New file.
34987
34988 1998-05-10  Jim Meyering  <meyering@ascend.com>
34989
34990         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
34991
34992 1998-05-09  Jim Meyering  <meyering@ascend.com>
34993
34994         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
34995         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
34996         with automake.
34997
34998         * m4/ssize_t.m4: New file.
34999         * m4/mktime.m4: Remove file -- the new automake has this now.
35000
35001 1998-04-26  Jim Meyering  <meyering@ascend.com>
35002
35003         * m4/assert.m4: New file.
35004         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
35005
35006 1998-04-05  Jim Meyering  <meyering@ascend.com>
35007
35008         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
35009         (jm_PREREQ): Use it here.
35010
35011 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
35012
35013         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
35014         in acconfig.h.
35015
35016 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
35017
35018         * m4/prereq.m4: New file.
35019         * m4/error.m4: New file.
35020         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
35021
35022 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
35023
35024         * m4/getline.m4: Don't set am_cv_func_working_getline before the
35025         cache-check for the same variable -- that defeated the purpose of
35026         the test; the test program was never run.  This was a problem only
35027         on systems with losing getline functions -- HP-UX 10.20 is one.
35028         Reported by Bjorn Helgaas.
35029
35030 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
35031
35032         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
35033
35034 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
35035
35036         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
35037
35038         * m4/const.m4: New file.  Use an initializer in this declaration
35039         typedef int charset[2]; const charset x;
35040         Reported by Bob Glickstein.
35041
35042 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
35043
35044         * m4/chown.m4: Fix reversed types on -1 args to chown.
35045         From Kaveh Ghazi.
35046
35047 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
35048
35049         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
35050         Add lseek and memchr.
35051
35052         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
35053         T.E.Dickey <dickey@clark.net> said that some older preprocessors
35054         have a 20-character limit on names.
35055
35056 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
35057
35058         * m4/inttypes_h.m4: New file.
35059         * m4/uintmax_t.m4: New file.
35060         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
35061
35062 Copyright (C) 1997-2007 Free Software Foundation, Inc.
35063 Copying and distribution of this file, with or without modification,
35064 are permitted provided the copyright notice and this notice are preserved.